问题标签 [bulbs]
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.
python - 如何在 Python 的灯泡框架中为 neo4j 制作选择性全文索引?
James Thronton 提供了一个很好的示例,说明如何将灯泡配置为使用全文索引作为所有 neo4j 文件的默认索引:https ://gist.github.com/espeed/3025438
但是,有没有办法手动管理全文索引,以便它们只涵盖某些节点类型的某些属性?如果是,它是如何完成的?
python - Bulbflow Neo4j 索引查找错误 - 使用唯一键查找多个结果
具有记录类的节点存储有唯一的record_id。记录的类定义是这样的:
运行以下代码以使用 rec_id 作为键查找节点。
在 6153713,通过查找检索到两条记录,包括 rec_id=6153714 的记录,而 gremlin 查询返回单个结果。这是代码执行的结果。
此错误的原因可能是什么?
python - Python 字典如何在 neo4j 中建立索引
Bulbflow 提供了一个属性类 Dictionary 来将字典存储在 neo4j 数据库中。这些是如何索引的?我可以查询字典中的值吗?
neo4j - neo4j 2.1.5 带灯泡
如何将灯泡与 neo4j 2.1.5 连接。我已按照以下步骤操作,但没有帮助。
下载并解压 neo4j 2.1.5。
下载并解压 neo4j gremlin 插件 2.1.5。
将所有 jar 从 gremlin 插件复制到 $NEO4J_HOME/plugins/gremlin-plugin
修改 neo4j-server.properties 以添加:
org.neo4j.server.thirdparty_jaxrs_classes=com.thinkaurelius.neo4j.plugins=/tp
重启neo4j
bin/neo4j start
扩展名不显示
root@scspn0018050001:~# curl localhost:7474/db/data/ { "extensions" : { }, "node" : "http://localhost:7474/db/data/node", "node_index" : "http://localhost:7474/db/data/index/node", "relationship_index" : "http://localhost:7474/db/data/index/relationship", "extensions_info" : "http://localhost:7474/db/data/ext", "relationship_types" : "http://localhost:7474/db/data/relationship/types", "batch" : "http://localhost:7474/db/data/batch", "cypher" : "http://localhost:7474/db/data/cypher", "indexes" : "http://localhost:7474/db/data/schema/index", "constraints" : "http://localhost:7474/db/data/schema/constraint", "transaction" : "http://localhost:7474/db/data/transaction", "node_labels" : "http://localhost:7474/db/data/labels", "neo4j_version" : "2.1.5" }
然而这执行得很好
root@scspn0018050001:~# curl http://localhost:7474/tp/gremlin/execute {"success":true}
现在,这就是我的灯泡脚本的外观:
from bulbs.neo4jserver import Graph,Config, NEO4J_URI config = Config('http://localhost:7474/db/data') graph = Graph(config) james = graph.vertices.create(name="James")
但是我在执行灯泡脚本时收到以下错误
root@scspn0018050001:~/neuro/src# python bulbsTest.py
Traceback (most recent call last):
File "bulbsTest.py", line 4, in <module>
james = graph.vertices.create(name="James")
File "/usr/local/lib/python2.7/dist-packages/bulbs/element.py", line 565, in create
resp = self.client.create_vertex(data, keys=_keys)
File "/usr/local/lib/python2.7/dist-packages/bulbs/neo4jserver/client.py", line 424, in create_vertex
return self.create_indexed_vertex(data, index_name, keys=keys)
File "/usr/local/lib/python2.7/dist-packages/bulbs/neo4jserver/client.py", line 1054, in create_indexed_vertex
return self.gremlin(script,params)
File "/usr/local/lib/python2.7/dist-packages/bulbs/neo4jserver/client.py", line 384, in gremlin
return self.request.post(path, params)
File "/usr/local/lib/python2.7/dist-packages/bulbs/rest.py", line 131, in post
return self.request(POST, path, params)
File "/usr/local/lib/python2.7/dist-packages/bulbs/rest.py", line 186, in request
return self.response_class(http_resp, self.config)
File "/usr/local/lib/python2.7/dist-packages/bulbs/neo4jserver/client.py", line 217, in __init__
self.handle_response(response)
File "/usr/local/lib/python2.7/dist-packages/bulbs/neo4jserver/client.py", line 249, in handle_response
response_handler(response)
File "/usr/local/lib/python2.7/dist-packages/bulbs/rest.py", line 39, in not_found
raise LookupError(http_resp)
LookupError: ({'status': '404', 'access-control-allow-origin': '*', 'content-type': 'application/json; charset=UTF-8', 'content-length': '752', 'server': 'Jetty(9.0.5.v20130815)'}, '{\n "message" : "No such ServerPlugin: \\"GremlinPlugin\\"",\n "exception" : "PluginLookupException",\n "fullname" : "org.neo4j.server.plugins.PluginLookupException",\n "stacktrace" : [ "org.neo4j.server.plugins.PluginManager.extension(PluginManager.java:115)", "org.neo4j.server.plugins.PluginManager.invoke(PluginManager.java:156)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:312)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:134)", "java.lang.reflect.Method.invoke(Method.java:606)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:139)", "java.lang.Thread.run(Thread.java:744)" ]\n}')
任何帮助表示赞赏。
python - Gremlin 使用灯泡通过 groovy 脚本进行查询
我正在尝试找出一种更好的通过 python 库进行查询titan
的方法。gremlin
bulbs
我有一棵简单的树
我想得到n4
和边缘:e[n0 -> n1] => e1
,e[n1 -> n4] => e2
直到n4
。所以在这个例子中我想要[e1, e2, n4]
在进行查询之前,我知道节点的所有索引。在这个例子中node_ids = ['ddbe4d52e7034ffeb17c9426fc1484af, '754d5e84daad4140ba93cb10ce00cde0', '7b2848543b444fcc94e69d7930ffa996']
有了这些信息,我可以构建这个我觉得相当长且重复的查询
这只会给我最后一个节点。我仍在试图找出必须返回我需要的边缘的sideAffect
东西。gremlin
我知道我可以创建自定义脚本并使用那些彻底的gremlin
,但我对所有这些东西都很陌生,因此将不胜感激。
我正在寻找的东西的伪代码
另外,如果有人有关于 gremlin/groovy 的好教程,那将很有帮助
谢谢
python - 2015年从Python使用Neo4j最合适的方式
我正在使用最新的社区 Neo4j (2.2.0-M03) 来存储我的图表。我有兴趣从 Python 访问它。根据 Neo4j 官方文档,有几种选择。
根据我通过检查文档、玩了一会儿和检查这篇文章的理解,py2neo 是唯一支持 Neo4j 2(和标签)的。但是,如果我想在 Neo4j 上编写和运行特定算法,我应该通过灯泡使用 Gremlin,但它似乎不支持 Neo4j 2。
现在,我想使用一些目前不在 Neo4j 中的自定义算法,比如传播激活。是否直接在 Java 中的 Neo4j 中编写算法并通过 py2neo 使用密码命令从 Python 运行它们是唯一的选择?我错过了什么吗?
干杯
PS。我想发布我引用的所有软件的链接,但不幸的是,我需要至少 10 个声誉才能发布超过 2 个链接...
titan - 如何在单个 gremlin 查询中获取多个顶点/边?
我处于需要使用单个查询获取两种不同类型的顶点的情况。例如,假设图具有以下结构:
假设节点具有以下属性:
- 会员资格
- 地位
- 日期
- 团体
- 姓名
- 日期
- 类型
现在,我需要获取Membership
用户的所有节点is_member
,以及相应Group
的name
. 我该如何为此编写 Gremlin 查询?
我正在使用灯泡框架。如何将结果存储在 python 对象中?
python - 通过灯泡从 python 访问 Titan Graph DB 时的性能基准
我有 Titan(在我的系统上运行嵌入式 cassandra)。
我正在运行 rexster 客户端
我在我的系统上安装了如下灯泡。
在上述设置之后,我继续从我的 python 应用程序创建我的图表。
我的问题如下。
1) 对于一个简单的图表,我使用 Bulbs 通过 REXSTER 服务器从 python 应用程序访问 Titan Graph DB。据我了解,REXSTER 服务器通过灯泡使用的 RESTful 接口公开 Titan。
2)如果我需要一些复杂的操作,我最好在groovy脚本中创建一些存储过程,并在Titan+Bulbs和REXSTER服务器之间使用REXSTER客户端。(我的理解正确吗?)
3) Bulbs 通过 RESTful 接口与 Titan 通信时,性能如何?我想对 - 写性能 - 查询性能有一个想法
4) 如果我在两者之间使用 REXSTER 客户端,性能会受到影响吗?
如果您能向我指出他们使用上述设置测量性能的一些文档,那就太好了。
python - 将 Rexster 和 Titan Graph DB 用于可扩展的应用程序
我有一个 python 应用程序与 Cassandra 支持的 Titan 图形数据库进行通信。
Python 应用程序 ---------> Rexster 服务器 + Titan Graph DB + Cassandra。
“Rexster Server + Titan Graph DB + Cassandra”位于单个 JVM 中。
我的 python 应用程序在多个虚拟机上运行。即每个虚拟机都有我的应用程序的相同副本。这个想法是使应用程序可扩展。现在很明显,对于初始实现,我正在使用“Rexster Server + Titan Graph DB + Cassandra”的单个实例。这意味着后端数据库是单个节点。我在不同虚拟机上运行的应用程序与相同的后端通信。
我的问题如下。
1)我想让后端数据库也可扩展。我怎样才能做到这一点?
2)我需要使用相同的“Rexster + Titan Graph DB”并配置多个cassandra节点吗?
3) Titan Graph DB 是这个用例的最佳选择吗?或者我可以用 Neo4j 替换 Titan Graph DB,用 Neo4jserver 替换 Rexster。为什么/为什么不?
titan - 如何将顶点添加到 rexsterserver (titan/cassandra) 的指定图形?
我正在使用带有 Titan cassandra 的 rexster 服务器。并且都安装在我的本地主机中。我配置我的 rexster.xml 来创建一个特定的图表。
我想用 python 灯泡在我的新图中添加边和顶点。我写了下面的代码来添加
但我收到错误...如果我添加以下仅对默认图表有效的数据...该代码对empgraph没有任何影响...我必须做些什么才能将数据添加到我新创建的empgraph?
在上面的代码中,我提到了 empgraph,但该数据添加到了默认值(空图)。