问题标签 [graph-databases]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1105 浏览

nosql - 寻找具有 .NET 或 C++ 绑定的成熟、可扩展的 GraphDB

我对 GraphDB的基本要求:

  • 成熟(生产就绪)
  • 本机 .NET 或 C++ 语言绑定
  • 横向可扩展性:两者
    • 自动数据冗余和分片
    • 分布式图算法/查询执行

目前我取消了以下资格:

  • InfiniteGraph:没有 C++/.NET 语言绑定
  • HyperGraphDB:无 C++/.NET 语言绑定
  • 微软三位一体:不成熟
  • Neo4j:未分发

我不确定以下内容的可扩展性:

  • 稀疏 DEX
  • Franz Inc. AllegroGraph
  • Sones GraphDB

我发现有关水平可扩展性功能的可用信息非常笼统。我想这是有充分理由的。

任何信息,将不胜感激。

0 投票
1 回答
1831 浏览

graph - 如何在 Gremlin 中链接命令?

以下命令有效

以下命令有效

以下命令不起作用

为什么?

0 投票
1 回答
3847 浏览

nosql - 如何在图形数据库(如 Neo4j)中建模现实世界的关系?

我有一个关于在图形数据库中建模的一般性问题,我似乎无法理解。

你如何模拟这种类型的关系:“牛顿发明了微积分”?

在一个简单的 graph 中,你可以这样建模:

...因此,当您添加更多人和发明时,您将拥有一堆“发明”的图形关系。

问题是,您开始需要向关系中添加一堆属性:

  • 发明日期
  • 有影响力的概念
  • 有影响力的人
  • books_inventor_write

...并且您将要开始在这些属性和其他节点之间创建关系,例如:

  • 影响人:与人节点的关系
  • books_inventor_wrote:与书节点的关系

所以现在看起来“现实世界的关系”(“发明”)实际上应该是图中的一个节点,并且该图应该如下所示:

更复杂的是,其他人也参与了微积分的发明,所以现在的图形变成了这样:

所以我问这个问题是因为您似乎不想在实际的图形数据库“关系”对象上设置属性,因为您可能希望在某些时候将它们视为图中的节点。

它是否正确?

我一直在研究Freebase Metaweb Architecture,他们似乎将一切都视为一个节点。例如,Freebase 有一个Mediator/CVT的想法,您可以在其中创建一个“Performance”节点,将“Actor”节点链接到“Film”节点,如下所示:http ://www.freebase.com/edit /topic/en/the_last_samurai。不太确定这是否是同一个问题。

您使用哪些指导原则来确定“现实世界的关系”是否实际上应该是图节点而不是图关系?

如果有任何关于这个主题的好书,我很想知道。谢谢!

0 投票
2 回答
1183 浏览

neo4j - 如何切换图形(在 Neo4j 上)?

使用后如何返回 Neo4J 图表

我想这有点像

编辑:

您的回答帮助我更好地了解 loadGraphML() 的工作原理,但它并没有解决我的问题。

我将重新表述我的问题。我使用 Neo4j 和 Gremlin,当我第一次启动服务器时,我在 Gremlin 控制台下得到以下行。

然后我输入

但是我怎样才能回到“g = neo4jgraph [EmbeddedGraphDatabase [/home/user/software/neo4j-community-1.5.M01/data/graph.db]]”

0 投票
3 回答
1540 浏览

nosql - 如何让 neo4j 无法被全世界访问?

我正在运行 neo4j 版本 1.5M01。我也试过 1.4.1 版。而且我不知道如何阻止它在极其不安全的模式下运行,在这种模式下,通过 HTTP 连接到它的任何人都具有对数据库的完全读/写/shell 访问权限。

我知道 neo4j 不能自行管理安全性。我只想关闭端口,因此只能从 localhost 访问它。

http://docs.neo4j.org/chunked/snapshot/server-configuration.html上的文档说这是您打开端口的方式:

指定网络服务器的客户端接受模式(默认为 127.0.0.1,仅限本地主机):

# allow any client to connect

org.neo4j.server.webserver.address=0.0.0.0

但如果我把那条线去掉,它仍然是开放的。如果我将其更改为 127.0.0.1,它也仍然处于打开状态。

0 投票
1 回答
2867 浏览

neo4j - 相同类型但在相同两个节点之间具有不同属性的多个关系

我可以在相同的两个节点之间创建多个相同类型的关系吗?我正在尝试发现与相同关系类型连接的节点中的模式。例如,关系 PERFORMED_BY 可以有一个属性来记录 Person1 作为执行者,并带有从节点 A 到节点 B 的转换的时间戳,而第二个关系 PERFORMED_BY 可以让 Person2 在相同两个节点之间的不同时间作为执行者。

0 投票
1 回答
3708 浏览

neo4j - 如何更新 Gremlin 上的几个顶点属性?

我想在一个顶点上添加几个属性。我可以做:

但是如何在单个查询中使用以下哈希 {firstname:'Marko', lastname:'Rodriguez'} 添加这些属性?

0 投票
1 回答
1355 浏览

graph - Neo4J 对有向树的通用遍历

我使用图形数据库 Neo4J 对有向树结构进行了建模。所以我有这样的东西:http: //ouwarovite.net/YAPC/220px-Binary_tree.svg.png(非强制性二进制)

我的数据库的用户可以随意添加已有节点的子节点,所以树的高度和单个节点的度数是未知的。

现在,我想像这样查询我的树:从节点 x 开始,给我所有叶子是叶子 x 的后代。

这种查询是否可以使用 Gremlin 或 Cypher 执行,如果可以,如何实现最大性能?(我还没有找到对“通用”树执行查询的可能性,因为您总是必须指定最大深度)

我知道,使用 REST / JSON 框架和 JAVA API 是可能的,如下所示:

(我的叶子有属性'leave',我的边缘没有类型->所以_default)

有没有更简单/更好的方法来做到这一点,也许性能更好?

0 投票
1 回答
1550 浏览

data-modeling - 在图形数据库中表示烹饪食谱

我正试图围绕图形数据库。所以也许有人可以帮助向我解释建立这种关系的正确方法。这主要是从 neo4j 的角度来看,但我认为它适用于大多数图形数据库

我有一个Recipe节点和Ingredient节点。节点与Ingredient节点有ingredient_in关系Recipe。该关系将包含多个属性,特别注意的是具有计量单位的金额字段。

我可以想象,在图表的其他地方,会有一个UnitOfMeasure节点具有 converts_to 与转换率的关系。

我正在努力解决的问题是如何将成分-> 配方关系表示为具有 UnitOfMeasure。来自 RDMS 感觉就像我需要一个介于两者之间的另一个节点,但对于图形数据库来说这感觉是错误的。

0 投票
2 回答
359 浏览

java - neo4j - 属性自动索引器不存储值

我遇到的问题是,在将 AutoIndex 索引设置为某个属性后,我可以添加一个键/值对,而索引不会显示它存在。我对 neo4j 比较陌生,所以我对这个类应该做什么的概念可能是错误的。测试代码创建一个无常图形数据库,用它实例化我的数据服务类,然后创建一个用户。实例化数据服务类时,就是将属性添加到 AutoIndex 的时候。您可以在 createUser() 函数内部看到,我已经打印出刚刚创建的用户并且应该在 AutoIndex 中,但它打印的是 null。

这是我正在测试的代码:

这是 DataServiceImpl 中的代码:

这是 UserWrapper 中的代码: