使用Cypher向neo4j graph 2.0M01添加标签

使用Cypher向neo4j graph 2.0M01添加标签,neo4j,cypher,graph-databases,Neo4j,Cypher,Graph Databases,试用最新的Neo4j 2.0 M01。我还下载了完整的cinecast graph.db,并根据Michael的精彩视频教程将其配置为与2.0商店一起使用,请参见此处: 我想熟悉标签,所以我的想法是将一些标签添加到一些节点上,作为User,Person索引 start n=node:Person(“id:”)set n:Humans返回计数() 这样做很有效,它为所有被索引的节点添加了标签(但我无法在web控制台中直观地看到它。但无论如何,当查询它时,它就在那里) 但是,这不起作用: neo4

试用最新的Neo4j 2.0 M01。我还下载了完整的cinecast graph.db,并根据Michael的精彩视频教程将其配置为与2.0商店一起使用,请参见此处:

我想熟悉标签,所以我的想法是将一些标签添加到一些节点上,作为User,Person索引

start n=node:Person(“id:”)set n:Humans返回计数()

这样做很有效,它为所有被索引的节点添加了标签(但我无法在web控制台中直观地看到它。但无论如何,当查询它时,它就在那里)

但是,这不起作用:

neo4j-sh (0)$ start n=node:Person("id:*")  match n where ID(n)>700 and ID(n)<710 set n:Journalist return n;
错误:需要有效的查询主体“集合a:直升机驾驶员”

最后,在Neo4j api文档中,当尝试查询时,节点(0)根出现了一些不起作用的情况,下面是一个有效的查询对吗(至少有用)

错误:org.neo4j.cypher.EntityNotFoundException:节点[0]上不存在属性“name”


谢谢大家!

很好,您可以尝试一下。非常感谢您的反馈

START n=node:Person("id:*")
MATCH n where ID(n)>700 and ID(n)<710 
SET n:Journalist 
RETURN n; //or count(*)

ResourceAcquisitionFailedException: The transaction is marked for rollback only
目前只有隐式类型转换afaik,例如在添加字符串和数字时

记者标签未设置为失败交易的b/c

标签可以是多个单词,如果您使用反勾号引用它们

start a=node(1,2,3,4) 
where a.name='Anders' 
set a:`helicopter pilot`
return a
同样,在这个查询中不需要
匹配

如果有一个节点没有name属性,则必须检查它是否在之前存在,例如

has(a.name)和a.name='Anders'

start a=node(*) 
match a 
where a.name?='Anders' 
return a
有两个快捷方式,一个在属性不存在时返回true(属性可选)

a.name?='Anders'

start a=node(*) 
match a 
where a.name?='Anders' 
return a
当道具不存在时返回false(需要属性)

<代码>a.name!='Anders'

start a=node(*) 
match a 
where a.name?='Anders' 
return a

很高兴你能尝试一下。非常感谢您的反馈

START n=node:Person("id:*")
MATCH n where ID(n)>700 and ID(n)<710 
SET n:Journalist 
RETURN n; //or count(*)

ResourceAcquisitionFailedException: The transaction is marked for rollback only
目前只有隐式类型转换afaik,例如在添加字符串和数字时

记者标签未设置为失败交易的b/c

标签可以是多个单词,如果您使用反勾号引用它们

start a=node(1,2,3,4) 
where a.name='Anders' 
set a:`helicopter pilot`
return a
同样,在这个查询中不需要
匹配

如果有一个节点没有name属性,则必须检查它是否在之前存在,例如

has(a.name)和a.name='Anders'

start a=node(*) 
match a 
where a.name?='Anders' 
return a
有两个快捷方式,一个在属性不存在时返回true(属性可选)

a.name?='Anders'

start a=node(*) 
match a 
where a.name?='Anders' 
return a
当道具不存在时返回false(需要属性)

a.name!='Anders'

start a=node(*) 
match a 
where a.name?='Anders' 
return a