[Neo4j] google n grams data set in neo4j

2011-11-27 Thread René Pickhardt
Hey Everyone,

I am curently advising two high school students for a programing project
for some german student competition.

They have inserted the German google n-gram data set several GB of natural
language to a neo4j data base and used this to make sentence prediction to
improve typing speed.

The entire project is far from being complete but there is some code
available on how we modelled n-grams in neo4j and what we used for
prediction

Both approaches very basic and as you would expect them. Still they already
work in a decent way showing again the power of neo4j.

We would be happy for some feedback thoghts and suggestions for further
improvement. Find more info in my blog post:
http://www.rene-pickhardt.de/download-google-n-gram-data-set-and-neo4j-source-code-for-storing-it/

or in the source code:
http://code.google.com/p/complet/source/browse/trunk/Completion_DataCollector/src/completion_datacollector/Main.java?spec=svn64r=64

by the way. even though the code is just hacked down it uses hashmaps to
store nodes in memory and increase inserting speed. and builds the lucene
index later. Of course it would be even better to use the batch inserter.

best regards René
-- 
--
mobile: +49 (0)176 6433 2481

Skype: +49 (0)6131 / 4958926

Skype: rene.pickhardt

www.rene-pickhardt.de
 http://www.beijing-china-blog.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Activity Streams and Twitter Sample App

2011-11-26 Thread René Pickhardt
@ qcon: I can't find the twitter videos on
http://qconlondon.com/london-2011/ rick could you please point to further
rescources?

@ aseem: I gave a detailed answer to your questions on
http://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-1295

but I think we have the same oppinion. The approach that you wrote down
here is exactly what my baseline STOU does. you have your friendship
relations as a (S)tar and the events as (T)emporal (O)rdered (U)pdeats ( =
STOU ) The merging traversal is the same in STOU and Graphity. The only
difference is that in STOU I have to sort the egonetwork O(d log d) where d
is infact the outdegree.

Once we understand this everything else is easy: You look at your kind of
application and decide what your ratio of read to write operations is. Once
reading happens far more frequently you better use graphity in the other
case your method seems more sufficiant.

What I have learnt from your comments that not only the ratio of reads to
writes is interesting but the distribution of outdegrees should be
considered when deciding which algorithm to use.. If the outdegree really
stays small your approach will be more efficiently.

@maxdemermazi:
performance with bigger k drops in both cases. retrieval with graphity is
O(k log k) where STOU is O(d log d + k log k) and for small k the d part is
just dominating. So what's happening here is that graphity will always be
faster since no sorting of the egonetwork is involved.
Besides. Why would you want to have such a big k. Even if your twitter
stream genereated that many updates when you come to the website you will
only get to see a small k of them and as soon as you scroll down you will
see the next k + l tweets...

@custom neo4j: well let's ask Peter if neotechnology will include support
to handle that many relationship types again to neo4j. I certainly would be
happy about that.

2011/11/22 maxdemarzi maxdema...@gmail.com

 A couple of things bothered me about Rene's approach.

 1. Custom Neo4j that could handle lots of relationship types.  Not 100%
 sure
 where this fits?
 2. Performance drops like a bomb when K (the number of items retrieved)
 increases.

 So it kind of works to get the top 15 items... A twitter stream could have
 500 items easy per update (on my iphone every few hours).



 --
 View this message in context:
 http://neo4j-community-discussions.438527.n3.nabble.com/Activity-Streams-and-Twitter-Sample-App-tp3477669p3526543.html
 Sent from the Neo4j Community Discussions mailing list archive at
 Nabble.com.
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




-- 
--
mobile: +49 (0)176 6433 2481

Skype: +49 (0)6131 / 4958926

Skype: rene.pickhardt

www.rene-pickhardt.de
 http://www.beijing-china-blog.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Open Data Sets?

2011-09-29 Thread René Pickhardt
I recently made a blog article on a data source for 119 network graphs.

http://www.rene-pickhardt.de/download-network-graph-data-sets-from-konect-the-koblenz-network-colection/

I also post new data sets in the dataset category of my blog:
http://www.rene-pickhardt.de/cat/data/data-sets/

Have fun. Soon i will make available a social network graph extracted from
wikipedia.
Am 29.09.2011 00:09 schrieb McKinley mckinley1...@gmail.com:
 I want to create some demos of relational database extraction into Neo4j
but
 I cannot share the data I use with the public. I know there are several
 resources for open data sets on the net, but has anyone on the list
