Гремлин - поиск вершины по свойствам имущества - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть вершина, которая имеет вложенные свойства под определенным свойством.Пример:

  {
    "id": "X",
    "label": "deployment",
    "type": "vertex",
    "properties": {
      "name": [
        {
          "id": "X",
          "value": "myvalue1"
        }
      ],
      "labels": [
        {
          "id": "xxxxx",
          "value": "my-labels",
          "properties": {
            "key": "value"
          }
        }
      ]
    }
  }

Моя проблема: Я хотел бы найти подчиненное свойство с определенным значением.Как бы я построил запрос, чтобы найти вершины с этим значением?Кажется, я не могу найти какую-либо документацию о попытках найти это свойство.

Много документации по поиску и сортировке свойства вершины, но не это.

Цель этого состоит в том, чтобы под моими метками было много "меток", и я хочув конечном итоге создать ребра среди вершин с соответствующими под метками.

1 Ответ

0 голосов
/ 22 февраля 2019

Это будет сканирование всех вершин, поэтому имейте в виду, что это не будет высокопроизводительный запрос.

g.V().filter(properties("my-labels").has("key", "value"))

Чтобы дать вам пример более Команда график:

//
// Where did TinkerPop crew members move in and after 2005?
//
gremlin> g = TinkerFactory.createTheCrew().traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:14], standard]
gremlin> g.V().filter(properties("location").has("startTime", gte(2005))).
           project("name","locations").
             by("name").
             by(properties("location").has("startTime", gte(2005)).value().fold())
==>[name:marko,locations:[santa fe]]
==>[name:stephen,locations:[purcellville]]
==>[name:matthias,locations:[baltimore,oakland,seattle]]
==>[name:daniel,locations:[kaiserslautern,aachen]]
...