标签: neo4j

什么是弹性搜寻

我只是想知道什么是弹性搜索。据说它有助于搜索数据,但是当我看到一些网络研讨会时,感觉就像我必须在一种Elastic datastore中复制我的数据...这对我而言并不意味着什么。这样,所有在左侧进行的修改都必须在右侧进行报告,并且Elastic Search返回的数据可能不是正确的格式。Elastic Search可以直接在我的数据库中搜索吗?

它与Neo4J图形数据库一起使用。有人已经做过类似的事情吗?难道这只会取代Cypher查询吗?

感谢您的建议,帮助我认识到Elastic Search对我们的项目真正有帮助。

neo4j cypher elasticsearch

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

Cypher用python加载csv

我已经使用Neo4j的批量导入工具建立了一个图形数据库.我正在处理的数据是每天生成的,所以我需要每天更新我的图形数据库.运行批量导入不是解决方案,因为它将每天清理和上传整个数据.我试图使用加载csv cypher函数使用python这样做,但我无法.

ex = USING PERIODIC COMMIT LOAD CSV FROM myfile.csv AS row FIELDTERMINATOR ';'
ex += MERGE(:a{b:row[0],d:row[1]})
Run Code Online (Sandbox Code Playgroud)

我试图使用py2neo的运行此命令

graph = py2neo.Graph()
graph.cypher.execute(ex)
Run Code Online (Sandbox Code Playgroud)

我收到错误输入'G'无效:预期的空格,注释,"...字符串..."或参数(第1行,第37列(偏移36))

使用此链接我了解到我必须查看行,然后我可以使用py2neo上传数据. https://codereview.stackexchange.com/questions/75842/optimizing-for-data-import-in-neo4j-using-py2neo

有没有办法直接在csv上使用python运行load csv?写外观不是问题,但这增加了额外的计算.

在此先感谢您的答案:)

csv load neo4j cypher py2neo

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

从Neo4j Cypher allShortestPaths()中排除包含给定节点或给定关系的路径

在给定以下Neo4j Cypher查询的情况下,返回的路径集合不包含任何包含itemId等于"Q5"的Item节点的路径的最佳方法是什么?

MATCH p=allShortestPaths( (a:Item {itemId:"Q6294"})-[*]-(b:Item {itemId:"Q359442"}) ) 
RETURN p;
Run Code Online (Sandbox Code Playgroud)

另外,在给定上述查询的情况下,返回的路径集合不包含任何包含propId等于"P31"的关系的路径的最佳方法是什么?

谢谢James Weaver

shortest-path neo4j cypher

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

如何在neo4j中设置权限?

我最近用导入工具成功创建了一个新的neo4j数据库.现在,我想实际访问我的Ubunutu笔记本电脑上的数据库.

为此,我进行了conf/neo4j-server.properties适当的编辑,指出了正确的位置.

尝试后sudo service neo4j-service start,我收到错误

WARNING: Max 1024 open files allowed, minimum of 40 000 recommended. See the Neo4j manual.
Starting Neo4j Server...WARNING: not changing user
process [10810]... waiting for server to be ready.. Failed to start within 120 seconds.
Neo4j Server may have failed to start, please check the logs.  
Run Code Online (Sandbox Code Playgroud)

我检查日志,我看到很多抱怨权限.

从日志中,

2016-05-15 01:58:31.143-0700 ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1b68b9a4' was successfully initialized, but failed to start. Please see attached …
Run Code Online (Sandbox Code Playgroud)

neo4j user-permissions

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

Neo4j Java Bolt驱动程序:如何将结果转换为Json?

我正在使用Java Bolt驱动程序(1.0.1),并且想知道是否有一种方法可以将结果转换为Json(可能与REST API中的相同)吗?

我试图以gson这种方式使用:

Result r = null;
try ( Transaction tx = graphDb.beginTx() )
{
    r = graphDb.execute("MATCH...");
    tx.success();
} catch {...}

new Gson().toJson(result);
Run Code Online (Sandbox Code Playgroud)

但是我得到的是:

java.lang.StackOverflowError
    at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:98)
    at com.google.gson.reflect.TypeToken.<init>(TypeToken.java:72)
    etc...
Run Code Online (Sandbox Code Playgroud)

java neo4j neo4j-bolt

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

neo4j-server.properties缺失,无法启动neo4j

我按照http://debian.neo4j.org/链接来安装neo4j.但是当我检查/ etc/neo4j时,只有两个名为neo4j.conf和neo4j-wrapper.conf的文件.没有neo4j-server.properties.而且我无法启动neo4j使用sudo服务neo4j-service启动它返回,无法启动neo4j-service.service:未找到单元neo4j-service.service.有解决方案吗?

ubuntu neo4j

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

