标签: neo4j

neo4j Cypher分层树构建对JSON的响应

你能帮我构建一下密码查询吗?我有以下图形数据库结构:

(parent:Category)-[:subcategory]->(child:Category)
Run Code Online (Sandbox Code Playgroud)

使用此图数据,我具有深层次的分层树.

我在Stackoverfllow.com上找到了以下代码并更改了我的数据:

MATCH (root:Category)-[:subcategory]->(parent:Category)-[:subcategory]->(child:Category)
WITH root, {category: parent, children: collect(child)} AS parent_with_children
WHERE NOT(()-[:subcategory]->(root))
RETURN {category: root, children: collect(parent_with_children)}
Run Code Online (Sandbox Code Playgroud)

但他只对3级树的深度构建响应.我需要更大.我试着像这个例子一样构建json响应:

  [
    category: {
      name: "PC"
      children: {
        category: {
          name: "Parts"
          children: {
            category: {
              name: "CPU"
              ...
            }
          }
        },
        category: {
          name: "Accessories"
          ...
        }
      } 
    }, 
    category: {
      name: "Laptop"
      ...
    }
  ]
Run Code Online (Sandbox Code Playgroud)

Cypher可以进行递归调用吗?我认为这会更好.

谢谢.

PS我知道在SO上有类似的问题,但他们没有帮助我.

neo4j neo4j.rb

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

如何在Neo4j中删除节点上的标签?

在某些节点上,我放置了一个标签“ Englist”而不是“ English”。当我尝试重新标记它时,我添加了一个新标签“ English”。现在,我在节点上都有两个标签。

如何摆脱“英语列表”标签?不删除节点。

neo4j nosql cypher

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

Neo4j / Cypher:具有关系属性过滤器的两个节点之间的所有路径

我正在尝试执行一个查询来检索两个节点a和b之间的所有路径,其中所有路径都具有关系属性。

我已经尝试了很多方法,但是我无法成功。

匹配p =(o {value:“ a”})-[r *]-(x {value:“ b”})其中has(r.property)和r.property =“ foo”返回p

关系部分我已更改为[r * ..]和许多其他选项,但不起作用

函数shortestpath并没有帮助我,因为我不仅想要最短的路径,还想要所有可能性。

有人可以帮我还是告诉我查询中的错误?

先感谢您。

neo4j cypher

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

NEO4j使用可选匹配重复返回

在cypher查询中,我们想要从用户那里获取各种数据.此时,我们使用可选匹配来获取用户的关系.

MATCH (person:Person { Id : xxxx })
OPTIONAL MATCH (person)-[:NEXT*]->(element)
OPTIONAL MATCH (person)-[:WROTE_COMMENT]->(comment)
RETURN person, collect(element) as element, collect(comment) as comment
Run Code Online (Sandbox Code Playgroud)

问题是此查询返回找到的每个注释的所有重复元素.我们可以使用distinct修复它,但是元素不能再添加两次到列表中.

有任何建议如何解决这个问题?

neo4j cypher

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

Neo4j中GraphDatabaseServer和BOLT之间的区别

我正在尝试在Neo4J中启动一个新的Java项目,并通过一些教程和示例我已经看到了两种从Java访问Neo4j的方法.GraphDatabaseServer类和Bolt驱动程序类.

据我所知,当您在Neo4j数据库中部署应用程序时,首选GraphDatabaseServer,因为它可以直接访问底层数据库,而另一个可以轻松访问外部数据库服务器.它是否正确?是否有其他差异,优先使用一个或另一个用例?

java neo4j graph-databases

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

使用Cypher的多个WHERE存在

WHERE EXISTSCQL / Cypher 是否可以使用倍数?基于OpenStreetMap数据集,因此如下所示(不允许):

MATCH path=((node_osm)-[t:TAGS]->(node_addr))
WHERE EXISTS(node_osm.`lat`) AND WHERE EXISTS(node_osm.`lon`)
RETURN path
Run Code Online (Sandbox Code Playgroud)

如果我使用这个:

WHERE EXISTS(node_osm.`lat`) AND (node_osm.`lon`)
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息: Don't know how to treat that as a predicate: 4.4732509

如何WHERE EXISTS在Neo4j 3.0.4中使用CQL / Cypher 的倍数?

neo4j cypher

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

从父节点neo4j获取所有子节点

我正在使用neo4j,我正在尝试查找传感器类型的所有子节点.

以下是我的图表示例:

项目--->集群----->传感器

我想放在一个项目上,找到所有的传感器节点.

neo4j

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

可以将Python字典作为Neo4j Literal Maps传递吗?

我是Neo4j和Python的新手.我试图使用Python驱动程序将一些数据填充到Neo4j中.

我想知道是否可以将Python字典作为Neo4j文档中描述的Literal映射传递.

这将使我能够立即设置应用程序节点属性.属性因节点而异,因此代码会变得很难看.

下面给出一个例子

node1 = {
  'def': '"A protein transport process that contributes to protein import into the nucleus, and that results in the vectorial transfer of a cargo-carrier protein complex through the nuclear pore complex from the cytoplasmic side to the nucleoplasmic side of the nuclear envelope." [GOC:curators, ISBN:019 8506732, PMID:14570049, PMID:9126736]',
  'id': 'GO:0000060',
  'is_a': ['GO:0006886'],
  'name': 'protein import into nucleus, translocation',
  'namespace': 'biological_process',
  'relationship': ['part_of GO:0006606'],
  'synonym': [ '"protein import into cell nucleus, translocation" EXACT []' ] …
Run Code Online (Sandbox Code Playgroud)

python dictionary neo4j

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

在neo4j中生成唯一的数字ID

我知道UUID模块,但据我所知,该模块不允许您只使用数字字符.我们希望我们的数据库有数百万条记录,数字搜索比字符搜索更快.

是否有更好的方法为每个节点生成唯一ID?

如果你告诉我使用UUID,在遍历具有数百万和可能的十亿节点的图形数据库时,性能会受到多大影响?

neo4j cypher

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

出口和进口Json Neo4j

Neo4j为您提供了在json中导出图形的可能性,但我没有找到如何导入这个json以获得新图形.

首先,有可能吗?其他方式呢?

谢谢,

import json export neo4j

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

标签 统计

neo4j ×10

cypher ×5

dictionary ×1

export ×1

graph-databases ×1

import ×1

java ×1

json ×1

neo4j.rb ×1

nosql ×1

python ×1