小编Dav*_*ett的帖子

Neo4J:重命名属性键

我刚开始使用Neo并试图寻找有关此主题的先前问题.我需要帮助来重命名其中一个属性键.

我创建了以下节点:

CREATE (Commerce:Category {title:' Commerce', Property:'Category', Owner:'Magic Pie', Manager:'Simple Simon'})
Run Code Online (Sandbox Code Playgroud)

现在想要将标题重命名为name.有办法吗?我不想删除节点,因为有100个具有属性"title"的节点.

neo4j cypher

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

Neo4j 密码查询 order by with collect

在 cypher 查询中,我有多个结果,我现在使用 collect 我如何通过 cypher 中的 collect 属性订购?

MATCH(u:User) 
WITH COLLECT({name:u.name,date:u.date}) AS userinfo 
RETURN userinfo
Run Code Online (Sandbox Code Playgroud)

或者在有多个集合已合并的情况下

MATCH(u:User)-[r:CreatedBy]->(p:Project) 
WITH COLLECT({name:p.name,date:p.date}) AS info 
MATCH(i:Institue)-[owner:Owner]->(i:Institute) 
WITH COLLECT({instituteName:i.name,date:i.date}) AS instituteinfo,info 
WITH COLLECT(instituteinfo + info) AS alldata 
RETURN alldata
Run Code Online (Sandbox Code Playgroud)

neo4j cypher

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

批处理正则表达式将reg query命令的输出转换为变量

摘要

我需要能够找到注册表项的DWORD值并为其设置一个变量以对其运行if语句.

我怎样才能抓住一个reg查询的双关语,以便我可以在其余的脚本中使用它?

reg查询

reg query HKLM\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall
Run Code Online (Sandbox Code Playgroud)

req查询输出

EnableFirewall    REG_DWORD    0x1
Run Code Online (Sandbox Code Playgroud)

我需要抓住什么

0x1

伪代码

query firewall reg value
regex out DWORD value and set to variable var1
if var1 == 0x1 then do blah
else do other blah
Run Code Online (Sandbox Code Playgroud)

regex windows registry dword batch-file

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

Neo4j节点中的多个几何属性

首先,这是我的堆栈描述: 

  • GrapheneDB + Neo4j Spatial插件上的Neo4j 2.3.0 0.15
  • Ninja Framework 5.2.1我的电脑上的java服务器
  • Neo4j-OGM 1.1.3用于实体映射
  • Geotools 14.0用于geostuffs
  • 用于REST查询的ApacheHttp

我有单位节点,它们使用属性"position"进行地理定位.位置是几何(POINT,CIRCLE或POLYGON).

我在这个属性上创建了一个图层和一个索引.我可以添加一个地理位置单位.这很好用.这是我之前的问题,我解决了它,因为它隐藏了真实的问题.

现在,我需要定义一些其他地理对象,如"path","detectionZone"或"actionZone".操作通常是"哪个其他单位在行动区?" 或"单位路径穿过检测区域?"

我如何索引这些数据?每个房产的一个指数?或者"wkt"属性的索引和用于检测区域,动作区域和路径的新节点,具有wkt属性?

我是否需要为每个地理概念创建一个图层?或者是一个独特的"geom"图层,它将所有与空间相关的节点分组?

neo4j spatial-index neo4j-spatial neo4j-ogm

6
推荐指数
0
解决办法
253
查看次数

从CSV文件导入Neo4j中的目录/文件结构的好方法是什么?

我希望使用Neo4j将很多文件名导入图形数据库。数据来自外部来源,并以CSV文件格式提供。我想根据数据创建树形结构,以便以后可以在查询中轻松地“导航”该结构(即查找某个目录下的所有文件,出现在多个目录中的所有文件等)。

因此,给出示例输入:

/foo/bar/example.txt
/bar/baz/another.csv
/example.txt
/foo/bar/onemore.txt
Run Code Online (Sandbox Code Playgroud)

我想要创建以下图形:

