80 likes | 194 Views
RDF Best Practice. Best Practice Recipes for Publishing RDF Vocabularies W3C Working Group Note 28. August 2008 - http://www.w3.org/TR/2008/NOTE-swbp-vocab-pub-20080828/. Publishing RDF Ontologies. Content Negotiation Dereferencable concept URIs HTTP 303 Redirects
E N D
RDF Best Practice Best Practice Recipes for Publishing RDF Vocabularies W3C Working Group Note 28. August 2008 - http://www.w3.org/TR/2008/NOTE-swbp-vocab-pub-20080828/
Publishing RDF Ontologies • Content Negotiation • Dereferencable concept URIs • HTTP 303 Redirects • Concept Name separated from the URI via slash (/) or hash (#)
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
Dereferencable Ontology URIs • Example: • Access e-Freight Ontology: http://efreight.sti2.at/ontology/crs.owl
Dereferencable Concept URI • Example: • GET the class Shipment: http://efreight.sti2.at/ontology/crs.owl#Shipment • Redirect to vocabulary URI: http://efreight.sti2.at/ontology/crs.owl
Server-Side Configuration • .htaccess for ‘hash namespaces‘, e.g. http://efreight.sti2.at/ontology/crs.owl#Shipment AddType application/rdf+xml .owl RewriteEngine On RewriteBase /crs RewriteRule ^crs$ crs.owl • .htaccess for ‘slash namespaces’, e.g. http://efreight.sti2.at/ontology/crs/Shipment AddType application/rdf+xml .owl RewriteEngine On RewriteBase /crs RewriteRule ^crs/.+ crs/ [R=303] RewriteRule ^crs/$ crs.owl
Redirect to SPARQL Query • Server-side configuration (.htaccess file) RewriteCond %{HTTP_ACCEPT} text/html RewriteRule ^crs/(.+) http://dbpedia.org/$1 [R=303] RewriteCond %{HTTP_ACCEPT} application/rdf\+xml RewriteRule ^crs/(.+) http://dbpedia.org/sparql?query=DESCRIBE+<http://dbpedia.org/$1> [R=303]
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