Database Reference
In-Depth Information
9.3 Related Data Model
9.3.1 RDF Query Languages
RDF [ 27 ] is a knowledge representation language dedicated to the annotation of
documents and more generally of resources within the framework of the Semantic
Web. By definition, an RDF graph [ 28 ] is a set of RDF triples. An RDF triple is a
triple s
, where I, B , and L are sets that represent
(IRIs), Blank nodes, and Literals, respectively). In this triple, s is the subject, p the
predicate, and o the object.
RDF models information with a graph-like structure, where basic notions of
graph theory such as node, edge, path, neighborhood, connectivity, distance, and
degree play a central role. RDF has been used for presenting communities and
social networks (e.g., FOAF 1 and RELATIONSHIP 2 ). RDF can be a good support
to model social networks, although its query languages do not offer an efficient
support to query this kind of data. Indeed, several languages for querying RDF
documents have been proposed, some in the tradition of database query languages
(i.e., SQL, OQL): RQL [ 29 ], SeRQL [ 30 ], RDQL [ 31 ], and SPARQL [ 42 ].
Others more closely inspired by rule languages: Triple [ 32 ], Versa, 3 N3, and
RxPath. 4 The currently available query languages for RDF support a wide variety of
operations. However, several important features are not well supported or not even
supported at all. RDF query languages support only querying for patterns of paths,
which are limited in length and form. Nevertheless, RDF allows the representation
of irregular and incomplete information (e.g., the use of blank node). Of the original
approach, only Versa and SeRQL provide a built-in means of dealing with incomplete
information. For example, the SeRQL language provides so-called optional path
expressions (denoted by square brackets) to match paths whose presence is irregular.
Usually, such optional path expressions can be simulated, if a language provides set
union and negation. Others work on RDF query languages to try to extend the original
languages to improve path expressiveness. For example, Alkhateeb et al. [ 33 ] allow
an RDF knowledge base to be queried using graph patterns whose predicates
are regular expressions. In RDF Path, 5 N3 and Graph Path, 6 they try to use
specifications similar to those in XPATH to query paths in RDF. Moreover,
RDF query languages are not well adapted to query paths of unknown length or
which include multiple propriety on RDF graph. Neighborhood retrieval cannot
be performed well for languages that do not have a union operator. Many of the
ð
;
p
;
o
Þ ð
I
[
B
Þ
I
ð
I
[
B
[
L
Þ
1
http://www.foaf-project.org/
2
http://vocab.org/relationship/.html
3
http://wiki.xml3k.org/Versa
4
http://rx4rdf.liminalzone.org/RxPathSpec
5
http://infomesh.net/2003/rdfpath
6 http://www.langdale.com.au/GraphPath/
Search WWH ::




Custom Search