Re: [Neo4j] simple traverse of tree

2011-04-06 Thread Mattias Persson
I'm not fully aware of your domain layout, but maybe add this:

.uniqueness( Uniqueness.RELATIONSHIP_GLOBAL )

to your traversal description. The default (NODE_GLOBAL) may end up "hiding"
some of your nodes depending on your graph layout.

2011/4/5 Matěj Plch 

> Well so lastRelationship() isnt the right one method I am looking for
> and I have to look for highest id manually.
> But I have problem that if I traverse in the way like Michael suggested:
>  Iterator i =
> Traversal.description().relationships(RelationshipTypes.TICKET_QUEUE,
> Direction.BOTH).relationships(RelationshipTypes.TICKET_STATUS,
> Direction.BOTH).
> relationships(RelationshipTypes.TICKET_TIMETAKEN,
> Direction.BOTH).
> traverse(ticketNode).nodes().iterator();
>
> The iterator gives me only 6 ancestors. But in Neoclipse I can see much
> more ancestor nodes which is right. Why this traverse gives me bad
> result? I need all nodes which are directly connected thought
> Relatioshiptypes TICKET_STATUS,TICKET_TIMETAKEN,TICKET_QUEUE with
> ticketNode...
>
> Dne 4.4.2011 13:59, Mattias Persson napsal(a):
> > 2011/4/4 Matěj Plch
> >
> >> Is it possible to use
> >>
> >> *Path.lastRelationship*()
> >>
> >> ?
> >> How does it take last Relationship? According to id, or how the graph is
> >> traversed?
> >>
> > It returns the last relationships in the current path, i.e. where the
> > traverser is a.t.m. So it already has a reference to it and just returns
> it.
> >
> >> Dne 26.3.2011 19:35, Michael Hunger napsal(a):
> >>> Sure, if the tree from your root node is just a cluster that is not
> >> connected anywhere else (with those 3 relationship-types) it should be
> as
> >> simple as.
> >>> (Just written from my head, so please check the correct syntax).
> >>>
> >>>
> >>
> Traversal.description().relationship(T1,OUTGOING).relationship(T2,OUTGOING).relationship(T3,OUTGOING).traverse(rootNode);
> >>> That returns an iterator of all paths going from your root node.
> >>>
> >>> You can limit the nodes with .uniqueness() and then add the path's
> >> (path.nodes()) to a set to collect all nodes.
> >>> For getting the one with the highest id, you can use
> >> java.util.Collections.max(collection, new Comparator(){});
> >>> How big is your tree?
> >>>
> >>> Something like that should be in Graph-Algo perhaps as "subgraph" or
> >> "tree".
> >>> HTH
> >>>
> >>> Michael
> >>>
> >>> Am 26.03.2011 um 19:26 schrieb Matěj Plch:
> >>>
>  Thank you for so fast answer.
>  I will look at it. I have milestone tomorrow so dont have a lot of
>  time=) and have never worked with Groovy.
>  Well so there isnt any simple method how to do it in classic neo4j
> Java
> >> API?
>  Dne 26.3.2011 19:16, Saikat Kanjilal napsal(a):
> > You can do all of these things using gremlin and pipes.  Check out
> >> github for more details.
> > Sent from my iPhone
> >
> > On Mar 26, 2011, at 11:13 AM, Matěj Plch
> >> wrote:
> >> Hi, I have some graph and, part of it is a tree. I simple get root
> of
> >> this tree through id. How to simple tranverse only tree under this
> >> root
> >> node? From root goes three unique type relationship to three unique
> >> group type nodes. Under this three nodes are a lot of nodes. And I
> >> need
> >> to write a method which gives me all nodes under that group node.
> >> Second question is if its possible ho to get from this group noe
> with
> >> the highest id (last added).
> >> Matěj Plch
> >>
> >> ___
> >> 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
>



-- 
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] EmbeddedReadOnlyGraphDatabase workings

2011-04-06 Thread Mattias Persson
A "refresh", i.e. clearing of caches can be performed by (API may change):


readOnlyGraphDb.getConfig().getGraphDbModule().getNodeManager().clearCache();

and you could maybe keep the default cache_type setting. That should do what
you're asking for.

2011/4/5 David Montag 

> Alfredas,
>
> A solution based on EmbeddedReadOnlyGraphDatabase would not be able to
> benefit from caching, as each "refresh" of the view would have to clear the
> caches. You could possibly achieve the solution you want by setting the
> config parameter cache_type=none for the read-only instance. Then it should
> not cache anything and always read from disk or OS cache. This would
> however
> yield degraded performance if you repeatedly read the same data.
>
> If your processing could benefit from caching, then you're better off
> creating a new instance, or manually clearing the caches. Or going with the
> HA-based solution that Jim and Mattias outlined.
>
> David
>
> On Tue, Apr 5, 2011 at 9:36 AM, Alfredas Chmieliauskas
> wrote:
>
> > Yes. The read only client would query the db at time intervals.
> >
> > Alfredas
> >
> > On Tue, Apr 5, 2011 at 5:40 PM, David Montag
> >  wrote:
> > > Alfredas,
> > > When you say watch, do you mean "poll" the graph at some interval? What
> > > would the read-only client do?
> > > Thanks,
> > > David
> > >
> > > On Tue, Apr 5, 2011 at 5:26 AM, Alfredas Chmieliauskas <
> > al.fre...@gmail.com>
> > > wrote:
> > >>
> > >> Dear all,
> > >>
> > >> we have the following situation:
> > >> - 1 client is writing to the embedded db (writer)
> > >> - 1 client would like to watch that (read-only)
> > >>
> > >> is that possible with the EmbeddedReadOnlyGraphDatabase?
> > >> Currently it seems that the read-only db does not see the updates from
> > >> the writer since its creation. It there a way to force refresh besides
> > >> creating a new instance?
> > >>
> > >> Also are there any other/better ways to do that (1 writer, 1 reader)
> > >> without going into the server mode?
> > >>
> > >> Thanks a lot,
> > >>
> > >> Alfredas
> > >> ___
> > >> Neo4j mailing list
> > >> User@lists.neo4j.org
> > >> https://lists.neo4j.org/mailman/listinfo/user
> > >
> > >
> > >
> > > --
> > > David Montag 
> > > Neo Technology, www.neotechnology.com
> > > Cell: 650.556.4411
> > > Skype: ddmontag
> > >
> >
>
>
>
> --
> David Montag 
> Neo Technology, www.neotechnology.com
> Cell: 650.556.4411
> Skype: ddmontag
> ___
> 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] Happy to announce that the Spring Data Graph tutorial is live at cineasts.net

2011-04-06 Thread Michael Hunger
Hi,

after releasing the RC1 I found some time to make the SDG tutorial app 
available at http://cineasts.net.

The creation of this webapp is discussed in detail in the Spring Data Graph 
guidebook at: http://bit.ly/das-book

So feel free to try it out, register, search for movies and rate them and see 
your friends recommendations. 

Please get back with any feedback you have.

Thanks

Michael
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] InvalidRecordException

2011-04-06 Thread Tobias Ivarsson
This has been very thoroughly investigated, and still is being thoroughly
investigated, since we have not been able to reproduce the problem at all.
Any hints on what scenario this occurred in that you can provide would be
immensely helpful.

Cheers,
Tobias

On Tue, Apr 5, 2011 at 9:41 PM, Degrassi Francesco <
francesco.degra...@emaze.net> wrote:

> Hello everyone.
> Was this issue investigated and, perhaps, solved ?
> We started experiencing the same today, on Neo 1.1 on CentOS 5 and couldn't
> manage to reproduce it reliably yet.
>
> I will attach a stacktrace and more info tomorrow, but wanted to know if
> there
> were any news on the issue.
>
> Thanks in advance
>
> Francesco Degrassi
>
> Il 10 marzo 2011 alle 21.58 Massimo Lusetti  ha
> scritto:
>
> > On Thu, Mar 10, 2011 at 6:11 PM, Axel Morgner  wrote:
> >
> > > Hi,
> > >
> > > I'm getting an InvalidRecordException
> > >
> > > org.neo4j.kernel.impl.nioneo.store.InvalidRecordException: Node[5] is
> > > neither firstNode[37781] nor secondNode[37782] for Relationship[188125]
> > > at
> > >
> org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:131)
> > > at
> > >
> org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$ReadOnlyResourceConnection.getMoreRelationships(NioNeoDbPersistenceSource.java:280)
> > > at
> > >
> org.neo4j.kernel.impl.persistence.PersistenceManager.getMoreRelationships(PersistenceManager.java:100)
> > > at
> > >
> org.neo4j.kernel.impl.core.NodeManager.getMoreRelationships(NodeManager.java:585)
> > > at
> > >
> org.neo4j.kernel.impl.core.NodeImpl.getMoreRelationships(NodeImpl.java:358)
> > > at
> > >
> org.neo4j.kernel.impl.core.IntArrayIterator.hasNext(IntArrayIterator.java:115)
> > >
> > > when iterating through the relationships of a certain node:
> > >
> > > Node node = graphDb.getNodeById(sNode.getId());
> > >
> > > Iterable rels =
> > > node.getRelationships(relType, dir);
> > >
> > > for (Relationship r : rels) { <- here the expeption
> > > occurs
> > > ...
> > > }
> > >
> > > I'm using 1.3.M03.
> > >
> > > Seems that the database is in an inconsitant state. Don't know how this
> > > could happen ...
> > >
> > >
> > > Greetings
> > >
> > > Axel
> > >
> > > ___
> > > Neo4j mailing list
> > > User@lists.neo4j.org
> > > https://lists.neo4j.org/mailman/listinfo/user
> > >
> >
> >
> > I'm encountering this same/similar exception quite ofter lately, with
> > the same 1.3.M03 version, on FreeBSD 8.2 with  OpenJDK Runtime
> > Environment (build 1.6.0-b21) OpenJDK 64-Bit Server VM (build
> > 19.0-b09, mixed mode):
> >
> > org.neo4j.kernel.impl.nioneo.store.InvalidRecordException:
> > Record[4130751] not in use
> > at
>
> >org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getRecord(RelationshipStore.java:194)
> > at
>
> >org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getRecord(RelationshipStore.java:96)
> > at
>
> >org.neo4j.kernel.impl.nioneo.xa.WriteTransaction.connectRelationship(WriteTransaction.java:1435)
> > at
>
> >org.neo4j.kernel.impl.nioneo.xa.WriteTransaction.relationshipCreate(WriteTransaction.java:1389)
> > at
>
> >org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaConnection$RelationshipEventConsumerImpl.createRelationship(NeoStoreXaConnection.java:256)
> > at
>
> >org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$NioNeoDbResourceConnection.relationshipCreate(NioNeoDbPersistenceSource.java:370)
> > at
>
> >org.neo4j.kernel.impl.persistence.PersistenceManager.relationshipCreate(PersistenceManager.java:153)
> > at
>
> >org.neo4j.kernel.impl.core.NodeManager.createRelationship(NodeManager.java:309)
> > at
>
> >org.neo4j.kernel.impl.core.NodeImpl.createRelationshipTo(NodeImpl.java:387)
> > at
>
> >org.neo4j.kernel.impl.core.NodeProxy.createRelationshipTo(NodeProxy.java:186)
> >
> > Did it rings and alert bell!?
> >
> > Cheers
> > --
> > Massimo
> > http://meridio.blogspot.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
>



-- 
Tobias Ivarsson 
Hacker, Neo Technology
www.neotechnology.com
Cellphone: +46 706 534857
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


[Neo4j] Getting JSON for a Representation in an unmanaged extension

2011-04-06 Thread Dario Rexin
Hello,

I am currently working an an unamanged extension for the neo4j rest server. I 
want to provide an HTML response which includes the JSON String of a 
Representation. How can I get the OutputFormat for MediaType.APPLICATION_JSON 
in a method with @Produces(MediaType.TEXT_HTML)?

Thanks in advice for your help.

Cheers,

Dario
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Getting JSON for a Representation in an unmanaged extension

2011-04-06 Thread Michael Hunger
I think the output format (repository) is also added to jerseys injection 
facilities.

so you might try to get it injected with @Context OutputFormat, but I don't 
know if that works.

Otherwise you might perhaps create your own instance of 
RepresentationFormatRepository with an injected server. (and use its 
server.getExtensionManager)

(or in the worst case have ResourceConfig injected and iterate through its 
getSingletons to find the OutputFormatProvider.)

Cheers Michael

from NeoServletContainer,


   protected void configure(WebConfig wc, ResourceConfig rc, WebApplication wa) 
{
super.configure(wc, rc, wa);

Set singletons = rc.getSingletons();
singletons.add( new DatabaseProvider( server.getDatabase() ) );
singletons.add( new GraphDatabaseServiceProvider( 
server.getDatabase().graph ) );
singletons.add( new NeoServerProvider( server ) );
singletons.add( new ConfigurationProvider( server.getConfiguration() ) 
);
if(server.getDatabase().rrdDb() != null) {
singletons.add( new RrdDbProvider( server.getDatabase().rrdDb() ) );
}
RepresentationFormatRepository repository = new 
RepresentationFormatRepository(server.getExtensionManager());
singletons.add( new InputFormatProvider( repository ) );
singletons.add( new OutputFormatProvider( repository ) );
}


Am 06.04.2011 um 13:42 schrieb Dario Rexin:

> Hello,
> 
> I am currently working an an unamanged extension for the neo4j rest server. I 
> want to provide an HTML response which includes the JSON String of a 
> Representation. How can I get the OutputFormat for MediaType.APPLICATION_JSON 
> in a method with @Produces(MediaType.TEXT_HTML)?
> 
> Thanks in advice for your help.
> 
> Cheers,
> 
> Dario
> ___
> 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] Getting JSON for a Representation in an unmanaged extension

2011-04-06 Thread Dario Rexin
Hi, 

thank you very much. The server injection worked quiet well.


Am 06.04.11 14:31 schrieb "Michael Hunger" unter
:

> I think the output format (repository) is also added to jerseys injection
> facilities.
> 
> so you might try to get it injected with @Context OutputFormat, but I don't
> know if that works.
> 
> Otherwise you might perhaps create your own instance of
> RepresentationFormatRepository with an injected server. (and use its
> server.getExtensionManager)
> 
> (or in the worst case have ResourceConfig injected and iterate through its
> getSingletons to find the OutputFormatProvider.)
> 
> Cheers Michael
> 
> from NeoServletContainer,
> 
> 
>protected void configure(WebConfig wc, ResourceConfig rc, WebApplication
> wa) {
> super.configure(wc, rc, wa);
> 
> Set singletons = rc.getSingletons();
> singletons.add( new DatabaseProvider( server.getDatabase() ) );
> singletons.add( new GraphDatabaseServiceProvider(
> server.getDatabase().graph ) );
> singletons.add( new NeoServerProvider( server ) );
> singletons.add( new ConfigurationProvider( server.getConfiguration() )
> );
> if(server.getDatabase().rrdDb() != null) {
> singletons.add( new RrdDbProvider( server.getDatabase().rrdDb() )
> );
> }
> RepresentationFormatRepository repository = new
> RepresentationFormatRepository(server.getExtensionManager());
> singletons.add( new InputFormatProvider( repository ) );
> singletons.add( new OutputFormatProvider( repository ) );
> }
> 
> 
> Am 06.04.2011 um 13:42 schrieb Dario Rexin:
> 
>> Hello,
>> 
>> I am currently working an an unamanged extension for the neo4j rest server. I
>> want to provide an HTML response which includes the JSON String of a
>> Representation. How can I get the OutputFormat for MediaType.APPLICATION_JSON
>> in a method with @Produces(MediaType.TEXT_HTML)?
>> 
>> Thanks in advice for your help.
>> 
>> Cheers,
>> 
>> Dario
>> ___
>> 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] EmbeddedReadOnlyGraphDatabase workings

2011-04-06 Thread Alfredas Chmieliauskas
Hey,

Thanks for the ideas.
Both 
readOnlyGraphDb.getConfig().getGraphDbModule().getNodeManager().clearCache()
and cache_type=none worked.

But I've run into some issues down the road.

To test i've taken the same db folder with some nodes, properties and
relations and created a read-only embedded db with it; later the same
folder for "standard" embedded db.

When opening the db as read-only:
1) node.getRelationships() is empty for all nodes whereas it is not
the case in the "standard" mode
2) node.getPropertyKeys() sometimes throws
org.neo4j.kernel.impl.nioneo.store.InvalidRecordException:
Position[63] requested for operation is high id[24], store is ok[true]

org.neo4j.kernel.impl.nioneo.store.CommonAbstractStore.acquireWindow(CommonAbstractStore.java:521)

org.neo4j.kernel.impl.nioneo.store.AbstractDynamicStore.getLightRecords(AbstractDynamicStore.java:425)

org.neo4j.kernel.impl.nioneo.store.PropertyIndexStore.getRecord(PropertyIndexStore.java:196)

org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getPropertyIndex(ReadTransaction.java:201)

org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$ReadOnlyResourceConnection.loadIndex(NioNeoDbPersistenceSource.java:206)

org.neo4j.kernel.impl.persistence.PersistenceManager.loadIndex(PersistenceManager.java:84)

org.neo4j.kernel.impl.core.PropertyIndexManager.getIndexFor(PropertyIndexManager.java:141)
org.neo4j.kernel.impl.core.NodeManager.getIndexFor(NodeManager.java:765)
org.neo4j.kernel.impl.core.Primitive.getPropertyKeys(Primitive.java:117)
org.neo4j.kernel.impl.core.NodeProxy.getPropertyKeys(NodeProxy.java:129)

which works  fine in the  "standard" mode.

I wonder am I doing something wrong or are these issues known?

Alfredas

On Wed, Apr 6, 2011 at 9:18 AM, Mattias Persson
 wrote:
> A "refresh", i.e. clearing of caches can be performed by (API may change):
>
>
> readOnlyGraphDb.getConfig().getGraphDbModule().getNodeManager().clearCache();
>
> and you could maybe keep the default cache_type setting. That should do what
> you're asking for.
>
> 2011/4/5 David Montag 
>
>> Alfredas,
>>
>> A solution based on EmbeddedReadOnlyGraphDatabase would not be able to
>> benefit from caching, as each "refresh" of the view would have to clear the
>> caches. You could possibly achieve the solution you want by setting the
>> config parameter cache_type=none for the read-only instance. Then it should
>> not cache anything and always read from disk or OS cache. This would
>> however
>> yield degraded performance if you repeatedly read the same data.
>>
>> If your processing could benefit from caching, then you're better off
>> creating a new instance, or manually clearing the caches. Or going with the
>> HA-based solution that Jim and Mattias outlined.
>>
>> David
>>
>> On Tue, Apr 5, 2011 at 9:36 AM, Alfredas Chmieliauskas
>> wrote:
>>
>> > Yes. The read only client would query the db at time intervals.
>> >
>> > Alfredas
>> >
>> > On Tue, Apr 5, 2011 at 5:40 PM, David Montag
>> >  wrote:
>> > > Alfredas,
>> > > When you say watch, do you mean "poll" the graph at some interval? What
>> > > would the read-only client do?
>> > > Thanks,
>> > > David
>> > >
>> > > On Tue, Apr 5, 2011 at 5:26 AM, Alfredas Chmieliauskas <
>> > al.fre...@gmail.com>
>> > > wrote:
>> > >>
>> > >> Dear all,
>> > >>
>> > >> we have the following situation:
>> > >> - 1 client is writing to the embedded db (writer)
>> > >> - 1 client would like to watch that (read-only)
>> > >>
>> > >> is that possible with the EmbeddedReadOnlyGraphDatabase?
>> > >> Currently it seems that the read-only db does not see the updates from
>> > >> the writer since its creation. It there a way to force refresh besides
>> > >> creating a new instance?
>> > >>
>> > >> Also are there any other/better ways to do that (1 writer, 1 reader)
>> > >> without going into the server mode?
>> > >>
>> > >> Thanks a lot,
>> > >>
>> > >> Alfredas
>> > >> ___
>> > >> Neo4j mailing list
>> > >> User@lists.neo4j.org
>> > >> https://lists.neo4j.org/mailman/listinfo/user
>> > >
>> > >
>> > >
>> > > --
>> > > David Montag 
>> > > Neo Technology, www.neotechnology.com
>> > > Cell: 650.556.4411
>> > > Skype: ddmontag
>> > >
>> >
>>
>>
>>
>> --
>> David Montag 
>> Neo Technology, www.neotechnology.com
>> Cell: 650.556.4411
>> Skype: ddmontag
>> ___
>> 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


Re: [Neo4j] EmbeddedReadOnlyGraphDatabase workings

2011-04-06 Thread Tobias Ivarsson
That is to be expected. It is due to cache staleness issues in the ReadOnly
instance.

Using
cache_type=none
should give the lowest probability of these things happening, but there are
no guarantees.

-t

2011/4/6 Alfredas Chmieliauskas 

