Neo4J - 构建图

时间:2015-11-11 18:28:41

标签: graph neo4j

不确定这是提出这个问题的最佳论坛。如果不是这样,请道歉并告诉我在哪里可以重新定向这个问题然后投票给我。

我想通过考虑我期望在其上执行的查询类型来了解我构建图表的方法是否最合适。

因此,我每周都会根据从Stream API获取的推文和特定的主题标签列表构建Neo4J图表。主题标签列表每周都在增长。

这是一个研究项目,所以我只会做两个月的活动。

我决定以这样的方式对我的图表进行建模:

  • 节点:

    • 发出推文的用户
    • 推文中提及的用户
    • 转发时的原始用户
  • 边缘:

    • 转发
    • 提到

我想提取子图,即。与主构建图形相关的所有节点和边缘,与指定的标记相关。

我的问题是:

一个。向所有用户和边缘添加标记属性是否更好?

B中。为每个标签定义一个新节点,然后在标签和用户之间创建边缘是否更好? 某种关系: - 是相关的

然后,查询图表db的推荐方法是什么... 因此,例如,如果推荐第二个解决方案B.应该并且可以将查询作为两步查询执行:

  • 步骤1:具有该关系的所有节点都与
  • 相关
  • step2:与在第一步查询中提取的节点相关的所有节点和边。

1 个答案:

答案 0 :(得分:1)

我认为让Tag个节点具有从Tweet到推文使用的Tag节点的关系是有意义的:(Tweet)-[:TAGS]->(Hashtag)

你可能想看看这个将Twitter数据提取到Neo4j的Twitter demo app,并且有一些你可能感兴趣的example queries。有一篇博文here讨论了如何构建此Web应用程序。

您可能也对Neo4j Slack group感兴趣,特别是#help-modeling channel for data modeling discussion / issues。