SelfDescribingWeb

From W3C Wiki

The SemanticWeb is designed to be self-describing: the reason well, a reason. integrate GlobalNaming here too we use URIs for terms is that you can look them up if you don't know what they mean hmm... not all URIs, righ?.

In RDF/XML, terms appear as element and attribute names. (some regard this as abuse of XML; they will please explain the PPR:AntiPattern that leads them to this conclusion).

In the general case, the choice of element and attribute names in each XML document is independent. The use of <p> in one document need not have anything to do with the use of <p> in another document.

The XML Namespaces spec (Linkme) allows XML document designers to connect element and attribute names with URIs via prefixes such as my: so as to say that yes, the <my:p> element in this document is the same sort of <my:p> element as in other documents that use the same namespace name. They are declared ala...


<my:memo xmlns:my="http://acme.example.com/memoVocab">
 <my:p>blah...</my:p>


For some use cases (hmm... how about a real-world example?), the motivation for XML namespaces begins and ends with disambiguating names this way so that software that recognizes a namespace name can safely conclude what to do with it. The use of URIs for namespace names serves to disambiguate in the global context, an that's enough. The fact that URIs can also be used as a key into a global information store is not relevant, or at least not essential.

Naturally curious consumers of document such as the one above are likely to stick http://acme.example.com/memoVocab into their web browser and see what they get. While they may be disappointed with a "404 Not Found" response, or even a acme.example.com host not found response, it does not interfere with the intended processing of ACME memo documents by the company formatting, printing, and content management software. If the consumer were among the intended audience of the memo documents, s/he would have received sufficient information to consume them out-of-band.

(hmm... what section heading to use for the 2 paras above? perhaps factor it out as a topic? is it an PPR:AntiPattern)

The next level of self-description comes when the designer of a namespace intends to exploit the AnarchicScalability of the Web. In this case, the designer rewards the naturally curious consumer with a '200 ok' response and some documentation about the indended use of the namespace name and XML elements associated with it. The XHTML namespace is documented this way, though the information it contains was rather ubiquitously disseminated thru other means and in practice, very few consumers will learn about XHTML for the first time by looking up its namespace name. The P3P namespace (LinkMe) is somewhat more relevant, though again, W3C is in a somewhat central position, not a shining example of AnarchicScalability. (Note that the semantics of XHTML nor P3P can be completely captured in formal terms. Contrast this with RDFS w.r.t. N3 rules at some point...)

@@eventually get back to the use of RDF terms as XML element names...

More use cases to explain:

  • Human gets contract proposal, sees a new term, looks it up,
  decides to execute the contract based on the definition he found.
  • Human gets calendar document, sees a new term, looks it up,
  implements support for the term in his/her code.
  • RDFS-smart machine gets a calendar document, looks up schema, relates it
  to known terms via rdfs:subPropertyOf and rdfs:subClassOf
  • OWL-smart machine gets a calendar document, looks up schema, relates it
  to known terms via owl:disjointWith etc.
  • N3-smart machine gets a calendar document, looks up schema, relates it
  to known terms using N3 rules.

More stuff to integrate:

  specifications at the same address? (e.g. PalmAgent schema, KIF schema)
  • Doesn't the HTML mime type say that fragment
  identifiers refer to document sections, while in RDF they refer to what the
  name in the RDF document refers to?
  • is the format-RDF-for-humans-with-XSTL trick sound? (e.g. swarch records)

tag issues: TAG:NamespaceDocument-8, urimapping-6, xmlinid-35(or so)

re IDs in XML and WSDL and such: discussion in www-rdf-interest Apr2002

This whole pile of issues seems to come up in mapping WSDL to RDF. See ServiceDescription (and maybe ServiceComposition).