Не могли понять из документации и исходного кода, что они представляют?
Класс DefaultGraphTraversal ‹S, E› какова цель класса? а что представляют собой классы S и E?
Ответы (1)
В Apache TinkerPop / Gremlin обход аналогичен запросу, и запрос может возвращать не только вершины.
<S,E>
- это переменные типа, которые образуют универсальное определение Java для DefaultGraphTraversal
класс. Они не являются конкретными классами, но представляют типы «начало» (для S
) и «конец» (для E
), которые будут входить в обход и выходить из него соответственно. В некотором смысле эти типы определяются, когда вы формируете обход, который хотите выполнить. g.V().count()
возвращает GraphTraversal<Vertex,Long>
, где S
определен как Vertex
, а E
определен как Long
- начало обхода - это Vertex
, а конец обхода - Long
.
person
stephen mallette
schedule
22.01.2018
Спасибо @stephen mallette за ответ. Я знаю, что такое Java Generics, я понимаю, почему это сбивает с толку, поэтому обновил вопрос. Согласно википедии, я все еще не понимаю значение концепции обхода - обход графа относится к процессу посещения каждой вершины в графе. Я могу понять, зачем вам нужен начальный класс, но почему конечный класс из другого типа? разве конец не означает последнюю вершину в обходе?
- person Karnimrod; 22.01.2018
В Apache TinkerPop / Gremlin
Traversal
аналогичен запросу, и запрос может возвращать не только вершины. Итак, GraphTraversal<Vertex,Long>
для g.V().count()
начинается с вершин графа, но в конечном итоге на выходе будет значение Long
, потому что вам нужно count()
этих вершин. Считайте E
результатом запроса.
- person stephen mallette; 22.01.2018
Еще раз спасибо @stephen mallette, последний комментарий действительно прояснил для меня некоторые вещи.
- person Karnimrod; 22.01.2018