小编Gra*_*eon的帖子

SET与cypher中的CASE语句结合使用

我试着为一个计数设置两个不同的关系属性,一个case结构取决于另一个关系属性的值.http://console.neo4j.org/?id=rt1ld5上有一个控制台

cnt列包含r.value发生的次数.控制台中初始查询的前两行表示术语"Car"链接到1个被认为相关的文档,以及两个被认为不相关的文档.

我想在(用户)和(术语)之间的[:INTEREST]关系上设置一个属性,该属性有两个属性,表示兴趣链接到被认为是否相关的文档的次数.所以对于(John) - [r:INTEREST] - >(Car)我想要r.poscnt = 1而r.negcnt = 2

我正在努力与CASE结构.我尝试了各种方法,这是我得到的最接近的方式.

MATCH (u:user)-[int:INTEREST]->(t:term)<-[:ISABOUT]-(d:doc)<-    [r:RELEVANCE]-(u)
WITH int, t.name, r.value, count(*) AS cnt
CASE
  WHEN r.value=1 THEN SET int.poscnt=cnt
  WHEN r.value=-1 THEN SET int.negcnt=cnt
END
Run Code Online (Sandbox Code Playgroud)

但它返回了一个错误

Error: Invalid input 'A': expected 'r/R' (line 3, column 2)
"CASE"
  ^
Run Code Online (Sandbox Code Playgroud)

case neo4j cypher

5
推荐指数
1
解决办法
7006
查看次数

在Neo4j 2.1.0-M01中轻松删除断开连接的节点

花了一些时间搞清楚如何轻松删除断开连接的节点,但我无法"抓住"它们.

match (n)-[r]-(m) where r is null delete n 
Run Code Online (Sandbox Code Playgroud)

显然不起作用,也不起作用

match (n) optional match (n)-[r]-(m) where r is null delete r
Run Code Online (Sandbox Code Playgroud)

那么,最好的方法是什么?

neo4j cypher

3
推荐指数
1
解决办法
572
查看次数

FOREACH 与 cypher 中的集合

我有一个使用此创建的 rel 集合

MATCH (u:user)-[i:INTEREST]->(t:term)
WITH COLLECT([i,t]) AS its
RETURN its
Run Code Online (Sandbox Code Playgroud)

它正确返回 rels 和节点的数组。另请参阅http://console.neo4j.org/r/cw7saq

现在我想设置关系的属性,但不知道如何访问数组中的 rels。试过这个,

MATCH (u:user)-[i:INTEREST]->(t:term)
WITH COLLECT([i,t]) AS its
FOREACH (it IN its |
         SET it[0].testprop=89292" )
Run Code Online (Sandbox Code Playgroud)

但它返回一个错误

Error: Invalid input '[': expected an identifier character, node labels, a property map, a relationship pattern, '(', '.' or '=' (line 4, column 16)
"         SET it[0].testprop=89292" )"
Run Code Online (Sandbox Code Playgroud)

有人知道执行此操作的正确语法是什么吗?

foreach neo4j cypher

2
推荐指数
1
解决办法
1万
查看次数

使用SPARQL从地理名称中检索数据

我试图在以下SPARQL中获取来自地理名称的链接数据,但显然我做错了.

prefix oxprop: <http://ophileon.com/ox/property#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix owl:  <http://www.w3.org/2002/07/owl#>
prefix wgs84_pos: <http://www.w3.org/2003/01/geo/wgs84_pos#>

select ?poi ?poiname ?geonames ?latitude


from  <http://www.ophileon.com/ox/poi.rdf>
# from  <http://sws.geonames.org/ >

where
{

   ?poi rdfs:label ?poiname.
   ?poi owl:sameAs ?geonames.
#   ?geonames wgs84_pos:lat ?latitude.


  FILTER(langMatches(lang(?poiname), "EN")).

}
Run Code Online (Sandbox Code Playgroud)

哪个,使用sparql.org的JSON输出:

{
  "head": {
    "vars": [ "poi" , "poiname" , "geonames" , "latitude" ]
  } ,
  "results": {
    "bindings": [
      {
        "poi": { "type": "uri" , "value": "http://ophileon.com/ox/poi/2" } ,
        "poiname": { "type": "literal" , "xml:lang": "en" , "value": "Wageningen" } …
Run Code Online (Sandbox Code Playgroud)

rdf sparql geonames

0
推荐指数
1
解决办法
4856
查看次数

标签 统计

cypher ×3

neo4j ×3

case ×1

foreach ×1

geonames ×1

rdf ×1

sparql ×1