blank nodes can now be included in SeRQL queries using their Turtle notation, e.g.: _:node1
The verdict is out: blank nodes will be made queryable in SeRQL for practical reasons. As bnode identifiers are highly repository-specific, including them in queries will reduce their portability over different repositories. Such queries will no longer be "universal".
Likely syntax for bnodes will be the N-Triples/Turtle/N3-notation, e.g.: _:node1
This will require a change to the current SeRQL notation of abbreviated URIs such that "_" is no longer a legal namespace prefix.
The reason bnode IDs are not allowed in queries is that they are out of scope of the conceptual model of RDF. The whole point of a blank node is that it has no ID. Simply allowing bNode IDs in queries is no real solution because those IDs only have meaning in the current scope, and may change at any time (Sesame happens to give back the same node ID for a particular blank node every time you query for it, but strictly speaking this is not even required).
All conceptual snobbism aside though, I agree that some sort of feature to query around it might be practically useful. We will have to look into how best to do this though. Peter's FOAF usecase might be more robustly solved by adding query nesting functionality to SeRQL.
I second this. I need a way to get concise bounded descriptions for e.g. getting owl class information for my veudas browser. At present I can't get the bnode subtree for owl:restrictions..
a:myclass a owl:Class
rdfs:subClassOf [a owl:Restriction; owl:onProperty b:foo ..].
A better solution for me would be if sesame offered a way of fetching concise bounded descriptions.
Cheers,
Phil