SPARQL/OWL Task Force

From OWLED-Wiki

Jump to: navigation, search

Contents

Rationale

Given that the SPARQL query language is a W3C recommendation, that several OWL implementations use SPARQL syntax as a query langauge, that many users want a (standard) query language for OWL and expect to be able to use SPARQL to query OWL, and that, nominally, SPARQL is designed to be extensible to OWL, there should be an extension of SPARQL to query OWL.

Three goals:

  1. to cover what we "know" how to do
  2. to describe existing implementations
  3. to meet user desires with minimal "surprise" when transitioning from RDF(S)

Please check out the current draft spec.

Features

  • Arbitrary conjunctive queries
  • Syntactic higher orderness:
    • Property variables
    • TBox queries and mixed ABox/TBox queries
  • Sensible profiles
    • ABox query only
    • All distinguished variables
  • Specification using OWL1.1 functional syntax

Big Issues

Alternative syntaxes

E.g., for the XML and functional syntaxes?

Syntax for non-distinguished vars

Currently, in Pellet, BNodes in BGPs are non-distinguished variables; all query variables are distinguished, though they may be projected away. I.e.,

   SELECT ?x WHERE {?x loves _:x. _:x loves ?y}

has three variables (`?x`, `_:x`, and `?y`), `?x` and `?y` are distinguished (though `?y` is projected away) and `_:x` is non-distinguished.

This query is equivalent to retrieving the instances of the following concept (assuming that in your ABox that for every distinct name of an individual you add the type assertion that they are an instance of the dummy class :O):

   ObjectSomeValuesFrom(ObjectProperty(loves)  ObjectSomeValuesFrom(ObjectProperty(loves) OWLClass(O)))

BNodes

In data and in results.

Bibliography

Implementations

For brevity and clarity we only list implementations that cover a significant fraction of OWL, e.g., one of the named fragments (more than RDFS).

Query Engines

Name Sparql Syntax DL TBox Non-dist vars Property vars Algebra Comments
Pellet Yes OWL 1.1/SROIQ No Yes No Yes (via ARQ)
KAON2 Yes SHIQ No No No  ? DL safe rules might encode algebra
Racer No (nRQL, OWL-QL) SHIQ With special constructs No  ? UNION nRQL is rather expressive
QuOnto No (SQL, Datalog) DL-Lite No  ?  ?  ?

Clients

Name Type Notes
Protege 4 alpha Editor Oops, only DIG like queries
Protege/OWL 3.2 Editor May be tricky to get OWL semantics
Swoop Editor
TopBraid Composer Editor
Pellet demo Web demo Examples of non-dist vars
QuOnto demo Web demo Limited ontologies

People

Personal tools
External Resources