Tag: neo4j

Neo4j关系指数 – 搜索关系属性

我有一个具有以下结构的neo4j图。 (账户)— [交易] —(账户) Transaction是一个neo4j关系,Account是一个节点。 每个交易都设置了各种属性,例如交易ID,金额,日期和各种其他银行信息。 我可以通过帐户ID运行搜索,并返回正常。 但是,当我按事务ID搜索时,neo4J搜索整个图形而不是使用索引,搜索失败。 我使用org.neo4j.unsafe.batchinsert.BatchInserterImpl.createDeferredSchemaIndex()为Account.number和Transaction.txid创建了索引。 该索引似乎适用于帐户(节点)搜索,但不适用于事务(关系)搜索。 (我也为节点和关系启用了自动索引,但它没有改变的东西) 我认为不支持关系属性的索引,因此考虑使中间节点保存属性信息。 但是,如果可能的话,我更愿意坚持我原来的设计。 知道怎么办吗?

解释jstack输出

我有一个java进程使用BatchInserter将大量.csv文件中的大量数据加载到Neo4j数据库中。 我用的是: OpenJDK 7 Ubuntu 12.04 Neo4j 2.0 M3 加载第一个164 GB(根据ls -lh )后,文件夹大小停止增加,但进程继续运行,没有释放内存,CPU仍然是100%(全部根据htop )。 加载过程是单线程的,只有JVM使用多个线程 – 我猜是ParallelGC 。 我不确定如何诊断这类问题,但被指示尝试jstack ,所以将其输出包含在下面。 任何人都知道出了什么问题,或者对如何进行诊断提出建议? Full thread dump OpenJDK 64-Bit Server VM (22.0-b10 mixed mode): “Attach Listener” daemon prio=10 tid=0x00007fc3a4001000 nid=0x5636 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE “Service Thread” daemon prio=10 tid=0x00007fcf58123000 nid=0x4545 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE “C2 CompilerThread1” daemon prio=10 […]

通过awselb使用ssl时neo4j java驱动程序问题

我正在使用neo4j社区版3.1.1和企业版3.0.1版,并通过awselb配置了ssl。 连接我使用neo4j java驱动程序版本1.0.0我配置ssl和连接通过awselb我有打开文件的问题,他们增长如此之快,他们的数量没有减少。 应用程序中的代码使用ssl GraphDatabase.driver(host, authToken, Config.build().withEncryptionLevel(Config.EncryptionLevel.REQUIRED).toConfig()); 我尝试升级neo4j驱动程序到版本1.1.1和1.1.2,但有另一个问题:当我定期查询neo4j一切都很好,我从数据库获取数据,但我定期有500错误,在应用程序日志中此exception 没有ssl我没有问题 org.neo4j.driver.v1.exceptions.ServiceUnavailableException: SSL Connection terminated while receiving data. This can happen due to network instabilities, or due to restarts of the database. at org.neo4j.driver.internal.security.TLSSocketChannel.channelRead(TLSSocketChannel.java:170) at org.neo4j.driver.internal.security.TLSSocketChannel.unwrap(TLSSocketChannel.java:229) at org.neo4j.driver.internal.security.TLSSocketChannel.read(TLSSocketChannel.java:419) at org.neo4j.driver.internal.net.BufferingChunkedInput.readNextPacket(BufferingChunkedInput.java:409) at org.neo4j.driver.internal.net.BufferingChunkedInput.readChunkSize(BufferingChunkedInput.java:345) at org.neo4j.driver.internal.net.BufferingChunkedInput.read(BufferingChunkedInput.java:247) at org.neo4j.driver.internal.net.BufferingChunkedInput.fillScratchBuffer(BufferingChunkedInput.java:216) at org.neo4j.driver.internal.net.BufferingChunkedInput.readByte(BufferingChunkedInput.java:110) at org.neo4j.driver.internal.packstream.PackStream$Unpacker.unpackStructHeader(PackStream.java:430) at org.neo4j.driver.internal.messaging.PackStreamMessageFormatV1$Reader.read(PackStreamMessageFormatV1.java:398) at org.neo4j.driver.internal.net.SocketClient.receiveOne(SocketClient.java:176) at org.neo4j.driver.internal.net.SocketConnection.receiveOne(SocketConnection.java:214) at […]

spring-data-neo4j基本的一对多关系不会持续存在

