Hey Nawroth, I attempted to try that at one time and for some reason I cannot remember I concluded that it doesn't work for what I wanted, I will see what I can do again, thanks! findSinglePath is what I was using before.
On Thu, Jul 28, 2011 at 2:05 PM, Anders Nawroth <and...@neotechnology.com>wrote: > Hi! > > I think the hard part about transactions is recovering after crashes and > such. > > Regarding finding A-->B, have you tried using a relationship index? See: > > http://components.neo4j.org/neo4j/1.4/apidocs/org/neo4j/graphdb/index/ReadableRelationshipIndex.html > > /anders > > On 07/28/2011 01:35 PM, John cyuczieekc wrote: > > I don't know what you mean by this: > > "I don't know how nicely BDB plays with Neo4J transactions." > > I have some small experience with bdb java edition that is, but I'm not > sure > > what would their transaction have to do with neo4j transactions... if you > > meant if you could make a wrapper such that you could use the same > > format/interface neo4j uses for their transactions, then you can, I did > some > > attempt to that it works for me, also BDB Java Edition doesn't support > > nested transactions either (the C++ version does), but emulating them to > use > > the same root/parent transaction is easy, my attempt is here: > > > https://github.com/13th-floor/neo4john/blob/6c0371e82b7fc5b5f45d7c0ea9fb03ee4d241df9/src.obsolete/org/bdb/BETransaction.java > > probably not much relevant though. But this file here: > > > https://github.com/13th-floor/neo4john/blob/master/src/org/benchtests/neo4j/TestLinkage.java > > I made to use both neo4j and bdb to do the same thing, that is: > > create nodes(uppercase named ones) with these rels: > > ROOT_LIST --> START > > ROOT_LIST --> <half a million unique nodes> > > ROOT_LIST --> MIDDLE > > ROOT_LIST --> <another half a million unique nodes> > > ROOT_LIST --> END > > > > then make both bdb and neo4j check if the following rels exist: > > ROOT_LIST --> START > > ROOT_LIST --> MIDDLE > > ROOT_LIST --> END > > (you probably saw this already in another post) > > But both bdb and neo4j now use transactions... that is, in my test file. > > > > About licensing, I'm not much into that but here's the license for > Berkeley > > DB Java Edition: > > > http://www.oracle.com/technetwork/database/berkeleydb/downloads/jeoslicense-086837.html > > Looks like New(or normal?) BSD license or something ... > > also > > " > > Licensing > > > > Berkeley DB is available under dual license: > > > > - Public license that requires that software that uses the Berkeley > DB > > code be free/open source software; and > > - Closed source license for non-open source software. > > > > If your code is not redistributed, no license is required (free for > in-house > > use). > > > > " > > > > from http://www.orafaq.com/wiki/Berkeley_DB#Licensing > > > > > > I would totally use neo4j, if it would be as fast at searches :/ ie. > BTree > > storage of nodes/rels? (guessing) > > > > But having 10mil rels, and seeing BDB checking if A-->B in 0ms, and neo4j > in > > like 0 to 66 to 310 seconds (depending on its position) > > > > is a show stopper for me, especially because I want to base everything on > > just nodes (without properties) and their relationships. ie. make a set > or > > list of things, without having A ---[ENTRY]--> e ---[NEXT] ---> e2 but > > instead A->b->e->c->e2 where b and c are just nodes, and also > > AllEntries->b and AllNexts->c (silly example with such less info tho) > > > > Point is, I would do lots of searches a lot (imagine a real time program > > running on top of nodes/rels, that is it's defined in and can access only > > nodes), this would likely cause those ms to add up to seconds... > > > > > > I installed maven (m2e) again, I guess I could use it, but it seems it > > creates .jar , not sure if that's useful to me while I am coding... seems > > better to use project/sources no? and maven only when ready to > publish/get > > the jar ; anyway I need to learn how to use it otherwise I'm getting > errors > > like this , when trying to build: > > > > [ERROR] The project org.neo4j:neo4j-graph-collections:1.5-SNAPSHOT > > (E:\wrkspc\graph-collections\pom.xml) has 1 error > > [ERROR] Non-resolvable parent POM: The repository system is offline > but > > the artifact org.neo4j:parent-central:pom:21 is not available in the > local > > repositor > > y. and 'parent.relativePath' points at wrong local POM @ line 4, column > 11 > > -> [Help 2] > > > > > > > > Anyway, with normal eclipse, I'm still showing 2 different errors: > > > > 1) in org.neo4j.collections.graphdb.ComparablePropertyType<T> > > > > line 29: super(name, graphDb); > > > > The constructor PropertyType<T>(String, GraphDatabaseService) is not > visible > > > > 2) org.neo4j.collections.graphdb.impl.NodeLikeImpl.getRelationships() > > The return type is incompatible with > > RelationshipContainer.getRelationships() > > > > 3) > > > org.neo4j.collections.graphdb.impl.NodeLikeImpl.getRelationships(RelationshipType...) > > The return type is incompatible with > > RelationshipContainer.getRelationships(RelationshipType[]) > > > > > > John. > > > > On Thu, Jul 28, 2011 at 12:52 PM, Niels Hoogeveen< > pd_aficion...@hotmail.com > >> wrote: > > > >> > >> Hi John, > >> Thanks for showing an interest. > >> The compile error you got was due to the fact that a removed class was > >> still hanging around in the Git repo. I renamed BinaryRelationshipRoles > into > >> BinaryRelationshipRole, but the original file was still active in the > Git > >> repo. I fixed that. > >> I have been thinking about BDB too for this situation, because the graph > >> database now stores some information about the associated nodes and > their > >> reverse lookup. This of course polutes the name/node space. It would be > neat > >> to offload this book keeping information to some persistent hashmap, so > the > >> implementation is completely transparent to the user. > >> I don't know how nicely BDB plays with Neo4J transactions. Does anyone > have > >> experience with this? > >> Another aspect is licencing. I am no legal buff, so maybe someone else > can > >> jump in and answer this. > >> Personally, I don't mind adding BDB as a dependency, but it has to work > >> well at the transaction level and licence wise, otherwise it's a no go > for > >> me. > >> I would recommend you to start using maven. There is an Eclipse plugin > >> m2eclipse, which allows you to use/maintain Maven projects from within > >> Eclipse. > >> Niels > >> > >>> Date: Thu, 28 Jul 2011 05:09:54 +0200 > >>> From: cyuczie...@gmail.com > >>> To: user@lists.neo4j.org > >>> Subject: Re: [Neo4j] HyperRelationship example > >>> > >>> Hey Niels, > >>> > >>> I like xD > >>> this seems like a lot of work and professionally done; ie. something I > >> could > >>> not have done (I don't have that kind of experience and focus). Gratz > on > >>> that, I really appreciate seeing this. > >>> > >>> I cloned the repo from git, manually, with eclipse (not using maven - > >> don't > >>> know how with eclipse) > >>> I am getting only about 3 compile errors, like: > >>> 1) The type BinaryRelationshipRoles<T> must implement the inherited > >> abstract > >>> method PropertyContainer.getId() > >>> 2) The constructor PropertyType<T>(String, GraphDatabaseService) is not > >>> visible > >>> 3) The return type is incompatible with > >>> RelationshipContainer.getRelationships() > >>> for > >>> > >> > org.neo4j.collections.graphdb.impl.RelationshipIterable.RelationshipIterable(Iterable<Relationship> > >>> rels) > >>> > >>> > >>> Also, I am thinking to try and implement this on top of berkeleydb > just > >>> for fun/benchmarking (so to speak) to compare between that and neo4j - > >> since > >>> I am currently unsure which one to use for my hobby project (I like > that > >>> berkeleydb's searches are 0-1ms instead of few seconds) > >>> > >>> Btw, would it be any interest to you if I were to fork your repo and > add > >> ie. > >>> AllTests.java for junit and the .project and related files for eclipse > >>> project in a pull or two ? as long as it doesn't seem useless or > >>> cluttering... (note however I never actually, yet, used fork&pull but > >> only > >>> read about it on github xD) > >>> > >>> Thanks to all, for wasting some time reading this, > >>> Greeting and salutations, > >>> John > >>> > >>> On Wed, Jul 27, 2011 at 8:48 PM, Niels Hoogeveen > >>> <pd_aficion...@hotmail.com>wrote: > >>> > >>>> > >>>> I just posted an example on how to use HyperRelationships: > >>>> > >>>> > >>>> > >> > https://github.com/peterneubauer/graph-collections/wiki/HyperRelationship-example > >>>> > >>>> There is now a proper test for HyperRelationships, so I hereby push > the > >>>> software to Beta status. > >>>> > >>>> Please try out the Enhanced API and HyperRelationships and let me know > >> what > >>>> needs improvement. > >>>> > >>>> Niels > >>>> _______________________________________________ > >>>> 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 > _______________________________________________ > 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