Re: [foaf-dev] Tinkerpop
Paul Houle <paul-y/[email protected]>
| Newsgroups | gmane.comp.web.rdfweb |
|---|---|
| Message-ID | <[email protected]> |
On 5/10/2011 6:00 AM, [email protected] wrote: > Interesting. > > I think this may be different to RDF Graphs in that you can annotate > the edges. I saw A knows B (since=2007) in one slide. You cant > easily do that in RDF without reification. > > So that makes it more a "network" than a "graph". (Similar to a > Geometry vs a Topology) > > There's a whole other field of problem you can solve with this > technology, e.g. travelling salesman, Dijkstra's algorithm etc. > Tinkerpop looks pretty cool but my immediate reaction is that the flexibility of accessing different graph stores through an A.P.I. means that it's not really scalable. My take is that neo4j and friends have a hard time dealing with the DBpedia graph never mind Freebase or anything bigger. Not all algorithms on graphs will parallelize, but I'd be much more impressed with some kind of system that can do parallel traversals that are spread out on a set of database nodes. Without something like that, Tinkerpop is syntactic sugar for algorithms that aren't that hard to code in straight Java, PHP or whatever you do. That said, I've been interested lately in running network analysis algorithms on semantic graphs. One of the first things that comes up is that you have to put some kind of weights on the edges to increase the dynamic range of the metrics you get. For instance, if you want to estimate relatedness by the number of edges that separate two nodes and you've got a graph with "six degrees of separation" you have a very small number of discrete distance values, and the fact that some nodes are going to end up close by accident dooms the enterprise, unless you've got some way to characterize the strength of relatedness, in which case you might find errors get averaged out.