我对Gremlin还比较陌生,我所在的公司正在寻求实现一个带有一些临时边缘的图形数据库。每个顶点可以有一条或多条边,每条边上都有一个本质上是即时真/假的属性。
当遍历图时,如果“isTemporary”=true,我们应该遵循该边,否则我们应该遵循“isTemporary”=false的边。
即。,
A-[istemporaty:true,值1]-
A-[i临时:false,值2]-
B-[isTem临时:假,值3]-
运行单个gremlin查询应返回一个-
我已经阅读了TinkerPop3文档,看起来“choose”可能是我在这里想要使用的,但是所有的示例似乎都返回了一个值,当我想要返回遍历时,我可以重复执行遍历。
任何帮助都将不胜感激。
匿名用户
您可能正在寻找合并
步骤。
考虑到这张图:
g.addV().as('a').property('name', 'A').
addV().as('b').property('name', 'B').
addV().as('c').property('name', 'C').
addV().as('d').property('name', 'D').
addE('someLink').from('a').to('b').
property('isTemporary', true).property('value', 1).
addE('someLink').from('a').to('c').
property('isTemporary', false).property('value', 2).
addE('someLink').from('b').to('d').
property('isTemporary', false).property('value', 3)
以下查询将返回从A到D的所有路径,如果存在,则尝试通过isTemporary:true边进行遍历,否则尝试通过isTemporary:false边进行遍历(合并步骤)。
g.V().has('name', 'A').
repeat(
coalesce(
outE().has('isTemporary', true).inV(),
outE().has('isTemporary', false).inV()
)
).
until(has('name', 'D')).
path().by('name')
结果:
==>[A,B,D]
问题内容: 我将如何存储select语句的结果,以便可以将结果与子句重用于其他查询?这是一些伪代码: …或者如果我只是将子查询放在两个select语句中,优化器是否会为我执行此操作? 编辑:这是有关我的表结构的更多信息。 基本上,table1是一个标准表,其id是主键。而table2具有3列主键,其中id是这些列之一。在我的情况下,table2中的ID将显示在三行中。 问题答案: 您可以使用SQL
问题内容: 我想遍历JSON文件的内容并将其打印到控制台。 我想我确实把清单混在一起了。 这就是我试图获取所有元素的方法 这是我的JSON(简体:) (可在此处找到完整的JSON输出:Link) 当然,我得到一个错误,我应该在[]中使用整数输入,而不是字符串,但是我不知道该怎么做。 这是: 我怎么了? 问题答案: 实际上,要查询,只需将其添加到最后一行的括号中即可。除此之外,它似乎可以在命令行上的
有一个可选的可选列表,比如: 如何遍历打印字符串的和? 有一个可选的可选流怎么样? 更新:感谢您的答案,optionalStream(非嵌套)的解决方案:
问题内容: 我从网址获取此json,返回的JSON为: 我想在IOS的TableView中显示名称。 我的Swift2代码是: 如何遍历JSON数组以在表视图的单元格中放置哪个名称? 问题答案: 该变量是一个字典数组,因此您可以使用 在 Swift 3中 ,未指定的JSON类型已更改为
`@实体公共类影片{ }' 公开课课时{ } 我有两张桌子 表A Id | name | date | Set 表B Id |日期|表A 我想选择TableB. date所在的所有tableA 我想从表格A,表格B中选择*表格B。日期 我想要一个TableA元素列表和一个TableB的少数元素列表 在此输入图像描述 在此输入图像描述
问题内容: 我需要遍历不知道其参数化类型的映射的条目集。 遍历此类入口集时,为什么不编译呢? 但这编译: 并且也可以编译(由于我不知道地图的类型,所以我不能使用它): 问题答案: 您在第一个错误中遇到的错误是: 这是因为编译器会转换FOR-IN循环: 至: 您的第二个示例有效, 但只能通过作弊! 您正在进行未经检查的演员表转换,以 恢复 到。 成为: 更新资料 如注释中所述,在两个示例中,类型信息