当我使用这个cypher查询时
match p=(n)-[r*8]-(n)
where id(n)=548
with p
where ALL(x IN nodes(p)[1..length(p)] WHERE SINGLE(y IN nodes(p)[1..length(p)] WHERE x=y))
return count(p)
返回结果花了51922毫秒;这真的很长时间。我如何优化这个cypher查询?任何帮助都将不胜感激。
以上图为例。使用Cypher,我如何匹配除最长链和中心节点之外的所有节点?即恰好在中心节点的一跳内的所有节点,同时排除中心节点(除了3个节点和2个边之外的所有节点和边)。
我尝试过以下几种方法:
MATCH (n:Node) WHERE n.id = "123" MATCH path = (m)-[*1..1]->(n) RETURN m
这几乎是可行的,但是它仍然返回中心节点(即节点n)。如何从查询结果中排除此节点?
我们有一些关于一些节点的数据,这些节点通过我们所称的关系相互连接(电缆)。
节点数为349个,电缆数目为924个。
我们需要在两个节点之间找到可能的路径(而不是最短的路径),并使用以下方法:
MATCH p=(n:location)-[*]-(m:location)
WHERE n.lo_id = 70 AND m.lo_id = 486
AND ALL(x IN NODES(p) WHERE SINGLE(y IN NODES(p) WHERE y = x))
return p
但失败了。我过去常常在“VarLengthExpand(Into)@ne4j”中解释和看到
估计行数67,837,
我有一个包含节点、关系、节点、关系的路径...集合。我想查找与此路径中的所有节点相关的节点。
有没有人能用Cypher给出查询示例?
现在我有
START startNode=node(3), endNode=node(5)
MATCH path=startNode-[:CONNECT*]->endNode
WITH path, relationships(path) AS connections, nodes(path) AS nodes
问题是,我不知道如何使用nodes集合来查找与该集合中的所有节点都有关系的节点。
如何从cypher中的所有路径返回不同的关系类型
示例查询:
MATCH p=(a:Philosopher)-[*]->(b:SchoolType)
RETURN DISTINCT EXTRACT( r in RELATIONSHIPS(p)| type(r) ) as RelationshipTypes
这将返回每个路径p的集合。
我希望返回一个集合,其中包含所有集合中不同的关系类型。
这里有一个指向图基的链接来运行这个查询-
我们正在尝试执行一个运行Neo4j查询的程序。
使用NetBeans,它成功地执行。但是当我们使用cmd运行它时,它会出现以下错误-
C:\>java -jar "C:\Users\sourabh\Documents\NetBeansProjects\freeb2\dist\freeb2.ja
r"
org.neo4j.cypher.EntityNotFoundException: Node 1 not found
at org.neo4j.cypher.internal.spi.gdsimpl.GDSBackedQueryContext$$anon$1.
我有下面的图表
(1)-[A]->(2)-[B]->(3)-[A]->(4)-[B]->(5)-[A]->(6)-[B]->(7)-[A]->(8)
如何指定一个Cypher查询,该查询在(1)和(8)之间找到一条路径,使它们通过交替的a和b关系连接起来?
我这里有一个可播放的版本:
这样的查询为我提供了路径,但是我需要开始在集合p上指定条件。
START s=node(1)
MATCH p=s-[r*]->e
WHERE e.name="8"
RETURN p
更好的方法是
MATCH p=s-([:A]->()-[
我需要从服务器上的本地文件夹(在我的计算机上)导入CSV。
首先,我启动cypher-shell:
cypher-shell.bat -a bolt://<address>:7687 -u user -p secret
这是可行的(我可以做任何我想做的Cypher操作)。
之后,我尝试从本地的ne4j-installation加载数据:
USING PERIODIC COMMIT LOAD CSV FROM 'C:/Users/.../neo4j-community-3.5.6/import/file.csv' AS line FIELDTERMINATOR