Java 如何向neo4j中的属性添加多个值

Java 如何向neo4j中的属性添加多个值,java,neo4j,Java,Neo4j,我是neo4j新手,尝试向节点的属性添加多个值。如何操作 create (e:Employee{name:"Sam",languages:["C","C#"]}) 已尝试此操作,但未找到向属性添加多个值的正确方法。属性不能有对象值。如果您希望在语言上存储多个属性,并且这些属性都属于该语言而不是任何其他实体,那么您应该将该语言建模为一个节点。如果需要,还可以存储员工与语言之间关系的属性 然后你会得到这样的结果: create (l:Language {name:"C", otherProper

我是neo4j新手,尝试向节点的属性添加多个值。如何操作

 create (e:Employee{name:"Sam",languages:["C","C#"]})

已尝试此操作,但未找到向属性添加多个值的正确方法。

属性不能有对象值。如果您希望在语言上存储多个属性,并且这些属性都属于该语言而不是任何其他实体,那么您应该将该语言建模为一个节点。如果需要,还可以存储员工与语言之间关系的属性

然后你会得到这样的结果:

create (l:Language {name:"C", otherProperty:"property value"})
create (e:Employee {name:"Sam"})
create (e)-[:SPEAKS {level:"Fluent"}]->(l)

实际上,可以在属性中包含数组值。您应该能够像这样创建它们:

CREATE (n:Node { color: ['Red', 'Blue']})
RETURN n
就你而言:

CREATE (e:Employee { name:"Sam",languages: ["C", "C#"]})
RETURN e
工作正常吗?你可以登记

请记住,数组中的所有值必须是相同类型的,只有字符串或整数等。您可以在此处找到更多信息->


但是,这不是该特定示例的最佳方法,因为C和C是Sam熟悉的语言,您应该将它们作为Sam通过某种knows关系指向的不同节点。

您的查询应该有效,除了C后面的缺失,但我猜这是一个输入错误,你更确切地想要什么?我如何向属性语言添加值,以及以后如何使用CYPHER查询相同的值。现在,我猜它就像一个字符串一样,语法似乎工作得非常好。这个问题不是很清楚,在SO中,这个话题已经存在了一堆问题。建议将该问题与任何类似问题合并,以便于读者了解