I did some experimentation with graphing SMW networks in the past and one of the things that held me up is some conceptual difficulties I was having around mechanisms for accessing data in network graphs in the SMW framework.

The current query functionality in SMW is good for returning a constrained set of triples based on the query criteria which might include a constraint on the node set of subjects (usually in the form of members of a category). For the purposes of directly graphing a basic network graph this works OK but for anything more you sort of want to be able to recursively follow transitive relationships, or even follow relationships backwards, and for the purposes of generating a tree view of a network it is not really helpful. My solution then was to ask for a starting set of nodes, and a set of property relationships you want to follow and the depth you want to go to and walk the graph. This sort of works but is a bit inflexible, and my implementation was not optimal :-).

So in the course of something else I was looking at the api for neo4j (http://neo4j.org/) and the traverser interface there. This lets you specify a start point and some rules around when and how to continue a graph traversal, and returns a tree object of a network based on the walk of the network. It seems to me to be an important query mechanism for any resource network graph like SMW, which is fairly distinct from the SPARQL like #ask approach. I was wondering whether there are other uses for a SMW traverser and whether there is any appetite for implementing that kind of functionality in the SMW framework?