<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Schloenvoigt.de &#187; Add new tag</title>
	<atom:link href="http://www.schloenvoigt.de/tag/add-new-tag/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.schloenvoigt.de</link>
	<description>Weblog</description>
	<lastBuildDate>Thu, 26 Jan 2012 06:08:01 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[Semantic Web Technologies] SPARQL Test Tool und Lösungen</title>
		<link>http://www.schloenvoigt.de/2010/01/semantic-web-technologies-sparql-test-tool-und-losungen/</link>
		<comments>http://www.schloenvoigt.de/2010/01/semantic-web-technologies-sparql-test-tool-und-losungen/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 06:32:34 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.schloenvoigt.de/2010/01/semantic-web-technologies-sparql-test-tool-und-losungen/">Steffen Schloenvoigt</span></dc:creator>
				<category><![CDATA[Lehrveranstaltung Semantic Web Technologien]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[GNU General Public License]]></category>
		<category><![CDATA[JAR]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jena Framework]]></category>
		<category><![CDATA[Source code]]></category>
		<category><![CDATA[SPARQL]]></category>

		<guid isPermaLink="false">http://www.schloenvoigt.de/?p=173</guid>
		<description><![CDATA[Hallo zusammen, In der letzten Veranstaltung hab ich festgestellt, daß ihr wohl teilweise Probleme damit habt, euch die SPARQL Queries vorzustellen. Auch waren wir uns bei den gefundenen Ergebnissen nicht immer hundertprozentig sicher, ob es auch wirklich so funktioniert. Also hab ich kurzerhand ein kleines Tool geschrieben, mit dem ihr eure Queries ausprobieren könnt. Das [...]]]></description>
			<content:encoded><![CDATA[<p>Hallo zusammen,</p>
<p><a href="http://www.schloenvoigt.de/wp-content/uploads/2010/01/SPARQLTestTool_Screenie.png"><img class="alignleft size-medium wp-image-175" title="SPARQLTestTool_Screenie" src="http://www.schloenvoigt.de/wp-content/uploads/2010/01/SPARQLTestTool_Screenie-300x293.png" alt="Screenshot of the SPARQL Test Tool" width="300" height="293" /></a>In der letzten Veranstaltung hab ich festgestellt, daß ihr wohl teilweise Probleme damit habt, euch die <a class="zem_slink" title="SPARQL" rel="wikipedia" href="http://en.wikipedia.org/wiki/SPARQL">SPARQL</a> Queries vorzustellen. Auch waren wir uns bei den gefundenen Ergebnissen nicht immer hundertprozentig sicher, ob es auch wirklich so funktioniert. Also hab ich kurzerhand ein kleines Tool geschrieben, mit dem ihr eure Queries ausprobieren könnt.</p>
<p>Das Tool basiert auf  dem <a class="zem_slink" title="Jena (framework)" rel="homepage" href="http://jena.sourceforge.net/">Jena Framework</a> und dem zugehörigen ARQ SPARQL Prozessor. ARQ ist ein sehr mächtiges Tool, wie wir ja auch schon in der Vorlesung sehen konnten (ARQ implementiert viele Features über den Standard hinaus).</p>
<p>Was kann man mit diesem Tool nun machen? Die Bedienung ist ganz einfach:  Ihr gebt zunächst auf der linken Seite die Daten (im TURTLE Format) ein, auf die ihr eure Abfrage stellen wollt. Rechts oben tragt ihr dann die Query ein, die ihr ausprobieren wollt. Nach einem Druck auf den &#8220;Query&#8221; Button werden die Daten geparst, in ein Jena Model gepackt und dann mit der eingegebenen Query abgefragt.</p>
<p>Das Tool kann alle vier Abfragearten (SELECT, ASK, CONSTRUCT und DESCRIBE) und merkt sich beim Beenden die zuletzt verarbeiteten Daten, so dass diese bei einem erneuten Aufruf wieder zur Verfügung stehen. Den Code der Anwendung habe ich direkt unter die <a class="zem_slink" title="GNU General Public License" rel="wikipedia" href="http://en.wikipedia.org/wiki/GNU_General_Public_License">GPL</a> gestellt. Ich habe euch auch gleich zwei Pakete geschnürt. Das erste ist ein ausführbares <a class="zem_slink" title="JAR (file format)" rel="wikipedia" href="http://en.wikipedia.org/wiki/JAR_%28file_format%29">JAR-File</a>, das direkt alles nötige enthält. Einfach runterladen und mit java -jar ausführen. Das zweite Paket enthält den <a class="zem_slink" title="Source code" rel="wikipedia" href="http://en.wikipedia.org/wiki/Source_code">Source-Code</a>. Dieser ist nicht sehr kompliziert und besteht lediglich aus vier Files. Zum Übersetzen und Ausführen braucht ihr die JARs des Jena Frameworks.</p>
<p><a href="http://www.schloenvoigt.de/wp-content/uploads/2010/01/SPARQLTestTool.jar">SPARQL Test Tool (Executable JAR File, including Jena)</a></p>
<p><a href="http://www.schloenvoigt.de/wp-content/uploads/2010/01/SPARQLTestTool.src.zip">SPARQL Test Tool (Source)</a></p>
<p>So, nun zu den Lösungen der SPARQL Aufgaben:</p>
<h3>Aufgabe 1</h3>
<pre>@prefix   ex: &lt;http://example.org/&gt; .
@prefix   xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; .
ex:Sonne  ex:radius   "1.392e6"^^xsd:double ;
          ex:satellit ex:Merkur, ex:Venus, ex:Erde, ex:Mars .
ex:Merkur ex:radius   "2439.7"^^xsd:double .
ex:Venus  ex:radius   "6051.9"^^xsd:double .
ex:Erde   ex:radius   "6372.8"^^xsd:double ;
          ex:satellit ex:Mond .
ex:Mars   ex:radius   "3402.5"^^xsd:double ;
          ex:satellit ex:Phobos, ex:Deimos .
ex:Mond   ex:name     "Mond"@de, "Moon"@en ;
          ex:radius   "1737.1"^^xsd:double .
ex:Phobos ex:name     "Phobos" .
ex:Deimos ex:name     "Deimos".
</pre>
<p>Objekte, die um die Sonne oder um einen Satelliten der Sonne kreisen</p>
<pre>SELECT ?x WHERE {
 { ex:Sonne ex:satellit ?x } UNION
 { ex:Sonne ex:satellit ?y.
   ?y       ex:satellit ?x } }</pre>
<p>Objekte mit einem Volumen von über 2*10^10 (km^3) (Objekte mit Radius können mit der Formel V = 4/3πr^3 berechnet werden) und falls vorhanden, mit dem Objekt dessen Satellit sie sind.</p>
<pre>SELECT ?x ?y WHERE{
 ?x ex:radius ?rad .
 FILTER( 4*3.14*?rad*?rad*?rad/3 &gt; 20000000000 ).
 OPTIONAL { ?y ex:satellit ?x . } }</pre>
<p>Objekte mit einem Satelliten, für den ein Name in englischer Sprache angegeben worden ist, die außerdem Satellit eines Objekts von über 3000 (km) Durchmesser sind</p>
<pre>SELECT ?Objekt
{
   ?Objekt   ex:satellit ?Satellit .
   ?Satellit ex:name     ?SatName .
   FILTER( LANG(?SatName) = "en"  ).
   ?GrossObjekt ex:satellit ?Objekt .
   ?GrossObjekt ex:radius ?Radius .
   FILTER( 2*?Radius &gt; 3000 )
}</pre>
<p>Objekte mit zwei oder mehr Satelliten (nehmen Sie an, dass unterschiedliche URIs hier unterschiedliche Objekte bezeichnen)</p>
<pre>SELECT DISTINCT ?x {
   ?x ex:satellit ?a .
   ?x ex:satellit ?b .
   FILTER( ! sameTERM( ?a, ?b ) ) }</pre>
<h3>Aufgabe 2</h3>
<pre>@prefix   ex: &lt;http://example.org/&gt; .
@prefix   xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; .
@prefix   rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
ex:Sonne  rdf:type ex:Himmelskörper ;
          ex:radius   "1.392e6"^^xsd:double ;
          ex:satellit ex:Merkur, ex:Venus, ex:Erde, ex:Mars .
ex:Merkur rdf:type ex:Himmelskörper ;
          ex:radius   "2439.7"^^xsd:double .
ex:Venus  rdf:type ex:Himmelskörper ;
          ex:radius   "6051.9"^^xsd:double .
ex:Erde   rdf:type ex:Himmelskörper ;
          ex:radius   "6372.8"^^xsd:double ;
          ex:satellit ex:Mond .
ex:Mars   rdf:type ex:Himmelskörper ;
          ex:radius   "3402.5"^^xsd:double ;
          ex:satellit ex:Phobos, ex:Deimos .
ex:Mond   rdf:type ex:Himmelskörper ;
          ex:name     "Mond"@de, "Moon"@en ;
          ex:radius   "1737.1"^^xsd:double .
ex:Phobos rdf:type ex:Himmelskörper ;
          ex:name     "Phobos" .
ex:Deimos rdf:type ex:Himmelskörper ;
          ex:name     "Deimos" .</pre>
<p>Wie kann man alle Himmelskörper selektieren, die KEINEN Satelliten haben?</p>
<pre>SELECT ?x {
 ?x rdf:type ex:Himmelskörper.
 OPTIONAL { ?x ex:satellit ?satellit }.
 FILTER( !BOUND( ?satellit ) ) }</pre>
<h3>Aufgabe 3</h3>
<pre>@prefix   ex: &lt;http://example.org/&gt; .
@prefix   xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; .
ex:a ex:value "1"^^xsd:integer ;
     ex:value "3"^^xsd:integer .
ex:b ex:value "2"^^xsd:integer .</pre>
<p>Was erwarten Sie als Ergebnis der Anfragen?</p>
<h4>1. SELECT ?s ?v WHERE{  ?s ex:value ?v } ORDER BY ?v</h4>
<table>
<tbody>
<tr>
<th>?s</th>
<th> ?v</th>
</tr>
<tr>
<td>a</td>
<td>1</td>
</tr>
<tr>
<td>b</td>
<td>2</td>
</tr>
<tr>
<td>a</td>
<td>3</td>
</tr>
</tbody>
</table>
<p>Wie erwartet werden die Ergebnisse nach v sortiert</p>
<h4>2. SELECT ?s WHERE{  ?s ex:value ?v } ORDER BY ?v</h4>
<table>
<tbody>
<tr>
<th>?s</th>
</tr>
<tr>
<td>a</td>
</tr>
<tr>
<td>b</td>
</tr>
<tr>
<td>a</td>
</tr>
</tbody>
</table>
<p>Auch hier werden die Ergebnisse wieder nach v sortiert. v wird nur<br />
nicht angezeigt</p>
<h4>3. SELECT ?s WHERE{  ?s ex:value ?v } ORDER BY DESC(?v) LIMIT 2</h4>
<table>
<tbody>
<tr>
<th>?s</th>
</tr>
<tr>
<td>a</td>
</tr>
<tr>
<td>b</td>
</tr>
</tbody>
</table>
<p>Diesmal wird genau umgekehrt sortiert. Anschließend werden aber nur<br />
noch zwei Ergebnisse angezeigt</p>
<h4>4. SELECT DISTINCT ?s WHERE{  ?s ex:value ?v } ORDER BY ?v</h4>
<table>
<tbody>
<tr>
<th>?s</th>
</tr>
<tr>
<td>a</td>
</tr>
<tr>
<td>b</td>
</tr>
</tbody>
</table>
<p>Ansich die selbe Anfrage wie (2) nur das wir nun mit DISTINCT<br />
zusätzlich doppelte Werte aussortieren.</p>
<h4>4a. SELECT DISTINCT ?s WHERE{  ?s ex:value ?v } ORDER BY ?v LIMIT 1</h4>
<table>
<tbody>
<tr>
<th>?s</th>
</tr>
<tr>
<td>a</td>
</tr>
</tbody>
</table>
<p>Auch hier gibt es keine Überraschungen, das liegt an der festgelegten<br />
Reihenfolge der Modifikatoren bei SPARQL:<br />
1. Sortierung anhand von ORDER BY<br />
2. Entfernung nicht ausgewählter Variablen<br />
3. Entfernung doppelter Ergebnisse (DISTINCT)<br />
4. Entfernung der Ergebniszeilen vor dem OFFSET<br />
5. Entfernung der überschüssigen Zeilen nach LIMIT<br />
Siehe hierzu auch im Skript zu SPARQL auf Seite 25</p>
<p>Anbei nochmal die Lösungen im txt Format. So lassen sich die Daten evtl. leichter kopieren / einfügen.</p>
<p><a href="http://www.schloenvoigt.de/wp-content/uploads/2010/01/Sparql.txt">Lösungen zu SPARQL (txt)</a></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/f3df7f9a-25f2-4d67-84f4-cc7d6afcb7e5/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=f3df7f9a-25f2-4d67-84f4-cc7d6afcb7e5" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.schloenvoigt.de/2010/01/semantic-web-technologies-sparql-test-tool-und-losungen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Semantic Web Technologies] Slides zu Vorlesung 9+10+11 : OWL</title>
		<link>http://www.schloenvoigt.de/2010/01/semantic-web-technologies-slides-zu-vorlesung-91011-owl/</link>
		<comments>http://www.schloenvoigt.de/2010/01/semantic-web-technologies-slides-zu-vorlesung-91011-owl/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 19:09:42 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.schloenvoigt.de/2010/01/semantic-web-technologies-slides-zu-vorlesung-91011-owl/">Steffen Schloenvoigt</span></dc:creator>
				<category><![CDATA[Lehrveranstaltung Semantic Web Technologien]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[Knowledge Management]]></category>
		<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Ontology]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[Resource Description Framework]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Web Ontology Language]]></category>

		<guid isPermaLink="false">http://www.schloenvoigt.de/?p=156</guid>
		<description><![CDATA[Während der letzten Vorlesungen, haben wir uns die Web Ontology Language OWL angesehen. Dazu sind wir zunächst kurz auf den Begriff der Ontologie eingegangen und haben uns dann mit den Anforderungen an eine Ontologiesprache und warum RDF(S) nicht für alle Fälle ausreicht, beschäftigt. Anschließend wurde die Version 1 der Sprache OWL vorgestellt. Dabei haben wir [...]]]></description>
			<content:encoded><![CDATA[<p>Während der letzten Vorlesungen, haben wir uns die <a class="zem_slink" title="Web Ontology Language" rel="wikipedia" href="http://en.wikipedia.org/wiki/Web_Ontology_Language">Web Ontology Language</a> OWL angesehen.</p>
<p>Dazu sind wir zunächst kurz auf den Begriff der Ontologie eingegangen und haben uns dann mit den Anforderungen an eine Ontologiesprache und warum <a class="zem_slink" title="Resource Description Framework" rel="wikipedia" href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a>(S) nicht für alle Fälle ausreicht, beschäftigt.</p>
<p>Anschließend wurde die Version 1 der Sprache OWL vorgestellt. Dabei haben wir die drei Dialekte Light, DL und Full sowie ihre jeweiligen Einsatzgebiete behandelt und gesehen, dass diese in ansteigender Komplexität und Ausdrucksstärke aufeinander aufbauen.</p>
<p>Daraufhin haben wir uns die Details der Sprache näher angesehen. Es wurde besprochen aus welchen Bestandteilen OWL Ontologien bestehen, welche Konzepte (Klassen, Individuen sowie konkrete und abstrakte Rollen) , Sprachelemente (owl:Class, owl:Thing, &#8230;) und Kurzschreibweisen existieren sowie welche speziellen Beziehungen zwischen Klassen und Individuen bestehen bzw beschrieben werden können.<br />
Im Anschluss daran wurde erklärt, wie wir durch Beschränkungen auf Rollen (z.B. alle &#8220;hatFreund&#8221; Beziehungen besitzen &#8220;Frau&#8221; als Klasse des Subjekts) komplexe Klassen erstellen können und wie sich diese sich durch Intersektion, Vereinigung oder Komplementbildung zu weiteren komplexen Klassen vereinen lassen.</p>
<p>Wir haben uns mit der Klassifizierung von Rollen anhand ihrer Eigenschaften (invers zueinander, transitiv, symmetrisch, (invers) funktional) sowie mit der Bedeutung der Festlegung und den Gefahren von domain und range für diese Rollen beschäftigt.</p>
<p>Nach einer erneuten näheren Betrachtung der Dialekte, und der OWL zur Grunde liegenden Open Word Assumption haben wir uns mit Inferenz, dem &#8220;automatischen Schließen aus implizitem Wissen&#8221; beschäftigt und dabei die Funktionsweise und Probleme des Tableauverfahrens betrachtet.</p>
<p>Der nächste Abschnitt hat sich mit der neuen Version 2 von OWL beschäftigt. Dabei haben wir gelernt, das OWL 2 auf einer SROIQ Beschreibungslogik fusst und damit der SHOIN Logik von OWL 1 überlegen ist.Mit qualifizierten Zahlenrestriktionen, dem Konzept SELF sowie der Rolleninklusion haben wir die wichtigsten Elemente der neuen Version behandelt. Abschließend wurden Themen wie punning und die Aufgliederung des Light Dialekts in die Profile EL, QL und RL besprochen.</p>
<p>[]Während der letzten Vorlesungen, haben wir uns die Web Ontology Language OWL angesehen.<br />
Dazu sind wir zunächst kurz auf den Begriff der Ontologie eingegangen und haben uns dann mit den Anforderungen an eine Ontologiesprache und warum RDF(S) nicht für alle Fälle ausreicht, beschäftigt.</p>
<p>Anschließend wurde die Version 1 der Sprache OWL vorgestellt. Dabei haben wir die drei Dialekte Light, DL und Full sowie ihre jeweiligen Einsatzgebiete behandelt und gesehen, dass diese in ansteigender Komplexität und Ausdrucksstärke aufeinander aufbauen.</p>
<p>Daraufhin haben wir uns die Details der Sprache näher angesehen. Es wurde besprochen aus welchen Bestandteilen OWL Ontologien bestehen, welche Konzepte (Klassen, Individuen sowie konkrete und abstrakte Rollen) , Sprachelemente (owl:Class, owl:Thing, &#8230;) und Kurzschreibweisen existieren sowie welche speziellen Beziehungen zwischen Klassen und Individuen bestehen bzw beschrieben werden können.<br />
Im Anschluss daran wurde erklärt, wie wir durch Beschränkungen auf Rollen (z.B. alle &#8220;hatFreund&#8221; Beziehungen besitzen &#8220;Frau&#8221; als Klasse des Subjekts) als komplexe Klassen erstellen können und wie sich diese sich durch Intersektion, Vereinigung oder Komplementbildung zu weiteren komplexen Klassen vereinen lassen.</p>
<p>Wir haben uns mit der Klassifizierung von Rollen anhand ihrer Eigenschaften (invers zueinander, transitiv, symmetrisch, (invers) funktional) sowie mit der Bedeutung der Festlegung und den Gefahren von domain und range für diese Rollen beschäftigt.</p>
<p>Nach einer erneuten näheren Betrachtung der Dialekte, und der OWL zur Grunde liegenden Open Word Assumption haben wir uns mit Inferenz, dem &#8220;automatischen Schließen aus implizitem Wissen&#8221; beschäftigt und dabei die Funktionsweise und Probleme des Tableauverfahrens betrachtet.</p>
<p>Der nächste Abschnitt hat sich mit der neuen Version 2 von OWL beschäftigt. Dabei haben wir betrachtet, das OWL 2 auf einer SROIQ Beschreibungslogik fusst und damit der SHOIN Logik von OWL 1 überlegen ist.Mit qualifizierten Zahlenrestriktionen, dem Konzept SELF sowie der Rolleninklusion haben wir die wichtigsten Elemente der neuen Version behandelt. Abschließend wurden Themen wie punning und die Aufgliederung des Light Dialekts in die Profile EL, QL und RL besprochen.</p>
<p><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=id=2896440&amp;doc=8-sprachendessw-owl-100112094135-phpapp02" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=id=2896440&amp;doc=8-sprachendessw-owl-100112094135-phpapp02" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355" wmode="transparent"></embed></object></p>
<p><a href="http://www.schloenvoigt.de/wp-content/uploads/2010/01/8-SprachenDesSW-OWL.pdf">8 &#8211; Sprachen des Semantic Web &#8211; OWL (PDF)</a></p>
<p>Literatur:</p>
<ul>
<li>Buch “Semantic Web Grundlagen”, Springer Verlag 2008<br />
Pascal Hitzler, Markus Krötzsch, Sebastian Rudolph, York Sure<br />
ISBN: 978-3-540-33993-9</li>
<li><a href="http://www.w3.org/TR/owl-features/">W3C: Web Ontology Language Overview</a></li>
<li><a href="http://www.w3.org/TR/owl-ref/">W3C: Web Ontology Language Reference</a></li>
<li><a href="http://www.w3.org/TR/owl-guide/">W3C: Web Ontology Language Guide</a></li>
<li><a href="http://www.w3.org/TR/owl-semantics/">W3C: Web Ontology Language Semantics and Abstract Syntax</a></li>
<li><a href="http://www.w3.org/TR/owl2-overview/">W3C: OWL 2 Web Ontology Language Document Overview</a></li>
<li><a href="http://www.w3.org/2005/11/Translations/Lists/ListLang-de.html">Deutsche Übersetzungen von W3C Dokumenten</a></li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/9bbec92d-da23-437a-bd7e-2668580c4fe1/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=9bbec92d-da23-437a-bd7e-2668580c4fe1" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.schloenvoigt.de/2010/01/semantic-web-technologies-slides-zu-vorlesung-91011-owl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

