<?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; cool uri</title>
	<atom:link href="http://www.semanticschool.com/tag/cool-uri/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>Publikujemy w Web 3.0 &#8211; część 4: Semantyczny agent rozmawia z naszym serwisem</title>
		<link>http://www.semanticschool.com/2009/12/schemat-uri-303/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.semanticschool.com/2009/12/schemat-uri-303/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 08:00:03 +0000</pubDate>
		<dc:creator>Sebastian Kruk</dc:creator>
				<category><![CDATA[Dla programistów]]></category>
		<category><![CDATA[Podstawy]]></category>
		<category><![CDATA[303]]></category>
		<category><![CDATA[cool uri]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[przekierowanie]]></category>
		<category><![CDATA[uri]]></category>

		<guid isPermaLink="false">http://www.semanticschool.com/?p=549</guid>
		<description><![CDATA[W poprzednich artykułach cyklu "Publikujemy w Web 3.0" dowiedzieliśmy się w jaki sposób sprawić, aby nasz serwis dostarczał semantyki. W ostatnim odcinku rozważaliśmy potrzebę tworzenia URI tak aby nigdy nie musiały ulegać zmianie. W tym odcinku opiszemy kiedy stosować przekierowania protokołu HTTP czy też adresy URL z tzw. hashtagami. Jeżeli chcemy zdefiniować schemat URI dla [...]]]></description>
			<content:encoded><![CDATA[<p>W poprzednich artykułach cyklu "Publikujemy w Web 3.0" dowiedzieliśmy się w jaki sposób sprawić, aby nasz serwis dostarczał semantyki. W ostatnim odcinku rozważaliśmy potrzebę tworzenia URI tak aby nigdy nie musiały ulegać zmianie. W tym odcinku opiszemy kiedy stosować przekierowania protokołu HTTP czy też adresy URL z tzw. hashtagami.</p>
<p><span id="more-549"></span></p>
<p>Jeżeli chcemy zdefiniować schemat URI dla zasobów opisywanych w dokumentach RDF niezależnych od treści HTML (czyli <a href="http://www.semanticschool.com/2009/11/publikowanie-semantyki/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">nie osadzonych</a>), mamy do wyboru <a href="http://www.w3.org/TR/cooluris/" target="_blank">dwa rozwiązania</a>:</p>
<ul>
<li>schemat URI oparty na hash tagach,</li>
<li>schemat URI oparty na przekierowaniach HTTP 303.</li>
</ul>
<h2>Schemat URI oparty na hash tagach</h2>
<p>W pierwszym wypadku nasz serwis dostarcza pojedynczy dokument RDF, w którym poszczególne zasoby identyfikowane są za pomocą lokalnych nazw. Pełne URI zasobu składa się z URI dokumentu RDF i lokalnej nazwy zasobu.</p>
<p>Na przykład nasza firma może zebrać wszystkie informacje w jednym dokumencie RDF i opublikować go pod adresem <code>http://www.przyklad.pl/informacje</code>. Zasób RDF opisujący firmę może mieć lokalna nazwę <code>ofirmie</code>, skąd globalne URI będzie postaci <code>http://www.przyklad.pl/informacje#ofirmie</code>.</p>
<p>Korzystając ze schematów URI opartych na hash tagach możemy dostarczać zawartości w formacie rozpoznawalnym przez danego agenta. Poniższy rysunek pokazuje poszczególne etapy procesu. Agent semantyczny pytając o zasób o URI <code>http://www.przyklad.pl/informacje#ofirmie</code> korzystając z protokołu HTTP otrzymuje cały dokument <code>http://www.przyklad.pl/informacje</code> (hash tagi nie są przetwarzane w ramach protokołu HTTP). W przypadku agenta, który poprosi o dokument RDF (<code>application/rdf+xml</code>) nastąpi de facto przekazanie zawartości dokumentu <code>http://www.przyklad.pl/informacje.rdf</code>; zamiast przekazania bezpośrednio zawartości zasobu <code>http://www.przyklad.pl/informacje</code>. Podobnie w przypadku agenta proszącego o dokument HTML.</p>
<p style="text-align: center;"><img class="size-medium wp-image-615  aligncenter" title="Negocjacja zawartości dla schematu URI opartego na hash tagach" src="http://www.semanticschool.com/wp-content/uploads/2009/12/hashtag.png" alt="Negocjacja zawartości dla schematu URI opartego na hash tagach" width="540" height="250" /></p>
<h2>Schemat URI oparty na przekierowaniach HTTP 303</h2>
<p>W przypadku schematu URI opartego na przekierowaniach HTTP, każdy zasób dla którego dostarczony jest dokument RDF posiada globalne URI. W powyższym przykładzie, taki URI byłby następujący: <code>http://www.przyklad.pl/id/ofirmie</code>. W odpowiedzi na zapytanie agenta o zasób o podanym URI, serwer wysyła status odpowiedzi 303, wraz z nagłówkiem <code>Location</code> o docelowym dokumencie. W przypadku agenta semantycznego proszącego o dokument RDF, zostanie on przekierowany do dokumentu <code>http://www.przyklad.pl/doc/ofirmie.rdf</code></p>
<p style="text-align: center; ">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-617" title="Schemat URI oparty na przekierowaniach 303" src="http://www.semanticschool.com/wp-content/uploads/2009/12/redirect3031.png" alt="Schemat URI oparty na przekierowaniach 303" width="544" height="250" /></p>
<h2>Który schemat wybrać ?</h2>
<p>Zaletą schematów opartych na hash tagach jest mniejsza ilość zapytań HTTP, które musi wykonać agent komunikujący się z naszym serwisem. Niewątpliwą jednak wadą jest konieczność pobrania całego dokumentu opisującego wszystkie zasoby; szczególnie w przypadku dużej liczby zasobów może to prowadzić do sporych opóźnień w komunikacji. Dlatego też schematy URI oparte na hash tagach doskonale nadają się do niewielkich zestawów zasobów, o których informacje zmieniają się rzadko; przykładem mogą być <a href="http://www.semanticschool.com/2009/10/ontologie-przyklady/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">lekkie ontologie</a>. Na zakończenie, warto zauważyć, że oba rozwiązania nie wykluczają się wzajemnie; jeżeli nasz system potrafi skorzystać z hybrytowego rozwiązania opartego na obu schematach, tak powinniśmy uczynić.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.semanticschool.com/2009/12/schemat-uri-303/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.991 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-09 07:56:32 -->
<!-- Compression = gzip -->