> Hey,
>
> Thanks for the ideas.
> Both
> readOnlyGraphDb.getConfig().getGraphDbModule().getNodeManager().clearCache()
> and cache_type=none worked.
>
> But I've run into some issues down the road.
>
> To test i've taken the same db folder with some nodes, properties and
> relations and created a read-only embedded db with it; later the same
> folder for "standard" embedded db.
>
> When opening the db as read-only:
> 1) node.getRelationships() is empty for all nodes whereas it is not
> the case in the "standard" mode
> 2) node.getPropertyKeys() sometimes throws
> org.neo4j.kernel.impl.nioneo.store.InvalidRecordException:
> Position[63] requested for operation is high id[24], store is ok[true]
>
>  
> org.neo4j.kernel.impl.nioneo.store.CommonAbstractStore.acquireWindow(CommonAbstractStore.java:521)
>
>  
> org.neo4j.kernel.impl.nioneo.store.AbstractDynamicStore.getLightRecords(AbstractDynamicStore.java:425)
>
>  
> org.neo4j.kernel.impl.nioneo.store.PropertyIndexStore.getRecord(PropertyIndexStore.java:196)
>
>  
> org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getPropertyIndex(ReadTransaction.java:201)
>
>  
> org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$ReadOnlyResourceConnection.loadIndex(NioNeoDbPersistenceSource.java:206)
>
>  
> org.neo4j.kernel.impl.persistence.PersistenceManager.loadIndex(PersistenceManager.java:84)
>
>  
> org.neo4j.kernel.impl.core.PropertyIndexManager.getIndexFor(PropertyIndexManager.java:141)
>
>  org.neo4j.kernel.impl.core.NodeManager.getIndexFor(NodeManager.java:765)
>
>  org.neo4j.kernel.impl.core.Primitive.getPropertyKeys(Primitive.java:117)
>
>  org.neo4j.kernel.impl.core.NodeProxy.getPropertyKeys(NodeProxy.java:129)
>
> which works  fine in the  "standard" mode.
>
> I wonder am I doing something wrong or are these issues known?
>
> Alfredas
>
> On Wed, Apr 6, 2011 at 9:18 AM, Mattias Persson
>  wrote:
> > A "refresh", i.e. clearing of caches can be performed by (API may
> change):
> >
> >
> >
> readOnlyGraphDb.getConfig().getGraphDbModule().getNodeManager().clearCache();
> >
> > and you could maybe keep the default cache_type setting. That should do
> what
> > you're asking for.
> >
> > 2011/4/5 David Montag 
> >
> >> Alfredas,
> >>
> >> A solution based on EmbeddedReadOnlyGraphDatabase would not be able to
> >> benefit from caching, as each "refresh" of the view would have to clear
> the
> >> caches. You could possibly achieve the solution you want by setting the
> >> config parameter cache_type=none for the read-only instance. Then it
> should
> >> not cache anything and always read from disk or OS cache. This would
> >> however
> >> yield degraded performance if you repeatedly read the same data.
> >>
> >> If your processing could benefit from caching, then you're better off
> >> creating a new instance, or manually clearing the caches. Or going with
> the
> >> HA-based solution that Jim and Mattias outlined.
> >>
> >> David
> >>
> >> On Tue, Apr 5, 2011 at 9:36 AM, Alfredas Chmieliauskas
> >> wrote:
> >>
> >> > Yes. The read only client would query the db at time intervals.
> >> >
> >> > Alfredas
> >> >
> >> > On Tue, Apr 5, 2011 at 5:40 PM, David Montag
> >> >  wrote:
> >> > > Alfredas,
> >> > > When you say watch, do you mean "poll" the graph at some interval?
> What
> >> > > would the read-only client do?
> >> > > Thanks,
> >> > > David
> >> > >
> >> > > On Tue, Apr 5, 2011 at 5:26 AM, Alfredas Chmieliauskas <
> >> > al.fre...@gmail.com>
> >> > > wrote:
> >> > >>
> >> > >> Dear all,
> >> > >>
> >> > >> we have the following situation:
> >> > >> - 1 client is writing to the embedded db (writer)
> >> > >> - 1 client would like to watch that (read-only)
> >> > >>
> >> > >> is that possible with the EmbeddedReadOnlyGraphDatabase?
> >> > >> Currently it seems that the read-only db does not see the updates
> from
> >> > >> the writer since its creation. It there a way to force refresh
> besides
> >> > >> creating a new instance?
> >> > >>
> >> > >> Also are there any other/better ways to do that (1 writer, 1
> reader)
> >> > >> without going into the server mode?
> >> > >>
> >> > >> Thanks a lot,
> >> > >>
> >> > >> Alfredas
> >> > >> ___
> >> > >> Neo4j mailing list
> >> > >> User@lists.neo4j.org
> >> > >> https://lists.neo4j.org/mailman/listinfo/user
> >> > >
> >> > >
> >> > >
> >> > > --
> >> > > David Montag 
> >> > > Neo Technology, www.neotechnology.com
> >> > > Cell: 650.556.4411
> >> > > Skype: ddmontag
> >> > >
> >> >
> >>
> >>
> >>
> >> --
> >> David Montag 
> >> Neo Technology, www.neotechnology.com
> >> Cell: 650.556.4411
> >> Skype: ddmontag
> >> ___
> >> Neo4j mailing list
> >> User@lists.neo4j.org
> >> https://lists.neo4j.o

[Neo4j] Constructing an evaluator that only takes specific nodes from a path

2011-04-06 Thread Dario Rexin
Hello,

we are trying to construct an Evaluator that will select only one node from the 
middle of a path and include it in the result. We do have a specific path we 
are looking for and the endNode is stored in 'end'. Now what we would like to 
do is have an Evaluator like this:

  import org.neo4j.graphdb.traversal.
Evaluator;

  new Evaluator(){
@Override
public Evaluation evaluate(org.neo4j.graphdb.Path path) {
if(path.length() > 3) {
return Evaluation.EXCLUDE_AND_PRUNE;
} else if (path.length() == 2) {
return Evaluation.INCLUDE_AND_CONTINUE;
} else if (path.length() < 2){
return Evaluation.EXCLUDE_AND_CONTINUE;
} else {
return path.endNode().getId() == end.getId() ? 
Evaluation.EXCLUDE_AND_PRUNE : Evaluation.DROP_PATH_AND_PRUNE;
}
}
  }

The decision on whether to accept or drop a path is based on wether we have 
reached the endNode. That's why we would like to use something like 
DROP_PATH_AND_PRUNE, which doesn't exist. What are we missing?

Any help appreciated!

Thanks,
Stephan and Dario
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] simple traverse of tree

2011-04-06 Thread Matěj Plch
I had there an error... My fault. Your code is working fantastic. Thank 
you so much. I hope the last question: is it possible to add some 
parameter to exclude the start node?

Dne 6.4.2011 09:13, Mattias Persson napsal(a):
> I'm not fully aware of your domain layout, but maybe add this:
>
>  .uniqueness( Uniqueness.RELATIONSHIP_GLOBAL )
>
> to your traversal description. The default (NODE_GLOBAL) may end up "hiding"
> some of your nodes depending on your graph layout.
>
> 2011/4/5 Matěj Plch
>
>> Well so lastRelationship() isnt the right one method I am looking for
>> and I have to look for highest id manually.
>> But I have problem that if I traverse in the way like Michael suggested:
>>   Iterator  i =
>> Traversal.description().relationships(RelationshipTypes.TICKET_QUEUE,
>> Direction.BOTH).relationships(RelationshipTypes.TICKET_STATUS,
>> Direction.BOTH).
>>  relationships(RelationshipTypes.TICKET_TIMETAKEN,
>> Direction.BOTH).
>>  traverse(ticketNode).nodes().iterator();
>>
>> The iterator gives me only 6 ancestors. But in Neoclipse I can see much
>> more ancestor nodes which is right. Why this traverse gives me bad
>> result? I need all nodes which are directly connected thought
>> Relatioshiptypes TICKET_STATUS,TICKET_TIMETAKEN,TICKET_QUEUE with
>> ticketNode...
>>
>> Dne 4.4.2011 13:59, Mattias Persson napsal(a):
>>> 2011/4/4 Matěj Plch
>>>
 Is it possible to use

 *Path.lastRelationship*()

 ?
 How does it take last Relationship? According to id, or how the graph is
 traversed?

>>> It returns the last relationships in the current path, i.e. where the
>>> traverser is a.t.m. So it already has a reference to it and just returns
>> it.
 Dne 26.3.2011 19:35, Michael Hunger napsal(a):
> Sure, if the tree from your root node is just a cluster that is not
 connected anywhere else (with those 3 relationship-types) it should be
>> as
 simple as.
> (Just written from my head, so please check the correct syntax).
>
>
>> Traversal.description().relationship(T1,OUTGOING).relationship(T2,OUTGOING).relationship(T3,OUTGOING).traverse(rootNode);
> That returns an iterator of all paths going from your root node.
>
> You can limit the nodes with .uniqueness() and then add the path's
 (path.nodes()) to a set to collect all nodes.
> For getting the one with the highest id, you can use
 java.util.Collections.max(collection, new Comparator(){});
> How big is your tree?
>
> Something like that should be in Graph-Algo perhaps as "subgraph" or
 "tree".
> HTH
>
> Michael
>
> Am 26.03.2011 um 19:26 schrieb Matěj Plch:
>
>> Thank you for so fast answer.
>> I will look at it. I have milestone tomorrow so dont have a lot of
>> time=) and have never worked with Groovy.
>> Well so there isnt any simple method how to do it in classic neo4j
>> Java
 API?
