Sunday, December 14, 2008

Blatt 6

1.
Verwendung von http://dbpedia.org/snorql/

a)

SELECT ?abstract WHERE {
:Albert_Einstein dbpedia2:abstract ?abstract .
FILTER (lang(?abstract) = 'de')
}

abstract
"Albert Einstein (* 14. März 1879 in Ulm; † 18. April 1955 in Princeton, USA) war ein [...] verstand er sich selbst als Pazifist, Sozialist und Zionist."


SELECT ?person WHERE {
:Albert_Einstein dbpedia2:doctoralStudents ?person.
}

[no results]


SELECT ?person WHERE {
:Albert_Einstein dbpedia2:almaMater ?uni.
?person dbpedia2:almaMater ?uni.
FILTER (?person != :Albert_Einstein)
}

person
[...]


erste Variante:

SELECT DISTINCT ?person WHERE {
{
:Albert_Einstein dbpedia2:almaMater ?uni.
?person dbpedia2:almaMater ?uni.
FILTER (?person != :Albert_Einstein)
?person <http://dbpedia.org/ontology/award> :Nobel_Prize_in_Physics.
}
UNION
{
:Albert_Einstein dbpedia2:almaMater ?uni.
?person dbpedia2:almaMater ?uni.
FILTER (?person != :Albert_Einstein)
?person dbpedia2:awards :Nobel_Prize_in_Physics.
}
UNION
{
:Albert_Einstein dbpedia2:almaMater ?uni.
?person dbpedia2:almaMater ?uni.
FILTER (?person != :Albert_Einstein)
?person dbpedia2:prizes :Nobel_Prize_in_Physics.
}
}

person
:Charles_%C3%89douard_Guillaume


zweite Variante:

SELECT DISTINCT ?person WHERE {
:Albert_Einstein dbpedia2:almaMater ?uni.
?person dbpedia2:almaMater ?uni.
FILTER (?person != :Albert_Einstein)
?person skos:subject <http://dbpedia.org/resource/Category:Nobel_laureates_in_Physics>.
}

person
:Charles_%C3%89douard_Guillaume
:Wilhelm_Conrad_R%C3%B6ntgen


b)

SELECT ?person WHERE {
:Star_Trek dbpedia2:origin ?origin.
?origin dbpedia2:starring ?person.
}

person
:DeForest_Kelley
:George_Takei
:James_Doohan
:Leonard_Nimoy
:Nichelle_Nichols
:Walter_Koenig
:William_Shatner


SELECT DISTINCT ?series WHERE {
:Star_Trek dbpedia2:origin ?origin.
?origin dbpedia2:starring ?person.
?series dbpedia2:starring ?person.
FILTER (?series != ?origin)
}

series
[...]


SELECT DISTINCT ?series WHERE {
:Star_Trek dbpedia2:origin ?origin.
?origin dbpedia2:starring ?person.
?series dbpedia2:starring ?person.
FILTER (?series != ?origin)
?series <http://dbpedia.org/ontology/releaseDate> ?date.
FILTER (xsd:date(?date) > xsd:date("1990-12-31"))
}

series
[...]


c)

SELECT ?name ?birth ?death WHERE {
?person dbpedia2:occupation :Scientist.
?person dbpedia2:name ?name.
?person <http://dbpedia.org/ontology/birthdate> ?birth.
?person <http://dbpedia.org/ontology/deathdate> ?death.
}

name birth death
[...]


SELECT ?name WHERE {
{
?person dbpedia2:occupation :Scientist.
?person dbpedia2:name ?name.
?person <http://dbpedia.org/ontology/birthdate> ?birth.
?person <http://dbpedia.org/ontology/deathdate> ?death.
?person <http://dbpedia.org/ontology/deathplace> :Berlin.
FILTER (xsd:date(?death) < xsd:date("1950-01-01"))
}
UNION
{
?person dbpedia2:occupation :Scientist.
?person dbpedia2:name ?name.
?person dbpedia2:dateOfBirth ?birth.
?person dbpedia2:dateOfDeath ?death.
?person dbpedia2:deathPlace :Berlin.
FILTER (xsd:date(?death) < xsd:date("1950-01-01"))
}
}

[no results]


d)

