2015-04-10 2 views
2

Я хотел бы знать, есть ли способ связать разные ярлыки с классом с помощью NeoModel. Если нет, какой модуль может позволить мне это сделать?Использование нескольких меток с Neomodel

Я понимаю, что при использовании следующего объявления класса «Лицо» является меткой.

class Person(StructuredNode): 
    name = StringProperty(unique_index=True) 
    age = IntegerProperty(index=True, default=0) 

Давайте предположим, что я хотел бы добавить вторую метку, «предприятие», «безработный», «Студент».

С Cypher я мог бы использовать: CREATE(p:Person:Student)

Есть в любом случае я могу добиться того же с NeoModel?

Примечание: Из моих исследований, работающих с этикетками дают более быстрые запросы, чем свойства (Neo4j/шифр), поэтому я хотел бы предприниматель/безработный/студент быть этикетками. В противном случае мне было бы неплохо добавить «занятие» в качестве свойства node.

ответ

1

В настоящее время нет способа добавления меток к структурному номоделию, но это можно сделать с помощью cypher. Я был бы рад добавить метод, чтобы сделать это также. Вы должны быть осторожны, чтобы метка не противоречила имени класса. Вы можете вернуть ярлыки узла через свои этикетки() метод

+1

Я перешел на py2neo из-за этого, но подробное сравнение между py2neo, bulbflow и neomodel сделало бы полезное сообщение в блоге :) – bsuire

1

Вы можете просто взломать на __label__ собственности,

class Person(StructuredNode): 
    __label__ = 'Label1:Label2:Label3' 
    name = StringProperty(unique_index=True) 
    age = IntegerProperty(index=True, default=0) 

на экономии, он будет добавлять метки Label1, Label2 и Label3 на созданные node

+0

Это не работает для меня. Он жалуется на синтаксис Cypher при реализации уникального ограничения для поля имени. –

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