在neo4j中获得以下错误"java.lang.UnsupportedOperationException:....."

我有一个用例,我需要在neo4j中的并行线程中运行我的存储过程.我编写了存储过程并将其包含在neo4j插件中.但是当我运行存储过程时,我得到以下错误:

2016-06-24 05:45:54.683+0000 INFO  Remote interface available at http://localhost:7474/
java.lang.UnsupportedOperationException: Creating new transactions and/or spawning threads are not supported operations in store procedures.
    at org.neo4j.kernel.impl.proc.ProcedureGDBFacadeSPI.assertSameThread(ProcedureGDBFacadeSPI.java:108)
    at org.neo4j.kernel.impl.proc.ProcedureGDBFacadeSPI.isInOpenTransaction(ProcedureGDBFacadeSPI.java:124)
    at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:335)
    at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTx(GraphDatabaseFacade.java:330)
    at example.SearchTask.call(SearchTask.java:33)
    at example.SearchTask.call(SearchTask.java:17)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

我已经明白,在neo4j中自定义存储过程无法在并行线程中运行.

但我在寻找有什么方法可以并行运行它.

java neo4j graph-databases

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

Neo4j - 根据关系属性查找两个节点之间的最短路径

我试图弄清楚是否有一些基于关系总和获得两个节点之间的最短距离,给出了这个例子: neo4j图像示例

上图代码:

CREATE (some_point_1:Point {title:'Some Point 1'})
CREATE (some_point_2:Point {title:'Some Point 2'})
CREATE (some_point_3:Point {title:'Some Point 3'})
CREATE (some_point_4:Point {title:'Some Point 4'})
CREATE (some_point_5:Point {title:'Some Point 5'})
CREATE (some_point_6:Point {title:'Some Point 6'})

CREATE (some_point_1)-[:distance {value:100}]->(some_point_2)
CREATE (some_point_2)-[:distance {value:150}]->(some_point_4)
CREATE (some_point_1)-[:distance {value:200}]->(some_point_3)
CREATE (some_point_3)-[:distance {value:300}]->(some_point_4)
CREATE (some_point_2)-[:distance {value:500}]->(some_point_5)
CREATE (some_point_4)-[:distance {value:300}]->(some_point_5)
CREATE (some_point_5)-[:distance {value:300}]->(some_point_6)
CREATE (some_point_6)-[:distance {value:300}]->(some_point_1)
Run Code Online (Sandbox Code Playgroud)

在此示例中,最短路径应为:some_point_1> some_point_2> some_point_4> some_point_5(100 + 150 + 300 = 550)

Cypher可以这样吗?

neo4j

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

Spring @Transactional和Neo4j OGM session.getTransaction()

Spring org.springframework.transaction.annotation.Transactional注释和Neo4j OGM org.neo4j.ogm.session.Session.getTransaction()方法之间的相关性是什么?

我正在尝试通过session.getTransaction()Spring注释的方法内部访问当前事务@Transactional但始终为null.

我在Spring MVC RestController方法中添加了以下代码:

Transaction tx = session.beginTransaction();
try {
        for (int i = 0; i < 10; i++) {
            initializeNode(node);
        }
    }
    tx.commit();
} catch (Throwable th) {
    logger.error("Error while inserting mock data", th);
    th.printStackTrace();
} finally {
    tx.close();
}
Run Code Online (Sandbox Code Playgroud)

在以下方法的情况下:

private void initializeNode(TestNode node) {
    System.out.println(session.getTransaction());
}
Run Code Online (Sandbox Code Playgroud)

它打印当前的tx - 到目前为止一切都还可以.

但是在以下方法的情况下:

private void initializeNode(TestNode node) {
    System.out.println(session.getTransaction());

    User admin = userDao.findByUsername("admin");
}
Run Code Online (Sandbox Code Playgroud)

第一次打印当前tx然后null ...事务在提交之前由于某种原因消失..

这是findByUsername方法:

@Service …
Run Code Online (Sandbox Code Playgroud)

neo4j spring-transactions spring-data-neo4j spring-data-neo4j-4 neo4j-ogm

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

为什么在这个例子中neo4j的插入速度如此之低?

我想用最新的spring-data neo4j 4来测试插入速度.我修改了电影示例,使事情变得简单和可比.

尝试运行测试类:movies.spring.data.neo4j.repositories.PersonRepositoryTest.

在此示例中,添加400个节点需要5秒. https://github.com/fodon/neo4j-spring-data-speed-demo

这是使用旧版neo4j的速度测试 https://github.com/fodon/gs-accessing-data-neo4j-speed

对于同一个作业,hello.Application类比spring-data-neo4j-4快约40倍.

为什么spring-data-neo4j-4比旧版本慢?如何加快速度?

spring neo4j spring-data-neo4j

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