already
 found a nice, large data set that you are happy with?

 Thanks,

 McKinley
 ___
 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] InvalidRecordException: Record[1983624] not in useRecord[1983624] not in use

2011-09-28 Thread René Pickhardt
hey everyone

I got a strange error message that a record is not in use if I call
hasRelationship() function even though I checked against null before! My
real purpose was to start the traverser but it exited with the same error
message. That is why I put the n.hasRelationship which also would not work.

I imported a graph with 50 mio. nodes and about the same size of
relationships. (though I am about to import more relationships later on) I
put 2 mio. nodes in a lucence index called article.

the counting variable t has the value 2385 (so the first 2385 calls work
fine) if I skip this node the same problem accoures again at t = 3239.

maybe it is usefull to say that I inserted the graph using the batch
inserter.

IndexHitsNode res = article.get(key, values[0]);
if (res!=null){
Node n = res.getSingle();
 if (n!=null){
if (n.hasRelationship(DynamicRelationshipType.withName( UPDATE ),
Direction.BOTH)){
 //n.traverse(Order.BREADTH_FIRST,StopEvaluator.DEPTH_ONE,
ReturnableEvaluator.ALL_BUT_START_NODE,DynamicRelationshipType.withName(
UPDATE ) );
 t++;
}
}

callstack:

org.neo4j.kernel.impl.nioneo.store.InvalidRecordException: Record[1983624]
not in useRecord[1983624] not in use

at
org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getRecord(RelationshipStore.java:230)
 at
org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getChainRecord(RelationshipStore.java:337)
at
org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:114)
 at
org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:97)
at
org.neo4j.kernel.impl.persistence.PersistenceManager.getMoreRelationships(PersistenceManager.java:108)
 at
org.neo4j.kernel.impl.core.NodeManager.getMoreRelationships(NodeManager.java:603)
at
org.neo4j.kernel.impl.core.NodeImpl.getMoreRelationships(NodeImpl.java:351)
 at
org.neo4j.kernel.impl.core.NodeImpl.loadInitialRelationships(NodeImpl.java:318)
at
org.neo4j.kernel.impl.core.NodeImpl.ensureRelationshipMapNotNull(NodeImpl.java:305)
 at
org.neo4j.kernel.impl.core.NodeImpl.getAllRelationshipsOfType(NodeImpl.java:156)
at org.neo4j.kernel.impl.core.NodeImpl.getRelationships(NodeImpl.java:236)
 at org.neo4j.kernel.impl.core.NodeImpl.hasRelationship(NodeImpl.java:576)
at org.neo4j.kernel.impl.core.NodeProxy.hasRelationship(NodeProxy.java:109)
 at IndexEvaluation.GenerateStreams(IndexEvaluation.java:124)
at IndexEvaluation.init(IndexEvaluation.java:98)
 at EntryPoint.main(EntryPoint.java:20)

-- 
--
mobile: +49 (0)176 6433 2481

Skype: +49 (0)6131 / 4958926

Skype: rene.pickhardt

www.rene-pickhardt.de
 http://www.beijing-china-blog.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] InvalidRecordException: Record[1983624] not in useRecord[1983624] not in use

2011-09-28 Thread René Pickhardt
Neo1.4.M04 community edition no self build.

