From W3C Wiki
Jump to: navigation, search

A Web Architecture Ontology

(Draft ontology started by Jonathan Rees. Originally a section of AwwswFinalReport, but moved here on 20-Dec-2011 to become its own page.)

This ontology could be "seeded" by AWWSW and then, going forward, maintained and extended by the TAG.

The main shortcoming here is the lack of any easily remembered names for the three properties involved.

It is essential to avoid the Fielding / 3986 formation is a representation of. If we try to hijack this expression for the instantiation/specialization relationship in the TimBL/JAR architecture, everyone will get totally confused and we just feed the flame wars - since we'll say "is a representation of" and others will hear "is a Fielding-representation of".

class wa:PotentialRetrievalResult

Consensus per 3986, AWWW, HTTPbis, and their normative references. Applicable properties (media type, length, etc) can be taken from other ontologies perhaps. Some questions about boundary (does it include Expires: ? what about Content-language? is identity determined before or after application of transfer-encoding?) that are not very interesting. Will probably never be defined as rigorously as Alan R would like. Noah will want to insist that these things not be named using URIs, so we'll probably have to explain that ontologies are about a universe of discourse, only some members of which are named; many only "exist" as members of classes so that they can be quantified over.

Called "representation" in RFC 3986, HTTPbis, and AWWW, but renamed to remove the divisive suggestion that they "represent" anything.

For another use of the word "potential" in the same way see RFC 3986.

class wa:GenericResource

Something that has instances (or versions). Based on TimBL's Generic Resources note. See JAR's Generic Resources and Web Metadata note for semantics.

Other candidate names: information resource, but this is divisive and semantically unacceptable if tied to the AWWW definition. Both Tim and Adobe like to call these things "documents" but apparently this was vetoed by the TAG in 2005.

property wa:hasInstance (wa:instance)

Domain wa:GenericResource, range wa:PotentialRetrievalResult. Not a great name.

The relation that holds between a generic resource and one of its wa:PotentialRetrievalResults (which will necessarily inherit its properties).

Other candidate names: Maybe wa:potentialRrievalResult or wa:hasPotentialRetrievalResult. Much more specific than "has representation" in AWWW so we should not use that term. Dan Connolly called it "[has] information" based on some wording found in 2616. Maybe hasSpecific. Maybe hasRepresentation with an explanation that we're talking about the TimBL-representation relationship not the RoyF-3986-representation relationship. I often say "has TimBL-representation" but this is awkward. (Under role-noun pattern remove the "has".) Adobe XMP would say "has instance". Another possibility is "version".

How do you know when this relation holds? That this is hard to answer is a weakness of the idea. Determining that something is an instance of the generic Moby Dick is something a librarian might do, while determining whether any potential retrieval result is or is not a potential result of retrieval using (assuming that URI refers to the generic resource at that URI) might require asking the domain owner, since they control retrieval. So the answer is, it's by fiat in general, but can in principle be by rule of law if you can find an applicable law.

wa:hasRetrievalUri (wa:retrievalUri) property

Domain wa:PotentialRetrievalResult, range xsd:anyURI.

True iff the potential-retrieval-result would be a correct result of a retrieval operation using the URI, for some context (time, headers, authorization, communication link details, phase of moon, etc.). I've also called this "is authorized for" with allusion to HTTPbis notion of authorized response, but Larry Masinter doesn't like to talk about "authority". correctRetrievalUsing ? Note this isn't about actual historical retrievals because believing a statement involving this property, by inference perhaps, could be prerequisite to delivering a representation for a retrieval request - e.g. it might be part of the reasoning done by a proxy or mirror.

Most of the RFCs, including HTTP and URN, specify what a correct retrieval would be for a URI, independent of any theory of what the "identified" resource is. We want to make sure we're talking about the generic resource whose instantiations are the retrieved representations of the URI, even when that's not the identified resource.

Problem: what constitutes correct retrieval may vary over time. I guess just chalk that up to RDF-has-no-theory-of-time.

Problem: this label is grammatically not in role-noun form, and that might bother some people.

Other candidate name: wa:isPotentialRetrievalUsing; maybe uppercase URI

property wa:hasInstanceUri (wa:instanceUri)

Domain wa:GenericResource, range xsd:anyURI.

Other names: Earlier I had "wa:retrievalIsEnabledUsing". Possibly similar to TimBL's property "log:uri", see Reaching out onto the Web.

True iff any correct retrieval using the URI is an instance of the GenericResource. I don't like the name but don't know what to call it. Maybe 'hasRetrievalUri' ('retrievalUri' in role-noun pattern) or 'hasInstanceRetrievalUri'. N.b. you don't retrieve the resource, you retrieve an instance of it. In the IR memo it's called "ir:onWebAt" but it really doesn't have to do with the Web in particular and 'information resource' is a divisive term.