如何确定图形数据库的结构?

时间:2018-10-24 16:07:55

标签: graph-databases

我有一些要组织的地缘历史政治数据。假设我拥有所有可用数据。

以下是我想问数据的一些问题:

  1. 在1815年1月1日地图的矩形区域内,哪个政治实体?
  2. 找到我于1423-01-01在法兰西王国内的所有县,公国和其他次政治实体吗?
  3. 告诉我苏联从哪一天到哪一天?
  4. 第一法兰西帝国在创建和结束日期之间的领土演变是什么? (一个带有元数据的geojson数组作为响应会很棒)。
  5. 在地图的这个矩形区域内1515-01-01发生了什么事件?
  6. 告诉我苏联境内发生的所有事件吗?
  7. 告诉我哪些演员参加了雅尔塔会议?
  8. 谁是1500-01-01年的西班牙国王?
  9. 谁是拿破仑统治下的法国盟友?

我还需要一些基本的数据一致性约束:如果我们在数据库中指定事件“亚历山大大帝之死”,那么死后发生的事件“亚历山大大帝的婚姻”将导致错误。 / p>

我已经在考虑如何建模这一天了,但还不能真正弄清楚。我倾向于图数据库,因为存在许多多对多的关系,在这种情况下,我似乎更容易推理。

节点类型:

  • PoliticalEntity
  • 领土(基本上是geojson / shapefile)
  • 演员
  • 事件
  • 日期

链接类型:

  • (事件)-[有日期]->(日期)
  • (PolEnt)-[有事件]->(事件)
  • (演员)-[参与]->(事件)

但是,我对如何组织此问题有一些具体疑问:

  • 路易十四在dateA和dateB之间是法国国王:
    • 演员和波伦特之间应该有一种关系,叫做“​​是国王”吗?
    • 是否应该有一个事件实例“成为King”(带有dateA)和一个事件“死亡”(带有dateB)?
  • 政治实体之间的关系?拥有一个“同盟”关系,还是让一个事件“成为同盟”并从中派生是更好的选择?
  • 如何确定约束条件?
    • 让我们说白俄罗斯SSR自dateA以来就是苏联的伪造国。苏联于1991年解散。如何确保在1991年之后没有发生与白俄罗斯SSR相关的事件?

我可以理解SO是否真的不是问这个问题的理想场所。如果没有,我将其关闭。我应该在哪里发布此类问题?

0 个答案:

没有答案