2011/9/28 Mattias Persson matt...@neotechnology.com

 Which version of neo4j did you use to import your data, was it a
 downloadable package, from maven or building yourself from a branch?

 2011/9/28 René Pickhardt r.pickha...@googlemail.com

  hey everyone
 
  I got a strange error message that a record is not in use if I call
  hasRelationship() function even though I checked against null before! My
  real purpose was to start the traverser but it exited with the same error
  message. That is why I put the n.hasRelationship which also would not
 work.
 
  I imported a graph with 50 mio. nodes and about the same size of
  relationships. (though I am about to import more relationships later on)
 I
  put 2 mio. nodes in a lucence index called article.
 
  the counting variable t has the value 2385 (so the first 2385 calls work
  fine) if I skip this node the same problem accoures again at t = 3239.
 
  maybe it is usefull to say that I inserted the graph using the batch
  inserter.
 
  IndexHitsNode res = article.get(key, values[0]);
  if (res!=null){
  Node n = res.getSingle();
   if (n!=null){
  if (n.hasRelationship(DynamicRelationshipType.withName( UPDATE ),
  Direction.BOTH)){
   //n.traverse(Order.BREADTH_FIRST,StopEvaluator.DEPTH_ONE,
  ReturnableEvaluator.ALL_BUT_START_NODE,DynamicRelationshipType.withName(
  UPDATE ) );
   t++;
  }
  }
 
  callstack:
 
  org.neo4j.kernel.impl.nioneo.store.InvalidRecordException:
 Record[1983624]
  not in useRecord[1983624] not in use
 
  at
 
 
 org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getRecord(RelationshipStore.java:230)
   at
 
 
 org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getChainRecord(RelationshipStore.java:337)
  at
 
 
 org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:114)
   at
 
 
 org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:97)
  at
 
 
 org.neo4j.kernel.impl.persistence.PersistenceManager.getMoreRelationships(PersistenceManager.java:108)
   at
 
 
 org.neo4j.kernel.impl.core.NodeManager.getMoreRelationships(NodeManager.java:603)
  at
 
 org.neo4j.kernel.impl.core.NodeImpl.getMoreRelationships(NodeImpl.java:351)
   at
 
 
 org.neo4j.kernel.impl.core.NodeImpl.loadInitialRelationships(NodeImpl.java:318)
  at
 
 
 org.neo4j.kernel.impl.core.NodeImpl.ensureRelationshipMapNotNull(NodeImpl.java:305)
   at
 
 
 org.neo4j.kernel.impl.core.NodeImpl.getAllRelationshipsOfType(NodeImpl.java:156)
  at
 org.neo4j.kernel.impl.core.NodeImpl.getRelationships(NodeImpl.java:236)
   at
 org.neo4j.kernel.impl.core.NodeImpl.hasRelationship(NodeImpl.java:576)
  at
 org.neo4j.kernel.impl.core.NodeProxy.hasRelationship(NodeProxy.java:109)
   at IndexEvaluation.GenerateStreams(IndexEvaluation.java:124)
  at IndexEvaluation.init(IndexEvaluation.java:98)
   at EntryPoint.main(EntryPoint.java:20)
 
  --
  --
  mobile: +49 (0)176 6433 2481
 
  Skype: +49 (0)6131 / 4958926
 
  Skype: rene.pickhardt
 
  www.rene-pickhardt.de
   http://www.beijing-china-blog.com
  ___
  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




-- 
--
mobile: +49 (0)176 6433 2481

Skype: +49 (0)6131 / 4958926

Skype: rene.pickhardt

www.rene-pickhardt.de
 http://www.beijing-china-blog.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] InvalidRecordException: Record[1983624] not in useRecord[1983624] not in use

2011-09-28 Thread René Pickhardt
Hey guys,

I don't know how I found the old milestone. I was downloading it once I
started using neo4j.

I will just migrate to the current stable version and tell you afterwards if
I still have problems. by your comments I guess the problem will be solved.
Thanks so far!

best regards René

2011/9/28 Mattias Persson matt...@neotechnology.com

 I'm curious to know how you found that old milestone also :) you picked the
 one out of extremely few having some kind of data problems.

 Den onsdagen den 28:e september 2011 skrev Chris Gioran
 chris.gio...@neotechnology.com:
  Hi Rene,
 
  According to git log, 1,4.M04 was tagged 10/06/2011, while the fix for
  a bug in the BatchInserterImpl that caused corrupted stores which gave
  the message you are seeing is
 
 

 https://github.com/neo4j/community/commit/71fbe4ac1174fad16a7bb154c9f78d3f1b377248
 
  which has a date of 04/07/2011.
 
  This makes 1.4.M06 the earliest release to use that does not have this
  issue or, even better, go for 1.4.1 which is the latest stable
  release. Since you are comfortable using milestones, 1.5.M01 might be
  of interest to you.
 
  http://neo4j.org/download has the links that you need.
 
  hope that helped,
  CG
 
  2011/9/28 René Pickhardt r.pickha...@googlemail.com:
  Neo1.4.M04 community edition no self build.
 
  2011/9/28 Mattias Persson matt...@neotechnology.com
 
  Which version of neo4j did you use to import your data, was it a
  downloadable package, from maven or building yourself from a branch?
 
  2011/9/28 René Pickhardt r.pickha...@googlemail.com
 
   hey everyone
  
   I got a strange error message that a record is not in use if I call
   hasRelationship() function even though I checked against null before!
 My
   real purpose was to start the traverser but it exited with the same
 error
   message. That is why I put the n.hasRelationship which also would not
  work.
  
   I imported a graph with 50 mio. nodes and about the same size of
   relationships. (though I am about to import more relationships later
 on)
  I
   put 2 mio. nodes in a lucence index called article.
  
   the counting variable t has the value 2385 (so the first 2385 calls
 work
   fine) if I skip this node the same problem accoures again at t =
 3239.
  
   maybe it is usefull to say that I inserted the graph using the batch
   inserter.
  
   IndexHitsNode res = article.get(key, values[0]);
   if (res!=null){
   Node n = res.getSingle();
if (n!=null){
   if (n.hasRelationship(DynamicRelationshipType.withName( UPDATE ),
   Direction.BOTH)){
//n.traverse(Order.BREADTH_FIRST,StopEvaluator.DEPTH_ONE,
  
 ReturnableEvaluator.ALL_BUT_START_NODE,DynamicRelationshipType.withName(
   UPDATE ) );
t++;
   }
   }
  
   callstack:
  
   org.neo4j.kernel.impl.nioneo.store.InvalidRecordException:
  Record[1983624]
   not in useRecord[1983624] not in use
  
   at
  
  
 

 org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getRecord(RelationshipStore.java:230)
