我试图在消息图中跟踪消息。例如,节点A向节点B发送消息,后者将消息发送给节点C(以此类推),我如何在Cypher中设计一个查询,在到达终端节点之前一直调用下一个节点。
-> B -> C -> D -> E -> F
start search是A,返回一个包含B、C、D、E、F的列表(在经典的neo4j图可视化中,这些节点是连接的,因为B向C发送了消息,直到F。
我的代码是
MATCH p=(a { address: "A" })-[r]->(b)
RETURN *
这只会返回A,节点A将消息发送给。如何修改它以完成我正在寻找的递归调用。
注
在我们的项目中,PEPOLEs通过KNOWS关系连接在一起。我们需要深入查询自己的朋友,其中n是user.We输入的参数,使用Spring Data Neo4j来实现。
public interface PeopleRepository extends GraphRepository<People>
{
@Query("MATCH (startnode{name:{name}})-[:KNOWS*1..{depth}]-(remote_friend) RETURN remote_friend.name");
List<People> g
我是Cypher的新手,正在尝试弄清楚在某些情况下如何从查询中排除节点。
该图由好友( me-friend-person )和好友关系( me-fof-person )组成
我需要找到所有朋友的朋友关系(足够简单),但排除那些朋友的朋友谁也是‘朋友’
我以为我能做到:
START me=node(0)
MATCH me-[r:fof]->fof, me-[f?:friend]->fof
WHERE f is null and NOT(r is null)
and ... [other filters]
但是,这似乎是一个错误的方式去获得朋
我不知所措。
场景:从Joe获取深度2(#表示“Person”。字母代表‘位置’)
0 E
| |
1 B
/ | \ / | \
2 JOE 3 C A D
/|\ /|\
0 0 0 F G H
/\ | | /\ | |
0 0 0 0 I J K L
问题是,一个人被绑在一个位置上。职位之间有关系,但一个人与另一个人没有关系。所以它大概是这样的:
Joe<
我有一个评论树和它的
create table comment (
id serial primary key,
author varchar(100) not null,
content text not null
);
create table closure (
ancestor integer not null references comment (id),
descendant integer not null references comment (id) on delete cascade,
depth integer not
我有一个会说几种语言的用户。我正在写一个查询,看看用户是否会说英语。我想通过搜索用户节点和语言节点之间是否存在关系来了解用户是否会说英语。我正在使用rels.to_other或rels.to_others进行此操作。正如下文所述,两者都失败了。"to_other“和"to_others”方法的区别是什么?
irb(main):105:0> u
=> #<User uuid: "b1461edd-a574-44a7-9555-68659a361be2", created_at: Tue, 06 Oct 2015 16:21:26 +0000, n
还有其他几篇关于凯文·培根学位的帖子,这些帖子的答案与我在查阅之前自己想出的相似。但是很明显,随着我与Kevin的分离程度的提高,我仍然在做一些错误的事情,因为我得到的结果和我的查询的性能下降了。
下面是我对所有演员的查询,他们都有某种程度的凯文·培根:
match p=(:Person {name:"Kevin Bacon"})-[:ACTED_IN*..2]-(:Person) return p
如果我理解正确的话,这就相当于:
match p=(:Person {name:"Kevin Bacon"})-[:ACTED_IN]->()<-[:A
我正在开发一个存储非常类似于文件系统的inode树的系统。它已经具有与ls命令相当的功能,但它还不支持递归选项。我正在研究添加递归选项的实现选择。我希望最大程度地熟悉熟悉POSIX ls的用户,并最大限度地提高为使用POSIX ls -R输出而编写的任何脚本的可移植性。
ls -R似乎可以通过深度优先遍历或广度优先遍历来实现。但是,对于某个特定的遍历顺序是由规范决定的还是作为实现的选择,我还没有找到明确的答案。
在中,我找不到任何具体的答案。这是我唯一能找到的与递归的实现相关的语句:
在处理-R选项时,预期实现将遍历任意深度。唯一的深度限制应该基于耗尽物理存储来跟踪未遍历的目录。
我还
我遇到的问题是Neo4J-entreprise版本2.2.0RC-01。我们的一个关系有一个名为Search_Field的属性。这个属性是AutoIndex (在ne4j-server.properties文件中配置)和全文(lucene)。当我们使用与前一个完全相同的值(例如: Search_Field = 'ABC')更新这些属性时,我们这样做:
START r1=relationship(137)
SET r1.Search_Field = 'ABC'
RETURN r1
发生此错误:
java.lang.Long cannot be cast to o
我在我的项目中使用了Spring Data Neo4j,我在存储库的命名约定上遇到了一些问题。
这是一个只包含一个字段和getters/setter的简单类
@RelationshipEntity
public class ScoredRelationship
{
protected Float score;
}
下面的类使用其他类型的字段对其进行扩展
@RelationshipEntity(
type = RecommenderRelTypes.GOV_CONSUMER_TO_GOV_CONSUMER_SIMILARITY)
public class GovConsumerToG