2014-02-07 18 views
0

我想知道我是否正确实施Graph DB scanerio。我与Titan Graph Databaseneo4j使用图数据库实现Q/A场景

user-1试图提出质询this is question1user-2

user-2回答这个问题

user-3也回答了这个问题

这里是我正在做的图片这个。我是否正确或有一些改进空间?

enter image description here 我想从这张照片下面的查询答案:

  • 问题由用户
  • 问题要求用户
  • 所有回答一个问题问。
  • 谁回答了一个问题(这里是我对上述图片的怀疑,因为我没有直接连接到回复的用户。我正在考虑的一个解决方案是从用户顶点到问题顶点的边缘,但我不确定是它有效与否)
+0

我想我看到这个http://1.bp.blogspot.com/-J0yE-6wPAbY/URJVjDO9ETI/AAAAAAAAI28/BTuJDJw5uWA/s1600/SIB+schema+v1.jpeg – manish

回答

3

我觉得你的模型是明智

我显示你的问题的一些示例Neo4j的暗号声明:用户询问

问题
MATCH (u:User {name:{name}})-[:ASKED]->(q:Question) RETURN q 
询问用户的问题
MATCH (u:User {name:{name}})<-[:ASKEDTO]-(q:Question) RETURN q 
全部回复问题。
MATCH (a:Answer)<-[:REPLYTO]->(q:Question {id:{question}) RETURN a 
谁回答的一个问题
MATCH (u:User)-[:REPLY]->(a:Answer)<-[:REPLYTO]->(:Question {id:{question}) RETURN a,u 

随时检查出的Neo4j online course了解详情。