<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Szkoła Web 3.0 &#187; endpoint</title>
	<atom:link href="http://www.semanticschool.com/tag/endpoint/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.semanticschool.com</link>
	<description>Dowiedz się czym jest Sieć Semantyczna</description>
	<lastBuildDate>Mon, 06 Jun 2011 17:37:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
	<copyright>Copyright &#xA9; Szkoła Web 3.0 2010 </copyright>
	<managingEditor>info@semanticschool.com (Szkoła Web 3.0)</managingEditor>
	<webMaster>info@semanticschool.com (Szkoła Web 3.0)</webMaster>
	<image>
		<url>http://www.semanticschool.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Szkoła Web 3.0</title>
		<link>http://www.semanticschool.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>The School of Semantics</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>Szkoła Web 3.0</itunes:author>
	<itunes:owner>
		<itunes:name>Szkoła Web 3.0</itunes:name>
		<itunes:email>info@semanticschool.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://www.semanticschool.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>SPARQL &#8211; cz. 1: Wstęp do odpytywania grafów RDF</title>
		<link>http://www.semanticschool.com/2010/02/sparql-wstep/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.semanticschool.com/2010/02/sparql-wstep/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 08:00:20 +0000</pubDate>
		<dc:creator>Sebastian Kruk</dc:creator>
				<category><![CDATA[Dla programistów]]></category>
		<category><![CDATA[Podstawy]]></category>
		<category><![CDATA[endpoint]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[sparql]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.semanticschool.com/?p=745</guid>
		<description><![CDATA[W piątek obiecałem, że dziś dowiecie się jak zadawać zapytania na grafie RDF za pomocą języka zapytań SPARQL. Zapowiada się kolejny cykl, tym razem jeszcze dłuższy niż poprzednie, bo chce omówić kolejne aspekty SPARQLa krok po kroku. Dlaczego warto poznać SPARQL ? Jeszcze kilka lat temu każda baza RDF implementowała swój język zapytań na grafie [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.w3.org/TR/rdf-sparql-query/"><img class="alignright size-full wp-image-765" title="SPARQL logo" src="http://www.semanticschool.com/wp-content/uploads/2010/02/sparql_logo.png" alt="SPARQL logo" width="188" height="128" /></a>W piątek obiecałem, że dziś dowiecie się jak zadawać zapytania na grafie RDF za pomocą języka zapytań <a href="http://www.w3.org/TR/rdf-sparql-query/" target="_blank">SPARQL</a>. Zapowiada się kolejny cykl, tym razem jeszcze dłuższy niż poprzednie, bo chce omówić kolejne aspekty SPARQLa krok po kroku.</p>
<p>Dlaczego warto poznać SPARQL ? Jeszcze kilka lat temu każda baza RDF implementowała swój język zapytań na grafie RDF. Tak zgadliście: próba przeniesienia się z jednego repozytorium do drugiego była koszmarem. Dodatkowo, chociaż nie wiele wówczas serwisów udostępniało publicznie swoje dane, to bez jednego standardu zapytań konieczne było pisanie agentów semantycznych, które potrafiły zadawać zapytania w różnych językach.</p>
<p>Wraz z popularyzacją języka SPARQL przez W3C (SPARQL obchodził niedawno 2 lata od opublikowania jako rekomendacja W2 sytuacja się drastycznie zmieniła: SPARQL jest na tyle popularny, że udostępnianie tzw. <em><a href="http://semanticweb.org/wiki/SPARQL_endpoint" target="_blank">SPARQL endpoint</a></em> jest jednym z de facto standardów funkcjonowania serwisów semantycznych zgodnych z Linked Open Data. Innym ciekawym przykładem wykorzystania języka SPARQL jest projekt <a href="http://code.google.com/p/sparqltex/" target="_blank">sparqlTeX</a>, dzięki któremu możemy automatycznie aktualizować dokumenty PDF w oparciu o dane z serwisów udostępniających SPARQL endpoint.</p>
<p>W chwili obecnej <a href="http://www.w3.org/2009/sparql/wiki/Main_Page" target="_blank">trwają prace</a> nad kolejną wersją języka; napiszemy o proponowanych zmianach pod koniec cyklu.</p>
<p><span id="more-745"></span></p>
<p>Być może części z was nazwa SPARQL przywodzi na myśl SQL. Podobieństwo w nazwie jest częściowo zamierzone ... podobnie jak w przypadku formatu zapytań.</p>
<p>Weźmy pod uwagę prosty graf RDF:</p>
<p><code>&lt;http://www.semanticschool.com/2010/02/sparql-wstep/&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "SPARQL - cz. 1: Wstęp do odpytywania grafów RDF".<br />
&lt;http://www.semanticschool.com/2010/02/sparql-wstep/&gt; &lt;http://purl.org/dc/elements/1.1/creator&gt; "Sebastian Ryszard Kruk".<br />
</code><br />
Jeżeli chcemy zapytać o tytul artykułu pod adresem http://www.semanticschool.com/2010/02/sparql-wstep/ możemy to zrobić za pomocą zapytania:</p>
<p><code>SELECT ?tytul<br />
WHERE<br />
{<br />
&lt;http://www.semanticschool.com/2010/02/sparql-wstep/&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; ?tytul.<br />
}</code></p>
<p>Zapytania SPARQL zaczynamy słowem SELECT, po którym wypisujemy listę zmiennych o które pytamy. Zaś w sekcji WHERE wewnątrz nawiasów sześciennych wpisujemy szablon grafu RDF (w formacie Turtle), gdzie pewne elementy grafu zastępujemy zmiennymi rozpoczynającymi się od znaku zapytania.</p>
<p>Przyznacie jednak, że ciągłe wpisywanie pełnych URI nie jest zbyt wygodne. Podobnie jak w przypadku języka Turtle, możemy skorzystać z prefiksów. Poprzednie zapytanie wyglądałoby następująco:</p>
<p><code>PREFIX dc: &lt;http://purl.org/dc/elements/1.1/&gt; .<br />
SELECT ?tytul<br />
WHERE<br />
{<br />
&lt;http://www.semanticschool.com/2010/02/sparql-wstep/&gt; dc:title ?tytul.<br />
}</code></p>
<p>Kilka z prefiksów jest zdefiniowanych domyślnie:</p>
<p><code>PREFIX rdf:<span style="white-space: pre;"> </span> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .<br />
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; .<br />
PREFIX xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt;.<br />
PREFIX fn: &lt;http://www.w3.org/2005/xpath-functions#&gt;.</code></p>
<p>A co jeśli chcemy zapytać więcej informacji o danym zasobie ? Nic prostszego. Dla następującego grafu</p>
<p><code>&lt;http://www.semanticschool.com/2010/02/sparql-wstep/&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "SPARQL - cz. 1: Wstęp do odpytywania grafów RDF".<br />
&lt;http://www.semanticschool.com/2010/02/sparql-wstep/&gt; &lt;http://purl.org/dc/elements/1.1/creator&gt; "Sebastian Ryszard Kruk".<br />
&lt;http://www.semanticschool.com/2009/12/semantyczne-seo-ontologia-good-relations-i-rdfa/&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; Semantyczne SEO, czyli jak zwiększyć widoczność stron w wyszukiwarkach przy pomocy ontologii Good Relations i RDFa".<br />
&lt;http://www.semanticschool.com/2009/12/semantyczne-seo-ontologia-good-relations-i-rdfa/&gt; &lt;http://purl.org/dc/elements/1.1/creator&gt; "Arkadiusz Kwoska".</code></p>
<p>nieznacznie zmodyfikowane zapytanie SPARQL</p>
<p><code>PREFIX dc: &lt;http://purl.org/dc/elements/1.1/&gt; .<br />
SELECT ?url, ?tytul, ?autor<br />
WHERE<br />
{<br />
?url dc:title ?tytul.<br />
?url dc:creator ?autor.<br />
}</code></p>
<p>otrzymamy w wyniku:</p>
<table border="1">
<tbody>
<tr>
<td>http://www.semanticschool.com/2010/02/sparql-wstep/</td>
<td>SPARQL - cz. 1: Wstęp do odpytywania grafów RDF</td>
<td>Sebastian Ryszard Kruk</td>
</tr>
<tr>
<td>http://www.semanticschool.com/2009/12/semantyczne-seo-ontologia-good-relations-i-rdfa/</td>
<td>Semantyczne SEO, czyli jak zwiększyć widoczność stron w wyszukiwarkach przy pomocy ontologii Good Relations i RDFa</td>
<td>Arkadiusz Kwoska</td>
</tr>
</tbody>
</table>
<p>W zapytaniu możemy wybierać trójki na podstawie literałów w zdaniu. Na przykład dla grafu:</p>
<p><code>@prefix dc: &lt;http://purl.org/dc/elements/1.1/&gt; .<br />
&lt;http://www.semanticschool.com/&gt; dc:lang "Polski".<br />
&lt;http://semdl.info/&gt; dc:lang "English".<br />
&lt;http://semdl.info/&gt; dc:type "Site"@en.<br />
&lt;http://www.semanticschool.com/&gt; dc:type "Strona"@pl.<br />
&lt;http://www.semanticschool.com/&gt; &lt;http://example.com/articleCount&gt;  43.<br />
&lt;http://blog.knowledgehives.com/&gt; &lt;http://example.com/articleCount&gt;  9.<br />
&lt;http://semdl.info/&gt; dc:date "02/01/2010"^^xsd:date.<br />
&lt;http://www.semanticschool.com/&gt; dc:date "09/19/2009"^^xsd:date.<br />
&lt;http://semdl.info/&gt; &lt;http://example.com/inPolish&gt; "false"^^xsd:boolean.<br />
&lt;http://www.semanticschool.com/&gt; &lt;http://example.com/inPolish&gt; "true"^^xsd:boolean.<br />
</code></p>
<p>Poniższe zapytanie wypisze stronę napisaną po angielsku</p>
<p><code>PREFIX dc: &lt;http://purl.org/dc/elements/1.1/&gt; .<br />
SELECT ?url WHERE { ?url dc:lang "English". }</code></p>
<p>A to stronę typu "Strona", gdzie literał ma ustalony język "pl". W następnych odcinkach napiszę co zrobić jeżeli nie znamy języka literału, lub nie wiemy czy język został w ogóle podany.</p>
<p><code>PREFIX dc: &lt;http://purl.org/dc/elements/1.1/&gt; .<br />
SELECT ?url WHERE { ?url dc:type "Strona"@pl. }</code></p>
<p>Możemy też zapytać o ilość:</p>
<p><code>SELECT ?url WHERE { ?url &lt;http://example.com/articleCount&gt; 43. }</code></p>
<p>o datę:</p>
<p><code>PREFIX dc: &lt;http://purl.org/dc/elements/1.1/&gt; .<br />
SELECT ?url WHERE { ?url dc:date "09/19/2009"^^xsd:date. }</code></p>
<p>lub o wartości typu prawda / fałsz.</p>
<p><code>SELECT ?url WHERE { ?url &lt;http://example.com/inPolish&gt; true. }</code></p>
<p>Jak widać SPARQL jest całkiem prosty. W następnym odcinku nauczymy się jak konstruować zapytań dotyczące większych obszarów grafu RDF w tym <a href="http://www.semanticschool.com/2009/09/rdf-wstep/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">nienazwanych węzłów</a> (ang. <em>blank nodes</em>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.semanticschool.com/2010/02/sparql-wstep/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.874 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-09 08:11:36 -->
<!-- Compression = gzip -->
