© Copyright 2008 STI INNSBRUCK RDF Best Practice Best Practice Recipes for Publishing RDF Vocabularies W3C Working Group Note 28. August
Publishing RDF Ontologies Content Negotiation Dereferencable concept URIs HTTP 303 Redirects Concept Name separated from the URI via slash (/) or hash (#) 2
Content Negotiation Client specifies preferred format (in HTTP Header), e.g. –Accept: application/rdf+xml –Accept: application/xhtml+xml, text/html Fallback type must be specified 3
Dereferencable Ontology URIs 4 Example: Access e-Freight Ontology:
Dereferencable Concept URI 5 Example: GET the class Shipment: Redirect to vocabulary URI:
Server-Side Configuration.htaccess for ‘hash namespaces‘, e.g. AddType application/rdf+xml.owl RewriteEngine On RewriteBase /crs RewriteRule ^crs$ crs.owl.htaccess for ‘slash namespaces’, e.g. AddType application/rdf+xml.owl RewriteEngine On RewriteBase /crs RewriteRule ^crs/.+ crs/ [R=303] RewriteRule ^crs/$ crs.owl 6
Redirect to SPARQL Query Server-side configuration (.htaccess file) RewriteCond %{HTTP_ACCEPT} text/html RewriteRule ^crs/(.+) [R=303] RewriteCond %{HTTP_ACCEPT} application/rdf\+xml RewriteRule ^crs/(.+) [R=303] 7
Summary Dereferencable URIs for all concept in the ontology 303 Redirect to the Ontology if a concept is accessed Possible to separate the namespace with a slash (/) or a hash (#) Content Negotiation with fallback type Redirecting to SPARQL Query 8