[Neo4j] Neo4J-Spatial Delete Note Exception
I am trying to use neo4j-spatial, and wrote a simple test code just to add one node and then delete; however, delete operation causes an exception. IndexHitsNode hits = names.get(name, Deniz); Node n = hits.getSingle(); System.out.println(node hit: + n.getProperty(name)); Transaction tx = graph.beginTx(); try { layer.delete(n.getId()); tx.success(); } finally { tx.finish(); } It throws this exception: node hit: Deniz Exception in thread main java.lang.NullPointerException at org.neo4j.gis.spatial.RTreeIndex.adjustParentBoundingBox( RTreeIndex.java:613) at org.neo4j.gis.spatial.RTreeIndex.remove(RTreeIndex.java:131) at org.neo4j.gis.spatial.EditableLayerImpl.delete(EditableLayerImpl.java:74) at SimpleNeo4JExample.main(SimpleNeo4JExample.java:55) Looks like RTreeIndex.adjustParentBoundingBox() method expects parent node in any case but in my example there is parent because it is the only node in the layer: /** * Fix an IndexNode bounding box after a child has been removed * @param indexNode */ private void adjustParentBoundingBox(Node indexNode, RelationshipType relationshipType) { Envelope bbox = null; IteratorRelationship iterator = indexNode.getRelationships(relationshipType, Direction.OUTGOING).iterator(); while (iterator.hasNext()) { Node childNode = iterator.next().getEndNode(); if (bbox == null) bbox = getLeafNodeEnvelope(childNode); else bbox.expandToInclude(getLeafNodeEnvelope(childNode)); } indexNode.setProperty(PROP_BBOX, new double[] { bbox.getMinX(), bbox.getMinY(), bbox.getMaxX(), bbox.getMaxY() }); } Any comments? Thanks, Deniz ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo4J-Spatial Delete Note Exception
Deniz, could you fork Neo4j Spatial and add a failing test, so we can have a look at it? Would be most appreciated. Maybe you can even fix it? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Sun, May 15, 2011 at 12:22 AM, Deniz Demir demi...@gmail.com wrote: I am trying to use neo4j-spatial, and wrote a simple test code just to add one node and then delete; however, delete operation causes an exception. IndexHitsNode hits = names.get(name, Deniz); Node n = hits.getSingle(); System.out.println(node hit: + n.getProperty(name)); Transaction tx = graph.beginTx(); try { layer.delete(n.getId()); tx.success(); } finally { tx.finish(); } It throws this exception: node hit: Deniz Exception in thread main java.lang.NullPointerException at org.neo4j.gis.spatial.RTreeIndex.adjustParentBoundingBox( RTreeIndex.java:613) at org.neo4j.gis.spatial.RTreeIndex.remove(RTreeIndex.java:131) at org.neo4j.gis.spatial.EditableLayerImpl.delete(EditableLayerImpl.java:74) at SimpleNeo4JExample.main(SimpleNeo4JExample.java:55) Looks like RTreeIndex.adjustParentBoundingBox() method expects parent node in any case but in my example there is parent because it is the only node in the layer: /** * Fix an IndexNode bounding box after a child has been removed * @param indexNode */ private void adjustParentBoundingBox(Node indexNode, RelationshipType relationshipType) { Envelope bbox = null; IteratorRelationship iterator = indexNode.getRelationships(relationshipType, Direction.OUTGOING).iterator(); while (iterator.hasNext()) { Node childNode = iterator.next().getEndNode(); if (bbox == null) bbox = getLeafNodeEnvelope(childNode); else bbox.expandToInclude(getLeafNodeEnvelope(childNode)); } indexNode.setProperty(PROP_BBOX, new double[] { bbox.getMinX(), bbox.getMinY(), bbox.getMaxX(), bbox.getMaxY() }); } Any comments? Thanks, Deniz ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] about Dijkstra
Is there a particular reason to use that implementation instead of the one provided by GraphAlgoFactory? 2011/5/15 Jose Angel Inda Herrera jai...@estudiantes.uci.cu El 14/05/11 18:48, Saikat Kanjilal escribió: Hi Jose, See the following: https://github.com/neo4j-examples/java-dijkstra Andreas has done a great job in showing the use of this algorithm through examples, is this what you need? I used this t get my POC off the ground. Regards Date: Sat, 14 May 2011 17:32:21 -0700 From: jai...@estudiantes.uci.cu To: user@lists.neo4j.org Subject: Re: [Neo4j] about Dijkstra Peter, thanks for replying but the Dijkstra algorithm to which I refer is that development by Patrik Larssonand need to know if anyone can help me find some example of it. is in the package impl cheers, jose El 5/14/2011 7:44 AM, Peter Neubauer escribió: Hi Jose, there is documentation at http://docs.neo4j.org/chunked/snapshot/graph-algo-path-finding.html. Would that help? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Sat, May 14, 2011 at 7:40 AM, Jose Angel Inda Herrera jai...@estudiantes.uci.cu wrote: hello list, a greeting to all, I'm trying to use the class Dijkstra developed by Patrik Larsson and was wondering if anyone had some example of how it works. thanks beforehand ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user this is the package where the class dijkstra to which I refer. If anyone has documentation on this I would be very helpful *org.neo4j.graphalgo.impl.shortestpath; *this is the class /public class DijkstraCostType implements SingleSourceSingleSinkShortestPathCostType/ ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] about Dijkstra
El 15/05/11 07:04, Mattias Persson escribió: Is there a particular reason to use that implementation instead of the one provided by GraphAlgoFactory? the problem is I'm doing some tests and the implementation GraphAlgoFactory can not find where is the comparison in the dijkstra to select the lower edge. You know where I can find it in the implementation GraphAlgoFactory, thank mattias for all. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] about Dijkstra
Jose, I believe this is the lines you are looking for? * https://github.com/neo4j/community/blob/master/graph-algo/src/main/java/org/neo4j/graphalgo/impl/shortestpath/Dijkstra.java#L272 * Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Sun, May 15, 2011 at 5:41 AM, Jose Angel Inda Herrera jai...@estudiantes.uci.cu wrote: El 15/05/11 07:04, Mattias Persson escribió: Is there a particular reason to use that implementation instead of the one provided by GraphAlgoFactory? the problem is I'm doing some tests and the implementation GraphAlgoFactory can not find where is the comparison in the dijkstra to select the lower edge. You know where I can find it in the implementation GraphAlgoFactory, thank mattias for all. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Index Framework - Query Question
Rick, hacking in Sweden on indexing would be a very cool option. Need to coordinate that but let me know how we can do it best! Meanwhile, we are deciding on an issue tracking system better than Trac. Until then, I will add this to our Google Spreadsheet so we don't loose your suggestions here! Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Thu, May 12, 2011 at 5:20 PM, Rick Bullotta rick.bullo...@thingworx.comwrote: Hi, Mattias. I'll definitely give it a try. Ultimately, I'd like to achieve the following scenario (and maybe you can give us some guidance on how to implement it): As a use case: we want to index the node associated with a collaboration entry (that has a timestamp, tag(s), location, textual content, and potentially some numeric values as properties) on a combination of what is currently many different types of indexes in Neo - fulltext, timeline, spatial, and plain (key/value field(s)).We'd like to search/query on any combination of those elements. We've been considering a few options: - use relationships (that wouldn't meet our performance/concurrency requirements) - use the current index framework with separate indexes, query multiple times, and do the set comparison/intersection in our code - bypass Neo's indexing model altogether and go directly to Lucene, though we'd lose the transaction capabilities - hack the Neo code for the various Lucene index implementations and create our own composite index index type that supports fulltext fields, geospatial fields, simple data types (string, number, boolean), timeline, and multi-valued fields I like option #4, but we'd definitely need some help and input to build it in a way that wasn't too fragile from version to version of Neo. I think it is a capability that would be broadly useful for a lot of Neo users, though, and would fit nicely with some of the work Anders is doing in a Neo query language/syntax. I do think the ability to have more control at the field level could lead to some cool capabilities and significant optimizations both in storage and retrieval. I also think you've managed to work around the transactioning issues, so it would be foolish to re-invent the wheel there. The basic idea would be a composite index that perhaps had a new add method which accepted a Field definition instead of just a simple string field name. The Lucene index implementation could leverage this to exploit a lot of the power of Lucene to meet the overall goal of a very flexible indexing/query subsystem for Neo4J. Additionally, the Field definition for full-text fields could have an analyzer associated with it, rather than an Analyzer at the index level only. If you would be up for it, maybe we come over to Sweden for a couple days and hack #4 together, or we could do it virtually? Thoughts? Rick -Original Message- From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On Behalf Of Mattias Persson Sent: Thursday, May 12, 2011 3:55 AM To: Neo4j user discussions Subject: Re: [Neo4j] Index Framework - Query Question Could you perhaps create an index with a custom Analyzer which treats titles as fulltext and others as non-analyzed? 2011/5/11 Rick Bullotta rick.bullo...@thingworx.com Is there currently any way to have a composite index consisting of fulltext and non-analyzed (simple fields), and to query them in a single query statement? e.g. : title:Reloaded AND year:1999 In this case, I'd be using a Lucene Analyzer on the title, but indexing the primitive types without using the analyzer/norms/etc...I know how to do it with Lucene directly, but not clear if it can be done w/Neo4J. Thanks! Rick ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Out of memory with Neo4j Spatial
Nolan, Short heads-up: I could run the texas node imports on a bigger machine without problems in around 15 minutes with a Xmx of 16G. However, in the way creation phase the code is looking up all nodes for a given way. In the batchinserter, since there are no caches involved that means going back to storage all the time which is very slow. I am going to set up a configuration to insert the data using the normal mode, and see how that performs. Texas.osm has 13M OSM nodes, 1.2M ways and a couple of relations btw. In the model, that will be probably around 30M Neo4j nodes in the graph, so from a dataset PoV this is not a big problem, but the way insert is taking the time. What JVM config have you been running when you go thte errors? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Sat, May 14, 2011 at 6:49 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Nolan, what memory settings are you running the code with, and do you have any neo4j.properties tuned somehwere? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Fri, May 13, 2011 at 8:25 AM, Nolan Darilek no...@thewordnerd.infowrote: I'm importing the dataset for Texas. My version is a few weeks old, but you can find the newest here: http://downloads.cloudmade.com/americas/northern_america/united_states/texas/texas.osm.bz2 My import code, more or less, let me know if you need more implementation details: class Neo4jImport(filename:String, layer:String = map) extends Import { val importer = new OSMImporter(layer) private var processed = 0 def processedEntities = processed private def ds = dataset.asInstanceOf[Neo4JDataSet] private def database = ds.database class MyBatchInserter extends BatchInserterImpl(database.getStoreDir) { override def createNode(properties:JMap[String, Object]) = { processed += 1 super.createNode(properties) } override def createNode(id:Long, properties:JMap[String, Object]){ super.createNode(id, properties) processed += 1 } override def createRelationship(n1:Long, n2:Long, rt:RelationshipType, properties:JMap[String, Object]) = { processed += 1 super.createRelationship(n1, n2, rt, properties) } } def performImport() { database.shutdown() val batchInserter = new MyBatchInserter importer.importFile(batchInserter, filename) batchInserter.shutdown() ds.init(true) importer.reIndex(database, 1000) } } Console output: Fri May 13 10:22:20 CDT 2011: Saving node 6525309 (13713.904715468341 node/second) Fri May 13 10:22:21 CDT 2011: Saving node 6539916 (13703.333682556313 node/second) java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid13506.hprof ... Heap dump file created [1426787760 bytes in 30.001 secs] scala.actors.Actor$$anon$1@764e2837: caught java.lang.IllegalStateException: this writer hit an OutOfMemoryError; cannot flush java.lang.IllegalStateException: this writer hit an OutOfMemoryError; cannot flush at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3307) at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3296) at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:2376) at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:2352) at org.neo4j.index.impl.lucene.LuceneBatchInserterIndex.closeWriter(LuceneBatchInserterIndex.java:279) at org.neo4j.index.impl.lucene.LuceneBatchInserterIndex.shutdown(LuceneBatchInserterIndex.java:354) at org.neo4j.index.impl.lucene.LuceneBatchInserterIndexProvider.shutdown(LuceneBatchInserterIndexProvider.java:145) at org.neo4j.gis.spatial.osm.OSMImporter$OSMBatchWriter.finish(OSMImporter.java:1144) at org.neo4j.gis.spatial.osm.OSMImporter.importFile(OSMImporter.java:1320) at org.neo4j.gis.spatial.osm.OSMImporter.importFile(OSMImporter.java:1219) at org.neo4j.gis.spatial.osm.OSMImporter.importFile(OSMImporter.java:1215) at info.hermesnav.core.model.data.impl.neo4j.Neo4jImport.performImport(neo4j.scala:54) at info.hermesnav.core.model.data.Import$$anonfun$start$1.apply$mcV$sp(data.scala:25) at
Re: [Neo4j] [ANN] Neo4j 1.4.M02 Kiruna Stol - Chugging Along
Rick, very valid requests. We are not sure what issue tracking system to use at the moment, that is why a lot of issues are kept in Google Docs right now. Hope to sort that out very soon and open a much better channel (GITHub issues is currently the favorite) so we can keep track of these. Have saved you other suggestions on the composite indexes, so we can put it in then. Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Sat, May 14, 2011 at 1:17 PM, Rick Bullotta rick.bullo...@thingworx.comwrote: I'd like to see if we can have a discussion about the Index Framework features I have proposed over the past couple of weeks to see if they can get into 1.4. I haven't gotten any feedback from anyone, but I can't imagine I'm the only one interested in expanding the capabilities of indexing! From: user-boun...@lists.neo4j.org [user-boun...@lists.neo4j.org] On Behalf Of Andreas Kollegger [andreas.kolleg...@neotechnology.com] Sent: Friday, May 13, 2011 2:03 PM To: Neo4j user discussions Subject: [Neo4j] [ANN] Neo4j 1.4.M02 Kiruna Stol - Chugging Along Hi peeps, Another two weeks have flown by since the first milestone of “Kiruna Stol”, so it’s time for a new milestone release. 1.4.M02 brings mostly performance improvements, in the form of dependency updates and internal changes, but also new indexing operations via the REST API. NOTICE: This version introduces a non backwards compatible upgrade in the format of the index store. Always backup your data and do not try out on production settings before testing. Lucene upgrade: The most prominent change is probably the upgrade of Lucene to version 3.1, allowing for significant speedups prominently in lookups, with index writes seeing some measurable benefit as well. Depending on your use case, you will notice up to twice as fast queries, reducing what was a prominent bottleneck. Note, again, that Lucene 3.1 introduces a store format that is backwards *incompatible* with 3.0.1, meaning that after you upgrade to M02 you will not be able to get your index data back with previous Neo4j versions. Additions to the REST API: The REST API so far has been left wanting regarding the available index operations. This milestone exposes all the Neo4j specific index operations users of the embedded version enjoy, enabling deletion of indexes, complete Lucene queries and setting of default keys for indexing operations. Append-only logical log Then there’s the new default implementation for how things are written to the logical logs. Instead of a memory mapped file there’s the append-only file backed by a buffer. This will reduce the bottleneck that is the logical log, mostly apparent in small transactions. We’ve measured a throughput improvement of up to 20 times. Whereas this is an improvement which will benefit any setup it will make its most exquisite appearance in the server and when working with the REST API. We would love to hear about your experiences with the new milestone. Since performance improvements are difficult to quantify given the multitude of use cases, your feedback will be even more useful than usual. Read more in the official blog announcement via DZone, and vote us up if you like it: http://www.dzone.com/links/neo4j_14m02_enhanced_indexability.html Cheers, Andreas ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] about Dijkstra
El 5/15/2011 7:30 AM, Peter Neubauer escribió: Jose, I believe this is the lines you are looking for? * https://github.com/neo4j/community/blob/master/graph-algo/src/main/java/org/neo4j/graphalgo/impl/shortestpath/Dijkstra.java#L272 * Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Sun, May 15, 2011 at 5:41 AM, Jose Angel Inda Herrera jai...@estudiantes.uci.cu wrote: El 15/05/11 07:04, Mattias Persson escribió: Is there a particular reason to use that implementation instead of the one provided by GraphAlgoFactory? the problem is I'm doing some tests and the implementation GraphAlgoFactory can not find where is the comparison in the dijkstra to select the lower edge. You know where I can find it in the implementation GraphAlgoFactory, thank mattias for all. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user thanks you peter for your answer. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Spring Data Graph in an OSGi environment
In OSGi, missing classes can be down to which bundles are visible to the bundle doing the scanning. In this case, whatever is doing the classpath scanning cannot see the bundle exporting your domain package. From a number of years back, I remember having to use eclipse-registerbuddy to solve a classloader visibility issue. I'm not sure what the standard approach to this became. A quick search doesn't deliver anything definitive for bundle-buddypolicy, which I suspect is the standardised mechanism. On 13/05/2011 15:10, Jean-Pierre Bergamin wrote: I just could resove some more issues. First of all I had to excplicitely add an Import-Package directive in the template.mf of our project for packages that are not recognized by bundlor (as the one for the missing Neo4jConfiguration): Import-Package: org.springframework.data.graph.neo4j.config;version=[1.1.0, 1.2.0), org.springframework.data.repository.support;version=[1.0.0, 1.2.0), org.springframework.transaction.aspectj;version=[3.0, 3.1) I also had to put Import-Pacakge statements for cglib packages to the spring data neo4j bundle. The next problem I'm facing is that graph repositories cannot be injected, because they seem not to be created by SDG: [2011-05-13 16:06:29.786] region-dm-0AGE Application context creation failure for bundle 'com.example.neo4j.domain' version '0.0.1.BUILD-SNAPSHOT'. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceRepositoryImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.example.neo4j.ServiceRepository com.example.neo4j.ServiceRepositoryImpl.serviceRepository; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.example.neo4j.ServiceRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355) at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320) at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132) at org.eclipse.virgo.kernel.agent.dm.ContextPropagatingTaskExecutor$2.run(ContextPropagatingTaskExecutor.java:95) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.example.neo4j.ServiceRepository com.example.neo4j.ServiceRepositoryImpl.serviceRepository; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type