- From: Smith, Kevin, VF-Group <Kevin.Smith@vodafone.com>
- Date: Fri, 16 Nov 2007 18:02:55 +0100
- To: "Phil Archer" <parcher@icra.org>, "Public POWDER" <public-powderwg@w3.org>
- Cc: "Aris Theodorakos" <artheo@iit.demokritos.gr>
Hi Phil, Thanks for the sample file, I was hoping for an example of the new thinking. "Both includeHost and pathStartsWith are functional properties so there can only be one value for each (does that mean a cardinality of 1 or is that something else, I'm not sure??)" > I guess that's maxCardinality="1" going by the OWL Lite language overview (i.e., it's in OWL DL and Full too) "This is disjoint with the FOSIassociates class for which the same value of includeHost is given and the pathStartsWith must be 'associates'." > As you say later on, that implies that *no* associate is child safe, so hopefully we can find a way to denote exceptions. I'll have a play around in Protégé. "However... because you can't close an axiom that uses datatype properties, " > Probably getting way out of my depth here, but is that the case for OWL DL which enforces computational completeness (all conclusions are guaranteed to be computable)? Not sure if it was agreed which OWL we would be using at the TP. "I suppose my (sadly empty) tea cup, is also an instance of the class of FOSIassociate since it has no host and no path - but, well, is that a problem for us?" > Well, if you're drinking PG you can assume it's child safe :) Speak to you Monday, Kev -----Original Message----- From: public-powderwg-request@w3.org [mailto:public-powderwg-request@w3.org] On Behalf Of Phil Archer Sent: 16 November 2007 15:09 To: Public POWDER Cc: Aris Theodorakos Subject: Re: modelling URI groups Hi all, Note - this e-mail only makes sense in the context of the result of our face to face meeting last week. See the blog entry [1] for details. Our colleagues at NCSR in Athens are working on the new POWDER model and will be circulating their results soon - and, unlike me, they _do_ have a background in Description Logic, OWL etc! But I want make an initial contribution to the conversation by reporting on some experiments I've been carrying out this week. Rather than work too much in the abstract, I've taken my own organisation's website as a real-world example [2]. Although the content is all child-friendly for the most part, we do have several Associate Members with content that is unlikely to be seen as child friendly by most parents. Hence we need two DRs - one for fosi.org in general and one specifically for the section where the path begins with 'associates'. As a shorthand, I've created two primitive classes (that is, open world classes with a potentially infinite number of instances): one is called 'Child Safe' and the other is 'Not Child Safe'. For this example only, I'm taking Child Safe to mean that it has all the 'None of the above' descriptors from the ICRA vocabulary [3]. Not Child Safe means the same descriptors are set to false (there's more to the ICRA vocabulary than that but it'll do for this exercise). These two classes are disjoint. If I understand my DL, these classes simply say that if a resource is to be considered an instance of the class of Child Safe things then it's a necessary condition that _if_ they have the relevant ICRA descriptors, they must be true. It is not, however, true, that this is sufficient to make it child safe. I then created two more classes. FOSIchildSafe has the necessary and sufficient condition that the includeHost property has a value of 'fosi.org' and that the pathStartsWith property does _not_ have a value of 'associates'. This is disjoint with the FOSIassociates class for which the same value of includeHost is given and the pathStartsWith must be 'associates'. Both includeHost and pathStartsWith are functional properties so there can only be one value for each (does that mean a cardinality of 1 or is that something else, I'm not sure??) I'm pretty sure that these are not 'defined' in the Description Logic sense. That is, I believe that it means that if a resource has a URI that includes a host of 'fosi.org' and a path that starts with 'associates' then, because the restrictions are necessary and sufficient, the resource can be said to be an instance of the class. However... because you can't close an axiom that uses datatype properties, it could be that a resource that does not have a URI with a host of 'fosi.org' and does not have a path starting with 'associates' would still be an instance of the class. Does this matter? POWDER is concerned with describing information resources - that is, things you can get over the Internet (and I mean Internet, not just Web). Our current Grouping of Resources doc [4] makes it clear that we plan to allow the definition of a set of described resources with reference to their IP address - but have we missed anything? I suppose my (sadly empty) tea cup, is also an instance of the class of FOSIassociate since it has no host and no path - but, well, is that a problem for us? Both FOSIchildSafe and FOSIassociates are then made a sub class of Child Safe and Not Child Safe respectively. I've using Protégé to create the ontology here but it doesn't have a graphical way of doing this so I did it by hand. Importantly for POWDER, I also included some RDF reification. The triple <#FOSIchildSafe> rdfs:subClassOf <#ChildSafe> is given in ID (of 'CSassertion'). There is then a reification statement to the effect that the CSassertion was made by 'me' (using the foaf:maker property). Thus we have a way to explicitly say who it is that asserts that everything on fosi.org except anything with a path that starts with 'associates' is child safe. Hooking Protégé up with the Pellet Reasoner [6] allows the inferences to become explicit - i.e. that the ICRA descriptors are all true of instances of the class FOSIchildSafe. The reification side of things is not part of the OWL world - that's OK. POWDER is POWDER, not OWL or indeed RDF. We just use those technologies to achieve what we want. However, unlike the original model, OWL-based Description Resources are valid and consistent; We're not 'breaking the Semantic Web'. Processing a DR will still require a specialised processor, one that can split up a URI and match it against things like host name, path components and so on, but those boundaries are well understood. Incidentally, I can already hear the cry about wanting to provide regular expressions and strings as values for OWL restrictions and why this is a terrible sin. I will take it upon myself to post some comments on why, in the real world of content providers, this is 100% essential. To try and test the boundaries of the model a little, I've also created some more classes that say that everything on fosi.org/mobile is disjoint with everything else on that noble domain. The mobile section being made a sub class of mobileOK Basic. Pellet doesn't throw up any inconsistencies (although it does make it plain that it doesn't know what to do with the data). One thing I don't like about this model is that I had to include the condition 'and not pathStartsWith associates' in the FOSIchildSafe class. This is a pain - I wanted to be able to say 'everything on fosi.org is child safe unless I tell you otherwise'. I tried creating a disjoint exceptions class and then creating a sub class of that to cover the associates section but I couldn't make it work. It means that DRs really will have to be written by machines, not people. OK - we have a 'get out of gaol free card' on that one - the XML model of the RDF/OWL model. Phil. [1] http://www.w3.org/blog/powder/2007/11/10/summary_of_face_to_face_meeting_held_dur_2007 [2] http://www.fosi.org/ [3] http://www.icra.org/vocabulary/ [4] http://www.w3.org/TR/2007/WD-powder-grouping-20071031/ [5] http://protege.stanford.edu/ [6] http://pellet.owldl.org/
Received on Friday, 16 November 2007 17:03:18 UTC