Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

use of Uri and Url in semantic web

Tags:

I'm working on a semantic web project and I've encountered some problems about Uri & Url.

First of all, a general question: how are Uris referenced by a user application in world wide web? Are there like Urls, stored on some international servers, and the resource is given to user application, when relevant Uri is requested? I made Uris for my ontology individuals in RDF files. Is it enough to just store an Uri in my web files? How can be sure that it is unique? (for example this is for a student: #stu00546)
Second, what Uri should i give to my ontology? should I register a valid Uri to make it work on the Internet?
Last, should I store both Uris and Url, for an individual, where it's needed? For instance if I want to create an individual about a learning resource (like a Pdf), and I want the user to be able of opening this Pdf later, should I store the Url of Pdf, or I should define this individual with it's Uri, which is assigned to it by other site?

Thank you very much for your time & attention

like image 417
Ehsan Avatar asked Jul 12 '09 07:07

Ehsan


2 Answers

About URI: in general all URI cannot be referenced: for example

urn:isbn:0451450523

describes the id of a book, but there is not a standard way to find this book. Some protocols such as URL or LSID are associated with protocol that allow them to retrieve the information.

An URI for your ontology: This could be any unique URI (e.g. urn:me:onotology/mywebsite#ontology but I guess the best place would be a URL on the web where your ontology is described. See also the ontology header. For example the namespace of FOAF is http://xmlns.com/foaf/0.1/ which redirects to the specifiation.

A URL for your document (suggestion):

<foaf:Document rdf:about="http://example.org/mydoc1">
  <dc:title xml:lang="en">Title</dc:title>
  <dc:title xml:lang="fr">Titre</dc:title>
</foaf:Document>

<my:InstanceOfDoc rdf:about="http://example.org/mydoc1/pdf">
 <my:isInstanceOf  rdf:resource="http://example.org/mydoc1"/>
 <my:mime-type>application/pdf</my:mime-type>
</my:InstanceOfDoc>


<my:InstanceOfDoc rdf:about="http://example.org/mydoc1/txt">
 <my:isInstanceOf  rdf:resource="http://example.org/mydoc1"/>
 <my:mime-type>text/plain</my:mime-type>
</my:InstanceOfDoc>

<my:InstanceOfDoc rdf:about="http://example.org/mydoc1/html">
 <my:isInstanceOf  rdf:resource="http://example.org/mydoc1"/>
 <my:mime-type>text/html</my:mime-type>
</my:InstanceOfDoc>
like image 130
Pierre Avatar answered Oct 13 '22 10:10

Pierre


The RDF specification defines how URIs are used within RDF. Don't forget about form (and secondary uses), but by far the most important aspect to your URIs is that they are globally unique identifiers. Each URI identifies a unique concept (for example, a specific OWL class) or an individual (a particular instance of that class -- the student you mention in your question) and you want to be very careful about ensuring uniqueness of your URIs.

With that in mind, a URI like #student1234 is not good, while urn:myappname:students#student1234 would be better.

For more "friendly" uses of the URI, you may want to make them dereferencable (as in the FOAF spec mentioned by Pierre or for the purposes of linked data). In this case, a URI like http://myserver.com/myappname/students/student1234 might be more appropriate.

The final thing to keep in mind is what Semantic Web for the Working Ontologist: Modeling in RDF, RDFS and OWL calls "Wishful Names". Be very careful assuming (as a human) that a URI like urn:example:cars#car123 has type ontology:Car. The URI will be opaque (and used like a key in a database) when used by a piece of software; a URI has no semantics on its own.

Beyond that, most of the form comes down to personal preference and what will benefit your application.

like image 33
Phil M Avatar answered Oct 13 '22 10:10

Phil M