【发布时间】:2022-01-04 20:40:56
【问题描述】:
我正在寻找一种在 Apache TinkerPop 中使用 PatitionStrategy 时运行文本查询 ex: "g.V().limit(1).toList()" 的实现。
我正在尝试构建一个 REST 接口来仅对选定的图形分区运行查询。我知道如何使用客户端运行原始查询,但我正在寻找一种实现,我可以创建一个多租户图 (https://tinkerpop.apache.org/docs/current/reference/#partitionstrategy) 并使用原始文本查询而不是 GLV 仅查询选定的租户。我只能使用 pythongremlin 查询选定的分区,但是我找不到在租户上运行文本查询的参考实现。 这里是租户查询实现
connection = DriverRemoteConnection('ws://megamind-ws:8182/gremlin', 'g')
g = traversal().withRemote(connection)
partition = PartitionStrategy(partition_key="partition_key",
write_partition="tenant_a",
read_partitions=["tenant_a"])
partitioned_g = g.withStrategies(partition)
x = partitioned_g.V.limit(1).next() <---- query on partition only
这是我在整个图形上执行原始查询的方式,但我正在寻找实现以仅在选定的分区上运行基于文本的查询。
from gremlin_python.driver import client
client = client.Client('ws://megamind-ws:8182/gremlin', 'g')
results = client.submitAsync("g.V().limit(1).toList()").result().one() <-- runs on entire graph.
print(results)
client.close()
有什么建议吗? TIA
【问题讨论】: