Sunday, 15 May 2011

How to run graph algorithms on distributed graph database using Titan+Cassandra? -


I used Titan + Cassandra (Titan-Server-2.0.4) The distributed graph is about the record of graph call details of more than 4 machines.

I have 2 types of nodes - User nodes and call nodes. In the user nodes there is only one property "User ID". The call node includes 2 property-call timestamp (date and time) and the duration of the call. For each call, there are two edges of related pair of users included in the phone from call nodes. In the edges there are properties of latitude and longitude for the corresponding user.

I now have two questions:

  1. Looking at a specific user ID, "A" says, how do I find users that are "A" Is Called Within A Specific Period?

  2. To run graph algorithms like community recognition, what tools do I need? I came to the suggestion to use the furnace, but there was no document for the furnace.

  3. You denormalize the "call" head by placing the date / time on the edge You may want to consider adjusting your schema. This way you can take advantage of the top focused indicators and see the time of a fast query.

    To get an answer to your first query (I consider you to be disapproved and that date / time is stored on the shore for a long time), you can do it Are:

      GV ('user', 'A'). ('CallerA'). OutE.interval ('time', starttime, endtime) .inV.out.except ('callerA')  

    For algorithms, TinkerPop does not support such things in TinkerPop 2 - Furnaces Has not got any official release. We expect things that are coming closer to the GA in TinkerPop 3

    For now, you have to write your own too. There is a clustering algorithm in the furnace, which you should be able to adapt to your work - you can find it. If you take a look at the tests then you can see how it works.


No comments:

Post a Comment