在py2neo中创建节点在Neo4j

时间:2016-09-04 16:06:47

标签: python neo4j graph-databases py2neo

我是Neo4j和py2neo的新手。我像这样使用了GraphObject模型:

class Capability(GraphObject):
    __primarykey__ = "term"

    term = Property()

    child_of = RelatedTo("Capability")
    parent_to = RelatedTo("Capability")

创建“能力”之后:

c = Capability()
c.term = name
graph.push(c)

在Neo4j浏览器中查询数据库给了我这个:

enter image description here

节点为空白。此外,如果我将模型更改为:

class Capability(GraphObject):
    __primarylabel__ = "name"
    __primarykey__ = "term"

    term = Property()

    child_of = RelatedTo("Capability")
    parent_to = RelatedTo("Capability")

初级标签”我在Neo4J的节点中获得了预期的名称,但该节点不再被视为“能力” - 这意味着我也无法搜索“能力” :

enter image description here

...这是有道理的,因为我覆盖了主要标签,但似乎奇怪的是,我能看到Neo4J中能力标签的唯一方法是不将节点视为能力。

所以问题是:在py2neo中,如何创建一个基于模型被认为是Capability的节点,以及在Neo4J节点图中显示术语标签(而不是空白)?

2 个答案:

答案 0 :(得分:1)

这实际上只是用户界面内部的一个简单调整。 (2秒修复)

在顶部的标签栏中单击要影响的节点标签类型。 窗口底部会出现一个条形图,允许您选择颜色,大小和标题,以便格式化您在UI中看到的节点。

因此,单击“标题”旁边的选项,它将成为该类型节点上显示的内容。

enter image description here

答案 1 :(得分:0)

经过几个小时的努力弄清楚我对Neo4j和上面的问题并不完全了解 - 我终于明白了:“能力”是某种保留的词!

一旦我将类名从“Capability”更改为“CapabilityZ”,它就开始按预期工作了。哎哟。

仍然困惑,因为“能力”不在任何地方的文档....

希望这可以节省一些像我这样的可怜的笨蛋。