neo4j - neo4j 图数据库中的元数据

标签 neo4j

我知道 neo4j 以图形而不是表格的形式存储数据。在 RDBMS 中,我们将拥有表的模式,但在 neo4j 中,我们将没有表。仅定义节点、关系和属性。那么neo4j中是否有metadata的概念。比如数据库中是否存储了有关节点、关系的任何信息?如果是,它如何以及在元数据中存储什么?还有我们在哪里可以找到图数据库中的元数据相关信息(位置)

谢谢,

最佳答案

Neo4J 不会以您正在寻找的方式直接存储元数据。 NeoProfiler工具正是为此目的而编写的。你可以在 Neo4J 数据库上运行它,它会尽可能多地提取关于标签、索引、约束、属性、节点和关系的信息。它的工作方式与@ulkas 在此处的另一个答案中建议的查询相差不远,输出要好得多。

更广泛地说,在 RDBMS 中,您提取的模式信息极大地限制了数据库。那里的模式就像一组规则;除非数据符合该模式,否则您无法插入数据。在 Neo4J 中,因为它非常灵活,即使有一个模式,它也只是记录那里的内容,而不是对您可以输入的内容的一组限制。在任何时候,您都可以插入没有任何内容的新数据与当前模式有关(除了你不能违反唯一性约束之类的东西)。

如果您想在 neo4j 中查看您的数据库的等效架构,请查看上面链接的 neoprofiler。有几个人写过关于“元图”的文章——也就是说,他们谈论将 neo4j 模式表示为图本身,例如,节点指的是标签。然后,来自该“标签节点”的关系会传递到其他类型的标签节点,指定节点之间可以存在哪些类型的关系。例如,标记为“Employee”的节点可能经常与标记为“Company”的节点具有“works_for”关系。

关于neo4j - neo4j 图数据库中的元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24931059/

相关文章:

neo4j - neo4j 节点中的独特值(value)

c# - Neo4j 返回 HTTP 400

c# - 如何在 .Net 中对 Neo4j 进行单元测试?

java - Neo4j 手册中的 Jersey 客户端示例

docker - 使用Neo4j docker镜像切换事件数据库

session - SDN升级到4.2.0.BUILD-SNAPSHOT后如何获取当前的neo4j session ?

java - 我可以使用 Cypher 手动创建的索引和查询节点吗?

database-design - Neo4j/Strategy 以保留节点更改的历史记录

java - neo4j Rest api发送多个查询和参数

data-structures - Neo4j如何在内部存储数据?