OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

search-ws message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Relationship of CQL to SPARQL/SQL?


One thing I wanted to bring up here was whether there should (or could) be
some kind of scoping note (either within the spec as an informational annex)
or somewhere else readily accessible (website?, paper?) that would relate
CQL to other well-known query initiatives - specifically SPARQL and SQL.

This message (dated 2008-04-10, and cc'ed below for convenience) from
MacKenzie Smith which quotes Rob Sanderson


seems to provide a good starting point.

I, for one, could really do with some help in clarifying the role that CQL
has to play in searching bib records in a world that is now increasingly
atomizing to the datum level (cf. recent releases of data.gov.uk and earlier
data.gov) and is turning towards semantic solutions (SPARQL) as the ne plus
ultra having relied previously upon the relational model (SQL).

Are bib records really that different from data? Some kind of document to
set the context for the current work could be really helpful. Maybe its just
the level of granularity supported by bib apps that makes them qualitatively
different? And then besides bib vs data, there's also bib vs bib, e.g. How
does CQL stack up against Lucene/SOLR, etc?

Does that make any sense?



Hi Kjetil,

I took the liberty of asking Rob Sanderson from the SRU technical
committee about this,
and here are his comments:

"The CQL <--> SPARQL Mapping question has come up (quite a while ago now)
and more commonly CQL <--> SQL.

The main challenge in any CQL <--> SPARQL mapping is the different
things which the languages consider atomic.  SPARQL works at the rdf
triple level, whereas CQL assumes that there is some record or item
which contains information.  Normally you would want to model items as a
[named] graph of triples, so there's some discrepancy in what the
queries should return.

In CQL <--> SQL it's a similar problem, in that the result of an SQL
query is a table not zero or more items, but it's easier to turn a table
into XML than a set of RDF triples.

Secondly, CQL doesn't have the concept of variables, as there aren't
relationships to follow.  So while in SPARQL you can do clever things
like 'find all authors who have co-authored with someone who has written
a book that has "information" in the title', in CQL the context of each
sub-query isn't carried over to the rest of the query.

A mapping would at least require some definition of what an 'item' (or
'record') is from the matching graph. In the named graph world view this
is easier, as the trivial mapping would be record == named graph, but in
the all-triples-stand-alone view, it becomes rather arbitrary."

Rob is happy to give this more thought if there's interest, and he can
be found at
[email hidden]


DISCLAIMER: This e-mail is confidential and should not be used by anyone who is
not the original intended recipient. If you have received this e-mail in error
please inform the sender and delete it from your mailbox or any other storage
mechanism. Neither Macmillan Publishers Limited nor any of its agents accept
liability for any statements made which are clearly the sender's own and not
expressly made on behalf of Macmillan Publishers Limited or one of its agents.
Please note that neither Macmillan Publishers Limited nor any of its agents
accept any responsibility for viruses that may be contained in this e-mail or
its attachments and it is your responsibility to scan the e-mail and 
attachments (if any). No contracts may be concluded on behalf of Macmillan 
Publishers Limited or its agents by means of e-mail communication. Macmillan 
Publishers Limited Registered in England and Wales with registered number 785998 
Registered Office Brunel Road, Houndmills, Basingstoke RG21 6XS   

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]