【问题标题】:Match on relationship py2neo ogm匹配关系py2neo ogm
【发布时间】:2021-04-09 12:24:51
【问题描述】:

我有以下查询,它混合使用 cypher 和 py2neo ogm。 是否可以将 where 子句移动到纯粹的 py2neo ogm 语法中。

FeedItem.match(graph).where("(_)-[:SOURCE]->(:Feed {url:\"%s\"})"%feed.url)

在 match 的文档中,match 查询中似乎确实有其他选项。该示例使用标签,但也有谓词导致我尝试以下内容:

FeedItem.match(graph,predicates=[RelatedTo(feed, "SOURCE")])

来自https://py2neo.org/2021.0/ogm/index.html

类 py2neo.ogm.ModelMatch(graph, labels=frozenset({}), 谓词=()、order_by=()、skip=None、limit=None)

【问题讨论】:

    标签: neo4j py2neo


    【解决方案1】:

    关系可以添加到模型对象中。

    from py2neo.ogm import Model, Property, RelatedFrom
    class Feed(Model):
        name = Property("name")
        url = Property("url")
    
        subscribers = RelatedFrom("User", "SUBSCRIBED")
        items = RelatedFrom("FeedItem", "SOURCE")
    

    那么查询可以简化为:

    FeedItem.match(graph).where("(_)-[:SOURCE]->(:Feed {url:\"%s\"})"%feed.url)
    

    feed.items
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多