Semantic Technologies
   Übung, Wintersemester 2011/12
    14. 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)
Architektur
von Semantic Web Anwendungen
Klassische Webanwendungen

                        User Interface
          Application
                        Analytics
                        ...




         Query Engine

           Database
Semantic Web Anwendungen
                                                    User Interface
                               Application
                                                    Analytics
                                                    ...




                              Query Engine

                               RDF Store
                Converters                   Parsers and
               and Scrapers                   Serializers




                                                              RDF Files
                                                            (Data & Models)
Web pages, Spreadsheets,
 Tables, Databases etc.
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, matrikelNr
           FROM student
           WHERE name LIKE 'Fischer'


matrikelNr vorname     name             eMail
 2485239     Markus    Meyer     markus.meyer@web.de     matrikelNr   vorname
 3417012      Egon     Fischer    egonfischer@gmx.de
                                                          3417012      Egon
 4123520      Erwin    Fischer    efisch@uni-koeln.de
                                                          4123520      Erwin
 5867814      Hugo    Schneider schneidi93@hotmail.com
Abfragesprachen
• RDF Stores: SPARQL
SPARQL

• Beispiel:
  •   PREFIX uni: <http://example.org/uni-vokabular/>
      SELECT ?vorname, ?matrikelNr
      FROM <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).

Sitzung 10

  • 1.
    Semantic Technologies Übung, Wintersemester 2011/12 14. Dezember 2011 - SPARQL
  • 2.
    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.
  • 3.
    Aufgabe 2 • Legensie 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.
  • 4.
    Aufgabe 3 • LöschenSie alle Domains und Ranges der Ontologie und formulieren Sie stattdessen Regeln, die den gleichen Effekt haben.
  • 5.
    Aufgabe 4 • GebenSie Regeln in SWRL an, die die Ableitung spezifischerer Properties möglich machen. • Bsp.: • MalePerson(?y), Person(?p), hasSibling(?p, ?y) ! -> hasBrother(?p, ?y)
  • 6.
  • 7.
    Klassische Webanwendungen User Interface Application Analytics ... Query Engine Database
  • 9.
    Semantic Web Anwendungen User Interface Application Analytics ... Query Engine RDF Store Converters Parsers and and Scrapers Serializers RDF Files (Data & Models) Web pages, Spreadsheets, Tables, Databases etc.
  • 10.
    Triple Stores • „Datenbankenfür RDF Daten“ • Optimiert für die Speicherung und Abfrage von Tripeln. • Beispiele: Jena, Sesame, Mulgara,Virtuoso, ...
  • 11.
    Abfragesprachen • Relationale Datenbanken:SQL • Beispiel: • SELECT vorname, matrikelNr FROM student WHERE name LIKE 'Fischer' matrikelNr vorname name eMail 2485239 Markus Meyer markus.meyer@web.de matrikelNr vorname 3417012 Egon Fischer egonfischer@gmx.de 3417012 Egon 4123520 Erwin Fischer efisch@uni-koeln.de 4123520 Erwin 5867814 Hugo Schneider schneidi93@hotmail.com
  • 12.
  • 13.
    SPARQL • Beispiel: • PREFIX uni: <http://example.org/uni-vokabular/> SELECT ?vorname, ?matrikelNr FROM <http://example.org/students.rdf> WHERE { ! ?student a uni:Student. ! ?student uni:vorname ?vorname. ! ?student uni:matrikelNr ?matrikelNr. ! ?student uni:name "Fischer". }
  • 14.
    matrikelNr vorname 3417012 Egon 4123520 Erwin
  • 15.
  • 16.
  • 17.
    Aufgabe 1 • BearbeitenSie 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
  • 18.
    Aufgabe 2 • SchreibenSie 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?
  • 19.
    Aufgabe 3 • InformierenSie 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.
  • 20.
    Aufgabe 4 • Nutzensie 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).