问题标签 [rexster]
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.
gremlin - 使用灯泡和 rexster 批量/批量更新/插入?
我正在使用pythonbulbs
和。Rexster
OrientDB
有没有办法同时批量/批量更新/插入多个顶点或边?
java - 非常基本的 OrientDB/TinkerPop 属性图数据库问题
提前感谢您对可能是一系列愚蠢问题的耐心等待。
我正在从头开始重新设计一个遗留企业应用程序,并为底层图形数据库选择了 OrientDB。在仔细阅读了 OrientDB Google 小组、各种 Wiki 等之后,我对应用哪些最佳实践以及从哪里开始感到有点困惑。进一步来说:
- 我的理解是否正确,即使用 1.6.4(或更高版本)我需要利用 TinkerPop 蓝图来构建图形数据库?
- 如果是这样,我是否必须使用 Gremlin 或者 OrientDB 提供的扩展 SQL 是否仍然可供我使用?
- 理想情况下,我应该通过 TinkerPop API 以编程方式创建初始(非嵌入式)数据库,还是通过 OrientDB 的本机控制台建立结构?
- 蓝图实现是否会阻止我使用集群或类(我仍然可以使用 OrientDB 中内置的继承结构)吗?
- 鉴于我不会使用嵌入式数据库,Rexster 是否必须用于基于 TinkerPop 的实现?
- 有没有人听说过 Rexster kibble 提供 Cypher 支持的风声?:D
迄今为止,我的大部分经验都是使用 MS SQL 和 Neo4J(我的问题可能暗示了这一点)。
干杯,
乔恩
python - 如何通过带有灯泡的 rexster 连接到 orientdb 图?
所以,我在 mac-osx 上使用 python3.2 和灯泡与 rexster 和 orientdb。细节:
orientdb - 从他们的页面标准下载
~/workspace/orientdb-community-1.7-rc1
运行服务器,./bin/server.sh
数据库- orientdb 数据库 ~/databases/orientdb/dev-db-01
rexster - 来自 github 的标准结帐 git clone git://github.com/tinkerpop/rexster.wiki.git ~/workspace/
配置/rexster.xml:
Python代码:
问题:
我认为python代码配置中的url不正确(我尝试了各种变体)。但我不知道;如果我保持 rexster.xml 不变并且只使用标准图形构造函数,它就可以工作;但这是一个问题,因为它没有将节点添加到我想要的 orientdb 数据库 dev-db-01,而是将它们放入默认数据库中。所以为了确保我连接到正确的数据库,我禁用了除我创建的 orientdb 数据库之外的所有数据库。
如何使其正确连接?
titan - 通过 Rexpro 遍历大型 Titan 图中的所有顶点
我在我的 Python 应用程序中使用 Titan(通过 RexPro 和rexpro-python连接)。我想执行一些涉及迭代图中所有顶点的操作,我想知道最好的方法是什么(如果有的话)。
想到的第一个想法是g.V
通过ij 过滤器请求批次,例如:
但是,过滤器将加载和迭代顶点0
到i
,这对于大型图来说将是非常昂贵的。
通过 RexPro 遍历所有顶点的最佳方法是什么?
neo4j - Neo4J 2.x 与 Rexster
我想知道是否有人已成功配置 Rexster-server 以使用 Neo4j-2.0.1-HA?我阅读了一些关于可比性的主题,但从未找到一个好的解决方案。
我从 master 中提取了最新的 rexster 源(2.5.0-SNAPSHOT)并构建了它。在配置 Neo4j2.0.1 和 rexster 后,尝试启动 rexster 时出现以下错误。
线程“主”java.lang.NoSuchMethodError 中的异常:org.neo4j.kernel.GraphDatabaseAPI.getNodeManager()Lorg/neo4j/kernel/impl/core/NodeManager;
Rexster 配置如下。
任何帮助或想法将不胜感激。
谢谢!
tinkerpop - 带有路径参数的 Rexster 扩展
有没有办法在 Rexster 扩展中使用路径参数,即相当于 Jersey 的@PathParam
?
从示例扩展中我可以看到,似乎只有查询参数可用。
methods - 启动时加载方法,Aurelius Titan 和 Rexster
有没有办法在启动时将 gremlin 方法加载到 rexster/Titan 中?
这样,每次我想通过 rexpro 使用它们时,我就不必重新发送这些方法。目前我做这样的事情(简单的例子):
多次执行时显然效率不高。
为了进一步澄清:我显然希望有我的some_method
预定义,所以我可以简单地这样做:
groovy - Gremlin - 如何在将属性转换为整数时进行过滤?
我有以下 gremlin 代码段:
我认为这会过滤掉时间属性值解析为大于 startTime 的项目。但事实并非如此。如何获取管道中当前对象的时间以便进行比较?
groovy - 如何在进行广度优先搜索时在 Gremlin 中包含边?
在我的小精灵查询中,我有以下内容:
在我的 gremlin 脚本中,我返回 y,但 y 显然只有顶点。我可以通过为每个顶点迭代它们来手动检索每个边,但是我想要一个返回的列表,其中只包含在列表 y 中返回的其他节点之间的边。
特别是,我需要能够在本地重新创建在数据结构中返回的子图,因此 gremlin 被用于返回该信息。关于我的用例影响这些需求的其他细节是,手动迭代每个节点边缘太慢,因为我正在运行我的灯泡脚本的 rexster 服务器必须通过网络推送数据,而且还因为如果我没有使用脚本最初返回的每个顶点之间的边集,那么我必须检查沿每条边遇到的每个顶点,以确保它在最初返回的集合内;非常不理想。
基本上,任何结果都应该是这样的,当我查看任何返回的顶点时,我可以知道返回集合中链接了哪些顶点——而无需进行任何手动检查或查找。它应该只在数据集中。
编辑1:
我发现 gremlin 的树管道功能非常适合做我想做的事!问题是,既然我使用了树,我需要将它返回到可以使用的形式......我只能返回顶点或边,所以我不能立即返回树。
编辑2:
espeed 是对的;我应该使用bothE 开始。但是我有一些我想满足的条件......我几乎早先拥有它,但我无法让过滤器正常工作。
我不明白为什么我不能在一个管道中使用两个后端(我得到一个 NullPointerException)。我要解决的基本问题是:进行广度优先搜索,只存储满足以上所有条件的节点,并存储所有通过测试的顶点之间的边。
unicode - Rexster + Bulbs:Unicode 节点属性 - 节点已创建但未找到
我正在使用bulbs
并且rexster
正在尝试存储具有 unicode 属性的节点(参见下面的示例)。显然,在图中创建节点可以正常工作,因为我可以在 rexster(Rexster Dog House)附带的 Web 界面中看到节点,但检索相同的节点不起作用 - 我得到的只是None
.
当我创建并查找属性中具有非 unicode 特定字母的节点时,一切都按预期工作。例如,在以下示例中,一个节点name = u'University of Cambridge'
可以按预期检索。
雷克斯特版本:
示例代码:
在命令行上给出以下输出:
POST url: http://localhost:8182/graphs/emptygraph/tp/gremlin
POST body: {"params": {"keys": null, "index_name": "university", "data": {"element_type": "university", "name": "Universit\u00e9 de Montr\u00e9al"}}, "script": "def createIndexedVertex = {\n vertex = g.addVertex()\n index = g.idx(index_name)\n for (entry in data.entrySet()) {\n if (entry.value == null) continue;\n vertex.setProperty(entry.key,entry.value)\n if (keys == null || keys.contains(entry.key))\n\tindex.put(entry.key,String.valueOf(entry.value),vertex)\n }\n return vertex\n }\n def transaction = { final Closure closure ->\n try {\n results = closure();\n g.commit();\n return results; \n } catch (e) {\n g.rollback();\n throw e;\n }\n }\n return transaction(createIndexedVertex);"}
GET url: http://localhost:8182/graphs/emptygraph/indices/university?value=Universit%C3%A9+de+Montr%C3%A9al&key=name
GET body: None
None
0.3