Database Reference
In-Depth Information
model used. But RVL provides constructors
to create new classes and properties and RUL
can be used to insert new instances. Example.
Create the class User of our example and add
some instances.
data. Example . Return all instances of Resource
with the classes it belongs to.
SELECT U $C
FROM $C{U}
WHERE C <= sioc:Resource
VIEW Class(“User”)<Resource>
Property(“first_name”, User,
xsd:string)
Property(“susbscriber_of”,
User, Forum)
INSERT User(&http://www.lisi.ensma.
fr/Dupont)
INSERT first_name (&http://www.
lisi.ensma.fr/Dupont, “patrick”)
Explanation . The basic path expression $C{U}
of the FROM clause introduces a variable U that
denotes direct instances of a class $C (variables for
classes are prefixed by $ in RQL). The WHERE
clause adds a condition to retrieve only direct in-
stances of Resource or of a subclass of Resource.
Finally, the SELECT clause projects the URI of
instances and classes.
In this section, we have discussed capabili-
ties of Semantic Web query languages w.r.t. the
defined requirements. In next section, we study
other languages that have been designed to keep
some degree of compatibility with traditional
databases.
Explanation . The constructor Class takes only
one parameter: the URI of the class to define (for
readability we use only the name User). This class
is defined as a subclass of Resource (operator
<>). Its properties are defined with the Property
constructor. It takes three parameters: URI, domain
and range of the property to define. The language
RUL is then used to insert one instance of the
class User. The operation INSERT is first used to
define the URI of the instance and then to define
its properties values (we define only value of the
property first_name).
As this example shows, the RVL language is
not a complete data definition language. It can
only be used to create classes with a URI and
properties with a URI, their domain and range.
Other characteristics of classes and properties
(e.g., names in different natural languages) can
not be specified. On the other hand, RUL provides
a complete set of operations (INSERT-MODIFY-
DELETE) to manipulate data.
ANALYSIS OF DATABASE-
ORIENTED ONTOLOGY
QUERY LANGUAGES
Several languages have been defined specifi-
cally for exploiting ontologies stored in databases
such as Oracle extension to SQL (Chong et al.,
2005; Wu et al., 2008), OntoQL (Jean et al.,
2006), SOQA-QL (Ziegler et al., 2005) or CQL
(Mizoguchi-Shimogori et al., 2002). In this section
we discuss the most recent and active approaches
i.e., Oracle extension to SQL and the OntoQL
exploitation language.
Oracle Extension to SQL
Requirement 8 (Queries
on Ontologies and on
Ontologies and Data)
The main objective of Oracle (Chong et al., 2005;
Wu et al., 2008) was to provide efficient RDF data
querying capabilities that integrate smoothly with
SQL queries. The proposed solution is a SQL table
function to query RDF data.
RQL is equipped with powerful path expressions
that make it possible to query both ontologies and
Search WWH ::




Custom Search