Sitzung 10
Click here to load reader
Transcript of Sitzung 10
Semantic TechnologiesÜbung, Wintersemester 2011/1214. Dezember 2011 - SPARQL
Aufgabe 1
• Erstellen Sie mit Protégé eine möglichst reichhaltige OWL-Ontologie für Familienbeziehungen. Folgende Klassen und Eigenschaften sollen enthalten sein:
• Person, MalePerson, FemalePerson, hasSibling, hasBrother, hasSister, hasChild, hasSon, hasDaughter, hasParent, hasFather, hasMother
• Nutzen Sie den Reasoner für Konsistenzchecks.
Aufgabe 2
• Legen sie mehrere Individuals als Instanzen von Thing und Beziehungen zwischen diesen Instanzen an.
• Nutzen Sie den Reasoner um automatisch auf die Klassen dieser Individuals zu schließen.
Aufgabe 3
• Löschen Sie alle Domains und Ranges der Ontologie und formulieren Sie stattdessen Regeln, die den gleichen Effekt haben.
Aufgabe 4
• Geben Sie Regeln in SWRL an, die die Ableitung spezifischerer Properties möglich machen.
• Bsp.:
• MalePerson(?y), Person(?p), hasSibling(?p, ?y) ! -> hasBrother(?p, ?y)
Architekturvon Semantic Web Anwendungen
Klassische Webanwendungen
Database
Query Engine
ApplicationAnalytics
User Interface
...
Semantic Web Anwendungen
RDF Store
Query Engine
ApplicationAnalytics
User Interface
...
RDF Files
Web pages, Spreadsheets,Tables, Databases etc.
Convertersand Scrapers
Parsers andSerializers
(Data & Models)
Triple Stores
• „Datenbanken für RDF Daten“
• Optimiert für die Speicherung und Abfrage von Tripeln.
• Beispiele: Jena, Sesame, Mulgara, Virtuoso, ...
Abfragesprachen
• Relationale Datenbanken: SQL
• Beispiel:
• SELECT vorname, matrikelNrFROM studentWHERE name LIKE 'Fischer'
matrikelNr vorname name eMail
2485239 Markus Meyer [email protected]
3417012 Egon Fischer [email protected]
4123520 Erwin Fischer [email protected]
5867814 Hugo Schneider [email protected]
matrikelNr vorname
3417012 Egon
4123520 Erwin
Abfragesprachen
• RDF Stores: SPARQL
SPARQL
• Beispiel:
• PREFIX uni: <http://example.org/uni-vokabular/>SELECT ?vorname, ?matrikelNrFROM <http://example.org/students.rdf>WHERE {! ?student a uni:Student.! ?student uni:vorname ?vorname.! ?student uni:matrikelNr ?matrikelNr.! ?student uni:name "Fischer".}
matrikelNr vorname
3417012 Egon
4123520 Erwin
Beispiele
Aufgaben
Aufgabe 1
• Bearbeiten Sie das Tutorial unter:
• http://www.xml.com/pub/a/2005/11/16/introducing-sparql-querying-semantic-web-tutorial.html
• Nutzen Sie dafür den SPARQL-Prozessor unter:
• http://www.sparql.org/sparql.html
Aufgabe 2
• Schreiben Sie SPARQL-Queries für die folgenden Abfragen und führen Sie diese aus:
• Welchen Namen hat das Element mit der Ordnungszahl 110?
• Zeige die Symbole aller Elemente, die als Metallisch klassifiziert sind.
• Welche Gewichte haben die Elemente aus Periode 1 und Periode 2?
Aufgabe 3
• Informieren Sie sich im Netz über das Schlüsselwort FILTER in SPARQL.
• Nutzen Sie dieses um folgende Queries zu formulieren.
• Zeige die Namen und Gewichte aller Elemente, deren Masse geringer ist als 20 Mol.
• Zeige die Namen und Symbole aller Elemente, die zur 6. Periode gehören und deren Name auf „ium“ endet, absteigend nach deren Masse sortiert.
Aufgabe 4
• Nutzen sie den SPARQL-Explorer der DBPedia (http://dbpedia.org/snorql/) um folgende Fragen zu beantworten:
• Wann wurde der Kölner Dom (http://dbpedia.org/resource/Cologne_Cathedral) fertiggestellt (http://dbpedia.org/property/completionDate)?
• Zeige die Namen (foaf:name) und Geburtsdaten (http://dbpedia.org/ontology/birthDate) aller Mitglieder (http://dbpedia.org/ontology/bandMember) der Beatles (http://dbpedia.org/resource/The_Beatles).