>> Dne 26.3.2011 19:16, Saikat Kanjilal napsal(a):
>>> You can do all of these things using gremlin and pipes.  Check out
 github for more details.
>>> Sent from my iPhone
>>>
>>> On Mar 26, 2011, at 11:13 AM, Matěj Plch
 wrote:
 Hi, I have some graph and, part of it is a tree. I simple get root
>> of
 this tree through id. How to simple tranverse only tree under this
 root
 node? From root goes three unique type relationship to three unique
 group type nodes. Under this three nodes are a lot of nodes. And I
 need
 to write a method which gives me all nodes under that group node.
 Second question is if its possible ho to get from this group noe
>> with
 the highest id (last added).
 Matěj Plch

 ___
 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
>>
>
>
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] simple traverse of tree

2011-04-06 Thread Michael Hunger
sure


...
.evaluator(Evalutators.excludeStartPosition())
...

Cheers 

Michael

Am 06.04.2011 um 20:15 schrieb Matěj Plch:

> I had there an error... My fault. Your code is working fantastic. Thank 
> you so much. I hope the last question: is it possible to add some 
> parameter to exclude the start node?
> 
> Dne 6.4.2011 09:13, Mattias Persson napsal(a):
>> I'm not fully aware of your domain layout, but maybe add this:
>> 
>> .uniqueness( Uniqueness.RELATIONSHIP_GLOBAL )
>> 
>> to your traversal description. The default (NODE_GLOBAL) may end up "hiding"
>> some of your nodes depending on your graph layout.
>> 
>> 2011/4/5 Matěj Plch
>> 
>>> Well so lastRelationship() isnt the right one method I am looking for
>>> and I have to look for highest id manually.
>>> But I have problem that if I traverse in the way like Michael suggested:
>>>  Iterator  i =
>>> Traversal.description().relationships(RelationshipTypes.TICKET_QUEUE,
>>> Direction.BOTH).relationships(RelationshipTypes.TICKET_STATUS,
>>> Direction.BOTH).
>>> relationships(RelationshipTypes.TICKET_TIMETAKEN,
>>> Direction.BOTH).
>>> traverse(ticketNode).nodes().iterator();
>>> 
>>> The iterator gives me only 6 ancestors. But in Neoclipse I can see much
>>> more ancestor nodes which is right. Why this traverse gives me bad
>>> result? I need all nodes which are directly connected thought
>>> Relatioshiptypes TICKET_STATUS,TICKET_TIMETAKEN,TICKET_QUEUE with
>>> ticketNode...
>>> 
>>> Dne 4.4.2011 13:59, Mattias Persson napsal(a):
 2011/4/4 Matěj Plch
 
> Is it possible to use
> 
> *Path.lastRelationship*()
> 
> ?
> How does it take last Relationship? According to id, or how the graph is
> traversed?
> 
 It returns the last relationships in the current path, i.e. where the
 traverser is a.t.m. So it already has a reference to it and just returns
>>> it.
> Dne 26.3.2011 19:35, Michael Hunger napsal(a):
>> Sure, if the tree from your root node is just a cluster that is not
> connected anywhere else (with those 3 relationship-types) it should be
>>> as
> simple as.
>> (Just written from my head, so please check the correct syntax).
>> 
>> 
>>> Traversal.description().relationship(T1,OUTGOING).relationship(T2,OUTGOING).relationship(T3,OUTGOING).traverse(rootNode);
>> That returns an iterator of all paths going from your root node.
>> 
>> You can limit the nodes with .uniqueness() and then add the path's
> (path.nodes()) to a set to collect all nodes.
>> For getting the one with the highest id, you can use
> java.util.Collections.max(collection, new Comparator(){});
>> How big is your tree?
>> 
>> Something like that should be in Graph-Algo perhaps as "subgraph" or
> "tree".
>> HTH
>> 
>> Michael
>> 
>> Am 26.03.2011 um 19:26 schrieb Matěj Plch:
>> 
>>> Thank you for so fast answer.
>>> I will look at it. I have milestone tomorrow so dont have a lot of
>>> time=) and have never worked with Groovy.
>>> Well so there isnt any simple method how to do it in classic neo4j
>>> Java
> API?
>>> Dne 26.3.2011 19:16, Saikat Kanjilal napsal(a):
 You can do all of these things using gremlin and pipes.  Check out
> github for more details.
 Sent from my iPhone
 
 On Mar 26, 2011, at 11:13 AM, Matěj Plch
> wrote:
> Hi, I have some graph and, part of it is a tree. I simple get root
>>> of
> this tree through id. How to simple tranverse only tree under this
> root
> node? From root goes three unique type relationship to three unique
> group type nodes. Under this three nodes are a lot of nodes. And I
> need
> to write a method which gives me all nodes under that group node.
> Second question is if its possible ho to get from this group noe
>>> with
> the highest id (last added).
> Matěj Plch
> 
> ___
> 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] Loading quirky data into the graph

2011-04-06 Thread Jim Webber
Hi fellow graph-heads,

I'm writing a Neo4j tutorial with Ian Robinson, and although Neo4j is a joy to 
use (naturally!), we're coming up against all kinds of annoyances when loading 
data into the graph.

Our data set (based on the Doctor Who universe) contains overlapping entries, 
disjoint data, duplicates and so on. I'm thinking of just writing a fluent Java 
interface or a  DSL to handle the task of loading the graph, eg:


Node gallifrey = planet("Gallifrey");
Node tardis = vehicle("tardis");
Node theDoctor = 
character("Doctor").species(timelord).from(gallifrey).travelsIn(tardis);
Node earth = planet("Earth");
character("Rose Tyler").species(human).companionOf(theDoctor).from(earth)
...

Does anyone have better ideas?

Jim
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Loading quirky data into the graph

2011-04-06 Thread Michael Hunger
aka Nat Pryce's test data builders
perhaps also a textual DSL like graphviz' dot language
imho there are importers for that
or use Andreas' ruby stuff this seems to be pretty natural too

Cheers Michael

Sent from my iBrick4


Am 06.04.2011 um 23:22 schrieb Jim Webber :

> Hi fellow graph-heads,
> 
> I'm writing a Neo4j tutorial with Ian Robinson, and although Neo4j is a joy 
> to use (naturally!), we're coming up against all kinds of annoyances when 
> loading data into the graph.
> 
> Our data set (based on the Doctor Who universe) contains overlapping entries, 
> disjoint data, duplicates and so on. I'm thinking of just writing a fluent 
> Java interface or a  DSL to handle the task of loading the graph, eg:
> 
> 
> Node gallifrey = planet("Gallifrey");
> Node tardis = vehicle("tardis");
> Node theDoctor = 
> character("Doctor").species(timelord).from(gallifrey).travelsIn(tardis);
> Node earth = planet("Earth");
> character("Rose Tyler").species(human).companionOf(theDoctor).from(earth)
> ...
> 
> Does anyone have better ideas?
> 
> Jim
> ___
> 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] Loading quirky data into the graph

2011-04-06 Thread Peter Neubauer
https://github.com/andreasronge/neo4j

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 Wed, Apr 6, 2011 at 11:35 PM, Michael Hunger
 wrote:
> aka Nat Pryce's test data builders
> perhaps also a textual DSL like graphviz' dot language
> imho there are importers for that
> or use Andreas' ruby stuff this seems to be pretty natural too
>
> Cheers Michael
>
> Sent from my iBrick4
>
>
> Am 06.04.2011 um 23:22 schrieb Jim Webber :
>
>> Hi fellow graph-heads,
>>
>> I'm writing a Neo4j tutorial with Ian Robinson, and although Neo4j is a joy 
>> to use (naturally!), we're coming up against all kinds of annoyances when 
>> loading data into the graph.
>>
>> Our data set (based on the Doctor Who universe) contains overlapping 
>> entries, disjoint data, duplicates and so on. I'm thinking of just writing a 
>> fluent Java interface or a  DSL to handle the task of loading the graph, eg:
>>
>>
>> Node gallifrey = planet("Gallifrey");
>> Node tardis = vehicle("tardis");
>> Node theDoctor = 
>> character("Doctor").species(timelord).from(gallifrey).travelsIn(tardis);
>> Node earth = planet("Earth");
>> character("Rose Tyler").species(human).companionOf(theDoctor).from(earth)
>> ...
>>
>> Does anyone have better ideas?
>>
>> Jim
>> ___
>> 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] simple traverse of tree

2011-04-06 Thread Mattias Persson
Just as a note (and as the javadoc says) you can have multiple
evaluators in a traversal description.

2011/4/6 Michael Hunger :
> sure
>
>
> ...
> .evaluator(Evalutators.excludeStartPosition())
> ...
>
> Cheers
>
> Michael
>
> Am 06.04.2011 um 20:15 schrieb Matěj Plch:
>
>> I had there an error... My fault. Your code is working fantastic. Thank
>> you so much. I hope the last question: is it possible to add some
>> parameter to exclude the start node?
>>
>> Dne 6.4.2011 09:13, Mattias Persson napsal(a):
>>> I'm not fully aware of your domain layout, but maybe add this:
>>>
>>>     .uniqueness( Uniqueness.RELATIONSHIP_GLOBAL )
>>>
>>> to your traversal description. The default (NODE_GLOBAL) may end up "hiding"
>>> some of your nodes depending on your graph layout.
>>>
>>> 2011/4/5 Matěj Plch
>>>
 Well so lastRelationship() isnt the right one method I am looking for
 and I have to look for highest id manually.
 But I have problem that if I traverse in the way like Michael suggested:
              Iterator  i =
 Traversal.description().relationships(RelationshipTypes.TICKET_QUEUE,
 Direction.BOTH).relationships(RelationshipTypes.TICKET_STATUS,
 Direction.BOTH).
                 relationships(RelationshipTypes.TICKET_TIMETAKEN,
 Direction.BOTH).
                 traverse(ticketNode).nodes().iterator();

 The iterator gives me only 6 ancestors. But in Neoclipse I can see much
 more ancestor nodes which is right. Why this traverse gives me bad
 result? I need all nodes which are directly connected thought
 Relatioshiptypes TICKET_STATUS,TICKET_TIMETAKEN,TICKET_QUEUE with
 ticketNode...

 Dne 4.4.2011 13:59, Mattias Persson napsal(a):
> 2011/4/4 Matěj Plch
>
>> Is it possible to use
>>
>> *Path.lastRelationship*()
>>
>> ?
>> How does it take last Relationship? According to id, or how the graph is
>> traversed?
>>
> It returns the last relationships in the current path, i.e. where the
> traverser is a.t.m. So it already has a reference to it and just returns
 it.
>> Dne 26.3.2011 19:35, Michael Hunger napsal(a):
>>> Sure, if the tree from your root node is just a cluster that is not
>> connected anywhere else (with those 3 relationship-types) it should be
 as
>> simple as.
>>> (Just written from my head, so please check the correct syntax).
>>>
>>>
 Traversal.description().relationship(T1,OUTGOING).relationship(T2,OUTGOING).relationship(T3,OUTGOING).traverse(rootNode);
>>> That returns an iterator of all paths going from your root node.
>>>
>>> You can limit the nodes with .uniqueness() and then add the path's
>> (path.nodes()) to a set to collect all nodes.
>>> For getting the one with the highest id, you can use
>> java.util.Collections.max(collection, new Comparator(){});
>>> How big is your tree?
>>>
>>> Something like that should be in Graph-Algo perhaps as "subgraph" or
>> "tree".
>>> HTH
>>>
>>> Michael
>>>
>>> Am 26.03.2011 um 19:26 schrieb Matěj Plch:
>>>
 Thank you for so fast answer.
 I will look at it. I have milestone tomorrow so dont have a lot of
 time=) and have never worked with Groovy.
 Well so there isnt any simple method how to do it in classic neo4j
 Java
>> API?
 Dne 26.3.2011 19:16, Saikat Kanjilal napsal(a):
> You can do all of these things using gremlin and pipes.  Check out
>> github for more details.
> Sent from my iPhone
>
> On Mar 26, 2011, at 11:13 AM, Matěj Plch
>> wrote:
>> Hi, I have some graph and, part of it is a tree. I simple get root
 of
>> this tree through id. How to simple tranverse only tree under this
>> root
>> node? From root goes three unique type relationship to three unique
>> group type nodes. Under this three nodes are a lot of nodes. And I
>> need
>> to write a method which gives me all nodes under that group node.
>> Second question is if its possible ho to get from this group noe
 with
>> the highest id (last added).
>> Matěj Plch
>>
>> ___
>> 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] building from source

2011-04-06 Thread Will Holcomb
When building from source by running ./gradlew (under Ubuntu), it dies with
the following error:

* Where:
Build file '/home/will/tip/lib/neo4j/graphdb/build.gradle' line: 19

* What went wrong:
A problem occurred evaluating root project 'graphdb'.
Cause: Plugin with id 'idea' not found.


Upon commenting out the idea plugin, it dies with the error:

* Where:
Build file '/home/will/tip/lib/neo4j/graphdb/build.gradle' line: 24

* What went wrong:
A problem occurred evaluating root project 'graphdb'.
Cause: Could not find method mavenLocal() for arguments [] on resolver
container.


Once I downloaded the latest gradle from:
http://repo.gradle.org/gradle/distributions/ I could get through the default
task, but when I try the jar task it dies with 100 compilation errors.

/home/will/tip/lib/neo4j/graphdb/management/src/main/java/org/neo4j/management/Cache.java:24:
package org.neo4j.jmx does not exist
/home/will/tip/lib/neo4j/graphdb/management/src/main/java/org/neo4j/management/InstanceInfo.java:28:
package org.neo4j.helpers does not exist
/home/will/tip/lib/neo4j/graphdb/management/src/main/java/org/neo4j/management/Neo4jManager.java:50:
package org.neo4j.jmx.impl does not exist
/home/will/tip/lib/neo4j/graphdb/management/src/main/java/org/neo4j/management/Neo4jManager.java:51:
package org.neo4j.kernel does not exist

Maven will execute but there's no jar task. I looked a bit at the gradle
config, but didn't see any immediate solutions. Anyone have any suggestions?

-Will
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


[Neo4j] How to trim first couple nodes from path in traversal framework?

2011-04-06 Thread Brendan Cheng
Hi,

I would like to fetch a ending portion of a path where the timestamp
of the relationship match.  for example:

(Node 1)---<2pm>>(Node 3)---<3PM>--->(Node 4)<4PM>--->(Node 64)

from the above , I only want the subpath starting from Node 4 onward
for the timestamp greater than 3:30PM


How could I code evaluator to do it?

Thanks in advance,

Brendan
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Constructing an evaluator that only takes specific nodes from a path

