gpt4 book ai didi

graph - Titan + d3 用于计算机网络可视化

转载 作者:行者123 更新时间:2023-12-02 01:35:26 24 4
gpt4 key购买 nike

过去几周我一直在尝试 Titan,希望得到一些关于前进方向的指导,以及一些具体问题。该项目的目的是将日志数据存储在 Cassandra 集群上(对于这个问题,我们使用 Web 流量的示例)并在 Titan 图中表示关系。所有节点都被建模为具有实体值和类型(例如“google.com”、“主机名”),边具有标签(例如“连接”)以及关系的多个属性(时间戳、流长度等)在)。

一旦这些数据存储在 cassandra 中并表示为 Titan 图,我计划使用 d3 代码来生成可视化。在隧道的尽头,我希望能够构建大规模、交互式、复杂的图形网络,如下所示:http://goo.gl/CVEd55

我当前的设置如下:

  • 一个 Python 脚本,用于将日志文件转换为 vertices.csvedges.csv 文件以供 Gremlin 加载
  • Titan Server 0.4(使用 CassandraThrift 作为存储后端)- gremlin 脚本将转换后的数据加载到 Titan
  • 使用 NetworkX 打开 RexPro 连接的 Python 脚本,允许分析人员输入自定义 Gremlin 查询,并将结果输出为 JSON
  • 本地 Web 前端,使用生成的 JSON 和 d3 将查询结果显示为图表

理想情况下,作为测试基本案例,我希望用户能够在 Web 前端中输入 Gremlin 查询,并被定向到包含结果的交互式 d3 图的页面。

我的具体问题如下:

  1. 为边分配属性的过程是什么?我很难找到示例代码来帮助我使用上面列出的模型来表示图形。

  2. 用于将数据加载到 Titan 的 gremlin 脚本使用 bg.commit() 创建批处理图,稍后在 RexPro 连接中引用该批处理图 conn= RexProConnection('localhost,第 8184 章这最初是有效的,但在更改我的加载脚本、清除 Gremlin 中的图形然后重新加载后,由于图形 bg 显然不存在,因此无法打开 RexPro 连接。 Titan 中更新图表的过程是怎样的?大概使用同一个图形运行加载脚本两次只会将节点/顶点添加到现有图形中,因此每次更新模型时如何生成具有相同名称的新图形,并让 RexPro 能够引用它运行查询时?

  3. 扩展接口(interface)以允许分析师将 SQL 查询输入前端,使用 RexPro 以与所描述的类似方式访问图形有多容易?

对长篇文章表示歉意,但如果有人可以分享他们的专业知识,我们将不胜感激!

最佳答案

对于 d3 可视化,您可以使用力定向图。它们有一些变体。

关系图 https://vida.io/documents/qZ5SJdRJfj3XmSXYJ

强制布局树 https://vida.io/documents/sy7vzWW7BJEvKdZeL

如果您的网络包含大量节点和边,则需要在可视化之前对数据进行聚类。您可以使用Gephi、NodeXL等工具来执行集群。然后使用聚类数据构建力导向可视化。

关于graph - Titan + d3 用于计算机网络可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20241818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com