Похоже, мы можем заставить Titan 1.0 использовать пользовательские длинные идентификаторы, установив true "graph.set-vertex-id" в true. Есть ли способ использовать недолговечные (например, String) идентификаторы в виде идентификаторов вершин? Видя, что Tinkerpop api поддерживает Strings, и есть функция под названием «StringIds», есть ли способ включить эту функцию? Я использую Titan с Кассандрой.Titan + Cassandra и String Vertex Ids
ответ
Нет. Идентификаторы строк не поддерживаются в StandardTitanGraph.features()
. Вы можете рассмотреть возможность использования индексированного свойства String в качестве альтернативы.
Я думаю, что это противоречит внутренней структуре Титана. Один из разработчиков Titan рекомендует использовать here, чтобы использовать собственное индексированное свойство. Это подтверждается here и here, в котором указывается, что должны использоваться уникальные индексированные свойства.
Я думаю, причина в том, что внутренние идентификаторы действительно относятся к местоположениям в системе. Как было указано here:
The (64 бит) вершинной идентификатор (который Титан однозначно присваивает каждой вершине) является ключом, который указывает на строку, содержащую список смежности вершина в.
hmm ... это удивительно. Классы разделов Cassandra могут быть любыми, и поисковые запросы будут работать одинаково. И Titan Apis и т. Д. (Хорошо Tinkerpop) предполагает, что это должно быть возможно. Опять же, Titan использует очень старый интерфейс Thrift, и я думаю о терминах CQL. – ashic