编辑 : github上提供的示例项目。 我在我们的后端项目中使用Neo4J(Rest图形数据库,托管在grapheneDb中)和Spring Data。 我在两个实体之间有一个简单的一对多关系: User和Stay 。 编辑 :我认为这与该问题无关,但在SDN4中看到类似问题之后,我认为我需要更新问题(有一个基本的@NodeEntity类,两个实体都在扩展这个基类)。 @NodeEntity public abstract class BasicNodeEntity implements Serializable { @GraphId private Long nodeId; } public class User extends BasicNodeEntity { @RelatedTo(type = “HAS_STAY”, direction = Direction.OUTGOING) Set stays; public void addStay(Stay stay) { stays.add(stay); } } public class Stay extends BasicNodeEntity { @RelatedTo(type = “HAS_STAY”, direction […]

在Java中执行Neo4j Cypher查询时出现NoClassDefFoundError

我尝试了以下基于嵌入式模式从Java执行Cypher查询的基本示例,但它显示了以下错误: 码: package test; import org.neo4j.cypher.javacompat.ExecutionEngine; import org.neo4j.cypher.javacompat.ExecutionResult; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Transaction; import org.neo4j.graphdb.factory.GraphDatabaseFactory; public class Test { public static void main(String[] args) { GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabase(“D:/MI/Tools/neo4j-community-1.9.M02/test2”); // add some data first, keep id of node so we can refer to it long id; Transaction tx = db.beginTx(); try { Node […]

neo4j 3.0中的存储过程

我在Windows上使用neo4j 3.0,我尝试使用存储过程的新function。 我从github源代码构建了apoc.jar。 这个jar被复制到插件库( C:\ Program Files \ Neo4j Community \ plugins ) 当我尝试从neo4j浏览器调用任何apoc存储过程时,我收到Neo.ClientError.Procedure.ProcedureNotFound错误。 我试着按照这篇文章 ,但dbms配置参数对我不起作用…

图数据库(neo4j)与关系数据库。 需要设计方面的帮助

我必须使用开源项目( biojava ),但我对某些性能不满意,并且我想花一些时间来改进它。 例如,我有一个以这种方式编码的文本数据库: chrX Cufflinks exon 65175856 65175971 . . . gene_id “XLOC_002576”; transcript_id “TCONS_00004217”; exon_number “1”; gene_name “RP6-159A1.2”; oId “CUFF.3698.1”; nearest_ref “ENST00000456392”; class_code “p”; tss_id “TSS3873”; chrX Cufflinks exon 128986006 128986088 . . . gene_id “XLOC_002577”; transcript_id “TCONS_00004218”; exon_number “1”; oId “CUFF.3750.1”; class_code “u”; tss_id “TSS3874”; 并非每个字段都是必需的,每个gene_id可以与多个transcript_id (1..n)相关联,并且每个transcript_id具有1个或更多个exon 。 库行为是将整个文本文件加载到ArrayList ,对于每个搜索,必须迭代列表。 这适用于小型列表,但在我的情况下,我有10 ^ […]

将owl文件映射到neo4j – getOrCreateNodeWithUniqueFactory方法

我尝试将一个本体(* .owl文件)移动到neo4j来neo4j进行查询。 我在这里找到了一些有用的信息,但我面临的问题是: Node thingNode = getOrCreateNodeWithUniqueFactory(“owl:Thing”); 我不知道“ getOrCreateNodeWithUniqueFactory ”属于哪个类。 这可以在某些库中使用,还是应该由我自己实现? 我在这里想念的是什么?

使用螺栓连接器运行嵌入式连接时访问neo4j浏览器

我的项目是Java,我创建了一个到我的Neo4j数据库的嵌入式连接,并添加了一个“bolt”连接器,如下面的文档中所述: http://neo4j.com/docs/java-reference/current/#tutorials-java-embedded 代码是: GraphDatabaseSettings.BoltConnector bolt = GraphDatabaseSettings.boltConnector(“0”); graphDb = new GraphDatabaseFactory() .newEmbeddedDatabaseBuilder(new File(“C:/…/default.graphdb”)) .setConfig(bolt.enabled, “true”) .setConfig(bolt.address, “localhost:7687”) .newGraphDatabase(); 根据Neo4j文档,我认为我现在可以使用浏览器连接到数据库“默认情况下,Neo4j Embedded不会暴露Bolt连接器,但你可以启用一个。这样做可以让你连接服务Neo4j Browser到您的嵌入式实例。“ 但是,如果我运行代码,虽然我能够以编程方式执行我需要的所有操作,但我无法访问localhost:7474的浏览器,也无法访问localhost:7687 我的问题是:这只是一个措辞不好的文档,这实际上不是一个受支持的function吗? 或者是否有一种未记录的方法通过代码中创建的螺栓连接连接到数据库,这样我可以在运行嵌入式连接时使用Neo4j浏览器查看数据? 编辑:我已经在使用螺栓驱动程序库

在OS X上使用Java 7和neo4j

在系统首选项中将Java升级到7u45之后,Neo4j仍然警告我使用了错误的版本: WARNING! You are using an unsupported Java runtime. Please use Oracle(R) Java(TM) Runtime Environment 7. 我想使用neo4j v2,它不支持Java 6,所以我需要解决这个问题。