在 JanusGraph 中,建议预先创建架构。 LIST 基数意味着您需要一个数组值键。
在 gremlin 控制台中你可以这样做:
mgmt = graph.openManagement(); mgmt.makePropertyKey('myProperty').dataType(String).cardinality(LIST).make(); mgmt.commit();
然后你在 gremlin 中链接属性函数:
g.addV().property('myProperty', 'val1).property('myProperty','val2')
如果您想动态创建架构,您可以在一次 gremlin 调用中完成此操作。您提供了一个以前从未使用过的新属性键(现有键默认具有基数 SINGLE 并且不接受多个值)。您必须告知 gremlin 您所有新插入的值的基数,如下所示:
g.addV().property(list,'myNewProperty', 'val1').property(list,'myNewProperty','val2')
请注意我每次都必须添加列表关键字。
如果您通过 gremlin-python 执行此操作,则第二个选项应该像本机代码一样直接工作。第一个选项要求您通过客户端连接发送架构命令:
from gremlin_python.driver.client import Client
client = Client('ws://urlToServer:8182/gremlin','g')
console_command_string = """mgmt = graph.openManagement(); mgmt.makePropertyKey('myProperty').dataType(String).cardinality(LIST).make(); mgmt.commit();"""
client.submit(console_command_string)
client.close()