2011-04-06 Thread Peter Neubauer
Dario,
I am not quite sure I understand what you mean by "drop" is that not
to include the path into the result or prune or something else? Do you
have a concrete example of this, maybe a simple toy graph test with
toy information?

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 Wed, Apr 6, 2011 at 6:35 PM, Dario Rexin  wrote:
> Hello,
>
> we are trying to construct an Evaluator that will select only one node from 
> the middle of a path and include it in the result. We do have a specific path 
> we are looking for and the endNode is stored in 'end'. Now what we would like 
> to do is have an Evaluator like this:
>
>          import org.neo4j.graphdb.traversal.
> Evaluator;
>
>          new Evaluator(){
>            @Override
>            public Evaluation evaluate(org.neo4j.graphdb.Path path) {
>                if(path.length() > 3) {
>                    return Evaluation.EXCLUDE_AND_PRUNE;
>                } else if (path.length() == 2) {
>                    return Evaluation.INCLUDE_AND_CONTINUE;
>                } else if (path.length() < 2){
>                    return Evaluation.EXCLUDE_AND_CONTINUE;
>                } else {
>                    return path.endNode().getId() == end.getId() ? 
> Evaluation.EXCLUDE_AND_PRUNE : Evaluation.DROP_PATH_AND_PRUNE;
>                }
>            }
>          }
>
> The decision on whether to accept or drop a path is based on wether we have 
> reached the endNode. That's why we would like to use something like 
> DROP_PATH_AND_PRUNE, which doesn't exist. What are we missing?
>
> Any help appreciated!
>
> Thanks,
> Stephan and Dario
> ___
> 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] building from source

2011-04-06 Thread Peter Neubauer
Willi,
the main build tool is maven, and we are in the middle of a major
reshuffling on GIT, so if you install maven.apache.org and try "mvn
clean install" that, things should work out better. Would that be an
option?

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, Apr 7, 2011 at 6:19 AM, Will Holcomb  wrote:
> When building from source by running ./gradlew (under Ubuntu), it dies with
> the following error:
>
> * Where:
> Build file '/home/will/tip/lib/neo4j/graphdb/build.gradle' line: 19
>
> * What went wrong:
> A problem occurred evaluating root project 'graphdb'.
> Cause: Plugin with id 'idea' not found.
>
>
> Upon commenting out the idea plugin, it dies with the error:
>
> * Where:
> Build file '/home/will/tip/lib/neo4j/graphdb/build.gradle' line: 24
>
> * What went wrong:
> A problem occurred evaluating root project 'graphdb'.
> Cause: Could not find method mavenLocal() for arguments [] on resolver
> container.
>
>
> Once I downloaded the latest gradle from:
> http://repo.gradle.org/gradle/distributions/ I could get through the default
> task, but when I try the jar task it dies with 100 compilation errors.
>
> /home/will/tip/lib/neo4j/graphdb/management/src/main/java/org/neo4j/management/Cache.java:24:
> package org.neo4j.jmx does not exist
> /home/will/tip/lib/neo4j/graphdb/management/src/main/java/org/neo4j/management/InstanceInfo.java:28:
> package org.neo4j.helpers does not exist
> /home/will/tip/lib/neo4j/graphdb/management/src/main/java/org/neo4j/management/Neo4jManager.java:50:
> package org.neo4j.jmx.impl does not exist
> /home/will/tip/lib/neo4j/graphdb/management/src/main/java/org/neo4j/management/Neo4jManager.java:51:
> package org.neo4j.kernel does not exist
>
> Maven will execute but there's no jar task. I looked a bit at the gradle
> config, but didn't see any immediate solutions. Anyone have any suggestions?
>
> -Will
> ___
> 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] How to trim first couple nodes from path in traversal framework?

2011-04-06 Thread Ville Mattila
Hi Brendan,

At least over REST API you could do something like this (untested code):

"return filter" : {
"language" : "javascript",
"body" : "position.length() > 0 &&
position.lastRelationship().hasProperty('timestamp') &&
position.lastRelationship().getProperty('timestamp') > '1530'"
}

About performance: if you need to do such a query very often, at least
I would do some indexing to make it possible to start the traversal as
close as possible. In general: find this kind of chronological,
timestamped data series better to be stored in MySQL or similar for
queries. Ok, Peter & other guys from Neo, please correct me. ;)

Ville


2011/4/7 Brendan Cheng :
> Hi,
>
> I would like to fetch a ending portion of a path where the timestamp
> of the relationship match.  for example:
>
> (Node 1)---<2pm>>(Node 3)---<3PM>--->(Node 4)<4PM>--->(Node 64)
>
> from the above , I only want the subpath starting from Node 4 onward
> for the timestamp greater than 3:30PM
>
>
> How could I code evaluator to do it?
>
> Thanks in advance,
>
> Brendan
> ___
> 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] CNFE in Neo4j Server

2011-04-06 Thread Peter Neubauer
Hi there,
trying to execute
https://github.com/peterneubauer/neo4j-gremlin-plugin/blob/master/src/test/org/neo4j/server/plugin/gremlin/GremlinPluginTest.java
as a JUnit test on Eclipse/Mac with default JDK, Saikat is getting the
following:


java.lang.ExceptionInInitializerError
   at org.neo4j.server.rest.repr.formats.JsonFormat.(JsonFormat.java:43)
   at 
org.neo4j.server.plugin.gremlin.GremlinPluginTest.setUpBeforeClass(GremlinPluginTest.java:37)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
   at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
   at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
   at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
   at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
   at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
   at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
   at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
   at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
   at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
   at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.RuntimeException:
java.lang.ClassNotFoundException:
com.sun.ws.rs.ext.RuntimeDelegateImpl
   at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:122)
   at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:91)
   at javax.ws.rs.core.MediaType.(MediaType.java:44)
   ... 17 more
Caused by: java.lang.ClassNotFoundException:
com.sun.ws.rs.ext.RuntimeDelegateImpl
   at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:169)
   at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:62)
   at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:155)
   at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:105)
   ... 19 more

Any clues on why there is a class missing?

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.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Constructing an evaluator that only takes specific nodes from a path

2011-04-06 Thread Dario Rexin
Hi Peter, yes that would be not to include the path in the result set. 



On 07.04.2011, at 07:01, "Peter Neubauer"  
wrote:

> Dario,
> I am not quite sure I understand what you mean by "drop" is that not
> to include the path into the result or prune or something else? Do you
> have a concrete example of this, maybe a simple toy graph test with
> toy information?
> 
> 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 Wed, Apr 6, 2011 at 6:35 PM, Dario Rexin  wrote:
>> Hello,
>> 
>> we are trying to construct an Evaluator that will select only one node from 
>> the middle of a path and include it in the result. We do have a specific 
>> path we are looking for and the endNode is stored in 'end'. Now what we 
>> would like to do is have an Evaluator like this:
>> 
>>  import org.neo4j.graphdb.traversal.
>> Evaluator;
>> 
>>  new Evaluator(){
>>@Override
>>public Evaluation evaluate(org.neo4j.graphdb.Path path) {
>>if(path.length() > 3) {
>>return Evaluation.EXCLUDE_AND_PRUNE;
>>} else if (path.length() == 2) {
>>return Evaluation.INCLUDE_AND_CONTINUE;
>>} else if (path.length() < 2){
>>return Evaluation.EXCLUDE_AND_CONTINUE;
>>} else {
>>return path.endNode().getId() == end.getId() ? 
>> Evaluation.EXCLUDE_AND_PRUNE : Evaluation.DROP_PATH_AND_PRUNE;
>>}
>>}
>>  }
>> 
>> The decision on whether to accept or drop a path is based on wether we have 
>> reached the endNode. That's why we would like to use something like 
>> DROP_PATH_AND_PRUNE, which doesn't exist. What are we missing?
>> 
>> Any help appreciated!
>> 
>> Thanks,
>> Stephan and Dario
>> ___
>> 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] CNFE in Neo4j Server

2011-04-06 Thread Tobias Ivarsson
The simplest explanation is probably the correct one: it is not on the
classpath.
This class is to be found in the jersey-server-1.3.jar is that jar on the
classpath? (or in jersey-client-1.3.jar, either will do)

