History | Log In     View a printable version of the current page. Get help!  
Issue Details [XML]

Key: SES-40
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Arjohn Kampman
Reporter: Peter Mika
Votes: 0
Watchers: 1

If you were logged in you would be able to see more operations.

Support for bNodes in SeRQL

Created: 29/Apr/04 04:57 PM   Updated: 17/Jun/05 10:16 AM
Component/s: SeRQL
Affects Version/s: 1.0, 1.0.1
Fix Version/s: 1.2

SeRQL seems to miss any support for querying bNodes. No mentioning is made of bNodes in the SeRQL manual at http://www.openrdf.org/publications/users/ch05.html

I've tried using bNode IDs in SeRQL queries in place of URIs (with the <!__> syntax), but the query parser returns an error on that vague attempt.

This feature is very important when a query returns a bNode (e.g. a foaf:Person) and another query needs to be formulated to get some other property of that bNode (e.g. its <foaf:name>).

 All   Comments   Change History      Sort Order:
Comment by Phil Dawes [04/May/04 02:45 PM]
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.



Comment by Jeen Broekstra [26/May/04 11:28 AM]
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.

Change by Jeen Broekstra [26/May/04 11:29 AM]
Field Original Value New Value
Priority Critical [ 2 ] Major [ 3 ]
Affects Version/s 1.0.1 [ 10020 ]
Affects Version/s 1.0 [ 10002 ]

Comment by Arjohn Kampman [13/Jun/05 01:14 PM]
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.

Change by Arjohn Kampman [13/Jun/05 01:14 PM]
Field Original Value New Value
Assignee Arjohn Kampman [ arjohn ]
Fix Version/s 1.2 [ 10031 ]

Comment by Arjohn Kampman [14/Jun/05 04:12 PM]
blank nodes can now be included in SeRQL queries using their Turtle notation, e.g.: _:node1

Change by Arjohn Kampman [14/Jun/05 04:12 PM]
Field Original Value New Value
Resolution Fixed [ 1 ]
Status Open [ 1 ] Resolved [ 5 ]

Change by Jeen Broekstra [17/Jun/05 10:16 AM]
Field Original Value New Value
Status Resolved [ 5 ] Closed [ 6 ]