如果在 scala gremline 中使用复合键创建顶点,如何使用 vertexId 进行查询
How to query using vertexId if vertex is made using composite key in scala gremline
我们正在使用这个库来查询 dse 图。
https://github.com/mpollmeier/gremlin-scala
如果顶点主键像UUID一样只是单键,我们可以使用vertexId查询和获取顶点。
ex. g.V("veretxId=UUID,~label=vertexLabel")
但是如果将顶点主键做成复合键为
前任。
addressTD : UUId
postCode: Int
sName: String
lName: String.
现在顶点主键是这四个值的组合键。
现在如果在 Datastax Studio 中查询并使用此查询获取顶点
g.V("{sName=\"TREVALLYN\",lName=\"TREVALLYN\",~label=tasLabel,postCode=7250,addressID=ad71d33c-0aaa-4014-a381-c189c30d45c5}")
它将 return datastax studio 中的顶点。
同时使用 https://github.com/mpollmeier/gremlin-scala 这个库。
它似乎不起作用。我正在以这样的规定格式发送 vertexId
"{sName=\"TREVALLYN\",lName=\"TREVALLYN\",~label=tasLabel,postCode=7250,addressID=ad71d33c-0aaa-4014-a381-c189c30d45c5}"
好吧,我找到了解决方案。
在 scala 中使用 java 链接哈希映射生成 vertexId 并将其传递给 scala gremlin 查询。
val javaLinkedHashMapVertexId = new java.util.LinkedHashMap[String, Any]()
//Putting values in hashmap
val vLabel =
javaLinkedHashMapVertexId.put("~label", "vertexLabelName")
val pKeyLocaName =
javaLinkedHashMapVertexId.put("localityName", "lName")
val pKeyPostCode =
javaLinkedHashMapVertexId.put("postCode", postCode)
val pKeyStreetName =
javaLinkedHashMapVertexId.put("streetName", "sname")
val pKeyAddId =
javaLinkedHashMapVertexId.put("addressID","addressID")
val vertex = graph
.V(javaLinkedHashMapVertexId)
.head()
顶点变量将使用链接的哈希图从 dse 图中获取顶点
我们正在使用这个库来查询 dse 图。 https://github.com/mpollmeier/gremlin-scala
如果顶点主键像UUID一样只是单键,我们可以使用vertexId查询和获取顶点。
ex. g.V("veretxId=UUID,~label=vertexLabel")
但是如果将顶点主键做成复合键为
前任。addressTD : UUId postCode: Int sName: String lName: String.
现在顶点主键是这四个值的组合键。
现在如果在 Datastax Studio 中查询并使用此查询获取顶点
g.V("{sName=\"TREVALLYN\",lName=\"TREVALLYN\",~label=tasLabel,postCode=7250,addressID=ad71d33c-0aaa-4014-a381-c189c30d45c5}")
它将 return datastax studio 中的顶点。
同时使用 https://github.com/mpollmeier/gremlin-scala 这个库。 它似乎不起作用。我正在以这样的规定格式发送 vertexId
"{sName=\"TREVALLYN\",lName=\"TREVALLYN\",~label=tasLabel,postCode=7250,addressID=ad71d33c-0aaa-4014-a381-c189c30d45c5}"
好吧,我找到了解决方案。 在 scala 中使用 java 链接哈希映射生成 vertexId 并将其传递给 scala gremlin 查询。
val javaLinkedHashMapVertexId = new java.util.LinkedHashMap[String, Any]()
//Putting values in hashmap
val vLabel =
javaLinkedHashMapVertexId.put("~label", "vertexLabelName")
val pKeyLocaName =
javaLinkedHashMapVertexId.put("localityName", "lName")
val pKeyPostCode =
javaLinkedHashMapVertexId.put("postCode", postCode)
val pKeyStreetName =
javaLinkedHashMapVertexId.put("streetName", "sname")
val pKeyAddId =
javaLinkedHashMapVertexId.put("addressID","addressID")
val vertex = graph
.V(javaLinkedHashMapVertexId)
.head()
顶点变量将使用链接的哈希图从 dse 图中获取顶点