- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Fri, 18 Jul 2003 12:09:35 +0300
- To: "ext Michael Mealling" <michael@neonym.net>, "Tim Berners-Lee" <timbl@w3.org>
- Cc: "pat hayes" <phayes@ihmc.us>, <www-tag@w3.org>, "Pat Hayes" <phayes@ai.uwf.edu>
Micheal Mealling writes: > ... is it possible to concretely constrain the term > 'resource' as used in 2396 so that a 'resource' only comes into > existence once a URI is assigned to it (i.e. it becomes part of the > Web)? Then we could create another term for those things that could > become resources if a URI were assigned? I think that language > clarification would really help.... Following the approach outlined in http://lists.w3.org/Archives/Public/www-tag/2003Jul/0172.html perhaps a useful ontology for resources could be something along the lines of the following: -- webarch:WebResource rdfs:subClassOf rdf:Resource; rdfs:comment "A resource which is denoted by a URI which is intended to be resolvable via HTTP to a representation." . webarch:Representation rdfs:subClassOf rdf:Resource; rdfs:comment "A digitally encoded data entity reflecting the state and/or nature of a resource." . swarch:SemanticWebResource rdfs:subClassOf rdf:Resource; rdfs:comment "A resource which is referred to by URI in one or more semantic web statements." . swarch:SemanticWebStatement rdfs:subClassOf rdf:Statement; rdfs:comment "A statement which is asserted in one or more web resources." . -- A resource, in general, need not be denoted by any URI, nor need be referred to in any semantic web statement. Given the above definitions, a WebResource cannot exist without being denoted by a URI that is intentionally resolvable via HTTP to a representation. A SemanticWebResource need not be denoted by a URI, but does need to be referred to by some semantic web statement made in some web resource, ultimately expressed in some representation. Yet a given resource may be both a web resource and a semantic web resource. Those are not disjunct classes of things, but rather intersecting classes. The web architecture is thus concerned with WebResources and Representations (among other things). The semantic web architecture is concerned with SemanticWebResources and SemanticWebStatements (among other things). Particular agents may only be concerned with Web Resources, or only with Semantic Web Resources, or only the intersection of Web Resources and Semantic Web Resources. But they're all resources. One can then extend the above ontology to include predicates for relating resources to their representations, synonymous denotations of resources by multiple URIs, etc. (here's where the Semantic Web extends/augments the Web, making explicit the semantics of web behavior in relation to the universe of resources). -- webarch:hasRepresentation a rdfs:Property; rdfs:range webarch:Representation . webarch:representationOf a rdfs:Property; rdfs:domain webarch:Representation . // Note: // any resource can have a representation, whether // or not that resource is a WebResource, such as // a resource denoted by a blank node in an RDF // graph, thus the existence of a representation // does not itself make a resource a WebResource webarch:redirectsTo rdfs:subPropertyOf owl:sameIndividualAs; rdfs:domain webarch:WebResource ; rdfs:range webarch:WebResource ; owl:inverseOf webarch:redirectsFrom . webarch:redirectsFrom rdfs:subPropertyOf owl:sameIndividualAs; rdfs:domain webarch:WebResource ; rdfs:range webarch:WebResource ; owl:inverseOf webarch:redirectsTo . -- This last property is pretty nifty, as it allows SW enabled servers to express redirection relations specific to Web server behavior using SW machinery (which is what the SW is for, right?!) and also captures the co-denotation semantics implicit in the redirection relation, and thus, using OWL reasoning, one can infer the properties of the particular resource in terms of any of the URIs synonymously denoting it. Thus, if we have <http://example.urn.org/foo> webarch:redirectsTo <http://example.com/1234/28/19901> ; dc:creator "John Doe" . then we can infer (among other things) <http://example.com/1234/28/19901> owl:sameIndividualAs <http://example.urn.org/foo> ; webarch:redirectsFrom <http://example.urn.org/foo> ; dc:creator "John Doe" . This is a big win for users who may only be aware of a secondary URI (e.g. <http://example.com/1234/28/19901>) yet may wish (and rightly so) to use the primary (persistent) URI to ensure longer term validity of their statements. A primary SW enabled server can infer statements expressed in terms of secondary URIs and, via URIQA or similar, PUT those statements on the authoritative server hosting the secondary URIs (or simply put the webarch:redirectsFrom statement). SW queries to those secondary servers will then reflect the denotational equivalence and redirection relation to the more primary URI. The most primary URI is then determined by following the redirection relation chain backwards until a URI is located that does not (knowingly) redirect from another. -- Anyway, that's how I've been approaching this stuff... It would, IMO, be excellent if one of the deliverables accompanying the TAG's Web Architecture document could be an OWL ontology providing a formal expression of the concepts, classes, relations, etc. expressed in the natural language prose. I'm very happy to submit the above as a strawman ontology of the web architecture. Regards, Patrick -- Patrick Stickler Nokia, Finland patrick.stickler@nokia.com
Received on Friday, 18 July 2003 05:09:57 UTC