For neo4j.graph-collections.list.List I suggest the following.
The graph collections List class is an implementation of the java.util.List
class, parameterized with Node, supporting all methods, except subList(int
start, int end).
Whenever nodes need to be stored as a list, the List class can be used,
guaranteeing the List contract is maintained.
package org.neo4j.collections.list;
import org.neo4j.collections.list.List;
import org.neo4j.graphdb.Node;
import org.neo4j.kernel.EmbeddedGraphDatabase;
import java.util.ArrayList;
import org.neo4j.graphdb.Transaction;
public class Demo {
public static void main(String[] args){
//create/load database
EmbeddedGraphDatabase graphDb = new EmbeddedGraphDatabase(
"var/db" );
Transaction tx = graphDb.beginTx();
//create node representing the list
Node indexNode = graphDb.createNode();
//create list
List list = new List( indexNode, graphDb );
//create nodes to be added to the list
Node node1 = graphDb.createNode();
Node node2 = graphDb.createNode();
Node node3 = graphDb.createNode();
Node node4 = graphDb.createNode();
//add nodes to the list one by one
list.add(node1);
list.add(node2);
list.add(node3);
list.add(node4);
//remove entries by index
list.remove(3);
list.remove(2);
//remove entries by node
list.remove(node2);
list.remove(node1);
//add a collection of nodes to the list
ArrayList<Node> al1 = new ArrayList<Node>();
al1.add(node1);
al1.add(node2);
al1.add(node3);
al1.add(node4);
list.addAll(al1);
//use the list in a for loop
for(Node n: list){
System.out.println(n);
}
//find first entry in the list containing a specific node
list.indexOf(node2);
//find last entry in the list containing a specific node
list.lastIndexOf(node2);
//retain a collection of nodes from the list
ArrayList<Node> al2 = new ArrayList<Node>();
al2.add(node1);
al2.add(node3);
al2.add(node4);
list.retainAll(al2);
//remove a collection of nodes from the list
ArrayList<Node> al3 = new ArrayList<Node>();
al2.add(node3);
al2.add(node4);
list.removeAll(al3);
//delete the list
list.delete();
tx.success();
tx.finish();
}
}
> From: [email protected]
> Date: Thu, 30 Jun 2011 17:49:46 +0200
> To: [email protected]
> Subject: Re: [Neo4j] graph-collections List class
>
> Guys,
> if you can write some illustrative test code for the different
> collections, I could undertake to put some documentation skeleton into
> place that can be merged into the main manual and look like
> http://docs.neo4j.org/chunked/snapshot/. To start with, we could have
> it separately though.
>
> WDYT?
>
> 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, Jun 30, 2011 at 5:28 PM, Niels Hoogeveen
> <[email protected]> wrote:
> >
> > Today I added a List class to the graph-collections repo:
> > https://github.com/peterneubauer/graph-collections/tree/master/src/main/java/org/neo4j/collections/list
> > The List class implements the java.util.List<Node> interface.
> > Niels
> > _______________________________________________
> > Neo4j mailing list
> > [email protected]
> > https://lists.neo4j.org/mailman/listinfo/user
> >
> _______________________________________________
> Neo4j mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user