我正在尝试使用Neo4j中的ShortestPath函数。
该路由将通过具有LinkLength值的不同节点。对于两个节点之间的最短LinkLength,"reduce“部分中的值应该最小化。
问: Neo4j可以找到一条路径作为最短路径解决方案。令人惊讶的是,Neo4j说reduce函数的值是空的。错误是什么?
MATCH p = (n1:Node)-[:Connects*]->(n2:Node)
WHERE n1.myid = 'M32 J3' AND n2.myid = 'M32 J1'
RETURN p AS shortestPath,
r
neo4j中的shortestPath( )函数是否使用where条件中提供的过滤条件?我的Cypher查询如下所示:
match (from:startNode{name:'START'}),(to:endNode{name:'END'}),
path = shortestPath(((from)-[:NESTED_JOIN|:REFERENCED_JOIN*1..10]-(to)))
WHERE NONE (n IN nodes(path) WHERE n.type= 'DEACTIVATED') return path
我的任务是制作一个程序,在两个城镇之间找到最短的路。我不得不通过使用C#和neo4j来实现它。问题是我用两个查询尝试返回的neo4j查询类型,问题是相同的,我无法找到我必须使用的数据结构类型来接收对象。
Neo4j查询:
MATCH p=(a:City{name:"Pleven"})-[*]->(b:City{name:"Mezdra"})
RETURN p AS shortestPath,
reduce(km=0, r in relationships(p) | km+r.km) AS totalDistance
ORDE
我正处于学习如何使用Neo4J的早期阶段,并且刚刚开始在Neo4J REST服务器上进行实验。特别是,我对创建服务器插件很感兴趣,但是这里的给我留下了很多问题。首先:
他们举了以下例子:
@Description( "An extension to the Neo4j Server for getting all nodes or relationships")
public class GetAll extends ServerPlugin {
@Name( "get_all_nodes" )
@Description( "Get al
我试图使所有顶点达到某个特定节点的最大累积重量(距离)。查询
MATCH route = (p1:ReferencePlace) - [roadlist:EROAD*..5] - (p2:ReferencePlace)
WITH p1, p2, route, roadlist,
REDUCE(sum=0.0, road in roadlist | sum + toFloat(road.distance)) as totaldistance
WHERE totaldistance < 300
AND p1.name = "Paris"
RETURN p1, p2,
我开始学习neo4j。我正在使用这个图表
我有个小问题。我不知道怎样才能找到从大吉岭到山达克浦的最短的路线。
有没有人知道应该如何建立正确的查询,我应该使用最短路径函数吗?
目前,我正在测试如下内容:
MATCH (p:peak{name:'Sandakphu'})-[r*..5]-(t:town{name:'Darjeeling'})
RETURN r
MATCH path = ShortestPath((p)-[*..5])-(t)]
RETURN path
我每天晚上都在用jQAssistant Maven插件扫描我们的软件。如果Neo4J数据库为空,则一切正常。但是后来,我得到了很多错误: 00:00:44.150 [WARNING] [0x14d108ce][myneo4jserver:7687][bolt-127303] Fatal error occurred in the pipeline
00:00:44.150 org.neo4j.driver.exceptions.DatabaseException: The shortest path algorithm does not work when the start and end
在这个Neo4j查询中,我只想返回关系和唯一称为"Permission“特定关系。那么,我如何过滤它并获得预期的答案呢? MATCH (end:Directory) WHERE end.name = "dir1.5"
WITH shortestPath((start)-[*]->(end)) AS p
RETURN p
ORDER BY length(p)
我目前正在使用py2neo来使用使用最短路径的查询,neo4j代码是:
MATCH p=(c:Ciudad)-[*]-(l:Ciudad)
WHERE c.nombre = '%s' and l.nombre = '%s'
RETURN p as shortestPath, reduce(precio=0, r in relationships(p) | precio+r.precio) AS totalPrecio
ORDER BY totalPrecio ASC LIMIT 1;
当我在web上使用它时,它给出了Node 1- Relation - N
在查询之间的neo4j中
MATCH (a), (b)
WHERE a<>b
WITH length(shortestPath((a)-[]->(b))) AS dist, a, b
RETURN DISTINCT sum(1.0/dist) AS closeness, a
ORDER BY closeness DESC
和
MATCH (a), (b)
WHERE a<>b
WITH length(shortestPath((a)-[]->(b))) AS dist, a, b
RETURN DISTINCT sum(dist) AS closeness
我在Neo4j制作了一张伦敦地铁的地图。站是通过:CONNECTED_TO关系连接的,其时间值表示停站之间所需的时间(目前这些是我输入的随机值,用于测试)。位于多条线路上的站点对每条线路都有一个节点,由一个:PART_OF关系连接。使用此查询:
MATCH (from {name:"Wood Green"}), (to {name:"Royal Oak"}),
p = shortestPath((from)-[*]-(to))
WITH REDUCE(time = 0, rel in rels(p) | time + rel.time) AS time, p
我是Neo4j的新手,正在开发一个小网站。
我已经设置了节点和它们之间的关系。对于大多数配对节点,我创建了一个相互链接。例如:
Zeus - FATHER -> Apollo
Appollo - SON -> Zeus
我使用shortestPath来寻找这两者之间可能的最短路径:
MATCH (o1 { name: 'Apollo' }),(o2 { name: 'Zeus' }), p = shortestPath((o1)-[*..6]-(o2)) RETURN nodes(p), relationships(p)
其结果是,它返回“父亲”而不
因此,我已经将一个数据集加载到Neo4j,其中大约有10个MM节点。我希望解决从两个节点开始的问题,寻找排除关系类型子集的最短路径。以下是查询尝试的示例:
match (p1:PT)-[*]-(p2:PT{src:"8"}),
p=shortestPath((p1)-[*..20]-(p2))
with p where p1.src is not null
and NONE (n in nodes(p) where labels(n) in [["X"],["Y"],["FX","RX"],["RX
这是的扩展
我在Neo4J中有一个与数据沿袭相关的图,它的可变长度路径包含中间节点(表)作为数组:
match p=(s)-[r:airflow_loads_to*]->(t)
where s.database_name='hive'
and s.schema_name='test'
and s.name="source_table"
return s.name, [n in nodes(p) | n.name] as arrayOfName,t.name
现在,这个结果集包含循环,我想省略。我可以“删除”这些循环,而不需要通过运行扁平化的
此查询在我的neo4J浏览器中运行良好
MATCH p=shortestPath((n1:FBDV)<-[:immediately_preceded_by*]-(n2:FBDV))
WHERE n1.label='embryonic stage 1'
AND n2.label='embryonic stage 10'
RETURN p
返回的JSON包括最短路径图和表行列表(在data下)。
但是,当作为rest API查询运行时,返回的JSON只包括表数据而不包括图形。
怎样才能让它返回最短路径图呢?
我是Neo4j的新手。我正在查询公交网络的图形数据库。我已经将数据导入到我的数据库中,但在查询数据库时遇到一些问题。
(1)在数据库中检索并显示上午8点的最短行程
MATCH p=shortestPath((o:Origin)-[:NEXT*..]-(dt:Destination))
WHERE o.hour = 8
return p ORDER BY LENGTH(p) ASC
LIMIT 1;
上面的代码产生“(无更改,无记录)”。我不知道哪里出了问题。
节点标签(16)是:
*,代理,BusStop,日历,日,目的地,小时,线,分钟,月,移动,原点,秒,停靠点,街道,行
我有两个列表
['avia', 'paul', 'tom']
['james','bond']
我在试着找一条
avia -> james
paul -> james
tom -> james
avia -> bond
paul -> bond
tom -> bond
我在两个循环中创建查询,并且每次都查询neo4j,因此会对neo4j进行多个调用。是否有一种方法可以在一个存储过程中创建它,并且只调用一次neo4j。示例查询如下
match p = allShortestPat
正如标题所说,我有一个与关系N互连的节点图。我现在想找出所有彼此相距超过20跳的节点对。
使用以下cypher查询的简单方法太慢了:
MATCH (n:CELL)
WITH n
MATCH (k:CELL)
WHERE NOT (n)-[:N*1..20]->(k)
RETURN n, k
我可以创建一个具有"distance“属性的第二个关系K,然后进行匹配,但是为每个Node这样做并不能很好地扩展(我有18k个节点,所以我需要超过1.6亿个新关系)。
在neo4j中有没有其他方法来解决这个问题呢?