gpt4 book ai didi

django - 新模式关系

转载 作者:行者123 更新时间:2023-12-05 03:14:09 28 4
gpt4 key购买 nike

我是 Neo4J 和图形数据库的新手,所以我对构建关系有一些疑问。我正在使用 Neomodel对于这个项目。

我有两个单独的数据模型文件(请注意,我使用的是 nodes.py 而不是 models.py,因为我使用 Neo4J 与 Postgres 进行实验)

账户 > nodes.py

class User(StructuredNode):
firstName = StringProperty()
lastName = StringProperty()
email = StringProperty()
active = BooleanProperty()
campaigns = RelationshipTo('campaigns.nodes.Campaign', 'OWNS')

事件 > nodes.py

class Campaign(StructuredNode):
name = StringProperty()
campaignId = IntegerProperty()
active = BooleanProperty()
user = RelationshipFrom('accounts.nodes.User', 'OWNS')

我不确定我是否已根据最佳实践配置关系(我知道当前代码是多余的。)是否有必要在两个节点类上都具有 RelationshipTo 和 RelationshipFrom 属性?或者从所有者节点(User)到拥有节点(Campaign)的RelationshipTo是否足够?

或者应该有一个单独的 RelationshipTo 属性从 Campaign 到 User:

 user = RelationshipTo('accounts.nodes.User', 'OWNED_BY')

我不确定这是否是一个重大问题,但非常感谢任何指导或提示!

最佳答案

只有当你想从两侧访问它时,你才需要在每一侧都有一个定义。即,如果您只想从事件对象调用 campaign.user.single() 但不关心访问用户事件,那么您不需要在 User 类上定义。

一般来说,我发现最好在双方都定义一种关系,因为这样对于您的模式的新手来说更容易理解它的结构。两个定义应该属于同一类型,因此 OWNS_BY 将返回一组不同的关系。这些类型的命名完全取决于您,但是大写似乎是惯例,

希望这对您有所帮助,如果您有任何其他问题,请随时在 github 上给我发消息,

干杯,

罗布

关于django - 新模式关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26701275/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com