我找不到使用gremlin javascript客户端(3.4.2)创建包含Geopoint的顶点的方法。
为该属性定义的架构如下:
geopoint=mgmt.makePropertyKey('geopoint').dataType(Geoshape.class).cardinality(org.janusgraph.core.Cardinality.SINGLE).make();
从JanusGraph中阅读文档,我应该能够执行以下操作,无论是用于查询还是创建:
g.addV('location').property('geopoint', Geoshape.point(45.944, 18.485));
问题是我无法使用gremlin客户端在任何地方找到“ Geoshape”类型。我还尝试过使用GeoJSON和类似'{lat:45.848,lng:16.487}'这样的对象作为属性值,但是它们都不起作用。
使用JavaScript为JanusGraph创建和查询Geoshape.point的方法是什么?
答案 0 :(得分:1)
由于Geoshape
是JanusGraph的功能,因此TinkerPop(因此是Gremlin)本身不支持这种功能。您将不得不依靠JanusGraph来提供该功能,到目前为止,我不认为它们提供了Javascript扩展。只是作为一个示例,您可以看到他们的.NET library中提供了这种支持。
您目前唯一的解决方法是使用submit scripts到Gremlin Server,以执行基于JavaScript的Geoshape
查询,Gremlin Server使您可以访问服务器上的Geoshape
Java类。
答案 1 :(得分:0)
从@stephen槌状回答开始,这无法使用gremlin客户端完成。 但是由于有了book by Kelvin Lawrence,我发现了一个很好的解决方法。