在neo4j中,我希望通过foreach语句过滤和收集数据。以mysql为例说明我的用户案例。users = User ->findAll(); data = array(); foreach(users as user){ profile = Profile:findBy(user); if(user.age > 20 and profile.company is empty) data[] = user; } return data
谢谢
我有一个节点和一个关系
class User
include Neo4j::ActiveNode
property :first_name
end
class Connection
include Neo4j::ActiveRel
include Enumable
creates_unique
from_class 'User'
to_class 'User'
type 'connected_to'
property :status, type: Integer, default: 0
end
我想
我已经创建了一个包含三个节点的小型数据库:亚伯拉罕、以撒和雅各布。亚伯拉罕是以撒的父亲,以撒是雅各的父亲。
现在我执行以下查询:
MATCH (a:Person), (i:Person)
WHERE a.name='Abraham' and i.name='Isaac'
RETURN a, i
从Neo4J web界面运行查询将显示两个节点之间的父关系:
这很奇怪,因为我没有请求任何关系。JSON响应也不包含这些关系:
[{
"keys": [
"a",
"i"
我在Neo4j中有一个关系,看起来像这样
其中(A)-: relationship ->(B)和(B)-:Relationship->(C)使用相同的关系(在本例中:Relationship),我想编写一个带有条件的循环查询,以便如果二级关系(A)->(C)的计数大于x,则不显示(B)->(C),即只显示(A)->(B)。
我试着这样做:
MATCH(A) WHERE id(A)={id}
OPTIONAL MATCH p=(A)-[:Relationship]->(B)
OPTIONAL MATCH q=(A)-[:Relationship]->
我是Neo4j的新手,我想展示所有的关系,不包括标签。
我正在做:
match ()-[p:PLAYED]->() where not p:Today return p
但是给了我以下错误
Type mismatch: expected Node but was Relationship (line 1, column 37 (offset: 36))
"match ()-[p:PLAYED]->() where not p:Today return p"
它用于排除节点标签,但不适用于关系,我无法找到解决这个问题的方法。
在尝试从Neo4j图形数据库中删除所有节点时,在运行以下查询后,我始终会遇到Error: undefined - undefined
MATCH (n) DETACH DELETE n
我认为我试图一次删除的节点数量可能太大(>100000),因此我尝试执行以下查询
MATCH (n) OPTIONAL MATCH (n)-[r]-() WITH n,r LIMIT 10000 DELETE n,r
以及它的许多变体,主要是根据我在这篇文章中读到的:。全部返回此错误
org.neo4j.kernel.api.exceptions.ConstraintViolationTransactio