Re: Semantic Web Phase 2 Activity - Protocol - Query Language

Leo Sauermann wrote:
[...]
> If you query
> (?x foaf:firstname ?y) (?x foaf:image ?z)
> 
> I want to retrieve something like:
> x: http://gnowsis.com/leo
> y: "Leo"
> z: http://gnowsis.com/pictures/leo.jpg 
> 
> or
> 
> x: http://gnowsis.com/leo
> y: "Leo"
> z: null
> 
> but with today's RDQL this is more complicated:
> if there is no <foaf:image> triple for leo, you don't get any data at
> all.
> :-0
> AND THAT IS A PROBLEM, if you have ever programmed RDQL, thats the first
> thing you curse.
> because you can't retrieve a set of properties, you have to formulate
> queries for every single property, its just lame.

The SeRQL query language supports this kind of thing since the latest
release of Sesame[1]. It allows you to flag specific path expressions as
optional. A SeRQL query for the situation described above would be:

select x, y, z
from {x} <foaf:firstname> {y};
         [<foaf:image> {z}]

With the square brackets indicating an optional path expression.

For more info, see the SeRQL query language description at:
http://sesame.aidministrator.nl/publications/SeRQLmanual.html

Is this the type of thing that you are looking for?

Cheers,

Arjohn Kampman

[1] http://sourceforge.net/projects/sesame/

-- 
arjohn.kampman@aduna.biz
Aduna B.V. (formerly known as aidministrator) - http://www.aduna.biz/
prinses julianaplein 14-b, 3817 cs amersfoort, the netherlands
tel. +31-(0)33-4659987  fax. +31-(0)33-4659987

Received on Wednesday, 12 November 2003 10:44:46 UTC