( / ) <-[:in]- ( foo ) <-[:in]- ( bar ) <-[:in]- ( example.txt )
                                        <-[:in]- ( onemore.txt )
      <-[:in]- ( bar ) <-[:in]- ( baz ) <-[:in]- ( another.csv )
      <-[:in]- ( example.txt )
Run Code Online (Sandbox Code Playgroud)

(其中每个节点标签实际上是一个属性,例如path :)。

使用固定数量的目录级别时,我已经能够达到预期的效果;例如,当每个文件位于三个级别的深度时,我可以创建一个包含4列的CSV文件:

dir_a,dir_b,dir_c,file
foo,bar,baz,example.txt
foo,bar,ban,example.csv
foo,bar,baz,another.txt
Run Code Online (Sandbox Code Playgroud)

并使用密码查询将其导入:

LOAD CSV WITH HEADERS FROM "file:///sample.csv" AS row
  MERGE (dir_a:Path {name: row.dir_a})
  MERGE (dir_b:Path {name: row.dir_b}) <-[:in]- (dir_a)
  MERGE (dir_c:Path {name: row.dir_c}) <-[:in]- (dir_b)
  MERGE      (:Path {name: row.file})  <-[:in]- (dir_c) …
Run Code Online (Sandbox Code Playgroud)

csv import directory-structure neo4j cypher

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

用于搜索列表的 Cypher Query

您好,我正在使用,neo4j并且我有以下架构:

