您是否知道如何编写将返回与节点相关的所有传递关系的密码查询.
例如,如果我有:(node1)-[rel1]->(node2)-[rel2]->(node3).
我想要一个查询,给出node1返回rel1和rel2.
谢谢你的帮助 !
我需要在将节点插入neo4j db时自动生成序列号,此序列#将类似于节点的id,可用于生成外部URL以直接从UI访问该节点.
这类似于mysql中自动生成序列属性,我们如何通过Cypher在neo4j中执行此操作?我做了一些研究,发现了这些链接
http://neo4j.com/api_docs//1.9.M05/org/neo4j/graphdb/Transaction.html
但是,当我在事务模式下以编程方式执行此操作时,这些链接非常有用,在我的情况下,它们都使用Cypher REST API.
请指教.
谢谢,
Deepesh
我正在寻找一个单一的 Cypher查询,它将增加一个整数节点参数,并在启动它时返回该值0,以防它不存在.
类似于遵循伪Cypher:
MATCH (n:Order)
IF n.product_count IS NULL THEN n.product_count = 0 // this line is what I need
SET n.product_count = n.product_count + 1
RETURN n.product_count
Run Code Online (Sandbox Code Playgroud)
我能够将一个查询与一个FOREACH完成工作的语句放在一起,但这看起来很糟糕,并不适合我的用例:
MATCH (n:Order)
WHERE id(n) = 9503
FOREACH ( i in (CASE WHEN n.product_count IS NULL THEN [1] ELSE [] END) | SET n.product_count = 0 )
SET n.product_count = n.product_count + 1
RETURN n.product_count;
Run Code Online (Sandbox Code Playgroud)
如何以正确的方式完成?
注意:Order节点非常复杂并且包含许多其他属性,因此MERGE在这种情况下的定义非常不受欢迎.
我创建了以下查询,当我传递所有关系时,它可以正常工作.
@Query(value="START profile=node(*) "
+ "MATCH profile - [rel:create | stream | like | follow] - feeds "
+ "WHERE profile.id ={profileId} "
+ "WITH distinct feeds as feed, rel.date as date "
+ "ORDER BY date DESC "
+ "RETURN DISTINCT feed;")
public List<Feed> findByProfileId(@Param("profileId") String profileId);
Run Code Online (Sandbox Code Playgroud)
但我想获取特定操作的数据,如下面的查询
@Query(value="START profile=node(*) "
+ "MATCH profile - [rel:{action}] - feeds "
+ "WHERE profile.id ={profileId} "
+ "WITH distinct feeds as feed, rel.date as date "
+ "ORDER BY date DESC …Run Code Online (Sandbox Code Playgroud) 官方neo4j页面提到了jdbc驱动程序测试(这里).但是jdbc链接似乎被打破了.
有人知道在哪里可以找到neo4j的jdbc驱动程序(jar文件)?
I have created some nodes with a property called: color. I haven't assigned any values to this property. Now I want to write a query to get all the nodes which have this property "NULL".
My query is this:
MATCH (n:Image) WHERE n.color='' RETURN n
Run Code Online (Sandbox Code Playgroud)
But this returns nothing. How can I get all the nodes which belong to the label:Image and have the property:Color empty?
I also tried this with no luck:
MATCH (n:Image) WHERE n.color IS NULL RETURN …Run Code Online (Sandbox Code Playgroud) 最近我遇到了使用循环中的下一个查询创建节点链的问题
MATCH (p: Node) WHERE NOT (p)-[:RELATIONSHIP]->()
WITH p LIMIT 1000
MATCH (q: Node{id: p.id}) WITH p, max(id(q)) as tail
MATCH (t: Node) where id(t) = tail
WITH p, t
CREATE (p)-[:RELATIONSHIP]->(t)
Run Code Online (Sandbox Code Playgroud)
在创建具有第一个~1 000 000个节点的链之后出现问题.询问
MATCH (p: Node) WHERE NOT (p)-[:RELATIONSHIP]->()
Run Code Online (Sandbox Code Playgroud)
工作非常缓慢,因为它首先查看了1 000 000并检查他们是否没有关系,但他们都有.在一定数量的节点查询以"未知错误"结束.为了解决这个问题,我尝试了下一个查询.
MATCH (p: Node) with p skip 1000000
Match (p) WHERE NOT (p)-[:RELATIONSHIP]->()
Run Code Online (Sandbox Code Playgroud)
要么
MATCH (p: Node) with p order by id(p) desc
MATCH (p) WHERE NOT (p)-[:RELATIONSHIP]->()
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更优雅的方式解决这个问题,如"索引关系存在"?
我正在尝试使用py2neo 2.0(和Neo4j 2.1.6)执行cypher查询,但它失败并出现以下错误:
文件"C:\ Envs\project\lib\site-packages\py2neo\core.py",第678行,在密码中
self .__ cypher = CypherResource(metadata ["cypher"],metadata.get("transaction"))KeyError:"u'cypher"
在调试时,我发现元数据属性没有cypher条目,但我想知道如何解决它.

我想找到所有尚未与我的酒吧相关联的Foos.我使用neo4j.rb(4.1.2)和Rails(4.2).我现在使用的代码,产生正确的输出,但感觉不理想的是:
@foos = Foo.all.find_all do |foo|
foo.bars.rels_to(current_bar).count == 0
end
Run Code Online (Sandbox Code Playgroud)
使用Cypher有更好的方法吗?
在Neo4j的neo4j-2.2.0-M03版本中,当我尝试导入时
import org.neo4j.cypher.javacompat.ExecutionEngine; 和
import org.neo4j.cypher.javacompat.ExecutionResult;
我收到了一个弃用的警告.我似乎无法找到我应该使用的包...