1

我们知道 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 图时,如何查询呢?

4

1 回答 1

0

RDF 是一种序列化图形数据的机制。您可以将数据作为属性图存储在 Neo4j 中,使用 cypher 对其进行查询,并将其自动序列化为 RDF 以进行数据交换和互操作性。查看Neo4j 的新语义插件。它完全符合您的描述等等。

在您提到关系中的属性的特殊情况下,RDF 不支持,新语义学将使用 RDF-star 来避免导入/导出期间的数据丢失。

于 2021-06-20T12:04:15.627 回答