- From: Lee Jonas <ljonas@acm.org>
- Date: Thu, 14 Sep 2000 18:45:15 +0100
- To: <www-rdf-interest@w3.org>
>Thanks for the feedback. you're welcome. >> It is definately not useless. It is an essential part of RDF-Schema >>that makes assertions about RDF model validity. >Can you walk us through an example of how rdfs:domain as currently >defined allows you to validate some RDF model? I am not sure how much use it would be to the group in general. We have defined an RDF compliant mini language (akin to RSS) called the 'Resource Navigation Framework' (RNF), which uses multiple disjunctive domain and range predicates mostly to define the vocabulary but in one instance to allow association of multiple resource types as potential values of a single Property. The validity checking is not currently done by the parser, but by the DBMS (sorry). We are currently utilising it to implement shrink-wrap web site software working from metadata. Further more adventurous applications are also in the pipeline. I would like to formally announce the existence of this technology to the group and go into more details once it is more mature, but this is currently some way off. <plug> We are a small company and are always on the lookout for sponsors / partners if anyone would like to help develop this technology. See http://www.cakehouse.co.uk/ and please talk to us. </plug> >> The argument seems to be: >> a) certainty when inferring a resource's type from the predicates it >> exhibits >> vs >> b) being able to define model validity constraints in a far more refined and >> accurate way. >> >> Arguments: >> * b) is fundamental to RDF-Schema and a) is an adjunct >> * a resource's type will be given explicitly in alot of cases >> * In the absence of an explicit type, and more than one rdfs:domain you can >> always infer that the resource is of type rdfs:Resource. > > >Yes, a resources type (or one of its types) will often be given. The Web >has a single space of resource identifiers (URIs) but allows many >different ways of carving that space up into classes. Correspondingly, >RDFS allows a resource to be described as being a member of many >classes; not necessarily from the same hierarchy. Agreed. >So there are likely to >be more rdf:type statements inferrable than explicitly represented when a >resource is mentioned. > Individual documents are likely to have a singular view of the world (possibly formed from several schemas) => a singular way of carving up resources. This is not to say that the same document cannot assign (and explicitly state) more than one type for the same resource - ours do. Yes, the Description tag allows several documents to amalgamate extra meaning to an individual resource. However, I would like to think that each individual document will be true to its own ontology - associating types and predicates in ways that their ontology states is valid. Hence I believe you would get more types explicitly stated than you imply (for each resource it is likely to be one per description tag). > >> * b) is fundamental to RDF-Schema and a) is an adjunct >[...] >> >> As defining model validity is RDFS's primary purpose, and inferring types is >> a secondary concern I strongly feel that b) is the way to go. > >RDFS does address this (validity; constraint checking), but the spec >doesn't make this its sole concern. > > RDFS CR Abstract: > This specification describes how to use RDF to describe RDF > vocabularies. The specification also defines a basic vocabulary for this > purpose, as well as an extensibility mechanism to anticipate future > additions to RDF. > No, not its sole concern, its *primary* concern. Where does it say RDFS is designed to facilitate inference? I assume it is there and left intentionally vague to future proof the spec. From the context of the spec I got the impression it referred to extending constraint semantics and datatypes for Literals. > >> >> >After all, somewhere out there on the web could be another >> >domain statement for foo. We could make a CWA and conclude >> >that baz is an instance of Bar and if we ever find another >> >domain statement for foo, retract our original conclusion. >> >> Indeed. >> >> The point about this is that you can never enforce a single domain (or >> indeed range) constraint on every Property definition with such an open RDF >> model (where anything can be said about anything) in such an open >> environment as the Web (where anyone can say anything). > >IMHO it's not about enforcing in the sence of policing and punishment >while believing any and all RDF statements found on the Web. More about: if I >believe the RDF statements I find in Schema s1 and Schema s2, what can I >conclude about this heap of instance data. > Ok, *enforce* was the wrong word to use (appologies for my sloppiness). I am not suggesting you would want to police RDF statements, far from it. The point I am trying to make is that you cannot rely on only encountering a single rdfs:domain (or rdfs:range) for any Property definition. What do you do if s1 defines rdfs:range r1 for Property p1 and s2 defines rdfs:range p2 for Property p1? Individually, s1 & s2 are valid - when combined they are not. Two possible (workable) solutions I can think of are (and I am not stating which I prefer): 1) Amalgamate RDFS semantics - both r1 and r2 apply. 2) Make RDFS definitions closed - you can only define semantics for RDFS definitions you 'own'. If p1 mapped to http:www.cakehouse.co.uk/types#p1 only s1 (http:www.cakehouse.co.uk/types) could define constraints and s2 is invalid. [<snip> stuff about "natural kinds" </snip>] >Um... dunno if that helped. Yes, thanks. >> In summary: >> * objectivity about all RDF statements on the entire Web is going to be >> impossible - subjectivity (relative to a 'frame of reference') is the only >> recourse, therefore conclude stuff based on your viewpoint. > >But... this notion of a viewpoint conflates 'all the rdf statements I have >to hand and that I believe' with a subjective frame of reference that is >independent of the current set of statements one knows about. We all agree >that we won't believe all possible RDF statements at once, nor that we'll >have them loaded into a local database at once. But we want to reason >about some local collection of data while bearing in mind that there are >more facts out there that we'd believe given half the chance. I'm not altogether sure of your point here. The frame of reference *is* 'all the rdf statements I have to hand and that I believe'. The subjective part comes in because you only ever have partial information and you can only infer based on your current knowledge - another RDF application with a different set of statements will infer different things. Also you must decide which statements to believe and which to reject based on some arbitrary critieria that will not be consistent between RDF applications. Both aspects lead to different applications working from different semantic models - i.e. subjective views of the total semantics available on the web. cheers Lee
Received on Thursday, 14 September 2000 13:42:56 UTC