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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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_Cypher_Graph Databases - Fatal编程技术网

Neo4j 如何根据模式验证更新密码查询?

Neo4j 如何根据模式验证更新密码查询?,neo4j,cypher,graph-databases,Neo4j,Cypher,Graph Databases,我有一个neo4j数据库,我希望它符合预定义的模式(模型) 此架构具有一些约束,例如标签为x的节点应仅与标签为y且关系类型为r的节点相关。x和y之间不允许存在其他关系。例如,只有标记为:Person的节点可以位于关系的:friend\u的两端,但是标记为:Object的节点不能位于关系的:friend\u的任何一端 另一个约束可以是具有特定标签的节点上允许的属性类型。例如,标签为:Person的节点只能具有属性name和age。不允许有其他属性 因此,我想创建一个方法,该方法接受更新密码查询的输

我有一个neo4j数据库,我希望它符合预定义的模式(模型)

此架构具有一些约束,例如标签为
x
的节点应仅与标签为
y
且关系类型为
r
的节点相关。
x
y
之间不允许存在其他关系。例如,只有标记为
:Person
的节点可以位于
关系的
:friend\u的两端,但是标记为
:Object
的节点不能位于
关系的
:friend\u的任何一端

另一个约束可以是具有特定标签的节点上允许的属性类型。例如,标签为
:Person
的节点只能具有属性name和age。不允许有其他属性

因此,我想创建一个方法,该方法接受更新密码查询的输入,并检查它是否按照现有模式更新数据库。假设模式以JSON或XML格式存在


有人能指导我如何着手解决这个问题吗?我是否应该使用CypherParser解析查询,然后做些什么?

您将允许用户对数据库执行任意查询?不,我不会让任何任意查询在我的数据库上运行@JanVandenboschHum。我的第一个想法是得到一个用户界面!第二个想法是,这是一个有趣的问题。我的建议:创建一个虚拟图,然后检查节点上的规则(如果您的查询只是添加内容。或者将所有内容放入主图中,在节点上使用一个标签“unchecked”,然后在Cron批处理中使用此标签(一个自制的过程,将进行检查,然后删除标签).另外,看看APOC用户指南,你可以找到适合你需要的。最终,它可能会节省你使用drools这样的规则引擎的时间,因为规则经常堆积起来。