2013-10-24 3 views
0

Я использую базу данных диаграммы Titan с помощью Rexster и Cassandra.Добавление метки кромки Titan-Rexster

Я пытаюсь добавить край, как это в Руби Gremlin:

query = 'a = g.addVertex(null,[name:\'' + 
someName + 
'\']); g.addEdge(null, g.getVertex(' + 
someVertexId + '), a, \'labelname\', [weight:' + 
someFloatValue.round(5) + 'd]); g.commit();' 

#This formats to the following: 
#"a = g.addVertex(null,[name:'myawesomename']); g.addEdge(null, g.getVertex(1337), a, 'labelname', [weight:0.30685d]); g.commit();" 

После запуска этого я получаю следующее сообщение об ошибке:

#<Rexster::Rest::RexsterError: Graph server returned error: javax.script.ScriptException: java.lang.IllegalArgumentException: The type of given name is not a label: labelname> 

Похоже, я не определен ярлык с имя labelname, я получил это. Тем не менее, я не могу на всю жизнь понять, как добавить этот ярлык, чтобы я мог добавить этот край в график.

Добавление вершин прекрасно работает, кстати.


Я использую rexster_ruby драгоценный камень, который подключается к Ubuntu 12.04 машине с титаном-сервер 0.4.0 запуска titan.sh сценария.

ответ

1

Титан TypeMaker видел некоторые серьезные изменения API, начиная от 0,3 до 0,4. Вы можете прочитать о том, как определить метку края здесь:

https://github.com/thinkaurelius/titan/wiki/Type-Definition-Overview#creating-edge-labels

Он рекомендуется использовать TypeMaker при инициализации вашего графа, предпочтительно вне библиотек как rexster_ruby, REST, и т.д. Просто инициализировать график из REPL. Еще лучше, инкапсулируйте эти определения типов в классный класс, чтобы поддерживать вашу схему.

Смежные вопросы