标签: neo4j

Neo4j 密码查询语言 - 布尔表达式的操作顺序

我正在尝试编写一个查询来从 Neo4J 数据库中提取数据。假设有五个条件决定我是否想从我的数据库中提取 _____:A、B、C、D 和 E。决定这一点的布尔表达式是:

A && B && (C || D || E)
Run Code Online (Sandbox Code Playgroud)

从网上搜索,我找不到任何关于 Neo4J AND 和 OR 查询遵守的操作顺序的信息(AND 通常在 OR 之前),但从我的观察来看,它们似乎是按顺序执行的。由于我知道没有办法明确定义顺序,也就是使用括号,如何实现 Cypher 查询来满足上面的布尔表达式?

boolean-logic neo4j boolean-operations cypher

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

Neo4j Cypher 查询:将两个查询的结果相加

我有一个图表,其中具有以下结构:

示例图

节点:

  1. 页面(蓝色)-> 页面附加到讲座系列节点和讲座的 ownerof 关系。
  2. Lecture Series (紫色)-> Lectureseries 通过系列关系连接到讲座
  3. 讲座(绿色)-> 讲座连接到如上所述的页面和讲座系列。讲座具有公共、追随者、私人和特权等属性 讲座之一,即 lect1 通过特权连接到用户。
  4. 用户(RED)(此处命名为 Ann) - 通过以下关系和上述 1 个讲座连接到页面。

初始条件:

我们必须始终向用户展示所有公众和关注者的讲座,因为我们有完美的查询,没有问题,我们可以得到所需的结果。

MATCH
  (o:page{name:'engg'})-[r:ownerof]-(n:lectureseries)-[s:seriesof]-(l:lecture)
WHERE l.privacy='public' or l.privacy='follower'
RETURN DISTINCT n.name as name,n.series_name as title, COUNT(l) AS lecturecount
Run Code Online (Sandbox Code Playgroud)

结果:

name    lecturecount

java    2 (lect3, lect4)
Run Code Online (Sandbox Code Playgroud)

问题:现在,我们必须将那些讲座添加到计数中,如果特权讲座通过关系特权连接到用户

我试过这个查询:

OPTIONAL MATCH (o:page {name:'engg'})-[r:ownerof]-(n:lectureseries)-[s:seriesof]-(l:lecture)
WHERE l.privacy='public' or l.privacy='follower'
RETURN DISTINCT n.name as name, COUNT(l) AS lecturecount
UNION
OPTIONAL MATCH (o:page {name:'engg'})-[r:ownerof]-(n:lectureseries)-[s:seriesof]-(l:lecture)-[:privileged]-(u:user {name:'Ann'})
RETURN …
Run Code Online (Sandbox Code Playgroud)

java neo4j cypher

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

Neo4j 3.1.0 apoc.export.graphml 问题

我正在尝试通过 Neo4j 3.1 + 3.1.0.3 中的 apoc.export.graphml 程序将我的数据库导出为 graphml 文件:

call apoc.export.graphml.all("test",{})
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

调用过程失败apoc.export.graphml.all:由:java.lang.RuntimeException:未启用从文件导入,请在您的neo4j.conf中设置apoc.import.file.enabled=true

我已经编辑了我的 neo4j.conf 文件来添加

apoc.import.file.enabled=true

在文档末尾,但我仍然收到相同的错误消息。

我究竟做错了什么?

谢谢你的帮助。

stored-procedures neo4j

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

Neo4j 浏览器 AUTO-COMPLETE 切换是否存在于 3.2.0 中?

根据Nodes() 函数返回关系?Neo4j 浏览器中有一个 AUTO-COMPLETE 开关。我正在使用没有这个的 3.2.0。是否有等效的 UI 元素?

neo4j

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

neo4j-jdbc 真的需要preparedstatement 吗?

我正在尝试 neo4j-jdbc 并想知道 Preparedstatement 是否真的在密码执行性能方面带来好处,因为底层机制不再是我们以前知道的 RDMS。有什么建议吗?

prepared-statement neo4j

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

在 cypher neo4j 中仅显示特定关系

有没有办法只获取 Cypher 查询中存在的节点和关系,而不获取节点之间的其他关系?

我们知道节点之间可以有许多不同类型的关系。但是,在分析过程中,我们只想查看特定类型的关系。剩下的就是杂乱。以电影数据库为例,让我们使用以下查询。

match (p:Person)-[:ACTED_IN]->(m:Movie) 
where p.name='Tom Hanks'
return p, m;
Run Code Online (Sandbox Code Playgroud)

在这个查询中,我们得到了 Tom Hanks 和他演过的所有电影的漂亮图表。然而,我们也得到[:DIRECTED]了电影“你做的那件事”的关系,这很有趣,但取决于你正在分析的内容,它会让人分心。我只想显示[:ACTED_IN]关系。使用下一个查询

match (p:Person)-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person)  
where p.name='Tom Hanks'
return p, m, d;
Run Code Online (Sandbox Code Playgroud)

我们对每部电影的导演都有很好的了解。不过,在这里,屏幕上杂乱无章的[:KNOWS]关系导致分心。

我知道有几个数据可视化产品可以做到这一点,但我们处于 POC 中,我们需要先获取数据库。如果我还必须添加数据可视化工具,那将更难销售。更难,但并非不可能出售。

目前,我使用的是 Neo4j 3.2,但很快就会升级到 3.3 进行实际演示。

neo4j cypher

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

如何使用 Neo4j 桌面安装 neo4j-shell-tools

我正在尝试在运行 neo4j 桌面的 Windows 上安装 neo4j-shell-tools。解压后把文件夹放到LIB目录下重启,好像没有加载工具?

Invalid input 'm': expected 'n/N' (line 1, column 2 (offset: 1))
"import-graphml"
Run Code Online (Sandbox Code Playgroud)

有什么建议?

graphml neo4j neo4j-shell neo4j-desktop

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

如何使用密码查询语言在neo4j中创建一对多关系

我试图在零售商和零售商销售的产品之间建立关系。例如,如果商店“xyz”销售产品 item1、item2 和 item3,我想在它们之间创建从商店到产品的关系“SELLS_PRODUCTS”。

这是我的示例代码:Retailers 是零售商表,Products 是另一个表,其中包含关系所需的产品名称、商店名称等常见详细信息。

MATCH (r:Retailers{Name: "Prestige Liquor Store"})
WITH r
MATCH (p:Products)
WHERE r.ProductproductName = p.ProductName
CREATE UNIQUE (r)-[:SELLS_PRODUCTS]->(p)
Run Code Online (Sandbox Code Playgroud)

neo4j cypher

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

在 Mac OS X 上,neo4j 桌面在哪里存储数据库?

我根本无法弄清楚neo4j桌面应用程序在哪里安装数据......我不想完全删除这个bugger,因为将吸盘连接到节点应用程序完全是一场噩梦......叹息!

neo4j

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

如何在 NEO4 Cypher 中创建属性数组?

我正在尝试创建一个具有包含项目数组/列表的属性的实体。我不明白我该怎么做:

  1. 创建属性数组
  2. 执行追加到数组
  3. 解析数组属性

任何线索将不胜感激。

这有助于解决我面临的多对一关系问题。

arrays neo4j cypher

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