我们知道 neo4j 和 Titan 使用属性图作为他们的数据模型,比 RDF 更复杂和灵活。但是,我的团队正在构建一个名为gStore的图形数据库,它基于 RDF 数据集。gStore 不支持 N-Quads 或属性图,因为它无法处理除标签之外还有属性的边。
下面是一个 RDF 数据集:
<John> <height> "170"
<John> <play> <football>
下面是一个 N-Quads 数据集:
<John> <height> "170" "2017-02-01"
<John> <play> <football> "2016-03-04"
您可以看到属性图更通用,可以表示现实生活中的更多关系。但是,RDF 更简单,我们的系统就是基于它。改变整个系统的数据模型真的很难。有没有办法将属性图转换为 RDF 图?如果是这样,该怎么做?
如果数据模型转换好,我们如何查询呢?SPARQL 语言用于查询 RDF 数据集,neo4j 设计了 Cypher 语言来查询其属性图。但是当我们将属性图转换为 RDF 图时,如何查询呢?