<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://techbase.kde.org/skins/common/feed.css?0.2"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://techbase.kde.org/index.php?title=Projects/Nepomuk/Uris/en&amp;feed=atom&amp;action=history</id>
		<title>Projects/Nepomuk/Uris/en - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://techbase.kde.org/index.php?title=Projects/Nepomuk/Uris/en&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Projects/Nepomuk/Uris/en&amp;action=history"/>
		<updated>2013-05-26T05:36:10Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Projects/Nepomuk/Uris/en&amp;diff=77193&amp;oldid=prev</id>
		<title>FuzzyBot: Updating to match new version of source page</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Projects/Nepomuk/Uris/en&amp;diff=77193&amp;oldid=prev"/>
				<updated>2012-12-10T17:43:51Z</updated>
		
		<summary type="html">&lt;p&gt;Updating to match new version of source page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scope of this page ==&lt;br /&gt;
&lt;br /&gt;
This document describes in depth how URIs are stored in '''Nepomuk''', and their significance.&lt;br /&gt;
&lt;br /&gt;
==  What is a URI? ==&lt;br /&gt;
&lt;br /&gt;
A URI or ''Uniform Resource Identifier'' is a string of characters used to identify or locate a resource. URIs can be of two types, or both - &lt;br /&gt;
* URN - Uniform Resources Names&lt;br /&gt;
* URL - Uniform Resource Locator. &lt;br /&gt;
&lt;br /&gt;
A URN is a unique way of identifying a resource. It does not provide any information about how the resource can be found&amp;gt; Rather it provides a way to uniquely identify a resource. For example - &amp;lt;tt&amp;gt;urn:isbn:037584614X&amp;lt;/tt&amp;gt;. This urn tells you nothing about how to find the book that it just mentions a unique identifier. You can take the ISBN and somehow locate [http://www.amazon.com/Nick-Norahs-Infinite-Playlist-Rachel/dp/037584614X the book]&lt;br /&gt;
&lt;br /&gt;
A URL, in contrast, provides a way to access the resource. For example - &amp;lt;tt&amp;gt;file:///home/user/file&amp;lt;/tt&amp;gt;. This url clearly dictates that the &amp;lt;tt&amp;gt;file&amp;lt;/tt&amp;gt; protocol should be used along with the path &amp;lt;tt&amp;gt;/home/user/file&amp;lt;/tt&amp;gt;. It does not give a unique way of identifying the resource. It just provides one way to access the resource.&lt;br /&gt;
&lt;br /&gt;
== So what does Nepomuk use? ==&lt;br /&gt;
&lt;br /&gt;
Nepomuk URIs are in a way URNs, though unlike conventional URNs which provide a globally unique way of identifying a resource, they provide a unique way of identifying a resource '''on one machine'''. This is important - '''Nepomuk''' URIs are NOT machine independent. The same resource can have different URIs on different systems. This is because all URIs in '''Nepomuk''' are randomly generated. They follow a pattern -&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;nepomuk:/res/uuid&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UUID stands for a ''Universally Unique Identifier''. In Nepomuk this UUID is guaranteed to be unique on one system. A resource with the same UUID can exist as completely different resources on different systems.&lt;br /&gt;
&lt;br /&gt;
== Doesn't Nepomuk need the location of the Resource? ==&lt;br /&gt;
&lt;br /&gt;
Yes, we do! But the location of a resource is independent of its name. Its name ( UUID ) never changes. If the resource has a location then the location is stored as a URL using the property [http://oscaf.sourceforge.net/nie.html#nie:url &amp;lt;code&amp;gt;nie:url&amp;lt;/code&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
Not all resources have a location. '''Nepomuk''' is also used to store abstract stuff like Contacts, Events and People, they do not have a location. Concrete stuff like pictures, videos and files do have locations.&lt;br /&gt;
&lt;br /&gt;
== Tell me more about these URLS ==&lt;br /&gt;
&lt;br /&gt;
A URL is like the physical representation of an object. In '''Nepomuk''' all URLs must have a proper scheme that KDE supports. Example &amp;lt;tt&amp;gt;smb:/192.168.1.50/Multimedia/&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;akonadi:?item=21&amp;lt;/tt&amp;gt;. These all are stored in the nie:url property of the resource.&lt;br /&gt;
&lt;br /&gt;
== You're lying! I see resource URIs like &amp;lt;tt&amp;gt;akonadi:?item=21&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
This URI nomenclature was decided in June 2011. We're still in the process of making sure all URIs follow our naming convention. With KDE 4.10, there will be a data migration client which will make sure the old data is converted to this new uri format.&lt;br /&gt;
&lt;br /&gt;
== Why go through all this trouble? ==&lt;br /&gt;
&lt;br /&gt;
The rationale in having random UUID based URIs in '''Nepomuk''' is two-fold. One, we have a guarantee that the URI is random, and means nothing. This is important when restoring backups or synchronization or when sharing resource among different systems. If you're restoring a resource and its URI already exists, no problem, just generate another one. It's not like they have any concrete meaning. The URL however does have a concrete meaning, and that we need to respect.&lt;br /&gt;
&lt;br /&gt;
The second reason is that all URIs follow one naming convention.&lt;br /&gt;
&lt;br /&gt;
== What about the Semantic Web? ==&lt;br /&gt;
&lt;br /&gt;
'''Nepomuk''' is the Semantic Desktop, while we acknowledge the existence of the Semantic Web, we currently do not go out of our way to support it. It's a messy situation, and we don't have a solution right now. If you have any ideas on how we can have better interoperability with the Semantic Web, then please come talk to us.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>FuzzyBot</name></author>	</entry>

	</feed>