【问题标题】:return nodes with selected properties返回具有选定属性的节点
【发布时间】:2013-12-09 10:50:24
【问题描述】:

我正在使用一个图形数据库,其中有许多节点通过关系 TYPE 连接到一个超级节点。并且这些子节点中的每一个都通过 FROM 关系具有属性。 我应该如何访问密码查询中各个节点的属性?

我试过了,但它不起作用。

start a=node(2) match (a)<-[:TYPE]-(node) match (node)<-[:FROM]-(prop) where prop.name="ABC" return node;

这里我必须返回一个属性为name 的节点,其值为ABC!? 应该怎么改?

【问题讨论】:

  • 能否更好地指定您的数据?一些密码来创建样本数据将是理想的

标签: neo4j cypher


【解决方案1】:
START a=node(2) 
MATCH (a)<-[:TYPE]-(node)<-[:FROM]-(prop)
WHERE prop.name="ABC" 
RETURN node;

您也可以使用索引来做到这一点:

START a=node:properties('name:ABC')
MATCH (node)<-[:FROM]-(a)

“properties”是您的索引,它的索引名称为“ABC”。意识到上面的查询只对与 :FROM 相关的节点感兴趣,因此与简单地使用索引相比,第一个示例中的搜索可能会很长。

如果您使用的是 Neo4j 2.x,那么最好使用标签。

MATCH (a:Property(name='ABC'))-[:FROM]->(node)
RETURN node

在创建/更新属性节点时设置标签“属性”的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-30
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 2013-04-26
    • 2013-11-30
    • 1970-01-01
    • 2021-03-07
    相关资源
    最近更新 更多