根据这个,我尝试在一个列表中映射所有相关实体。我在post中使用了相同的查询,条件是返回一个用户列表,但它返回重复的对象
MATCH (user:User) WHERE <complex conditions> WITH user, calculatedValue MATCH p=(user)-[r*0..1]-() RETURN user, calculatedValue, nodes(p), rels(p)
这是个bug吗?我正在使用SDN 4.2.4.RELEASE和neo4j 3.2.1
列表参数不能在neo4j 4中索引。每当尝试从类型为list的参数中获取元素时,都会引发此错误:
Neo.DatabaseError.General.UnknownError
Did not find any type information for expression ContainerIndex(Parameter(r,Any),SignedDecimalIntegerLiteral(0))
Neo4j版本: 4.0.3
操作系统: Ubuntu 18.04.3 LTS
DB模式:因果聚类
再现问题的一个示例查询是:
MATCH (user:User)
WHERE ($range[0]
在我的Spring Data Neo4j 4项目Neo4j数据库中,我有一个具有name和description字符串属性的Product节点。
我需要在这些属性上添加模糊搜索功能。为了实现这一点,Neo4j/Spring Data Neo4j中是否有任何开箱即用的功能?如果是/否,你能建议如何实施吗?
我正在为一个查询编写一个模板,它返回一个包含相关信息的考试成绩列表。使用Neo4j社区上的示例数据集,它们需要很长时间。
举个例子,
// Marks that were ranked top 10 on that test, and performed during a
section between 2015-1-1 and 2016-02-07
MATCH (mark:Mark)-[r1:PERFORMED_BY]->(prsn:Person)
MATCH (mark:Mark)-[r2:PERFORMED_ON]->(test:Test)
MATCH (mark:Mar
我有两个列表
['avia', 'paul', 'tom']
['james','bond']
我在试着找一条
avia -> james
paul -> james
tom -> james
avia -> bond
paul -> bond
tom -> bond
我在两个循环中创建查询,并且每次都查询neo4j,因此会对neo4j进行多个调用。是否有一种方法可以在一个存储过程中创建它,并且只调用一次neo4j。示例查询如下
match p = allShortestPat
我正在做一个循环查询,获取路径中存在的节点,因此我们提供了路径中预期的开始节点和节点列表,预期的结果是提供的列表中的节点。
你能建议一下Neo4j中的in子句的限制是多少吗?我们的限制是2100。
查询示例:
MATCH (n:person{key:2529962, ownBy:0})
MATCH path = n<-[:relation]-(c:Equipment)
WHERE c.key in [1505697,2406945,2408297,2408531,2410815,2413566,2415224,]
RETURN distinct EXTRACT (p in NODES
我对Neo4J相当陌生,在一个Cypher查询中有一个问题。
我通过Neo4J java编写密码查询,我的Neo4J数据库设计如下:
我有一个用户节点的属性,如id,姓名,年龄,电子邮件,性别和节点城市。每个用户都通过关系(生命)与城市节点(具有属性id、名称)相关。但是,在用户与城市没有关联的情况下,也可能出现这种情况。
现在,我的查询场景是这样的,我希望在一个查询中获取用户和他居住的城市的所有细节。
match p, c, p-[:lives]->c where p.type = 'com.Person' and c.type='com.City'
最近,我正在研究如何通过属性查找重复节点,并发现以下结果提供了非常有效的解决方案:
由于我使用的是Neo4j v2.2.3社区,所以我使用了以下样式:
match (n:Label) with n.prop as prop, collect(n) as nodelist, count(*) as count where count > 1 return prop, nodelist, count
我很难理解这是怎么回事。我在职业生涯中一直使用关系数据库,只是没有分组机制,这显然是因为我有一个节点列表和它们各自的计数。
请有人解释一下这是如何工作的,还是提供一个解释的参考?
我正在设置我的数据库,有时我需要使用一个ID。起初,我将一个ID作为属性添加到我感兴趣的节点,但意识到我也可以只使用ne4j的内部id "“。然后我偶然发现了CREATE INDEX ON :label(一些东西),并想知道这到底会做什么?我以为索引和应该是一回事?
这可能是一个愚蠢的问题,但由于我是数据库方面的初学者,我可能会错过其中的一些概念。
此外,我一直在阅读有关使用哪种数据库(mySQL、MongoDB或neo4j)的信息,并决定使用neo4j,因为我的数据基本上遵循图形结构。(它将用于构建代谢模型:连接基因->蛋白质->反应->化合物)
在SQL中,语法看
我在使用Neo4j构建社交网络时遇到了麻烦。
我的想法是:
我想获得列表成员(限制10名成员)在组和列表朋友之间的用户当前登录和组中的每个成员(限制每个成员2个朋友)。所以我的问题是
MATCH (g:group{_id:"120504"})<-[:memberof]-(m:user)
WITH m ORDER BY m ASC LIMIT 10
OPTIONAL MATCH (m)<-[:friend]-(x:user)<-[:friend]-(o:user{_id:"216645475418"})
return m as member,co
我使用Neo4J来检索一个人和他们的技能。这是我的Cypher查询:
MATCH (p:Person {id: "1"})
OPTIONAL MATCH (p) -[exp:HAS_EXPERIENCE]->(s:Skill)
WITH collect(distinct {id: s.id, name: s.name}) as skills, p
RETURN p.id as id, skills
其结果是:
{
"id": "1",
"skills": [
{
因此,我使用的是一个neo4j数据库,我想在这个数据库中找到某些人。人被存储为节点,并且与其他节点具有特定的属性和关系。现在我有了一个想要查找的人的列表(xlsm/csv文件)。这个列表包含大约8000个名称以及我可以用于查询的其他属性。
我设法使用列表中的单个名称来搜索节点,例如:
MATCH (n)
WHERE n.name = 'Peter'
RETURN n.name, n.age
我还了解到,我可以查看属性是否出现在字符串列表中:
MATCH (a)
WHERE a.name IN ['Peter', 'Timothy']
RE
我在neo4j: decision(parent,子decision列表)中有父/子图,它有我将用于搜索的属性名称(字符串)。它可以很好地找到我按查询在名称中包含搜索词的决策:
START d=node:node_auto_index({autoIndexQuery}) MATCH (d:Decision) RETURN d
我想要使这个查询复杂化,以查找在名称中有搜索词并且在其子项的名称中也有搜索词的决策:
Name of relation is CONTAINS (Decision CONTAINS decisions)
我是Neo4j和Cypher的新手,正在写我的学士学位论文,在社交网络的情况下,我将关系数据库与Neo4j图形数据库进行了比较。我已经在SQL和Cypher中定义了一些查询,以便在JMETER中通过JDBC和REST API进行性能测试。然而,我在声明Cypher查询以获取节点时遇到了问题,这些节点是某个节点的朋友的共同朋友。
我的第一种方法是这样的:
MATCH (me:Enthusiast {Id: 488})-[:abonniert]->(f:Enthusiast)-[:abonniert]->(fof:Enthusiast)<-[:abonniert]-(f) RET