标签: neo4j

通过密码从节点获取所有传递关系

您是否知道如何编写将返回与节点相关的所有传递关系的密码查询.

例如,如果我有:(node1)-[rel1]->(node2)-[rel2]->(node3).

我想要一个查询,给出node1返回rel1rel2.

谢谢你的帮助 !

neo4j cypher

1
推荐指数
1
解决办法
862
查看次数

在Cypher REST API中自动生成节点的序列号 - Neo4J

我需要在将节点插入neo4j db时自动生成序列号,此序列#将类似于节点的id,可用于生成外部URL以直接从UI访问该节点.

这类似于mysql中自动生成序列属性,我们如何通过Cypher在neo4j中执行此操作?我做了一些研究,发现了这些链接

在Neo4j中生成友好的id序列

http://neo4j.com/api_docs//1.9.M05/org/neo4j/graphdb/Transaction.html

但是,当我在事务模式下以编程方式执行此操作时,这些链接非常有用,在我的情况下,它们都使用Cypher REST API.

请指教.

谢谢,

Deepesh

rest neo4j cypher

1
推荐指数
1
解决办法
1596
查看次数

如果使用单个Cypher查询不存在,则启动并返回节点属性

我正在寻找一个单一的 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在这种情况下的定义非常不受欢迎.

neo4j cypher

1
推荐指数
1
解决办法
1575
查看次数

Neo4j:将关系作为查询参数传递

我创建了以下查询,当我传递所有关系时,它可以正常工作.

@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)

java neo4j

1
推荐指数
1
解决办法
657
查看次数

我在哪里可以找到neo4j jdbc驱动程序?

官方neo4j页面提到了jdbc驱动程序测试(这里).但是jdbc链接似乎被打破了.

有人知道在哪里可以找到neo4j的jdbc驱动程序(jar文件)?

jdbc neo4j

1
推荐指数
1
解决办法
3437
查看次数

How to get nodes in neo4j based on property value

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)

neo4j cypher

1
推荐指数
1
解决办法
2801
查看次数

有没有办法指数关系存在?

最近我遇到了使用循环中的下一个查询创建节点链的问题

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)

但我想知道是否有更优雅的方式解决这个问题,如"索引关系存在"?

neo4j cypher

1
推荐指数
1
解决办法
85
查看次数

py2neo cypher错误:KeyError:"u'cypher"

我正在尝试使用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条目,但我想知道如何解决它.

在此输入图像描述

neo4j cypher py2neo

1
推荐指数
1
解决办法
1047
查看次数

过滤与某个节点无关的Neo4j节点

我想找到所有尚未与我的酒吧相关联的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有更好的方法吗?

ruby-on-rails neo4j cypher neo4j.rb

1
推荐指数
1
解决办法
216
查看次数

Neo4j ExecutionEngine和ExecutionResult已被弃用?

在Neo4j的neo4j-2.2.0-M03版本中,当我尝试导入时

import org.neo4j.cypher.javacompat.ExecutionEngine;

import org.neo4j.cypher.javacompat.ExecutionResult;

我收到了一个弃用的警告.我似乎无法找到我应该使用的包...

java neo4j

1
推荐指数
1
解决办法
1623
查看次数

标签 统计

neo4j ×10

cypher ×7

java ×2

jdbc ×1

neo4j.rb ×1

py2neo ×1

rest ×1

ruby-on-rails ×1