4.2 The Resource Description Framework 67
- Open vs. closed worlds.When evaluating queries it is important to know
whether the database is complete or “closed.” Whether based on the re-
lational model or on XML, databases differ markedly from RDF in this
regard: RDF is open while databases are closed.
RDF refers to relationships asproperties, which includes both attributes and
the relationships specified using striping. When a property has a simple data
value, one can use either an attribute or a child element to express it. Both of
these have the same meaning in RDF, while they have very different mean-
ings in XML. When one is designing a DTD or schema, it is necessary to make
a choice about how relationships will be expressed. The question of whether
one should use an attribute or a child element is one of the most common de-
cisions one must make. Some DTDs, such as the one for Medline, primarily
use child elements. Other DTDs, such as CML, prefer to use attributes. RDF
eliminates the need for this choice.
The mathematical model that defines the semantics of RDF is a graph
(W3C 2004a), consisting of nodes and links, much like the one used by XML
infosets. However, RDF graphs can be arbitrary graphs, while XML infos-
ets are strictly hierarchical, starting from the root. In addition, as mentioned
before, all RDF links are labeled, while XML infosets only label the attribute
links. An RDF node is a resource, and an RDF link is labeled by a prop-
erty. Resources are classified using RDF classes, and every resource is an
instance of at least one RDF class. Classes can be related to one another
by the RDF property namedrdfs:subClassOf. When an RDF class is a
subclass of another, then the instances of the subclass are automatically also
instances of the other class. ThesubClassOfrelationship defines the class
hierarchy of an RDF ontology. Properties can be related to one another by
rdfs:subPropertyOf, and it has a similar meaning tosubClassOf,but
it is much less commonly used.
Classes and properties are the fundamental organizational entities of RDF.
Consider the first part of the example in figure 1.14: