我正在使用 Neomodel Python 包和 Neo4j 数据库并且喜欢它。我目前正在使用 filter() 方法,但每次我在 SemiStructuredNode 中未定义的属性上使用 filter() 方法时都会出错。
在下面的示例中,我的 Person SemiStructuredNode 只有姓氏作为属性,但数据库中的某些节点也可能有 eye_color ,我想以此进行过滤。请注意,并非所有节点都有眼睛颜色。
class Person(SemiStructuredNode):
surname = StringProperty()
Person.nodes.filter(surname__contains='atts',eye_colour='BLUE')
对我来说,上面的代码应该可以工作,但我得到了一个ValueError: No such property eye_colour on Person
错误。但是,如果我更改我的类定义以将 eye_colour 作为 StringProperty 包含在内,一切都很好。但是,我不想这样做,因为我想使用各种其他动态过滤器,因为将不同的数据导入系统。
Neomodel 是否支持我正在尝试做的事情,或者我是否必须构建一个 Cypher 查询,或者有人能看到我做错了什么吗?