Я ищу стиль стиля «лучшей практики», используя py2neo. Исходя из Django ORM и луковиц (другая библиотека питона Neo4j), я привык к разделению MVC-стиль модели из контроллера, как это:MVC и OOP в py2neo
class Node_Type_A(Node):
element_type = 'A node'
modified = DateTime(default=now())
def custom_A_method(self):
pass
Я читал, что это делается с метаклассами, я думаю, что это не доступный в py2neo, и вполне может быть излишним.
Но я задаюсь вопрос о хорошем прагматичном стиле кодирования py2neo достичь:?
- некоторых узла/отношения шаблонного (имеет типа узла
A
имеетmodified
вар какого типа, какой тип мой узел ?node_b
) сохраняя переменные и методы вместе каждого типа узла:
res = graph_db.create({dict}) res.custom_A_method()
экономия изменили переменные обратно в базы данных, такие как
a.modified = now()
Что способ сделать это в py2neo? Спасибо за любые подсказки!
Отлично, это именно то, что я искал! Но, будучи новичком с этим, мне очень любопытно узнать, является ли этот дополнительный слой модели просто накладными расходами для опытного программиста. Итак, как бы вы относились к методам связи с узлами neo4j при кодировании с py2neo самостоятельно? Будете ли вы писать простые функции (MVC?) Или использовать neomodel самостоятельно или каким-то образом создавать свои собственные классы ассоциаций? Я больше не использую django и хотел бы как можно меньше сдержать сложность при выполнении MVC. – bebbi
Это не накладные расходы, поскольку он обеспечивает слой абстракции, который сам py2neo не делает. API, предоставляемый py2neo, ближе к тому, что выставлено Neo4j, тогда как API-интерфейс neomodel ближе к Django. Вы пишете веб-приложение? Если да, используете ли вы (не-Django) рамки? Если нет, вы можете не захотеть слишком сильно сосредоточиться на архитектуре MVC, поскольку это наиболее часто используется в веб-контексте. –
Да, это все еще веб - с использованием колбы. – bebbi