The simplest way one might be fooled into not including it in the classpath
is due to there not being a compile-time dependency on it. the JAX-RS API
does not require an implementation for compiling, but at runtime you must
have a valid JAX-RS implementation available on the classpath. The default
implementation is the one defined by com.sun.ws.rs.ext.RuntimeDelegateImpl,
a class that jersey provides, being the reference implementation.

-tobias

On Thu, Apr 7, 2011 at 7:19 AM, Peter Neubauer <
peter.neuba...@neotechnology.com> wrote:

> Hi there,
> trying to execute
>
> https://github.com/peterneubauer/neo4j-gremlin-plugin/blob/master/src/test/org/neo4j/server/plugin/gremlin/GremlinPluginTest.java
> as a JUnit test on Eclipse/Mac with default JDK, Saikat is getting the
> following:
>
>
> java.lang.ExceptionInInitializerError
>   at
> org.neo4j.server.rest.repr.formats.JsonFormat.(JsonFormat.java:43)
>   at
> org.neo4j.server.plugin.gremlin.GremlinPluginTest.setUpBeforeClass(GremlinPluginTest.java:37)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>   at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>   at java.lang.reflect.Method.invoke(Method.java:597)
>   at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>   at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>   at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>   at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>   at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
>   at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>   at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>   at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>   at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>   at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: java.lang.RuntimeException:
> java.lang.ClassNotFoundException:
> com.sun.ws.rs.ext.RuntimeDelegateImpl
>   at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:122)
>   at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:91)
>   at javax.ws.rs.core.MediaType.(MediaType.java:44)
>   ... 17 more
> Caused by: java.lang.ClassNotFoundException:
> com.sun.ws.rs.ext.RuntimeDelegateImpl
>   at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>   at java.security.AccessController.doPrivileged(Native Method)
>   at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>   at java.lang.Class.forName0(Native Method)
>   at java.lang.Class.forName(Class.java:169)
>   at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:62)
>   at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:155)
>   at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:105)
>   ... 19 more
>
> Any clues on why there is a class missing?
>
> 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.
> ___
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>



-- 
Tobias Ivarsson 
Hacker, Neo Technology
www.neotechnology.com
Cellphone: +46 706 534857
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] CNFE in Neo4j Server

2011-04-06 Thread Saikat Kanjilal

Thanks Tobias, I dont believe I have this on my runtime classpath, I'll include 
it now.

> From: tobias.ivars...@neotechnology.com
> Date: Thu, 7 Apr 2011 08:06:51 +0200
> To: user@lists.neo4j.org
> Subject: Re: [Neo4j] CNFE in Neo4j Server
> 
> The simplest explanation is probably the correct one: it is not on the
> classpath.
> This class is to be found in the jersey-server-1.3.jar is that jar on the
> classpath? (or in jersey-client-1.3.jar, either will do)
> 
> The simplest way one might be fooled into not including it in the classpath
> is due to there not being a compile-time dependency on it. the JAX-RS API
> does not require an implementation for compiling, but at runtime you must
> have a valid JAX-RS implementation available on the classpath. The default
> implementation is the one defined by com.sun.ws.rs.ext.RuntimeDelegateImpl,
> a class that jersey provides, being the reference implementation.
> 
> -tobias
> 
> On Thu, Apr 7, 2011 at 7:19 AM, Peter Neubauer <
> peter.neuba...@neotechnology.com> wrote:
> 
> > Hi there,
> > trying to execute
> >
> > https://github.com/peterneubauer/neo4j-gremlin-plugin/blob/master/src/test/org/neo4j/server/plugin/gremlin/GremlinPluginTest.java
> > as a JUnit test on Eclipse/Mac with default JDK, Saikat is getting the
> > following:
> >
> >
> > java.lang.ExceptionInInitializerError
> >   at
> > org.neo4j.server.rest.repr.formats.JsonFormat.(JsonFormat.java:43)
> >   at
> > org.neo4j.server.plugin.gremlin.GremlinPluginTest.setUpBeforeClass(GremlinPluginTest.java:37)
> >   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >   at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >   at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >   at java.lang.reflect.Method.invoke(Method.java:597)
> >   at
> > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> >   at
> > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> >   at
> > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> >   at
> > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
> >   at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> >   at
> > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
> >   at
> > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> >   at
> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> >   at
> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> >   at
> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> >   at
> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> > Caused by: java.lang.RuntimeException:
> > java.lang.ClassNotFoundException:
> > com.sun.ws.rs.ext.RuntimeDelegateImpl
> >   at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:122)
> >   at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:91)
> >   at javax.ws.rs.core.MediaType.(MediaType.java:44)
> >   ... 17 more
> > Caused by: java.lang.ClassNotFoundException:
> > com.sun.ws.rs.ext.RuntimeDelegateImpl
> >   at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> >   at java.security.AccessController.doPrivileged(Native Method)
> >   at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> >   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> >   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> >   at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> >   at java.lang.Class.forName0(Native Method)
> >   at java.lang.Class.forName(Class.java:169)
> >   at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:62)
> >   at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:155)
> >   at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:105)
> >   ... 19 more
> >
> > Any clues on why there is a class missing?
> >
> > 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.
> > ___
> > Neo4j mailing list
> > User@lists.neo4j.org
> > https://lists.neo4j.org/mailman/listinfo/user
> >
> 
> 
> 
> -- 
> Tobias Ivarsson 
> Hacker, Neo Technology
> www.neotechnology.com
> Cellphone: +46 706 534857
> ___
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailma

Re: [Neo4j] Constructing an evaluator that only takes specific nodes from a path

2011-04-06 Thread Tobias Ivarsson
That would be EXCLUDE_AND_PRUNE.

On Thu, Apr 7, 2011 at 7:58 AM, Dario Rexin  wrote:

> Hi Peter, yes that would be not to include the path in the result set.
>
>
>
> On 07.04.2011, at 07:01, "Peter Neubauer" <
> peter.neuba...@neotechnology.com> wrote:
>
> > Dario,
> > I am not quite sure I understand what you mean by "drop" is that not
> > to include the path into the result or prune or something else? Do you
> > have a concrete example of this, maybe a simple toy graph test with
> > toy information?
> >
> > 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 Wed, Apr 6, 2011 at 6:35 PM, Dario Rexin 
> wrote:
> >> Hello,
> >>
> >> we are trying to construct an Evaluator that will select only one node
> from the middle of a path and include it in the result. We do have a
> specific path we are looking for and the endNode is stored in 'end'. Now
> what we would like to do is have an Evaluator like this:
> >>
> >>  import org.neo4j.graphdb.traversal.
> >> Evaluator;
> >>
> >>  new Evaluator(){
> >>@Override
> >>public Evaluation evaluate(org.neo4j.graphdb.Path path) {
> >>if(path.length() > 3) {
> >>return Evaluation.EXCLUDE_AND_PRUNE;
> >>} else if (path.length() == 2) {
> >>return Evaluation.INCLUDE_AND_CONTINUE;
> >>} else if (path.length() < 2){
> >>return Evaluation.EXCLUDE_AND_CONTINUE;
> >>} else {
> >>return path.endNode().getId() == end.getId() ?
> Evaluation.EXCLUDE_AND_PRUNE : Evaluation.DROP_PATH_AND_PRUNE;
> >>}
> >>}
> >>  }
> >>
> >> The decision on whether to accept or drop a path is based on wether we
> have reached the endNode. That's why we would like to use something like
> DROP_PATH_AND_PRUNE, which doesn't exist. What are we missing?
> >>
> >> Any help appreciated!
> >>
> >> Thanks,
> >> Stephan and Dario
> >> ___
> >> 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
>



-- 
Tobias Ivarsson 
Hacker, Neo Technology
www.neotechnology.com
Cellphone: +46 706 534857
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user