Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有标签属性-是否有标签的Neo4j模式?_Neo4j_Schema_Cypher - Fatal编程技术网

是否有标签属性-是否有标签的Neo4j模式?

是否有标签属性-是否有标签的Neo4j模式?,neo4j,schema,cypher,Neo4j,Schema,Cypher,如何确保标签的所有节点都具有一些公共属性 例如,我想为标签“Person”的所有节点创建一个属性“名称”,但我可能会在写入属性名称时出错(例如namee)现在的Neo4j中没有构建这样的机制(撰写本文时,Neo4j的当前版本是2.1.6)。您所描述的是某种模式(如果您将DDL与RDBMS进行比较),Neo4j基本上是无模式的。这种类型的结构完整性非常重要 本文描述了目前可用于Neo4j的唯一模式操作 目前包括: 唯一-例如,在(p:Person)断言p上创建约束。名称是唯一的 索引-在标签上创

如何确保标签的所有节点都具有一些公共属性


例如,我想为标签“Person”的所有节点创建一个属性“名称”,但我可能会在写入属性名称时出错(例如namee)

现在的Neo4j中没有构建这样的机制(撰写本文时,Neo4j的当前版本是2.1.6)。您所描述的是某种模式(如果您将DDL与RDBMS进行比较),Neo4j基本上是无模式的。这种类型的结构完整性非常重要

本文描述了目前可用于Neo4j的唯一模式操作

目前包括:

  • 唯一-例如,
    在(p:Person)断言p上创建约束。名称是唯一的
  • 索引-在标签上创建索引,例如
    create index on:Person(name)
Neo4j团队成员对该答案的评论表明,未来Neo4j将受到更多约束。此外,Michael指出了以下备选方案:

  • 看一看,Neo4j上面的一层,除其他外,它强制执行更严格的模式(查看模式文档)
  • ,这是Neo4j之上的一个易于使用的层,它还支持模式。似乎很

除此之外,我们还指出了包含许多分析器的工具,其中大多数分析器对数据库运行非常简单的密码查询,并提供摘要统计信息。某些探查器实际上会发现图形中的数据,然后生成其他探查器,稍后将运行这些探查器。例如,如果在数据中发现一个名为“Person”的标签,则会将标签探查器添加到运行队列中,以检查具有该标签的节点的数量。

这应该在应用程序级IMHO上处理。Neo4j是无模式的。也许您可以通过挂接事务来编写非托管扩展来实现这一点。也许这个例子可以帮助您无耻地插入到这里——虽然现在neo4j中没有内置这样的机制,但还有一些其他工具可以帮助您在neo4j中定义模式。有这样一个,它查看现有图形中的数据,并从描述图形如何连接在一起以及遵循什么规则的数据中派生出一个“元图”。还有structr.org和sylvadb在Neo4j之上添加了更严格的模式信息。将来,Neo4j还将添加更多约束。您也可以自己使用Java中的事务事件处理程序来完成,我不久前启动了该程序并使用了PoC。