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
Graph 用于查找图的根节点的Cypher查询_Graph_Neo4j_Cypher_Cql_Gremlin Server - Fatal编程技术网

Graph 用于查找图的根节点的Cypher查询

Graph 用于查找图的根节点的Cypher查询,graph,neo4j,cypher,cql,gremlin-server,Graph,Neo4j,Cypher,Cql,Gremlin Server,我试图在图形数据库中找到特定的节点类型根。在Gremlin查询中,我可以找到count根节点 query = """g.V().hasLabel("A") .filter( out().hasLabel("A").count().is(gt(1)) .and() .in().hasLabel("A").count().is(eq(0)) ) .values("title")""" 上述查询将返回根节点标题。如何在cyph

我试图在图形数据库中找到特定的节点类型根。在Gremlin查询中,我可以找到count根节点

 query = """g.V().hasLabel("A")
    .filter(
        out().hasLabel("A").count().is(gt(1))
        .and()
        .in().hasLabel("A").count().is(eq(0))
    )
    .values("title")"""

上述查询将返回根节点标题。如何在cypher查询中找到节点类型的根节点。

您可以使用WHERE子句中的模式查找没有传入关系的节点

如果必须考虑节点的标签,则将其包含在模式中:

MATCH (root:A)
WHERE NOT (:A)-->(root) AND size((root)-->(:A)) > 1
...
如果您不需要了解任何有关连接节点的信息,并且您希望确保根本没有关系进入,但至少有一个关系离开,那么您可以省去另一个节点的标签,查询会变得更高效,因为关系类型/方向度信息位于节点本身,因此,无需扩大:

MATCH (root:A)
WHERE NOT ()-->(root) AND size((root)-->()) > 1
...

所以,基本上您希望节点没有传入关系和一个或多个传出关系,对吗?只是检查一下,您真的需要gt(1)吗?gt(0)在这种情况下不适用于您?