Problem 8; 28-Jun-2000

XML: Foundations, Techniques, Applications; Summer 2000

Harold Boley; DFKI, Univ. Kaiserslautern


This is syntactically and semantically simplified RDF metadata about DFKI's homepage:
<rdf:RDF>
  <rdf:Description about="http://www.dfki.de">
    <name>DFKI</name>
    <founded>1988</founded>
    <field>AI</field>
    <campus rdf:resource="http://www.uni-kl.de"/>
    <campus rdf:resource="http://www.uni-saarland.de"/>
  </rdf:Description>
  <rdf:Description about="http://www.uni-kl.de">
    <name>Universitšt Kaiserslautern</name>
    <founded>1970</founded>
    <hosts rdf:resource="http://www.dfki.de"/>
  </rdf:Description>
  <rdf:Description about="http://www.uni-saarland.de">
    <name>Universitšt des Saarlandes</name>
    <founded>1948</founded>
    <hosts rdf:resource="http://www.dfki.de"/>
  </rdf:Description>
</rdf:RDF>

a) Is this markup a well-formed XML element (answer "yes" or "no")? Hint: A tag name or attribute name of the form prefix:name is a legal XML name.

b) Draw the directed labeled graph (DLG) that is the RDF diagram of the - possibly corrected - markup.

c) Which arcs of the DLG are represented as tags with content and which arcs are empty tags using attributes (indicate this directly in the RDF diagram with a "C" on content arcs and an "A" on attribute arcs). Give RDF's technical terms for the nodes that are targeted by the two kinds of arcs (fill in the blanks in the following sentences):

"Content arcs are targeting RDF l_______"
"Attribute arcs are targeting RDF r________"

d) If we remove all arc labels from such an RDF DLG, indicate whether we obtain one or more of the following (write "yes" or "no"):

Node-labeled tree:

DAG (directed acyclic graph):

Directed graph:

e) Give a set of Prolog facts representing the same DLG as the markup does.

f) Indicate the ways in which some or all of these Prolog facts are only special cases of Horn facts (give as many answers as possible from "some, yes", "all, yes", "some, no", "all, no"):

Ground facts (without variables as arguments):

Numeric facts (all arguments are numbers):

Binary facts (2-argument facts):

Datalog facts (without constructor terms as arguments):

Modal facts (make assertions about embedded propositions):