at
  
  
 

 org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getChainRecord(RelationshipStore.java:337)
   at
  
  
 

 org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:114)
at
  
  
 

 org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:97)
   at
  
  
 

 org.neo4j.kernel.impl.persistence.PersistenceManager.getMoreRelationships(PersistenceManager.java:108)
at
  
  
 

 org.neo4j.kernel.impl.core.NodeManager.getMoreRelationships(NodeManager.java:603)
   at
  
 
 org.neo4j.kernel.impl.core.NodeImpl.getMoreRelationships(NodeImpl.java:351)
at
  
  
 

 org.neo4j.kernel.impl.core.NodeImpl.loadInitialRelationships(NodeImpl.java:318)
   at
  
  
 

 org.neo4j.kernel.impl.core.NodeImpl.ensureRelationshipMapNotNull(NodeImpl.java:305)
at
  
  
 

 org.neo4j.kernel.impl.core.NodeImpl.getAllRelationshipsOfType(NodeImpl.java:156)
   at
  org.neo4j.kernel.impl.core.NodeImpl.getRelationships(NodeImpl.java:236)
at
  org.neo4j.kernel.impl.core.NodeImpl.hasRelationship(NodeImpl.java:576)
   at
 
 org.neo4j.kernel.impl.core.NodeProxy.hasRelationship(NodeProxy.java:109)
at IndexEvaluation.GenerateStreams(IndexEvaluation.java:124)
   at IndexEvaluation.init(IndexEvaluation.java:98)
at EntryPoint.main(EntryPoint.

 --
 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




-- 
--
mobile: +49 (0)176 6433 2481

Skype: +49 (0)6131 / 4958926

Skype: rene.pickhardt

www.rene-pickhardt.de
 http://www.beijing-china-blog.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] InvalidRecordException: Record[1983624] not in useRecord[1983624] not in use

2011-09-28 Thread René Pickhardt
I used the current stable release and the problem did not arise anymore but
I got new problems.

for many nodes even though (according to the data set they should have
relations) the
function  (n.hasRelationship(DynamicRelationshipType.withName( UPDATE ),
Direction.BOTH)) does not stop. It just seems to jump into an endless loop
;(

I don't think I made a mistake in the code for the batch inserter but i just
attached it. My insertion contains of two steps:

first I create many node in the graph and store them also in an index:
batchArticle. I do not query agains the index to check if a node with this
key already existed. But my keys are unique.

private void AddBatchNode(String key, String title){
MapString,Object properties = new HashMapString,Object();

properties.put( key, key );
properties.put( title, title );
 properties.put( timestamp, 1 );
long node = inserter.createNode( properties );

properties = MapUtil.map( key, key );
batchArticle.add( node, properties );
 }

then I attach many updates (also nodes encoded via timestamp) to every node
and connect them via a relationship.

private void BatchUpdate(String timestamp, String key) {
if (batchArticle.get(key, key).getSingle()!=null){
 long node = batchArticle.get(key, key).getSingle();
MapString,Object properties = new HashMapString,Object();
 properties.put( timestamp, timestamp );
 long ci = inserter.createNode( properties );

inserter.createRelationship( node, ci, DynamicRelationshipType.withName(
UPDATE ),null);
}
 }

the last step (i did not implement this) is to connect the nodes from the
first steps via friendship relations. But I wanted to do some testing
first...

anyone knows of this problem?

2011/9/28 Rick Bullotta rick.bullo...@thingworx.com

 Hi, René.

 I recognized your error almost immediately, since we encountered it in an
 early 1.4 beta. ;-)

 I think you'll have a good result if you can switch to the 1.4.1 release!

 Best,

 Rick

 -Original Message-
 From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org]
 On Behalf Of René Pickhardt
 Sent: Wednesday, September 28, 2011 10:29 AM
 To: Neo4j user discussions
 Subject: Re: [Neo4j] InvalidRecordException: Record[1983624] not in
 useRecord[1983624] not in use

 Hey guys,

 I don't know how I found the old milestone. I was downloading it once I
 started using neo4j.

 I will just migrate to the current stable version and tell you afterwards
 if
 I still have problems. by your comments I guess the problem will be solved.
 Thanks so far!

 best regards René

 2011/9/28 Mattias Persson matt...@neotechnology.com

  I'm curious to know how you found that old milestone also :) you picked
 the
  one out of extremely few having some kind of data problems.
 
  Den onsdagen den 28:e september 2011 skrev Chris Gioran
  chris.gio...@neotechnology.com:
   Hi Rene,
  
   According to git log, 1,4.M04 was tagged 10/06/2011, while the fix for
   a bug in the BatchInserterImpl that caused corrupted stores which gave
   the message you are seeing is
  
  
 
 
 https://github.com/neo4j/community/commit/71fbe4ac1174fad16a7bb154c9f78d3f1b377248
  
   which has a date of 04/07/2011.
  
   This makes 1.4.M06 the earliest release to use that does not have this
   issue or, even better, go for 1.4.1 which is the latest stable
   release. Since you are comfortable using milestones, 1.5.M01 might be
   of interest to you.
  
   http://neo4j.org/download has the links that you need.
  
   hope that helped,
   CG
  
   2011/9/28 René Pickhardt r.pickha...@googlemail.com:
   Neo1.4.M04 community edition no self build.
  
   2011/9/28 Mattias Persson matt...@neotechnology.com
  
   Which version of neo4j did you use to import your data, was it a
   downloadable package, from maven or building yourself from a branch?
  
   2011/9/28 René Pickhardt r.pickha...@googlemail.com
  
hey everyone
   
I got a strange error message that a record is not in use if I call
hasRelationship() function even though I checked against null
 before!
  My
real purpose was to start the traverser but it exited with the same
  error
message. That is why I put the n.hasRelationship which also would
 not
   work.
   
I imported a graph with 50 mio. nodes and about the same size of
relationships. (though I am about to import more relationships
 later
  on)
   I
put 2 mio. nodes in a lucence index called article.
   
the counting variable t has the value 2385 (so the first 2385 calls
  work
fine) if I skip this node the same problem accoures again at t =
  3239.
   
maybe it is usefull to say that I inserted the graph using the
 batch
inserter.
   