"person": 
{
    "name": "Robert Mathews",
    "nicknames": ["rob", "bert", "Mathew"]
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一些人的姓名或昵称,['mike', 'rob', 'nick'] 我知道如何通过列表搜索房产:

MATCH (p:Person) 
WHERE p.name IN ['mike', 'rob', 'nick'] 
OR p.nickname IN ['mike', 'rob', 'nick'] 
RETURN p
Run Code Online (Sandbox Code Playgroud)

但现在的问题在于,p.nameandp.nickname不再是一种string类型,而是一种array类型。

谁能指出正确的方向来将输入数组与人员数组进行匹配并获得最佳匹配?

neo4j cypher

6
推荐指数
2
解决办法
2415
查看次数

Neo4j螺栓驱动程序协议错误

我在尝试使用neo4j bolt驱动程序运行简单的密码时遇到错误.什么出了什么问题?

    public void boltDriver() {
    Config noSSL = Config.build()
            .withEncryptionLevel(Config.EncryptionLevel.NONE).toConfig();
    Driver driver = GraphDatabase.driver("bolt://localhost:7474",
            AuthTokens.basic("neo4j", "neo4j1"), noSSL); // <password>

    try (Session session = driver.session()) {

        StatementResult result;

        String foafQuery = " MATCH (n) WHERE EXISTS(n.country) RETURN DISTINCT \"node\" as element, n.country AS country ";
        result = session.run(foafQuery, parameters("name", "Joe"));
        while (result.hasNext()) {
            Record next = result.next();
            System.out.println(next.get("element"));
            System.out.println(next.get("country"));
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

异常:线程"main"中的异常org.neo4j.driver.v1.exceptions.ClientException:协议错误,服务器建议的意外协议版本:1213486160 at org.neo4j.driver.internal.connector.socket.SocketClient.negotiateProtocol(SocketClient.java :198)org.neo4j.driver.internal.connector.socket.SocketClient.start(SocketClient.java:73)org.neo4j.driver.internal.connector.socket.SocketConnection.(SocketConnection.java:63)at org位于org.neo4j.driver的org.neo4j.driver.internal.pool.InternalConnectionPool $ 1.allocate(InternalConnectionPool.java:191)中的.neo4j.driver.internal.connector.socket.SocketConnector.connect(SocketConnector.java:52). internal.pool.InternalConnectionPool $ 1.allocate(InternalConnectionPool.java:180)org.neo4j.driver.internal.pool.ThreadCachingPool.allocate(ThreadCachingPool.java:212)at org.neo4j.driver.internal.pool.ThreadCachingPool.acquireFromGlobal (ThreadCachingPool.java:164)org.neo4j.driver.internal.pool.ThreadCachingPool.acquire(ThreadCachingPool.ja)va:118)atg.neo4j.driver.internal.pool.InternalConnectionPool.acquire(InternalConnectionPool.java:109)ato.neo4j.driver.internal.InternalDriver.session(InternalDriver.java:53)at Neo4jMain.boldDriver(Neo4jMain) .java:55)在Neo4jMain.main(Neo4jMain.java:30)

neo4j

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

如何更改neo4j数据库密码

我想将我的默认用户密码更改为数据库.我试过这个:

$ curl -H "Content-Type: application/json" \
    -X POST \
    -d '{"password":"password"}' \
    -u neo4j:neo4j \
    http://localhost:7474/user/neo4j/password"
Run Code Online (Sandbox Code Playgroud)

但它不让我给我这个错误:

输入'u'无效:预期'r/R'或'a/A'(第1行,第2列(偏移:1))"curl -H"Content-Type:application/json"-X POST -d'{ "password":"qazWSXEDCRFV!1"}' - neo4j:neo4j http:// localhost:7474/user/neo4j/password ""^

如何解决这个问题?

neo4j

5
推荐指数
2
解决办法
5139
查看次数

Cypher - 查询优化

我的问题是为什么WHERE运营商的工作速度不如预期的那么快?考虑我有7个带标签的节点Consumer.这是一些示例数据......

MERGE (c:Consumer {mobileNumber: "000000000000"})
MERGE (:Consumer {mobileNumber: "111111111111"})
MERGE (:Consumer {mobileNumber: "222222222222"})
MERGE (:Consumer {mobileNumber: "333333333333"})
MERGE (:Consumer {mobileNumber: "444444444444"})
MERGE (:Consumer {mobileNumber: "555555555555"})
MERGE (:Consumer {mobileNumber: "666666666666"})
WITH c
MATCH (c1:Consumer) WHERE c1.mobileNumber <> "000000000000"
MERGE (c)-[:HAS_CONTACT]->(c1)
Run Code Online (Sandbox Code Playgroud)

并且HAS_CONTACT:Consumer(mobileNumber:{"000000000000"})所有其他6个节点之间存在关系.unique indexmobileNumber场地也有约束.现在当我尝试执行以下查询时:

    PROFILE MATCH (n:Consumer{mobileNumber : "000000000000"}),
    (m:Consumer{mobileNumber : "111111111111"}) 
    WITH n,m 
    MATCH path = SHORTESTPATH((n)-[contacts:HAS_CONTACT]-(m)) 
    RETURN contacts;
Run Code Online (Sandbox Code Playgroud)

所以它的工作正常如预期(基于唯一索引的搜索节点).以下是其结果: 没有Where子句

现在让我们使用WHERE子句更改以上查询:

PROFILE MATCH (n:Consumer{mobileNumber : "000000000000"}),
(m:Consumer) WHERE …
Run Code Online (Sandbox Code Playgroud)

neo4j cypher spring-data-neo4j

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

如何避免循环或循环路径Neo4j Cypher

使用路径变量时出现问题。

例如我的层次结构看起来像

A-[Knows]-> B   
B-[Knows]-> C  
C-[Knows]-> D  
D-[Knows]-> E  
C-[Knows]-> F  
F-[Knows]-> G  
G-[Knows]-> B 
Run Code Online (Sandbox Code Playgroud)

我的查询是 MATCH p = (x)<-[Knows*]->(y) Return p

关系方向必须是双向的。玩具问题就像A,B,但在实际应用中,我不知道关系的方向。

因此,存在一个循环。从A到C的路径开始寻找。但是在找到C之后,下一步便发生了循环。

如何避免循环或如何忽略它,如何从实际路径中删除或如何在路径以B结尾时停止。我不需要找到第二个B到C。

预期结果 :

A->B->C->D->E
A->B->C->F->G->B  // that is enough. The query must be stopped.
Run Code Online (Sandbox Code Playgroud)

实际结果 :

A->B->C->D->E
A->B->C->F->G->B->C->F->G->B..... loop trouble.
Run Code Online (Sandbox Code Playgroud)

neo4j cypher

5
推荐指数
2
解决办法
1783
查看次数