我在Neo4j图形数据库上使用GRANDstack创建一个应用程序,我正在努力编写一个查询,该查询解压缩一个属性数组,匹配一些ID,拉回与ID相关的名称,并将它们重新打包到一个新的数组中。
本质上,我有内存节点(Mems)和Person节点(Person),它们的关系如下:(Mems)-[WITH]->(Person)。也就是说,你可以对你和多个人在一起的事情有一个记忆。Mems节点包含personID属性,该personID属性是ID数组,并且图数据库中的关系是从Mems节点中与Person节点中的personID匹配的personID数组构建的。
我试图实现的结果如下所示,但是我还没有找到从Person节点返回昵称的方法:
我用来生成上面的查询如下所示:
MATCH (m:Mem)-[WITH]->(p:Person)
WHERE m.personID IS NOT NULL
UNWIND m.personID as personID
CALL {
WITH personID
MATCH (p:Person)
WHERE personID = p.personID
RETURN p.nickname
}
RETURN m.mem, m.date, personID, p.nickname
我想它接近我需要的,但我只是不能找到最后一点,我可以返回与人物相关的昵称。这可能是APOC更有能力做的事情?
[更新]
这应该对您有用:
MATCH (m:Mem)-[:WITH]->(p:Person)
WHERE p.personID IN m.personID
RETURN m.mem, m.date, p.personID, p.nickname
另外,请注意,如果要查询with
关系类型,关系模式必须使用:with
而不是with
。
MATCH (m:Mem)-[:WITH]->(p:Person)
RETURN m.mem, m.date, p.personID, p.nickname
有没有用Cypher编写递归查询的方法?我必须遍历从一组节点(带有标签)到另一组节点的所有路径。该图是定向的,并且有多个路径,如 递归查询必须概述此伪代码 这个问题的解决方案不一定是递归的。任何其他解决方案都将受到赞赏。 编辑:在查询开始之前,根据需要将设置为一些值。并且图中的所有其他节点(例如)都有它们的。 有多个定向路径,如。对于这些路径中的每个节点(m,n,o,..)-[*]->y-->x-
问题内容: 问候, 除了Neo4J之外 , 是否有任何可用的开源图形数据库? 注意: 为什么不选择Neo4J? Neo4J是开源的,但是可以计算基元(节点数,关系和属性)。如果您将其用于商业用途。并且在官方网站上没有任何直接的定价信息。因此可能存在潜在的供应商锁定(尽管我刚成立我的公司,而且没有预算在软件上花钱。)所以这是不可行的。 问候, 问题答案: 如RobV所说,如果您的图形几乎可以以任何自
我有Neo4J3.3.5图形数据库:27GB,50KK节点,500KK关系。索引打开。模式。个人电脑:16GB内存,4个核心。 由于缺少后联合处理,我使用+来合并所有关系的分数。 不幸的是,性能较低。我在5-10秒内得到一个关系(如上)查询的响应。当我试图将结果与+组合时,查询“never”结束。 做这件事的更好/正确的方法是什么?也许我在图形设计上做错了什么?硬件配置到低?或者也许有一些算法可以
我正在使用Neo4j的最新Spring数据。在这个项目中,我有不同的组,它们可以通过url/group/{id}/project访问,该url/group/{id}/project应该返回用户有权访问的所有项目的列表。这东西工作得很好,但是如果用户输入了一个很大的数字作为groupId,而这个数字在数据库中并不存在,我会得到一个 组织。neo4j。图b。NotFoundException:未找到节
我正在使用REST与neo4j DB交互。
我目前正在使用GraphDB来可视化一些具有图形性质的数据。我已经将RDF数据导入到图形数据库中,实际上图形非常漂亮。唯一的缺点是每个节点都是橙色的。 我当时想知道graphDB是否有某种机制,可以根据它们之间的语义关系来改变某些节点的颜色。例如: