在neo4j中搜索并将节点从一个图复制到另一个图

时间:2013-03-26 10:27:08

标签: java neo4j

假设您有3个图表,其中某些数据在图表之间共享。有没有一种方法可以做到以下几点:

  1. 在图1中找到一个节点

  2. 在图表2中搜索该节点(通过属性名称)

  3. 如果步骤2找到匹配项,那么我想将所有连接到图2中找到的节点的节点(包括“间接连接的节点”)连接到图1中的节点。

  4. 基本上我想在图中搜索特定节点,找到直接或间接连接到的所有节点,并将整个连接复制到图1中的原始节点。

    任何关于如何做到这一点的提示都会很棒。提前谢谢。

    使用Neo4j 1.9并且不太熟悉Cypher查询,它是社区版。

1 个答案:

答案 0 :(得分:1)

如果您在一个数据库中拥有所有3个图表,那么这很简单。

执行查询以查找节点

START a=node.... MATCH ... WHERE ... RETURN a.prop as prop, ID(a) as id

假设您的节点已为您感兴趣的属性编制索引,请对该属性执行索引查找

START a=node({id}), b=node:index(property={prop}) 
MATCH (b)-->(c) 
CREATE (c)-[:REL_TYPE]->(a)