on media types for OWL (5.13)

The purpose of a media type in Web Architecture[1] is
to say what format/encoding/language a sequence
of bytes is written in.

On the one extreme, one might consider the application/octet-stream
media type. Clearly, all our documents can be captured
as octet sequences, so they qualify for that media type.

But if you stick OWL stuff on the web and label it
application/octet-stream, the poor sap who GETs
it has no way to follow his nose thru the IANA
media type registry to our spec. You haven't fullfilled
your part of the bargain in communicating in the

Then, up from that extreme, our requirements
guarantee that you can say what you want to say in OWL
using XML.

So let's consider the text/xml or application/xml media type.

Now you stick, say, your genology ontology in
geneology.xml and your HTTP server labels
it application/xml. The poor sap who receives
it looks up the XML media type in the IANA
registry, follows his
nose to the XML namespaces spec[2], sees the owl
namespace identifier in the XML, follows his
nose a bit more, and ends up at our OWL spec.
Bingo, you have communicated, web-style.

Or have you?

Consider <myFamilyKB.xml> and
<geneology-terms.xml> whose contents are, respectively:

 <rdf:RDF xmlns:rdf="...the usual..."
  <rdf:Description rdf:about="john">
    <g:son rdf:resource="#Dan">
    <g:wife rdf:resource="#Mary">


 <rdf:RDF xmlns:rdf="...the usual..."
	xmlns:owl="...whatever we decide...">
   <owl:FunctionalProperty rdf:ID="wife"/>
   <rdf:Property rdf:ID="son"/>

And now our poor sap find himself
interested in <myFamilyKB.xml> for whatever
reason; he http.GETs it, finds it
labelled applicatoin/xml, and finds
the RDF spec and a pointer to geneology-terms,
but no pointer to any OWL specs yet.
It's not until he goes to see what
g:wife means that he'll follow
his nose via owl:FunctionalProperty to
our spec.

Hmm... now I thought this argument
was going to conclude that we need
to use application/rdf+xml, rather
than just application/xml, in order
to find our spec from myFamilyKB,
but it didn't turn out that way.

So I guess application/xml fills
all the architectural requirements that
I can come up with, provided you believe
that application/xml is enough clues
to say "follow your nose thru namespace
pointers"... which I note[2], is
not quite the IETF-standardized case.

Hmm... perhaps [2] is more relevant
than I thought... to use application/xml
as our namespace is to say that XML
namespace pointers should be consulted
for the meaning of documents. And that's
just not the consensus of the community,
yet, and I'm not sure it ever will be.

What the relevant spec actually says is:

"   An XML document labeled as text/xml or application/xml might contain
   namespace declarations, stylesheet-linking processing instructions
   (PIs), schema information, or other declarations that might be used
   to suggest how the document is to be processed."

'might' and 'suggest' are too weak, to me.

So we actually do need to invoke the RDF
spec[3] more directly, in order that the
poor sap can follow his nose thru g:wife
to <geneology-terms>.

So I'm convinced we need application/rdf+xml.

Now further up the spectrum, we might consider application/owl+xml.

I find that objectionable because it suggests that
dublin core and adobe XMP and RSS and so on
need their own media types, and it leaves me
wondering what media type to use if for
a document that mixes all these vocabularies

So I propose that the reference document specify
application/rdf+xml as a suitable media
type for OWL KBs written in RDF/xml syntax.

"Representations, when transferred by a Web protocol, are often
accompanied by metadata, usually based on [RFC2046]. In particular, the
value of the media type metadata value is key to the correct
interpretation of a resource representation"
-- http://www.w3.org/TR/2002/WD-webarch-20020830/#uri-ref-operations


[2] I'm not at all sure there's a path
from the xml media type spec to the
namespaces spec. But there should be,
and it's not really critical to my
argument, I don't think.

[3] http://www.w3.org/TR/rdf-concepts/#section-Social

Dan Connolly, W3C http://www.w3.org/People/Connolly/

Received on Wednesday, 23 October 2002 16:57:45 UTC