Database Reference
In-Depth Information
Table 1.
SELECT ?fn ?ln
WHERE {?u rdf:type ?c .
?c rdfs:label “User”@en .
?u sioc:first_name ?fn .
?u sioc:last_name ?ln}
SELECT ?fn ?ln
WHERE {?u rdf:type ?c .
?c rdfs:label “Utilisateur”@fr .
?u sioc:first_name ?fn .
?u sioc:last_name ?ln}
Requirement 4 (Ontology
Model Extensibility)
filters). The result is a new RDF graph constructed
by replacing variables in the CONSTRUCT clause
by values satisfying the WHERE clause. Thus,
each post created by Dupont is associated to the
class PostDupont in the resulting graph.
Thus, SPARQL fulfill partially requirement 2.
It can not be used to define non canonical concepts
but permits to compute their instances ( exten-
sion ). Notice that the CONSTRUCT query form
produces a new RDF graph. As a consequence
and contrary to views of databases, extensions
of non canonical concepts have to be recomputed
whenever extensions of corresponding canonical
concepts are modified (in our example, each time
a message is added or deleted by Dupont).
SPARQL does not provide a definition language
for ontology and thus we can not define the OWL
AllValuesFrom constructor (sample example).
However, since SPARQL has been designed for
RDF, it considers an OWL ontology as a set of
triples that use the OWL constructors defined
in the OWL namespace. Thus, it can be used
to query OWL ontologies but the semantics of
OWL constructors has to be coded in the query
interpreter.
Requirements 5 and 6
(Compatibility with the Traditional
Database Architecture)
Requirement 3 (Linguistic
exploitation)
Even if a SPARQL query has a form similar to an
SQL query (clauses SELECT-FROM-WHERE), it
is adapted to RDF (triples) querying and thus it is
different from SQL (requirement 5). In addition,
data schema is considered fixed (subject, predicate,
object) and thus SPARQL does not provide any
operator to modify it (requirement 6).
SPARQL is equipped with operators to manipu-
late string defined in different natural languages.
Example. Return the first name and last name of
users with a query written using English names of
concepts and one using French names (Table 1).
Explanation . The query written using English
(resp. French) names is on the left (resp. right)
part. The WHERE clause of this query retrieves
instances (?u) of a class (?c) whose name in
English (suffix @en) is User. The query written
in French is equivalent to this one. The suffix @
fr allow to use the French name of the class User
(“Utilisateur”).
Thus, SPARQL fulfil requirement 3. It provides
also other functions to manipulate multilingual
ontologies. For example, the lang function return
the natural language of a given string.
Requirement 7 (Ontology & Data
Definition and Manipulation)
Currently, SPARQL provides only a query lan-
guage; it is not equipped with a definition and
manipulation language (requirement 7). Thus,
definition and manipulation of data are consid-
ered external functionalities provided by the
data source. The need of a standard mechanism
to update data sources has been addressed in
Search WWH ::




Custom Search