Thank you Peter.

On Tue, Aug 30, 2011 at 2:05 PM, Peter Neubauer <
peter.neuba...@neotechnology.com> wrote:

> Reza,
> will try to execute this on a Windows machine, just need to dig up one ...
>
> 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 Tue, Aug 30, 2011 at 11:32 AM, Reza Ameri <rz.am...@gmail.com> wrote:
>
> > Great!
> > I have Dell Vostro 1510,
> > Processor Intel core2Due 2500 (2CPUs)
> > 3.00 GB of Ram
> > OS: Vista Home Premium
> > jvm Java(TM) 6 Update 18
> >
> >
> >
> > On Tue, Aug 30, 2011 at 1:51 PM, Peter Neubauer <pe...@neubauer.se>
> wrote:
> >
> > > Reza,
> > > just executed your code on my MacBook Pro with Neo4j 1.4 from inside
> > > Eclipse
> > > with default settings, got
> > >
> > > Check Point: 0
> > >
> > > Check Point: 1000000
> > >
> > > Check Point: 2000000
> > >
> > > Check Point: 3000000
> > >
> > > Check Point: 4000000
> > >
> > > Check Point: 5000000
> > >
> > > Check Point: 6000000
> > >
> > > Check Point: 7000000
> > >
> > > Check Point: 8000000
> > >
> > > Check Point: 9000000
> > >
> > >
> > > and it took 198s. Not sure what is the problem here, what are you
> running
> > > on
> > > in terms of OS and JVM?
> > >
> > >
> > > /peter
> > >
> > > On Tue, Aug 30, 2011 at 11:10 AM, Reza Ameri <rz.am...@gmail.com>
> wrote:
> > >
> > > > Thank you for your quick answer, my Neo4j version is 1.4. I did
> nothing
> > > > except the code you can see.
> > > > I'm trying to learn more about neo4j :)
> > > >
> > > >
> > > > On Tue, Aug 30, 2011 at 1:31 PM, Peter Neubauer <
> > > > peter.neuba...@neotechnology.com> wrote:
> > > >
> > > > > Hi there,
> > > > > what is your Neo4j version and did you set any special JVM flags or
> > > > > neo4j.properties?
> > > > >
> > > > > 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 Tue, Aug 30, 2011 at 10:57 AM, Reza Ameri <rz.am...@gmail.com>
> > > wrote:
> > > > >
> > > > > > Hi,
> > > > > > I've written the code below to create 10M nodes, without any
> > > relations.
> > > > > > But,
> > > > > > it has memory exception that couldn't solve. would you please
> help
> > > me.
> > > > > >
> > > > > > Also I want to show this graph visually. I used Gremlin and Jung
> to
> > > > view
> > > > > > the
> > > > > > graph, but it either did not work even for 1M nodes! Any Idea
> About
> > > > this
> > > > > > one?
> > > > > >
> > > > > > Thank you :)
> > > > > >
> > > > > > Code of BatchInserter:
> > > > > >
> > > > > >
> > > > > > public void batchInsertor(String graphPath)
> > > > > > {
> > > > > > BatchInserter inserter = null;
> > > > > > BatchInserterIndexProvider indexProvider = null;
> > > > > > BatchInserterIndex index = null;
> > > > > > try{
> > > > > > inserter = new BatchInserterImpl(graphPath);
> > > > > > indexProvider = new LuceneBatchInserterIndexProvider( inserter );
> > > > > > index = indexProvider.nodeIndex( "index", MapUtil.stringMap(
> > "type",
> > > > > > "exact"
> > > > > > ) );
> > > > > >  for(int i=0; i<10000000; i++)
> > > > > > {
> > > > > > index.setCacheCapacity("name", 100000 );
> > > > > > Map<String, Object> properties = MapUtil.map( "name",
> > > > String.valueOf(i));
> > > > > > long node = inserter.createNode(properties);
> > > > > > index.add( node, properties );
> > > > > > if(i%1000000 == 0)
> > > > > > {
> > > > > > System.out.println("Check Point: " + i);
> > > > > > }
> > > > > > }
> > > > > >  indexProvider.shutdown();
> > > > > > inserter.shutdown();
> > > > > > }
> > > > > > finally{
> > > > > > indexProvider.shutdown();
> > > > > > inserter.shutdown();
> > > > > > }
> > > > > > }
> > > > > >
> > > > > >
> > > > > > Error:
> > > > > >
> > > > > > Exception in thread "main" java.lang.IllegalStateException: this
> > > writer
> > > > > hit
> > > > > > an OutOfMemoryError; cannot flush
> > > > > > at
> > > > > >
> > > > >
> > > >
> > >
> >
> org.apache.lucene.index.IndexWriter.doFlushInternal(IndexWriter.java:3521)
> > > > > > at
> > org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3509)
> > > > > > at
> org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3500)
> > > > > > at
> > > org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:2271)
> > > > > > at
> > > org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:2249)
> > > > > > at
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> org.neo4j.index.impl.lucene.LuceneBatchInserterIndex.closeWriter(LuceneBatchInserterIndex.java:275)
> > > > > > at
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> org.neo4j.index.impl.lucene.LuceneBatchInserterIndex.shutdown(LuceneBatchInserterIndex.java:350)
> > > > > > at
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> org.neo4j.index.impl.lucene.LuceneBatchInserterIndexProvider.shutdown(LuceneBatchInserterIndexProvider.java:144)
> > > > > >
> > > > > >
> > > > > >
> > > > > > Code of Visualization:
> > > > > >
> > > > > > public JPanel showBatchInserted(String graphPath)
> > > > > > {
> > > > > > neo = new Neo4jGraph(graphPath);
> > > > > > JPanel graphPanel=new JPanel();
> > > > > > GraphJung g = new GraphJung(neo);
> > > > > > Layout<Vertex, Edge> layout = new CircleLayout<Vertex,Edge>(g);
> > > > > > layout.setSize(new Dimension(1500,1000));
> > > > > > viz = new VisualizationViewer<Vertex, Edge>(layout);
> > > > > > viz.setBackground(Color.WHITE);
> > > > > > viz.setAutoscrolls(true);
> > > > > > viz.setName("visualizationViewer");
> > > > > > viz.setSize(new Dimension(1500,1000));
> > > > > > AnnotatingGraphMousePlugin<Vertex, Edge> an=new
> > > > > > AnnotatingGraphMousePlugin<Vertex, Edge>(viz.getRenderContext());
> > > > > > AnnotatingModalGraphMouse<Vertex,Edge> gm =  new
> > > > > > AnnotatingModalGraphMouse<Vertex,Edge>(viz.getRenderContext(),
> > > > > > an);
> > > > > >
> > > > > > gm.setMode(ModalGraphMouse.Mode.PICKING);
> > > > > > viz.setGraphMouse(gm);
> > > > > > JMenuBar menuBar = new JMenuBar();
> > > > > > JMenu modeMenu = gm.getModeMenu();
> > > > > > modeMenu.setText("Mouse Mode");
> > > > > > modeMenu.setIcon(null);
> > > > > > modeMenu.setPreferredSize(new Dimension(80,20));
> > > > > > menuBar.add(modeMenu,BorderLayout.NORTH);
> > > > > >
> > > > > > GraphZoomScrollPane graphScroll=new GraphZoomScrollPane(viz);
> > > > > > graphScroll.add(menuBar,BorderLayout.NORTH);
> > > > > > graphScroll.add(viz,BorderLayout.CENTER);
> > > > > > graphScroll.setName("graphScroll");
> > > > > > graphPanel.add(graphScroll,BorderLayout.CENTER);
> > > > > >
> > > > > >
> > > > > > Transformer<Vertex,Paint> vertexPaint = new
> > > Transformer<Vertex,Paint>()
> > > > {
> > > > > > public Paint transform(Vertex i) {
> > > > > > return Color.RED;
> > > > > > }
> > > > > > };
> > > > > > Transformer<Vertex,Icon> vertexIcon = new
> > Transformer<Vertex,Icon>()
> > > {
> > > > > > public Icon transform(Vertex i) {
> > > > > > ImageIcon icon=new ImageIcon("icon/icon.png");
> > > > > > return icon;
> > > > > > }
> > > > > > };
> > > > > > float dash[] = {0.1f};
> > > > > > final Stroke edgeStroke = new BasicStroke(1.0f,
> > BasicStroke.CAP_BUTT,
> > > > > > BasicStroke.JOIN_MITER, 10.0f, dash, 5.0f);
> > > > > > Transformer<Edge, Stroke> edgeStrokeTransformer =
> > > > > > new Transformer<Edge, Stroke>() {
> > > > > > public Stroke transform(Edge s) {
> > > > > > return edgeStroke;
> > > > > > }
> > > > > > };
> > > > > >
> > > > > > Transformer<Edge,Paint> edgePaint = new Transformer<Edge,Paint>()
> {
> > > > > >
> > > > > > public Paint transform(Edge arg0) {
> > > > > > // TODO Auto-generated method stub
> > > > > > return Color.BLUE;
> > > > > > }
> > > > > > };
> > > > > > Transformer<Edge, Paint> arrowColor=new Transformer<Edge,
> Paint>()
> > {
> > > > > >
> > > > > > @Override
> > > > > > public Paint transform(Edge arg0) {
> > > > > > // TODO Auto-generated method stub
> > > > > > return Color.BLUE;
> > > > > > }
> > > > > > };;;
> > > > > > Transformer<Edge, Paint> arrowDraw=new Transformer<Edge, Paint>()
> {
> > > > > >
> > > > > > @Override
> > > > > > public Paint transform(Edge arg0) {
> > > > > > // TODO Auto-generated method stub
> > > > > > return Color.BLUE;
> > > > > > }
> > > > > > };;;
> > > > > > Transformer<Edge, Font> fontEdge=new Transformer<Edge, Font>() {
> > > > > >
> > > > > > @Override
> > > > > > public Font transform(Edge arg0) {
> > > > > > Font temp=new Font(Font.MONOSPACED,Font.ITALIC, 12);
> > > > > > return temp;
> > > > > > }
> > > > > > };;;
> > > > > > Transformer<Vertex, Font> font=new Transformer<Vertex, Font>() {
> > > > > >
> > > > > > @Override
> > > > > > public Font transform(Vertex arg0) {
> > > > > > // TODO Auto-generated method stub
> > > > > > Font temp=new Font(Font.MONOSPACED,Font.ITALIC, 12);
> > > > > >
> > > > > > return temp;
> > > > > > }
> > > > > > };;;
> > > > > > Transformer<Vertex, String> vertexLabelTransformer = new
> > > > > > Transformer<Vertex,
> > > > > > String>() {
> > > > > > public String transform(Vertex vertex) {
> > > > > > return (String) vertex.getProperty(PROPERTY_NODE_NAME);
> > > > > > }
> > > > > > };
> > > > > > Transformer<Edge, String> edgeLabelTransformer = new
> > > Transformer<Edge,
> > > > > > String>() {
> > > > > > public String transform(Edge edge) {
> > > > > > return
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> edge.getProperty(PROPERTY_EDGE_TYPE)+",cost="+String.valueOf(edge.getProperty(PROPERTY_EDGE_COST))+",time="+String.valueOf(edge.getProperty(PROPERTY_EDGE_TIME));//edge.getLabel()
> > > > > > ;
> > > > > > }
> > > > > > };
> > > > > >
> > viz.getRenderContext().setEdgeLabelTransformer(edgeLabelTransformer);
> > > > > >
> > > >
> > viz.getRenderContext().setVertexLabelTransformer(vertexLabelTransformer);
> > > > > > viz.getRenderContext().setEdgeDrawPaintTransformer(edgePaint);
> > > > > > viz.getRenderContext().setVertexIconTransformer(vertexIcon);
> > > > > >
> viz.getRenderContext().setVertexFillPaintTransformer(vertexPaint);
> > > > > >
> > > viz.getRenderContext().setEdgeStrokeTransformer(edgeStrokeTransformer);
> > > > > >
> viz.getRenderer().getVertexLabelRenderer().setPosition(Position.N);
> > > > > > viz.getRenderContext().setArrowFillPaintTransformer(arrowColor);
> > > > > > viz.getRenderContext().setArrowDrawPaintTransformer(arrowDraw);
> > > > > > viz.getRenderContext().setVertexFontTransformer(font);
> > > > > > viz.getRenderContext().setEdgeFontTransformer(fontEdge);
> > > > > >  return graphPanel;
> > > > > > }
> > > > > > _______________________________________________
> > > > > > 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

Reply via email to