使用scala检索与给定节点相关的neo4j节点

时间:2013-03-22 07:45:08

标签: scala neo4j

我有两个名为User_node和Article_node的节点,它们通过关系

相关联
  

article_node - > “Written_By” - > user_node

如何获取由给定用户节点编写的所有文章节点?

1 个答案:

答案 0 :(得分:4)

我假设您正在使用嵌入式neo4j,因此具有org.neo4j.graphdb.Node类型的对象。 Node方法getRelationships有多个重载,但是RelationshipType的varargs应该适合你。要获得连接到起始节点的所有Node个对象,您必须编写类似这样的内容(未经测试):

// we use scala, so let's make our code pretty ;-)
import collection.JavaConverters._

val author = db.getNodeById(nodeId)

// getRelationships returns an Iterable[Relationship]
val rels = author.getRelationships(DynamicRelationshipType.withName("Written_By"))

// get the article node from the Relationship object
val articles = rels.asScala.map(_.getOtherNode(author))