问题标签 [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.

0 投票
1 回答
821 浏览

gremlin - 使用灯泡和 rexster 批量/批量更新/插入?

我正在使用pythonbulbs和。RexsterOrientDB

有没有办法同时批量/批量更新/插入多个顶点或边?

0 投票
1 回答
341 浏览

java - 非常基本的 OrientDB/TinkerPop 属性图数据库问题

提前感谢您对可能是一系列愚蠢问题的耐心等待。

我正在从头开始重新设计一个遗留企业应用程序,并为底层图形数据库选择了 OrientDB。在仔细阅读了 OrientDB Google 小组、各种 Wiki 等之后,我对应用哪些最佳实践以及从哪里开始感到有点困惑。进一步来说:

  1. 我的理解是否正确,即使用 1.6.4(或更高版本)我需要利用 TinkerPop 蓝图来构建图形数据库?
  2. 如果是这样,我是否必须使用 Gremlin 或者 OrientDB 提供的扩展 SQL 是否仍然可供我使用?
  3. 理想情况下,我应该通过 TinkerPop API 以编程方式创建初始(非嵌入式)数据库,还是通过 OrientDB 的本机控制台建立结构?
  4. 蓝图实现是否会阻止我使用集群或类(我仍然可以使用 OrientDB 中内置的继承结构)吗?
  5. 鉴于我不会使用嵌入式数据库,Rexster 是否必须用于基于 TinkerPop 的实现?
  6. 有没有人听说过 Rexster kibble 提供 Cypher 支持的风声?:D

迄今为止,我的大部分经验都是使用 MS SQL 和 Neo4J(我的问题可能暗示了这一点)。

干杯,

乔恩

0 投票
1 回答
1375 浏览

python - 如何通过带有灯泡的 rexster 连接到 orientdb 图?

所以,我在 mac-osx 上使用 python3.2 和灯泡与 rexster 和 orientdb。细节:

orientdb - 从他们的页面标准下载

~/workspace/orientdb-community-1.7-rc1

运行服务器,./bin/server.sh

数据库- o​​rientdb 数据库 ~/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 数据库之外的所有数据库。

如何使其正确连接?

0 投票
1 回答
192 浏览

titan - 通过 Rexpro 遍历大型 Titan 图中的所有顶点

我在我的 Python 应用程序中使用 Titan(通过 RexPro 和rexpro-python连接)。我想执行一些涉及迭代图中所有顶点的操作,我想知道最好的方法是什么(如果有的话)。

想到的第一个想法是g.V通过ij 过滤器请求批次,例如:

但是,过滤器将加载和迭代顶点0i,这对于大型图来说将是非常昂贵的。

通过 RexPro 遍历所有顶点的最佳方法是什么?

0 投票
3 回答
616 浏览

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 配置如下。

任何帮助或想法将不胜感激。

谢谢!

0 投票
1 回答
40 浏览

tinkerpop - 带有路径参数的 Rexster 扩展

有没有办法在 Rexster 扩展中使用路径参数,即相当于 Jersey 的@PathParam

从示例扩展中我可以看到,似乎只有查询参数可用。

0 投票
1 回答
155 浏览

methods - 启动时加载方法,Aurelius Titan 和 Rexster

有没有办法在启动时将 gremlin 方法加载到 rexster/Titan 中?

这样,每次我想通过 rexpro 使用它们时,我就不必重新发送这些方法。目前我做这样的事情(简单的例子):

多次执行时显然效率不高。

为了进一步澄清:我显然希望有我的some_method预定义,所以我可以简单地这样做:

0 投票
1 回答
604 浏览

groovy - Gremlin - 如何在将属性转换为整数时进行过滤?

我有以下 gremlin 代码段:

我认为这会过滤掉时间属性值解析为大于 startTime 的项目。但事实并非如此。如何获取管道中当前对象的时间以便进行比较?

0 投票
2 回答
571 浏览

groovy - 如何在进行广度优先搜索时在 Gremlin 中包含边?

在我的小精灵查询中,我有以下内容:

在我的 gremlin 脚本中,我返回 y,但 y 显然只有顶点。我可以通过为每个顶点迭代它们来手动检索每个边,但是我想要一个返回的列表,其中只包含在列表 y 中返回的其他节点之间的边。

特别是,我需要能够在本地重新创建在数据结构中返回的子图,因此 gremlin 被用于返回该信息。关于我的用例影响这些需求的其他细节是,手动迭代每个节点边缘太慢,因为我正在运行我的灯泡脚本的 rexster 服务器必须通过网络推送数据,而且还因为如果我没有使用脚本最初返回的每个顶点之间的边集,那么我必须检查沿每条边遇到的每个顶点,以确保它在最初返回的集合内;非常不理想。

基本上,任何结果都应该是这样的,当我查看任何返回的顶点时,我可以知道返回集合中链接了哪些顶点——而无需进行任何手动检查或查找。它应该只在数据集中。

编辑1:

我发现 gremlin 的树管道功能非常适合做我想做的事!问题是,既然我使用了树,我需要将它返回到可以使用的形式......我只能返回顶点或边,所以我不能立即返回树。

编辑2:

espeed 是对的;我应该使用bothE 开始。但是我有一些我想满足的条件......我几乎早先拥有它,但我无法让过滤器正常工作。

我不明白为什么我不能在一个管道中使用两个后端(我得到一个 NullPointerException)。我要解决的基本问题是:进行广度优先搜索,只存储满足以上所有条件的节点,并存储所有通过测试的顶点之间的边。

0 投票
1 回答
207 浏览

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