W3C home > Mailing lists > Public > www-rdf-interest@w3.org > May 2003

RE: Some RDQL questions

From: Seaborne, Andy <Andy_Seaborne@hplb.hpl.hp.com>
Date: Thu, 15 May 2003 17:41:23 +0100
Message-ID: <5E13A1874524D411A876006008CD059F06C2385A@0-mail-1.hpl.hp.com>
To: "'Alexander Jerusalem'" <ajeru@vknn.org>
Cc: "'www-rdf-interest@w3.org'" <www-rdf-interest@w3.org>

Alexander,

> * Is there any way to specify ordering like with the SQL order by clause?
> * Am I right to assume that there is no support for aggregate functions?

You are right - RDQL does not have the features to sort or process the
values returned from a query.  In Jnea, they are streamed back in the order
found and this may vary.  As RDF does not constrain the data, results can be
a mix of plain string, resources or datatyped literals.

>* Would it be possible to query for all resources that do not have a 
certain property?

Not really.  RDF does not express negation and the triple patterns matched
on the graph also do not allow tests for the absence of something.

>* If I think of a TriplePatternClause in terms of SQL joins, does it
> have inner or outer join semantics? For example if I say:
> 
> 
> SELECT ?lastname, ?email
> WHERE
>          (?r, <my:lastname>, ?lastname) ,
>          (?r, <my:email>, ?email)

Both property values must exist - it is a graph pattern to match against the
RDF graph.

> * Does RDQL mandate anything with respect to inference along 
> subPropertyOf/subClassOf lines or is this considered an implementation
detail?

The assumption is that inference happens in the triple interfgace to the
data being stored.  It is not a feature of the query language.


RDQL just looks a bit like SQL - it isn't SQL.  It is more about the
handling of the RDF than about handling after the values have been extracted
from the model.

	Andy

-----Original Message-----
From: Alexander Jerusalem [mailto:ajeru@vknn.org] 
Sent: 15 May 2003 12:00
To: www-rdf-interest@w3.org
Subject: Some RDQL questions



Hi,

I'm currently working on the (RDBMS based) storage backend of an OWL based 
knowledge/content management system. So I'm looking around what components 
are already there. I have come across RDQL but didn't find much in terms of 
documentation. I have looked at the BNF and the jena tutorial but some 
questions remain:

* Is there any way to specify ordering like with the SQL order by clause?

* Am I right to assume that there is no support for aggregate functions?

* Would it be possible to query for all resources that do not have a 
certain property?

* If I think of a TriplePatternClause in terms of SQL joins, does it have 
inner or outer join semantics? For example if I say:


SELECT ?lastname, ?email
WHERE
         (?r, <my:lastname>, ?lastname) ,
         (?r, <my:email>, ?email)

Will the lastname of ?r be included in the result set even if it has no 
email address? Can I change this behaviour whichever it may be?

* Does RDQL mandate anything with respect to inference along 
subPropertyOf/subClassOf lines or is this considered an implementation
detail?

Thanks in advance,

-Alexander 
Received on Thursday, 15 May 2003 12:43:08 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:59 GMT