2016-07-06 3 views
1

Похоже, мы можем заставить Titan 1.0 использовать пользовательские длинные идентификаторы, установив true "graph.set-vertex-id" в true. Есть ли способ использовать недолговечные (например, String) идентификаторы в виде идентификаторов вершин? Видя, что Tinkerpop api поддерживает Strings, и есть функция под названием «StringIds», есть ли способ включить эту функцию? Я использую Titan с Кассандрой.Titan + Cassandra и String Vertex Ids

ответ

1

Нет. Идентификаторы строк не поддерживаются в StandardTitanGraph.features(). Вы можете рассмотреть возможность использования индексированного свойства String в качестве альтернативы.

3

Я думаю, что это противоречит внутренней структуре Титана. Один из разработчиков Titan рекомендует использовать here, чтобы использовать собственное индексированное свойство. Это подтверждается here и here, в котором указывается, что должны использоваться уникальные индексированные свойства.

Я думаю, причина в том, что внутренние идентификаторы действительно относятся к местоположениям в системе. Как было указано here:

The (64 бит) вершинной идентификатор (который Титан однозначно присваивает каждой вершине) является ключом, который указывает на строку, содержащую список смежности вершина в.

+0

hmm ... это удивительно. Классы разделов Cassandra могут быть любыми, и поисковые запросы будут работать одинаково. И Titan Apis и т. Д. (Хорошо Tinkerpop) предполагает, что это должно быть возможно. Опять же, Titan использует очень старый интерфейс Thrift, и я думаю о терминах CQL. – ashic