IndexHitsNode res = article.get(key, values[0]);
if (res!=null){
Node n = res.getSingle();
 if (n!=null){
if (n.hasRelationship(DynamicRelationshipType.withName( UPDATE ),
Direction.BOTH)){
 //n.traverse(Order.BREADTH_FIRST,StopEvaluator.DEPTH_ONE,
   
  ReturnableEvaluator.ALL_BUT_START_NODE

[Neo4j] Another test showing neo4j is 377 faster than MySQL for social newsstreams

2011-07-18 Thread René Pickhardt
Hello everyone,

I just added another post on my Blog showing how neo4j outperformed mySQL by
a factor of 377 for a social news stream application.

http://www.rene-pickhardt.de/time-lines-and-news-streams-neo4j-is-377-times-faster-than-mysql/

Feedback especially on my open questions about sorting of timelines and
graph design is very appreciated.

best regards René

-- 
--
mobile: +49 (0)176 6433 2481

Skype: +49 (0)6131 / 4958926

Skype: rene.pickhardt

www.rene-pickhardt.de
 http://www.beijing-china-blog.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] graph db as ontology

2011-06-29 Thread René Pickhardt
Just in case someone intends to give a private answer. I would also be very
interested in an answer to this question.

2011/6/29 Aliabbas Petiwala aliabba...@gmail.com

 the graph db can itself be viewed as an ontology because rdf for example is
 independent of syntax it just represents information model. so can  the
 petas teras of ontology classes in freebase, dbpedia etc  imported into the
 graph db?. how well it would scale compared to infinitegraph and orientdb
 --
 Aliabbas Petiwala
 M.Tech CSE
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




-- 
--
mobile: +49 (0)176 6433 2481

Skype: +49 (0)6131 / 4958926

Skype: rene.pickhardt

www.rene-pickhardt.de
 http://www.beijing-china-blog.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] New to graph databases

2011-06-29 Thread René Pickhardt
Hey Jim,

I would like to know why you suggest to make relations more explicit. In the
redisign of our social network we are exchanging our old mysql db to neo4j.

One part of our datamodel is for User Nodes.

In order to make better friend recommendations on the longterm we try to
store as many relations between usernodes as possible. We hope to be able to
predict strong ties.

Especially we have the following relationships between user nodes (and some
others...)

   - UserUserFriendrequest
   - UserUserFriend
   - UserUserMessage
   - UserUserProfilevisited



our goal was to have all those relations timestampt
the UserUserMessage Relation should also contain 2 Key / Value pairs.

   - (subject,any subject...)
   - (text,any text)

To me it seems that in your usecase with a special Mail-Node we cannot so
quickly spot a connection between two users. What are the disadvanteges of
our way to model it?

Thanks for your feedback!

Best Regards René


2011/6/27 Jim Webber j...@neotechnology.com

 Hi Stefan,

 These are good points, and I don't think we have yet reached a mature level
 of best practice as the relational folks have.  But I don't think graph
 modelling is too hard. I have a couple of rules of thumb:

 1. Model entities as entities and use relationships to describe how those
 entities are related, don't be tempted to do anything more than basic facts
 - the aggregate of all those basic facts is sophisticated knowledge.

 2. If you find your relationships have names like SENT_EMAIL_TO then you're
 missing an entity (in this case an email entity, naturally). So instead of

 Alice --SENT_EMAIL_TO--Bob
 Alice--CC_EMAIL_TO--Charles

 Use

 Alice--SENT--A specific email node
 Bob--TO--A specific email node
 Charles--CC--A specific email node

 That is, always look for places where you've hidden useful entities within
 relationships.

 FWIW Ian Robinson and I are doing the rounds doing a Neo4j tutorial that
 covers some of this kind of design material. Hop on one of those courses if
 you can. Otherwise the tutorial material is freely available here:
 https://github.com/jimwebber/neo4j-tutorial

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




-- 
--
mobile: +49 (0)176 6433 2481

Skype: +49 (0)6131 / 4958926

Skype: rene.pickhardt

www.rene-pickhardt.de
 http://www.beijing-china-blog.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Gwt + eclipse + Neo4j screencast + testings

2011-05-12 Thread René Pickhardt
Hey Thomas,

thank you for your advice! I was reading the discussion with John and
already aware of the fact that this is the way to go. I already implemented
it and of course it is running much faster (-:
I hope you don't mind if I include this peace of work in an upcomming
blogpost in which I will also share a very basic gwt + neo4j application.

greetz René

2011/5/12 Thomas Baum thomas.b...@neopersistence.com

 hej rene,

  Right now I would be happy about some best practices to design a software
  backend using neo4j. You know in MySQL it is kind of straight forward how
 to
  build software around the data base. In neo4j a new way of thinking
 starts.
  I haven't really looked for it yet. But i guess there won't be anything
 out
  there anyway.

 for a web-context it its is better start the embedded graph-db only once.
 in your screencast you will do this every request.

 please try using a context-listener to start / shutdown the embedded db in
 a clean way.
 so the access-times in the gwt-servlet will really rock!

 http://www.mail-archive.com/user@lists.neo4j.org/msg08350.html


 cheers
 /thomas



 
  I was a little confused that there was a wiki and the other docs but that
  didn't really bother me. most the time I use google to search for
 resources
  anyway.
 
  Best regards René
 
  2011/5/9 Peter Neubauer peter.neuba...@neotechnology.com
 
  Rene,
  if you don't mind asking - what are the most valuable docs for you? We
 are
  trying to migrate from the wiki.neo4j.org to the generated and tested
 code
  snippets and edited documentation at docs.neo4j.org - it would be great
 to
  see what users find valuable to keep improving on to get started with
  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.
 
 
  2011/5/9 René Pickhardt r.pickha...@googlemail.com
 
  Hey Peter,
 
  Since I want to redesign the backend of my social networking site for
 my
  PhD thesis and I am almost convinced that Neo4j is the way to go I will
  most
  certainly work with your graph data base over the next couple months
 and
  get
  to know it better. Since you guys made it open source (great!) I will
 try
  to
  give something back by continuing to blog about it.
 
  Once I get to know neo4j better and really start migrating my current
  data
  base to it and running the social networking site with neo4j as a
 backend
  I
  am sure to be able to give you guys more valuable feedback. Besides
 many
  questions which I can only solve by reading the docs I am satisfied
 right
  now.
 
  In my very own interest I wish you guys good luck with neo4j and of
  course
  many paying customers (-:
 
  best regards
 
  René
 
 
  2011/5/9 Peter Neubauer peter.neuba...@neotechnology.com
 
  You rock it Rene!
 
  Nice summary - please let us know how we can make your experience even
  more
  smooth and what you you think should be there for you to have an even
  better
  experience?
 
  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.
 
 
  2011/5/9 René Pickhardt r.pickha...@googlemail.com
 
  Hey everyone,
 
  Peter asked me to post this to the list.  So here you go:
 
  Screencast explaining how to set up neo4j in eclipse and GWT:
 
  http://www.rene-pickhardt.de/how-to-combine-neo4j-with-gwt-and-eclipse/
 
  A short blog article with a sum up of my first testing on using neo4j
  on
  the
  friendship graph (and some other edges between users)  from the
 social
  networking site I run (~300'000 Edges):
  http://www.rene-pickhardt.de/neo4j-graph-database-vs-mysql/
 
  Thanks to neotechnology for providing such a great tool!
 
  Regards René
 
  --
  **www.twitter.com/renepickhardt
 
  Skype: rene.pickhardt
 
  www.rene-pickhardt.de
  http://www.beijing-china-blog.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
 
 
 
 
  --
  *Das Debütalbum meiner Band IN LEGEND erscheint am 20.5.2010!
 
  Video gucken http://www.youtube.com/watch?v=aLesGMA0-rM und bei
 AMAZON
  vorbestellen http://goo.gl/3H0Fm (Danke

[Neo4j] Gwt + eclipse + Neo4j screencast + testings

2011-05-09 Thread René Pickhardt
Hey everyone,

Peter asked me to post this to the list.  So here you go:

Screencast explaining how to set up neo4j in eclipse and GWT:
http://www.rene-pickhardt.de/how-to-combine-neo4j-with-gwt-and-eclipse/

A short blog article with a sum up of my first testing on using neo4j on the
friendship graph (and some other edges between users)  from the social
networking site I run (~300'000 Edges):
http://www.rene-pickhardt.de/neo4j-graph-database-vs-mysql/

Thanks to neotechnology for providing such a great tool!

Regards René

-- 
**www.twitter.com/renepickhardt

Skype: rene.pickhardt

www.rene-pickhardt.de
 http://www.beijing-china-blog.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Gwt + eclipse + Neo4j screencast + testings

2011-05-09 Thread René Pickhardt
I was very happy about http://neo4j.org/get?file=neo4j-manual-stable.pdf. I
hate reading on a computer screen and the possability to print it out was
really helpful. Anyway it gave me a nice overview on what is possible with
neo4j.

As said before I think I can give you better Feedback once I really start
implementing a live system because then I will need to work with your docs
much more intensive.

Right now I would be happy about some best practices to design a software
backend using neo4j. You know in MySQL it is kind of straight forward how to
build software around the data base. In neo4j a new way of thinking starts.
I haven't really looked for it yet. But i guess there won't be anything out
there anyway.

I was a little confused that there was a wiki and the other docs but that
didn't really bother me. most the time I use google to search for resources
anyway.

Best regards René

2011/5/9 Peter Neubauer peter.neuba...@neotechnology.com

 Rene,
 if you don't mind asking - what are the most valuable docs for you? We are
 trying to migrate from the wiki.neo4j.org to the generated and tested code
 snippets and edited documentation at docs.neo4j.org - it would be great to
 see what users find valuable to keep improving on to get started with
 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.


 2011/5/9 René Pickhardt r.pickha...@googlemail.com

  Hey Peter,
 
  Since I want to redesign the backend of my social networking site for my
  PhD thesis and I am almost convinced that Neo4j is the way to go I will
 most
  certainly work with your graph data base over the next couple months and
 get
  to know it better. Since you guys made it open source (great!) I will try
 to
  give something back by continuing to blog about it.
 
  Once I get to know neo4j better and really start migrating my current
 data
  base to it and running the social networking site with neo4j as a backend
 I
  am sure to be able to give you guys more valuable feedback. Besides many
  questions which I can only solve by reading the docs I am satisfied right
  now.
 
  In my very own interest I wish you guys good luck with neo4j and of
 course
  many paying customers (-:
 
  best regards
 
  René
 
 
  2011/5/9 Peter Neubauer peter.neuba...@neotechnology.com
 
  You rock it Rene!
 
  Nice summary - please let us know how we can make your experience even
  more
  smooth and what you you think should be there for you to have an even
  better
  experience?
 
  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.
 
 
  2011/5/9 René Pickhardt r.pickha...@googlemail.com
 
   Hey everyone,
  
   Peter asked me to post this to the list.  So here you go:
  
   Screencast explaining how to set up neo4j in eclipse and GWT:
  
 http://www.rene-pickhardt.de/how-to-combine-neo4j-with-gwt-and-eclipse/
  
   A short blog article with a sum up of my first testing on using neo4j
 on
   the
   friendship graph (and some other edges between users)  from the social
   networking site I run (~300'000 Edges):
   http://www.rene-pickhardt.de/neo4j-graph-database-vs-mysql/
  
   Thanks to neotechnology for providing such a great tool!
  
   Regards René
  
   --
   **www.twitter.com/renepickhardt
  
   Skype: rene.pickhardt
  
   www.rene-pickhardt.de
http://www.beijing-china-blog.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
 
 
 
 
  --
  *Das Debütalbum meiner Band IN LEGEND erscheint am 20.5.2010!
 
  Video gucken http://www.youtube.com/watch?v=aLesGMA0-rM und bei AMAZON
  vorbestellen http://goo.gl/3H0Fm (Danke!) *
 
  --
 
  mobile: +49 (0)176 6433 2481
 
  Skype: +49 (0)6131 / 4958926
 
  Skype: rene.pickhardt
 
  www.rene-pickhardt.de
   http://www.beijing-china-blog.com
 
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




-- 
*Das Debütalbum meiner Band IN LEGEND erscheint am 20.5.2010!

Video gucken http://www.youtube.com/watch?v=aLesGMA0-rM und bei AMAZON

[Neo4j] inlcuding neo4j as an embedded Graphdatabase to a GWT project in eclipse

2011-05-03 Thread René Pickhardt
Hey there,

I am totaly new to Neo4j and I got it running in Eclipse using Maven and I
was very impressed by its speed on traversing my data sets. I am planning to
use neo4j as the core technology for the relaunch of my so far mysql based
social network which builds the foundation of my PhD thesis.

But for the last hours I tried to get neo4j running in GWT without maven and
I failed all the time.

I included the neo4j libs in the buildpath. When I want to create an
GraphDatabase Service object like this

GraphDatabaseService graphDb = new EmbeddedGraphDatabase( var/graphdb );

Eclipse tells me to include the proper packages so I added:

import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.kernel.EmbeddedGraphDatabase;

now I can compile and run the project. Unfortunatly the function call to the
function in which I create graphDB does not work.

After some googleing I figured out that I have to include the classes to the
MyProjectsName.gwt.xml file which i did by adding:

inherits name='org.neo4j.graphdb.GraphDatabaseService' /
inherits name='org.neo4j.kernel.EmbeddedGraphDatabase' /

to the xml files.

but now the Project won't even compile I receive the following error
message:

...
de.metalcon.connectneo4j.Connectneo4j
  Loading inherited module 'org.neo4j.graphdb.GraphDatabaseService'
 [ERROR] Unable to find
'org/neo4j/graphdb/GraphDatabaseService.gwt.xml' on your classpath; could be
a typo, or maybe you forgot to include a classpath entry for source?
  [ERROR] Line 5: Unexpected exception while processing element
'inherits'
...

from what i understand this is kind of obvious. neo4j wasn't compiled with
GWT in mind. Also i am thinking that it doesn't make sense to compile all
the neo4j libs to client side javascript with GWT. The neo4j calls should
all be serversided anyway.

Has anyone experience with GWT, eclipse and neo4j and knows how this issue
can be resolved?

the only other way I see is to use neo4j as a standalone server and acess it
using the REST api in GWT but I am not to happy about this solution.

Thanks a lot!

best regards René



-- 
*Das Debütalbum meiner Band IN LEGEND erscheint am 20.5.2010!

Video gucken http://www.youtube.com/watch?v=aLesGMA0-rM und bei AMAZON
vorbestellen http://goo.gl/3H0Fm (Danke!) *

--

mobile: +49 (0)176 6433 2481

Skype: +49 (0)6131 / 4958926
Skype: rene.pickhardt

www.rene-pickhardt.de
 http://www.beijing-china-blog.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user