首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蟒蛇,灯泡,resxter。从bulbs获取gremlin脚本返回的bool标量

蟒蛇,灯泡,resxter。从bulbs获取gremlin脚本返回的bool标量
EN

Stack Overflow用户
提问于 2015-03-26 17:00:53
回答 1查看 75关注 0票数 1

我正在编写python脚本,以从多个来源提取数据,并将其放入特定结构的图形中。

我使用灯泡模型来处理所有的数据。我有所有相关节点类型和关系的模型。我的边缘模型没有额外的属性,除了'label‘。

因为它正在开发中,所以我多次运行相同的脚本。我使用get_or_create来防止重复的节点,但是边没有这种方法。我没有现有边的对象,因为它是在脚本的前一个运行中创建的。

我看到几个问题和espeed上的答案类似,比如this,但我找不到一个满意的答案来回答我的具体问题。

这个方法最简单的代码是什么?

目前,我正在尝试通过加载一个gremlin脚本来实现这一点;正如Stephen所建议的;使用以下函数:

代码语言:javascript
复制
def is_connected(parent, child, edge_label) {
    return g.v(parent).out(edge_label).retain([g.v(child)]).hasNext()
}

和下面的python代码。

代码语言:javascript
复制
g.scripts.update('gremlin_scripts/gremlin.groovy')
script = g.scripts.get('gremlin:is_connected')
params = dict(parent=parent_node.eid, child=menu_item_v.eid, edge_label='has_sub_menu_item')
response = g.gremlin.execute(script, params)

我不太明白如何将bool结果转换成python。我也尝试过g.gremlin.query(脚本,参数)

EN

回答 1

Stack Overflow用户

发布于 2015-03-26 18:11:24

这里有一种方法:

代码语言:javascript
复制
parent_v.out(rel_label).retain(child_v).hasNext()

因此,从父级开始,遍历out到所有子级(我假设"out“是您关系的方向--您如何选择实现特定于您的域的实现),并通过retain确定该子级是否出现在任何点上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29274439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档