用于编辑图形数据和生成Cypher的工具

时间:2014-11-29 21:17:46

标签: ms-access neo4j cypher graph-databases

让我们假设我正在建立乐队成员资格。以下是添加一些数据的示例:

CREATE
    (a:Band {name: "Metallica"}),

    (b1:Person {name: "James Hetfield"}),
    (b1)-[:JOINED {date: 1981}]->(a),
    (b1)-[:LEFT]->(a),

    (b2:Person {name: "Lars Ulrich"}),
    (b2)-[:JOINED {date: 1981}]->(a),
    (b2)-[:LEFT]->(a),

    (b3:Person {name: "Dave Mustaine"}),
    (b3)-[:JOINED {date: 1981}]->(a),
    (b3)-[:LEFT {date: 1983}]->(a),

    (b4:Person {name: "Ron McGovney"}),
    (b4)-[:JOINED {date: 1982}]->(a),
    (b4)-[:LEFT {date: 1983}]->(a),

    (b5:Person {name: "Cliff Burton"}),
    (b5)-[:JOINED {date: 1982}]->(a),
    (b5)-[:LEFT {date: 1986}]->(a),

    (b6:Person {name: "Kirk Hammett"}),
    (b6)-[:JOINED {date: 1983}]->(a),
    (b6)-[:LEFT]->(a),

    (b7:Person {name: "Jason Newsted"}),
    (b7)-[:JOINED {date: 1986}]->(a),
    (b7)-[:LEFT {date: 2001}]->(a),

    (b8:Person {name: "Robert Trujillo"}),
    (b8)-[:JOINED {date: 2003}]->(a)
    (b8)-[:LEFT]->(a)

我没有手动编辑Cypher代码,而是一直使用Microsoft Access来存储节点和关系数据。

节点:

enter image description here

节点标签表:

enter image description here

节点与另一个表中的标签相关联:

enter image description here

关系:

enter image description here

可以使用子表单编辑关系属性:

enter image description here

有关系统的一些注意事项here

要将数据导入Neo4j,我可以导出到XML并使用PowerShell生成等效的Cypher。

在许多情况下,在Access表单中编辑数据比在原始Cypher中更方便。

当然,我不是唯一一个不仅仅是手动编辑Cypher代码来构建图形数据的人。

我的问题是,是否有专门为Neo4j编辑图形数据的工具?

4 个答案:

答案 0 :(得分:2)

另一种选择是Structr(https://structr.org)。它使用Neo4j作为嵌入式数据库,并具有内置的数据编辑UI:

Structr Data Editing UI

我推荐支持在同一个数据库存储上启动其他Neo4j服务器的最新快照(2),以便您可以同时使用Neo4j和所有相关工具。

要使用数据编辑,首先需要使用可视化架构编辑器创建架构或数据模型。

编辑关系属性有点棘手,但在(3)中描述了如何使其成为可能。

(免责声明:我是Struct项目的发起人。)

答案 1 :(得分:1)

是的,非常好点。将此作为浏览器的一部分来编辑/添加节点和关系数据会很酷。

我想知道Excel + Macros或GDoc + AppScript是否也能正常工作。

您也可以将其导出为CSV格式并使用load-csv创建数据。

LOAD CSV WITH HEADERS FROM "nodes.csv" as csv
WHERE csv.label = "Person"
CREATE (:Person {name:csv.name});


LOAD CSV WITH HEADERS FROM "rels.csv" as csv
WHERE csv.label = 'JOINED'
MATCH (a:Person {name:csv.A})
MATCH (b:Band {name:csv.B})
CREATE (a)-[:JOINED]->(b);

Rik Van Bruggen还有很多其他方法可以将数据导入Neo4j,请参阅:http://blog.bruggen.com(例如“电子表格”方法)。

答案 2 :(得分:1)

选项为SylvaDB。您可以直观地创建数据模式,然后通过拖放来构建查询。可视化生成的网络,运行一些指标,甚至按计划生成报告,并将结果发送到您的电子邮件。唯一需要注意的是,导入工具仍处于起步阶段。

  • 图表的主要信息中心

Dashboard

  • 使用PageRank和朋友分析工具。

Analysis

  • 带过滤的基本数据列表。

Data

  • 模式。

Schema

  • 视觉查询编辑器。

Queries

答案 3 :(得分:-1)

引用https://stackoverflow.com/a/42910609/10189759

似乎 Linxurious,Neoclipse,Structr 有效

但是过时且难以安装