问题标签 [neo4jclient]
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.
c# - Neo4jClient 创建和更新关系
我有一个Neo4j 图形数据库,可以通过Neo4jClient访问。(它是 Neo4j 的 REST api 的 .NET 客户端)
有一个文档的开头。
我做了什么
与数据库的连接有效。
这样我可以插入节点...
...并查询他们。
我想做的事
我只是想添加和更新节点之间的关系。(关系类型必须是数字。)
不幸的是,还没有关于关系的文档。
有一个命令名为CreateRelationship
. 但我无法让它工作。
你能给我一个添加和更新(数字)关系的例子吗?
castle-windsor - 有人可以帮我将此 AutoFac 注册转换为 Windsor 吗?
虽然我可以弄清楚如何将接口注册到具体的类,但这个特定的类需要是一个实例(我很确定这是 LifeStyle.Singleton)并且还调用了 graphClient.Connect() 方法。这是我坚持的主要部分。
根据 JeffN825 的回答,我这样做了:
neo4j - 如何使用 Neo4jClient 获取特定的 Neo4j 节点
我正在使用的模型的一些伪代码:
基本上我有一堆用户,他们属于某些地方(RDBMS 世界中的多对多关系)。既然我已经创建了所有节点,我现在想做的是创建它们之间的关系。为此,我相信我需要获取对每个节点的引用,然后简单地创建它们之间的关系。
注意:到目前为止,不存在任何关系。在某些示例中,他们确实添加了具有指向 RootNode 的关系的用户节点,但我不知道为什么。我不确定我是否需要这样做。
更多伪代码:
不幸的是,文档一开始就非常好,然后当你建立关系时就往南走。
2012 年 3 月 29 日更新
这是我到目前为止的代码:
活动节点创建良好。place 节点创建良好。现在尝试获取活动节点时会引发错误。这是一个相当大的堆栈跟踪,所以我将尝试在这里解释:
执行请求时收到异常。
查询是:gv(p0).in(p1).filter{ it[p2] == p3 }.drop(p4).take(p5)._()
例外情况是:值不能为空。参数名称:键 System.ArgumentNullException:值不能为空。参数名称:System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) ... 原始响应正文为: [ { “outgoing_relationships”:“http://localhost:7474/db/data/node/2/relationships/out”,“data”:{“Name”:“Aerobics”,“Id”:2},“all_typed_relationships”: “http://localhost:7474/db/data/node/2/relationships/all/{-list|&|types}”,“遍历”:“http://localhost:7474/db/data/node/ 2/traverse/{returnType}”、“self”:“http://localhost:7474/db/data/node/2”、“property”:“http://localhost:7474/db/data/node/ 2/属性/{key}",
当键为空时将项目添加到字典时要做的事情。问题是,我在调试时看不到任何空值,activity1 在那里,RootNode 在那里,TypeKey 是一个 const 字符串。
我几乎想知道我是否应该自己将创建的节点保留在数组或字典中,然后只使用 NodeReference。这就是我接下来要尝试的。
那天早上晚些时候
这似乎可以很好地将所有内容加载到图形数据库中:
现在的问题和我之前遇到的类似。现在我想获得一个与 RootNode 有关系的活动:
抛出键值不能再次为空异常。我想我需要更多地研究 gremlin 语法。我猜问题就在那里。
今天下午
开始试验 Gremlin 查询:
gv(0).inE.filter{it.label=="ACTIVITY_BELONGS_TO"}.outV.filter{it.Id==1}.Name
工作正常。我尝试使用 neo4jClient 语法复制它:
_graphClient.RootNode.InE(ActivityBelongsTo.TypeKey).OutV(b => b.Id == 1).SingleOrDefault();
同样的空异常,它吐出:
对我来说这看起来是对的,除了结尾。虽然跑了这个:
这很好用。这里有些东西很臭……也许我应该尝试其他库,尽管我喜欢反序列化支持。叹...
认为也许原始查询会起作用。没有!此方法不再接受字符串和所需的 GremlinQuery 我不知道你该怎么做。咕咕咕咕咕咕咕咕。
2012 年 3 月 30 日更新
创建了一个新项目,下面的一切正常。超级困惑为什么它会在这里工作...... :(也许是版本差异,我不知道。
graph - 如何加载具有相关顶点的顶点作为集合
GraphDb 端
顶点:用户
边缘:有
顶点:汽车
对象侧
问题
我想通过 Gremlin 从 Neo4J 获取具有 Cars 属性的用户 X?(我正在使用 Neo4jClient)
它与 Linq to Entity 的 Include 方法非常相似。
此致
c# - Neo4JClient:如何找到给定节点的关系列表(任何类型)?
我知道如何获取相关节点,并指定关系以找到这些节点,但似乎没有任何机制可以自己找到关系?
查看 Neo4JClient 的源代码,您可以找到“Relationship”类型,但它仅在创建关系时使用,而不是在检索它们时使用。
检索时,您可以获得“RelationshipInstance”,但它由一个RelationshipReference 和两个NodeReferences 组成。除了与每个关联的唯一整数ID 之外,它们都没有与它们关联的任何数据。
neo4j - Neo4jClient 获取所有引用的节点
在我的应用程序中,我有类/节点,例如:
-person
-activity -company
我
可以在以下之间创建关系:
- 个人和公司
- 公司和活动
- 活动和个人 - 个人和个人
- 公司和公司
所以。特定活动可能与个人和公司有关。公司主要是根。但是没有真正的等级制度。它更像是一个网状结构。
(我知道如何创建关系等。我已经看过一些教程。:))
现在。我想获得与特定节点的节点的所有直接相关关系。我不想按关系类型获取相关数据。我想要(如果可能)一个查询,它读取所有关系和相应的节点。
第二个要求:当我检索到所有相关的关系和节点时,我想获取这些节点之间的关系(如果存在的话)!
所以用 2 个查询来解决这个问题会很酷!
有任何想法吗?
谢谢!
asp.net-mvc - Neo4j 返回具有最少跳数的不同节点
我有以下数据:
考虑这个查询:
从 2 个输入节点开始,遍历不超过 2 跳的其他节点。
返回以下内容:
背景故事:在我的应用程序中,您可以搜索兴趣(一次多个)。每个兴趣都可以有相关的兴趣。有时输入的兴趣共享共同的兴趣,从而导致重复的兴趣。
neo4j - Neo4jClient 数据导入
我使用 Neo4jClient (.NET)。我必须像国家一样导入主数据。
我已经看到 Neo4j 有一个 Java API(批量插入 API)。是否可以通过 Web 界面或其他工具导入数据?
如果没有,我是否必须通过具有该Create()
功能的 Neo4JClient 包装器导入数据?!
谢谢。
neo4j - NEO4jClient GraphClient.Connect() 抛出异常
我对 Neo4jClient 不熟悉,我刚刚尝试启动并运行一个简单的项目。
我通过 NUGET 包管理器安装了 Neo4jClient,控制台告诉我一切都已正确安装。
我打开了一个新的空白控制台应用程序并尝试了以下操作:
只有它在执行时抛出以下异常。
执行请求时收到异常。
任何人都知道为什么会抛出这个空异常?
c# - 使用 Gremlin 在 Neo4J 中遍历节点但在结果中包含起始节点
我有一个代表用户的图表和他们写的一些文章。我需要创建类似活动流的东西,包括用户及其朋友撰写的文章。
我可以拥有所有用户朋友的帖子,如下所示:
并返回
但我还需要包含使用查询检索到的原始用户的帖子:
这返回
我怎样才能拥有所有帖子而不必进行 2 次查询然后稍后合并它们?我需要得到这样的回报:
谢谢
PD:我正在使用 Gremlin 和 Neo4jClient,但如果有人有更好的解决方案,其他的也可以,此时我仍然可以更改我正在使用的一些工具