我有一个图形,其中运行以下命令并获得以下结果:
gremlin> g.V().has("ip") //Query 1
==>v[127.0.0.11]
==>v[127.0.0.22]
==>v[127.0.0.33]
gremlin> g.V().has("mac") //Query 2
==>v[AA:BB:CC:00:11:FF]
==>v[A2:B2:C2:00:12:F2]
==>v[A3:B3:C3:00:13:F3]
gremlin> g.V().has("ip",like("*11*")) //Query 3
==>v[127.0.0.11]
gremlin> g.V().has("mac",like("*11*")) //Query 4
==>v[AA:BB:CC:00:11:FF]
gremlin> g.V().has("ip").or().has("macAddr") //Query 5
==>v[127.0.0.11]
==>v[127.0.0.22]
==>v[127.0.0.33]
==>v[AA:BB:CC:00:11:FF]
==>v[A2:B2:C2:00:12:F2]
==>v[A3:B3:C3:00:13:F3]
gremlin> g.V().union(has("ip"),has("macAddr")) //Query 6
==>v[127.0.0.11]
==>v[127.0.0.22]
==>v[127.0.0.33]
==>v[AA:BB:CC:00:11:FF]
==>v[A2:B2:C2:00:12:F2]
==>v[A3:B3:C3:00:13:F3]
对于要搜索给定搜索词的“ mac”和“ ip”,我有一个要求。
我尝试了以下两个查询,但只返回了与查询5和查询6相同的结果。有人能指出我正确的方向吗?
g.V().has("ip",like("*11*")).or().has("macAddr",like("*11*"))
g.V().union(has("ip",like("*11*")),has("macAddr",like("*11*")))
答案 0 :(得分:0)
经过反复试验,我发现了这一点(也许应该是我的第一步,但无论如何)。
可以通过在联合中包括g.V()
来获得所需的解决方案,如下所示:
g.V().union(g.V().has("ip",like("*11*")),g.V()has("macAddr",like("*11*")))