SELECT ?person WHERE {
?person dbpedia2:pseudonym ?pseudonym.
OPTIONAL { ?person dbpedia2:dateOfDeath ?date }.
FILTER (!bound(?date))
OPTIONAL { ?person dbpedia2:deathDate ?date2 }.
FILTER (!bound(?date2))
OPTIONAL { ?person dbpedia2:deathPlace ?place }.
FILTER (!bound(?place))
OPTIONAL { ?person <http://dbpedia.org/ontology/deathdate> ?date3 }.
FILTER (!bound(?date3))
OPTIONAL { ?person <http://dbpedia.org/ontology/deathplace> ?place2 }.
FILTER (!bound(?place2))
}

person
[...]


2.

a)

PREFIX ex: <http://example.org/>
SELECT ?objekt WHERE {
{
ex:Sonne ex:satellit ?objekt.
}
UNION
{
ex:Sonne ex:satellit ?satellit.
?satellit ex:satellit ?objekt.
}
}


b)

PREFIX ex: <http://example.org/>
SELECT ?objekt ?oberobjekt WHERE {
?objekt ex:radius ?radius.
FILTER (?radius * ?radius * ?radius * 4 / 3 > 20000000000)
?oberobjekt ex:satellit ?objekt.
}


c)

PREFIX ex: <http://example.org/>
SELECT ?objekt WHERE {
?objekt ex:name ?name.
FILTER (lang(?name) = 'en')
?oberobjekt ex:satellit ?objekt.
?oberobjekt ex:radius ?radius.
FILTER (?radius > 3000)
}


3.

-teils Umsetzung durch ein Programm
-Probleme und deshalb durch manuelle Erledigung:
*das Finden aller tatsächlich relevanten Hyperlinks; Ausgabe aller potenziell relevanter Hyperlinks; entsprechendes Auslassen der irrelevanten Hyperlinks
*einige Objekte besitzen mehrere Properties (z.B. dbpedia:Denmark ist ein Objekt der Properties p:birthPlace und p:nationality); Erschließung aus dem Kontext, welche Property passend ist
*daraus ergibt sich das Problem, dass in bestimmten Kontexten keine passende Property existiert (z.B. Textpassage, in der es um seinen Vater und den dänischen König geht)

-Reduzierung des Quelltextes auf die Links mit entsprechenden Annotationen und der Definition des Namespaces für die verwendeten Properties aus der DBPedia

<div id="globalWrapper" xmlns:p="http://dbpedia.org/property/">

<a rel="p:birthPlace" href="/w/index.php?title=Knutstorp_Castle&action=edit&redlink=1" class="new" title="Knutstorp Castle (page does not exist)">Knutstorp Castle</a>
<a rel="p:birthPlace" href="/wiki/Scania" title="Scania">Scania</a>
<a rel="p:birthPlace" href="/wiki/Denmark" title="Denmark">Denmark</a>
<a rel="p:birthPlace" href="/wiki/Sweden" title="Sweden">Sweden</a>
<a rel="p:dateOfDeath" href="/wiki/October_24" title="October 24">24 October</a>
<a rel="p:deathPlace" href="/wiki/Prague" title="Prague">Prague</a>
<a rel="p:nationality" href="/wiki/Denmark" title="Denmark">Danish</a>
<a rel="p:occupation" href="/wiki/Nobility" title="Nobility">Nobleman</a>
<a rel="p:occupation" href="/wiki/Astronomy" title="Astronomy">Astronomer</a>
<a rel="p:parents" href="/wiki/Otte_Brahe" title="Otte Brahe">Otte Brahe</a>
<a rel="p:parents" href="/w/index.php?title=Beate_Bille&action=edit&redlink=1" class="new" title="Beate Bille (page does not exist)">Beate Bille</a>
<a rel="p:deathPlace" href="/wiki/Prague" title="Prague">Prague</a>
<a rel="p:birthPlace" href="/w/index.php?title=Knutstorp_Castle&action=edit&redlink=1" class="new" title="Knutstorp Castle (page does not exist)">Knutstorp Castle</a>
<a rel="p:dateOfDeath" href="/wiki/October_24" title="October 24">24 October</a>
<a rel="p:deathPlace" href="/wiki/Prague" title="Prague">Prague</a>
<a rel="p:nationality" href="/wiki/Denmark" title="Denmark">Danish</a>
<a rel="p:occupation" href="/wiki/Nobility" title="Nobility">nobleman</a>
<a rel="p:occupation" href="/wiki/Astronomy" title="Astronomy">astronomical and planetary</a>
<a rel="p:birthPlace" href="/wiki/Sk%C3%A5neland" title="Skåneland">Scania</a>
<a rel="p:occupation" href="/wiki/Astronomy" title="Astronomy">astronomer</a>
<a rel="p:birthPlace" href="/w/index.php?title=Knutstorp_Castle&action=edit&redlink=1" class="new" title="Knutstorp Castle (page does not exist)">Knutstorp Castle</a>
<a rel="p:birthPlace" href="/wiki/Scania" title="Scania">Scania</a>
<a rel="p:parents" href="/wiki/Otte_Brahe" title="Otte Brahe">Otte Brahe</a>
<a rel="p:parents" href="/w/index.php?title=Beate_Bille&action=edit&redlink=1" class="new" title="Beate Bille (page does not exist)">Beate Bille</a>
<a rel="p:nationality" href="/wiki/Denmark" title="Denmark">Danish</a>
<a rel="p:occupation" href="/wiki/Astronomy" title="Astronomy">astronomy</a>
<a rel="p:birthPlace" href="/wiki/Denmark" title="Denmark">Denmark</a>
<a rel="p:dateOfDeath" href="/wiki/October_24" title="October 24">24 October</a>
<a rel="p:deathPlace" href="/wiki/Prague" title="Prague">Prague</a>
<a rel="p:deathPlace" href="/wiki/Prague" title="Prague">Prague</a>

