{"id":1599,"date":"2016-04-07T18:05:50","date_gmt":"2016-04-07T16:05:50","guid":{"rendered":"https:\/\/www.kde.cs.uni-kassel.de\/?page_id=1599"},"modified":"2016-04-07T18:05:50","modified_gmt":"2016-04-07T16:05:50","slug":"praxis","status":"publish","type":"page","link":"https:\/\/www.kde.cs.uni-kassel.de\/en\/lehre\/ws2005-06\/semantic_web\/praxis","title":{"rendered":"Material zur Praxis\u00fcbung Semantic Web"},"content":{"rendered":"<p><span style=\"color: #a3004e;\">Vorbemerkung<\/span><\/p>\n<ul>\n<li>Besch\u00e4ftigen Sie sich in der 7. \u00dcbung (25. Januar 2006) mit der 1. Aufgabe und l\u00f6sen Sie diese bis zur n\u00e4chsten \u00dcbung komplett! F\u00fcr die darauffolgenden Aufgaben ist es wichtig, da\u00df Sie zur n\u00e4chsten \u00dcbung (am 1. Februar 2006) das Programm soweit fertig gestellt haben, da\u00df es <strong>ihr eigenes FOAF-Profil als RDF-Datei ausgibt<\/strong>. Sollten Sie die 1. Aufgabe nicht w\u00e4hrend der \u00dcbung fertigstellen k\u00f6nnen, beenden Sie diese bitte als Hausaufgabe. Sie haben am <strong>Freitag, den 27. Januar zwischen 9 und 12 Uhr<\/strong> die M\u00f6glichkeit, offene Fragen oder Probleme bei mir in der Sprechstunde (Raum 0445\/A) zu er\u00f6rtern.<\/li>\n<li>Bei der zweiten Praxis\u00fcbung am 1. Februar wird Sie <a href=\"\/schmitz\"><u><span style=\"color: #0066cc;\">Christoph Schmitz<\/span><\/u><\/a> betreuen. Bitte stellen Sie das Programm in dieser \u00dcbung fertig indem Sie die Aufgaben 2 bis 6 l\u00f6sen. Sie k\u00f6nnen sich vor dieser \u00dcbung schon mit dem Anfragen von Knoten und der Implementierung von RQL-Anfragen besch\u00e4ftigen und zun\u00e4chst ihr eigenes Modell anfragen oder schon <a href=\"\/lehre\/ws2005-06\/Semantic_Web\/foaf.rdf\"><u><span style=\"color: #0066cc;\">mein FOAF-Profil<\/span><\/u><\/a> einbinden. Sollten Sie die Aufgaben nicht schaffen, beenden Sie diese bitte als Hausaufgabe. Sie haben am Montag, den 6. Februar zwischen 9 und 12 Uhr die M\u00f6glichkeit, offene Fragen oder Probleme bei mir in der Sprechstunde (Raum 0445\/A) zu er\u00f6rtern.<\/li>\n<\/ul>\n<p><span style=\"color: #a3004e;\">\u00a0Vorbereitung<\/span><\/p>\n<ul>\n<li>Richten Sie zun\u00e4chst in <a href=\"http:\/\/www.eclipse.org\/\"><u><span style=\"color: #0066cc;\">Eclipse<\/span><\/u><\/a> ein neues Projekt ein und binden Sie die Bibliotheken in <a href=\"\/lehre\/ws2005-06\/Semantic_Web\/lib.tar.gz\"><u><span style=\"color: #0066cc;\">lib.tar.gz<\/span><\/u><\/a> (bzw. <a href=\"\/lehre\/ws2005-06\/Semantic_Web\/lib.zip\"><u><span style=\"color: #0066cc;\">lib.zip<\/span><\/u><\/a>) in den Build Path ein.<\/li>\n<li>Informieren Sie sich dann selbst\u00e4ndig \u00fcber <a href=\"http:\/\/www.foaf-project.org\/\"><u><span style=\"color: #0066cc;\">FOAF<\/span><\/u><\/a>.<\/li>\n<li>Lesen und verstehen Sie die Beispiele im <a href=\"http:\/\/jena.sourceforge.net\/tutorial\/RDF_API\/index.html\"><u><span style=\"color: #0066cc;\">Tutorial<\/span><\/u><\/a> zur <a href=\"http:\/\/jena.sourceforge.net\/\"><u><span style=\"color: #0066cc;\">Jena<\/span><\/u><\/a> API (<a href=\"http:\/\/jena.sourceforge.net\/javadoc\/index.html\"><u><span style=\"color: #0066cc;\">JavaDoc<\/span><\/u><\/a>). Das Tutorial k\u00f6nnen Sie im weiteren als begleitende Hilfe nutzen.<\/li>\n<li>Um mir die Formulierung dieser \u00dcbung sprachlich einfacher zu machen lege ich fest:\n<dl>\n<dt>Definition 1:<\/dt>\n<dd>Ein <em>Freund<\/em> im Sinne <a href=\"\/lehre\/ws2005-06\/Semantic_Web\"><u><span style=\"color: #0066cc;\">dieser \u00dcbung<\/span><\/u><\/a> ist eine Person dieser \u00dcbung, die Sie kennen.<\/dd>\n<dt>Satz 2:<\/dt>\n<dd>Ich bin ihr Freund im Sinne dieser \u00dcbung.<\/dd>\n<dt>Beweis:<\/dt>\n<dd>Da Sie mich kennen, bin ich nach Definition 1 Freund im Sinne dieser \u00dcbung. qed.<\/dd>\n<\/dl>\n<p>Hier finden Sie <a href=\"\/lehre\/ws2005-06\/Semantic_Web\/foaf.rdf\"><u><span style=\"color: #0066cc;\">mein FOAF-Profil<\/span><\/u><\/a> sowie das <a href=\"\/lehre\/ws2005-06\/Semantic_Web\/mierscheid.rdf\"><u><span style=\"color: #0066cc;\">FOAF-Profil eines meiner Freunde<\/span><\/u><\/a>.<\/li>\n<\/ul>\n<p><span style=\"color: #a3004e;\">\u00a0Aufgaben<\/span><\/p>\n<ol>\n<li>Modellieren Sie ihr eigenes FOAF-Profil mit Hilfe der Jena-API in Java. Als Starthilfe kann Ihnen dieser Code dienen:\n<pre>Model myModel = ModelFactory.createDefaultModel();\r\nmyModel.setNsPrefix(\"foaf\", \"http:\/\/xmlns.com\/foaf\/0.1\/\");\r\nResource me = myModel.createResource(\"http:\/\/www.kde.cs.uni-kassel.de\/jaeschke\");\r\n<\/pre>\n<p>Beschreiben Sie sich so ausf\u00fchrlich wie m\u00f6glich, benutzen Sie z.B. die Properties name, givenname, family_name, nick, mbox, homepage, depiction, phone, schoolHomepage, interest, icqChatID, &#8230;<br \/>\nDie <a href=\"http:\/\/xmlns.com\/foaf\/0.1\/\"><u><span style=\"color: #0066cc;\">FOAF-Spezifikation<\/span><\/u><\/a> enth\u00e4lt weitere m\u00f6gliche Properties.<\/p>\n<p>Benutzen sie die <tt>foaf:knows<\/tt> Property, um ihre Freunde zu referenzieren, fragen Sie diese nach Ihren URIs und nutzen Sie diese als Referenz.<\/p>\n<p>Schreiben Sie ihr erzeugtes Modell mit <tt>RDF\/XML-ABBREV<\/tt>-Syntax in ein RDF-Dokument<\/li>\n<li>Tauschen Sie untereinander ihre FOAF-Profile (RDF-Dokumente) aus. Lesen Sie die FOAF-Profile ihrer Freunde ein und vereinigen (&#8220;mergen&#8221;) Sie deren Modelle mit ihrem und arbeiten Sie bei den n\u00e4chsten Aufgaben auf dem vereinigten Modell.<\/li>\n<li>Lassen Sie sich aus dem Modell ihren Knoten geben (diejenige Resource, die ihre URI tr\u00e4gt) und iterieren Sie \u00fcber ihre Freunde (die Resourcen der <tt>foaf:knows<\/tt> Beziehung). Lassen Sie sich die Telefonnummern aller ihrer Freunde ausgeben. Alternativ k\u00f6nnen Sie sich auch eine Liste aller Homepages, ChatIDs, usw. ihrer Freunde ausgeben lassen.<\/li>\n<li>Lassen Sie sich die Freunde ihrer Freunde ausgeben.<\/li>\n<li>Wiederholen Sie die Teilaufgaben 3 und 4, indem Sie RQL-Anfragen an das vereinigte Modell stellen. Dabei hilft Ihnen der <a href=\"http:\/\/sjadapter.sourceforge.net\/\"><u><span style=\"color: #0066cc;\">Sesame-Jena-Adapter<\/span><\/u><\/a>. Auf <a href=\"http:\/\/sjadapter.sourceforge.net\/examples.html#setup_three\"><u><span style=\"color: #0066cc;\">dieser Seite<\/span><\/u><\/a> ist beschrieben, wie Sie eine RQL-Anfrage auf das Modell stellen k\u00f6nnen. Folgender Code gibt Ihnen zum Beispiel die Telefonnummern aller bekannten Personen des Modells <tt>mergedModel<\/tt> aus:\n<pre>OntModel queryModel = ModelFactory.createOntologyModel(OntModelSpec.RDFS_MEM, mergedModel);\r\n\t\t\t\t\r\nString queryString= \"select * from {X}\"+mergedModel.expandPrefix(\"foaf:phone\")+\"{PHONE}\";\r\nQuery query = new Query(queryString);\t\t\r\nquery.setSource(queryModel);\r\n\r\nQueryEngine qe = new QueryEngine(query);\r\nQueryResults results = qe.exec();\r\n\r\nIterator iter = results;\r\nwhile(iter.hasNext()) {\r\n  ResultBinding rbind = (ResultBinding)iter.next();\r\n  System.out.println (rbind);\r\n}\r\nresults.close();\r\n<\/pre>\n<\/li>\n<li>Implementieren Sie eine M\u00f6glichkeit, RQL-Anfragen per Tastatur einzugeben und die Ergebnisse auszugeben. Pr\u00fcfen Sie ihre RQL-Kenntnisse mit weiteren Anfragen.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Vorbemerkung Besch\u00e4ftigen Sie sich in der 7. \u00dcbung (25. Januar 2006) mit der 1. Aufgabe und l\u00f6sen Sie diese bis zur n\u00e4chsten \u00dcbung komplett! F\u00fcr die darauffolgenden Aufgaben ist es wichtig, da\u00df Sie zur n\u00e4chsten<a class=\"moretag\" href=\"https:\/\/www.kde.cs.uni-kassel.de\/en\/lehre\/ws2005-06\/semantic_web\/praxis\"> Read more&hellip;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":933,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1599","page","type-page","status-publish","hentry"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"en","enabled_languages":["de","en"],"languages":{"de":{"title":true,"content":true,"excerpt":false},"en":{"title":false,"content":false,"excerpt":false}}},"_links":{"self":[{"href":"https:\/\/www.kde.cs.uni-kassel.de\/en\/wp-json\/wp\/v2\/pages\/1599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kde.cs.uni-kassel.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.kde.cs.uni-kassel.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.kde.cs.uni-kassel.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kde.cs.uni-kassel.de\/en\/wp-json\/wp\/v2\/comments?post=1599"}],"version-history":[{"count":2,"href":"https:\/\/www.kde.cs.uni-kassel.de\/en\/wp-json\/wp\/v2\/pages\/1599\/revisions"}],"predecessor-version":[{"id":2663,"href":"https:\/\/www.kde.cs.uni-kassel.de\/en\/wp-json\/wp\/v2\/pages\/1599\/revisions\/2663"}],"up":[{"embeddable":true,"href":"https:\/\/www.kde.cs.uni-kassel.de\/en\/wp-json\/wp\/v2\/pages\/933"}],"wp:attachment":[{"href":"https:\/\/www.kde.cs.uni-kassel.de\/en\/wp-json\/wp\/v2\/media?parent=1599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}