</div>

Sunday, December 7, 2008

Blatt 5

1.

a)


In dem rdf-Dokument wird eine Eigenschaft namens "http://example.org/hauptstadt_von" definiert, deren Definitionsbereich "Städte" und Wertebereich "Länder" sind, d.h. eine "Stadt" ist "hauptstadt_von" einem Land. Ein Land ist eine Klasse, deren lesbarer Name die englischsprachige Form eines Landes ist. Eine Stadt ist eine Klasse, deren lesbarer Name die englischsprachige Form einer Stadt ist. Zudem wird eine Instanz der Klasse Land mit dem Namen "http://example.org/deutschland" erzeugt. Die Instanz der Klasse Stadt mit dem Namen "http://example.org/berlin" trägt den lesbaren Namen "Berlin" verweist mit Hilfe der Eigenschaft "http://example.org/hauptstadt_von" auf die Instanz der Klasse Land mit Namen "http://example.org/deutschland", d.h. "http://example.org/berlin" ist die Hauptstadt von "http://example.org/deutschland".



b)

2.

a)


b)


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:b="http://book.com/" xml:base="http://book.com/">


  <rdfs:Class rdf:about="Term">

    <rdfs:SubClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>

  </rdfs:Class>

  <rdfs:Class rdf:about="Buzzword">

    <rdfs:SubClassOf rdf:resource="Term"/>

  </rdfs:Class>

  <rdfs:Class rdf:about="Keyword">

    <rdfs:SubClassOf rdf:resource="Term"/>

  </rdfs:Class>

  <rdfs:Class rdf:about="TitleKeyword">

    <rdfs:SubClassOf rdf:resource="Keyword"/>

  </rdfs:Class>

  <rdfs:Class rdf:about="TextKeyword">

    <rdfs:SubClassOf rdf:resource="Keyword"/>

  </rdfs:Class>


  <rdf:Property rdf:about="crossReference">

    <rdfs:SubPropertyOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>

    <rdfs:domain rdf:resource="Keyword"/>

    <rdfs:range rdf:resource="Keyword"/>

  </rdf:Property>

  <rdf:Property rdf:about="see">

    <rdfs:SubPropertyOf rdf:resource="crossReference"/>

  </rdf:Property>

  <rdf:Property rdf:about="seeAlso">

    <rdfs:SubPropertyOf rdf:resource="crossReference"/>

  </rdf:Property>


  <rdf:Description rdf:about="Book">

   <b:has rdf:resource="Index"/>

  </rdf:Description>

  <rdf:Description rdf:about="Index">

   <b:has rdf:resource="IndexEntry"/>

  </rdf:Description>

  <rdf:Description rdf:about="IndexEntry">

   <b:mainHeading rdf:resource="Keyword"/>

  </rdf:Description>

  <rdf:Description rdf:about="IndexEntry">

   <b:has rdf:resource="ReferenceLocator"/>

  </rdf:Description>

  <rdf:Description rdf:about="IndexEntry">

   <b:has rdf:resource="SubEntry"/>

  </rdf:Description>

  <rdf:Description rdf:about="SubEntry">

   <b:mainHeading rdf:resource="Keyword"/>

  </rdf:Description>

  <rdf:Description rdf:about="SubEntry">

   <b:has rdf:resource="ReferenceLocator"/>

  </rdf:Description>

  <rdf:Description rdf:about="SubEntry">

   <b:has rdf:resource="SubEntry"/>

  </rdf:Description>

  <rdf:Description rdf:about="Buzzword">

   <b:sumUpPartOf rdf:resource="Book"/>

  </rdf:Description>

  <rdf:Description rdf:about="Keyword">

   <b:isContainedIn rdf:resource="Book"/>

  </rdf:Description>

</rdf:RDF>



c)


Die Schwierigkeiten bei der Modellierung mit RDF/RDFS bestehen darin, Häufigkeiten des Auftretens von Beziehungen auszudrücken. Im vorliegenden Beispiel betrifft dies beispielsweise die Aussage, dass ein Indexeintrag eine oder mehrere Seitenangaben und eine Reihe von Untereinträgen enthält.



3.


Jede Pizza ist eine Speise.


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml:base="http://italien.de/">

  <rdf:Description rdf:about="Pizza">

    <rdf:type rdf:resource="Speise"/>

  </rdf:Description>

</rdf:RDF>



Eine Pizza hat immer mindestens zwei Beläge.


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:it="http://italien.de/" xml:base="http://italien.de/">

  <rdf:Description rdf:about="Pizza">

    <it:MindestanzahlBeläge rdf:datatype="http://www.w3.org/2001/XMLSchema#int">2</it:BelagAnzahl >

  </rdf:Description>

</rdf:RDF>


Nicht wirklich zufriedenstellende Lösung, da die Aussage, dass es mindestens zwei Beläge sind, nur über das Prädikat umsetzbar ist.



Jede Pizza der Klasse PizzaMargarita hat Tomate als Belag.


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:it="http://italien.de/" xml:base="http://italien.de/">

  <rdfs:Class rdf:about="Pizza">

    <rdfs:SubClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>

  </rdfs:Class>

  <rdfs:Class rdf:about="PizzaMargarita">

    <rdfs:SubClassOf rdf:resource="Pizza"/>

  </rdfs:Class>

  <rdf:Description rdf:about="PizzaMargarita">

    <it:hatBelag rdf:resource="Tomate"/>

  </rdf:Description>

</rdf:RDF>



Alles, was einen Belag hat, ist eine Pizza.


Nicht zufriedenstellend modellierbar, da eine wenn-dann-Beziehung in RDF nicht ausdrückbar ist.



Keine Pizza aus der Klasse PizzaMargarita hat einen Belag aus der Klasse Fleisch.


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:it="http://italien.de/" xml:base="http://italien.de/">

  <rdfs:Class rdf:about="Pizza">

    <rdfs:SubClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>

  </rdfs:Class>

  <rdfs:Class rdf:about="PizzaMargarita">

    <rdfs:SubClassOf rdf:resource="Pizza"/>

  </rdfs:Class>

  <rdfs:Class rdf:about="Belag">

    <rdfs:SubClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>

  </rdfs:Class>

  <rdfs:Class rdf:about="Fleisch">

    <rdfs:SubClassOf rdf:resource="Belag"/>

  </rdfs:Class>

  <rdf:Property rdf:about="hatBelagNicht">

    <rdfs:SubPropertyOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>

    <rdfs:domain rdf:resource="PizzaMargarita"/>

    <rdfs:range rdf:resource="Fleisch"/>

  </rdf:Property>

</rdf:RDF>



Eine Calzone ist eine Pizza ohne Käse.


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:it="http://italien.de/" xml:base="http://italien.de/">

  <rdf:Description rdf:about="Calzone">

    <rdf:type rdf:resource="Pizza"/>

    <it:hatBelagNicht rdf:resource="Käse"/>

  </rdf:Description>

</rdf:RDF>

Monday, December 1, 2008

Blatt 4

1.

a)


Ch. Meinel, H. Sack: WWW -- Kommunikation, Internetworking, Web Technologien, Springer Verlag, 2004.


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

            xmlns:dc="http://purl.org/dc/elements/1.1/">  

  <rdf:Description>

    <dc:title>WWW - Kommunikation, Internetworking, Web-Technologien</dc:title>

    <dc:creator>Christoph Meinel</dc:creator>

    <dc:creator>Harald Sack</dc:creator>

    <dc:publisher>Springer</dc:publisher>

    <dc:subject>Internet, WWW, Kommunikation</dc:subject>

    <dc:description>Dieses Handbuch bietet für alle Nutzer und Entwickler des World Wide Web einen fundierten Einblick in dessen Aufbau und Funktionsweise. Die Autoren stellen die Internet-Technologie ausführlich dar und geben einen umfassenden Überblick über die relevanten Teilbereiche des WWW. Neben den allgemeinen theoretischen und praktischen Grundlagen der Netzwerktechnik und einer Darstellung der TCP/IP-Protokolle werden auch die vielfältigen Medientypen und deren Kodierung im WWW erläutert. Darauf aufbauend wird auf spezielle Web-Technologien im WWW wie HTTP, HTML, CSS, XML/XSL aber auch Skriptsprachen und CGI-Programmierung eingegangen. Dabei werden die allgemeinverständlich angelegten Kapitel punktuell durch relevante Schwerpunktthemen technischer Natur ergänzt und vertieft. Zahlreiche Abbildungen sowie Index und Glossar zu jedem Kapitel erhöhen den praktischen Nutzen des Handbuchs</dc:description>

    <dc:identifier>3-540-44276-6</dc:identifier>

    <dc:format>book</dc:format>

    <dc:type>text</dc:type>

    <dc:date>2004-09-30</dc:date>

    <dc:language>de</dc:language>

  </rdf:Description>

</rdf:RDF>



Ch. Meinel, M. Mundhenk: Mathematische Grundlagen der Informatik, B. G. Teubner Verlag, 2006.


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

            xmlns:dc="http://purl.org/dc/elements/1.1/">  

  <rdf:Description>

    <dc:title>Mathematische Grundlagen der Informatik</dc:title>

    <dc:creator>Christoph Meinel</dc:creator>

    <dc:creator>Martin Mundhenk</dc:creator>

    <dc:publisher>B.G. Teubner</dc:publisher>

    <dc:subject>Mathematik, Informatik, Logik, Mengen, Relationen, Kombinatorik, Graphen</dc:subject>

    <dc:description>Konzepte und Anwendungen der Informatik durchdringen in immer stärkerem Maße alle Bereiche der Wirtschaft und Gesellschaft; ohne ihr Grundverständnis ist deshalb ein erfolgreiches Wirken dort zunehmend unmöglich. Das daraus resultierende große Interesse auch bei Nichtinformatikern an der Informatik und ihren intellektuellen Grundlagen macht eine Einführung auch in die mathematischen Grundlagen der Informatik immer dringlicher, eine Einführung, die auch ohne eine traditionell vorausgesetzte mathematische Grundausbildung auskommt und trotzdem sachkundig in die für die Informatik typischen und grundlegenden mathematischen Denkweisen und Formalisierungen einführt. Das vorliegende Buch hat sich diese Aufgabe zum Ziel gestellt. Es führt den interessierten Leser ein in das für die Informatik typische Vorgehen, zunächst noch vage Ideen und Konzepte schrittweise zu formalisieren und damit einer Bearbeitung durch den Computer zugänglich zu machen.</dc:description>

    <dc:identifier>3-8351-0049-1</dc:identifier>

    <dc:format>book</dc:format>

    <dc:type>text</dc:type>

    <dc:date>2006-06-13</dc:date>

    <dc:language>de</dc:language>

  </rdf:Description>

</rdf:RDF>



Ch. Meinel, Th. Theobald: Algorithmen und Datenstrukturen im VLSI-Design: OBDD - Grundlagen und Anwendungen, Springer Verlag, 1998.


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

            xmlns:dc="http://purl.org/dc/elements/1.1/">  

  <rdf:Description>

    <dc:title>Algorithmen und Datenstrukturen im VLSI-Design: OBDD - Grundlagen und Anwendungen</dc:title>

    <dc:creator>Christoph Meinel</dc:creator>

    <dc:creator>Thorsten Theobald</dc:creator>

    <dc:publisher>Springer</dc:publisher>

    <dc:subject>Agorithmen, Datenstrukturen, VLSI</dc:subject>

    <dc:description>Eines der Hauptprobleme beim Chipentwurf besteht darin, daß die Anzahl der zu bewältigenden Kombinationen der einzelnen Chipbausteine ins Unermeßliche steigt. Hier hat sich eine sehr fruchtbare Verbindung zu einem Kerngebiet der Theoretischen Informatik, dem Gebiet des Entwurfs von Datenstrukturen und effizienten Algorithmen, herstellen lassen: Die Verbindung besteht im Konzept der geordneten binären Entscheidungsgraphen, das in zahlreichen CAD-Projekten zu einer beträchtlichen Leistungssteigerung geführt hat. Die Autoren stellen die Grundlagen dieses interdisziplinären Forschungsgebiets dar und behandeln wichtige Anwendungen aus dem rechnergestützten Schaltkreisentwurf.</dc:description>

    <dc:identifier>3-540-63869-5</dc:identifier>

    <dc:format>book</dc:format>

    <dc:type>text</dc:type>

    <dc:date>1998-03-</dc:date>

    <dc:language>de</dc:language>

  </rdf:Description>

</rdf:RDF>



b)


In einem Tag kann man ein Attribut xml:base definieren. Alle Unterelemente dieses Tags besitzen diese URI als Basis-URI. Relative URIs in Attributwerten der Attribute rdf:about, rdf:resource, rdf:datatype, ref:ID werden mit dieser Basis-URI interpretiert. Bei Dokumenten ohne Definition einer Basis-URI wird die Adresse des rdf-Dokuments verwendet.


Beispiel:


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

                  xmlns:hpi=“http://hpi-web.de/example#"

                  xml:base=“http://hpi-web.de/example">


  <rdf:Description rdf:about="#test">

  ...

</rdf:RDF>



c)


Darth Vader ist Lukes Vater.


Turtle:

<http://star-wars.com/DarthVader> <http://description.org/schema/istVater> <http://star-wars.com/Luke>.


RDF:

<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

                  xmlns:s=“http://description.org/schema/"

                  xml:base=“http://star-wars.com/">

  <rdf:Description rdf:about="DarthVader">

    <s:istVater rdf:resource="Luke" />

  </rdf:Description>

</rdf:RDF>



Darth Vader hat gesagt, dass er Lukes Vater ist.


Turtle:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

@prefix s: <http://description.org/schema/>.

@prefix sw: <http://star-wars.com/>.

sw:StatementOnHimself rdf:subject sw:DarthVader.

sw:StatementOnHimself rdf:predicate s:istVater.

sw:StatementOnHimself rdf:object sw:Luke.

sw:StatementOnHimself rdf:type rdf:Statement.

sw:DarthVader s:hatGesagt sw:StatementOnHimself.


RDF:

<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

                  xmlns:s=“http://description.org/schema/"

                  xml:base=“http://star-wars.com/">

  <rdf:Description rdf:about="StatementOnHimself">

    <rdf:subject rdf:resource="DarthVader" />

    <rdf:predicate rdf:resource="http://description.org/schema/istVater" />

    <rdf:object rdf:resource="Luke" />

    <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement" />

  </rdf:Description>

  <rdf:Description rdf:about="DarthVader">

    <s:hatGesagt rdf:resource="StatementOnHimself" />

  </rdf:Description>

</rdf:RDF>



Der Imperator hat erfahren, dass Darth Vader gesagt hat, dass er Lukes Vater sei.


Turtle:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

@prefix s: <http://description.org/schema/>.

@prefix sw: <http://star-wars.com/>.

sw:StatementOnHimself rdf:subject sw:DarthVader.

sw:StatementOnHimself rdf:predicate s:istVater.

sw:StatementOnHimself rdf:object sw:Luke.

sw:StatementOnHimself rdf:type rdf:Statement.

sw:StatementOnDarthVader rdf:subject sw:DarthVader.

sw:StatementOnDarthVader rdf:predicate s:hatGesagt.

sw:StatementOnDarthVader rdf:object sw:StatementOnHimself.

sw:StatementOnDarthVader rdf:type sw:Statement.

sw:Imperator s:hatErfahren sw:StatementOnDarthVader.


RDF:

<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

                  xmlns:s=“http://description.org/schema/"

                  xml:base=“http://star-wars.com/">

  <rdf:Description rdf:about="StatementOnHimself">

    <rdf:subject rdf:resource="DarthVader" />

    <rdf:predicate rdf:resource="http://description.org/schema/istVater" />

    <rdf:object rdf:resource="Luke" />

    <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement" />

  </rdf:Description>

  <rdf:Description rdf:about="StatementOnDarthVader">

    <rdf:subject rdf:resource="DarthVader" />

    <rdf:predicate rdf:resource="http://description.org/schema/hatGesagt" />

    <rdf:object rdf:resource="StatementOnHimself" />

    <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement" />

  </rdf:Description>

  <rdf:Description rdf:about="Imperator">

    <s:hatErfahren rdf:resource="StatementOnDarthVader" />

  </rdf:Description>

</rdf:RDF>



Darth Vader ärgert sich darüber, dass der Imperator erfahren hat, dass Darth Vader gesagt hat, dass er Lukes Vater sei.



Turtle:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

@prefix s: <http://description.org/schema/>.

@prefix sw: <http://star-wars.com/>.

sw:StatementOnHimself rdf:subject sw:DarthVader.

sw:StatementOnHimself rdf:predicate s:istVater.

sw:StatementOnHimself rdf:object sw:Luke.

sw:StatementOnHimself rdf:type rdf:Statement.

sw:StatementOnDarthVader rdf:subject sw:DarthVader.

sw:StatementOnDarthVader rdf:predicate s:hatGesagt.

sw:StatementOnDarthVader rdf:object sw:StatementOnHimself.

sw:StatementOnDarthVader rdf:type sw:Statement.

sw:StatementOnImperator rdf:subject sw:Imperator.

sw:StatementOnImperator rdf:predicate s:hatErfahren.

sw:StatementOnImperator rdf:object sw:StatementOnDarthVader.

sw:StatementOnImperator rdf:type sw:Statement.

sw:DarthVader s:sichÄrgern sw:StatementOnImperator.


RDF:

<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

                  xmlns:s=“http://description.org/schema/"

                  xml:base=“http://star-wars.com/">

  <rdf:Description rdf:about="StatementOnHimself">

    <rdf:subject rdf:resource="DarthVader" />

    <rdf:predicate rdf:resource="http://description.org/schema/istVater" />

    <rdf:object rdf:resource="Luke" />

    <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement" />

  </rdf:Description>

  <rdf:Description rdf:about="StatementOnDarthVader">

    <rdf:subject rdf:resource="DarthVader" />

    <rdf:predicate rdf:resource="http://description.org/schema/hatGesagt" />

    <rdf:object rdf:resource="StatementOnHimself" />

    <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement" />

  </rdf:Description>

  <rdf:Description rdf:about="StatementOnImperator">

    <rdf:subject rdf:resource="Imperator" />

    <rdf:predicate rdf:resource="http://description.org/schema/hatErfahren" />

    <rdf:object rdf:resource="StatementOnDarthVader" />

    <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement" />

  </rdf:Description>

  <rdf:Description rdf:about="DarthVader">

    <s:sichÄrgern rdf:resource="StatementOnImperator" />

  </rdf:Description>

</rdf:RDF>



d)


Jedes Tabellenschema besitzt einen Container vom Typ "rdf:Seq". Das dazu gehörige "rdf:about"-Attribut trägt den Namen der Relation. Mit Hilfe des "rdf:li"-Tags werden alle Attribute der Relation nacheinander in entsprechender Reihenfolge aufgelistet. In dem Attribut "rdf:resource" steht dann der Name des Relationattributes.


Beispiel:


<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

                  xml:base=“http://datenbank.de/">

  <rdf:Seq rdf:about="Filme">

    <rdf:li rdf:resource="Name" />

    <rdf:li rdf:resource="Jahr" />

  </rdf:Seq>

</rdf:RDF>