- From: Khalid Belhajjame <Khalid.Belhajjame@cs.man.ac.uk>
- Date: Thu, 23 Feb 2012 13:09:35 +0000
- To: Luc Moreau <L.Moreau@ecs.soton.ac.uk>
- CC: public-prov-wg@w3.org
Hi Luc, I think your approach works, I don't see any issue for the moment. Perhaps the only downside, which I don't think is that problematic, is that we need to add extra sub-properties that (re)define the properties defined at the level of the class that we cannot instanciate, e.g., provs:entity which has as a domain provs:EntityInvolvement, need to be redefined at the level of the descendent classes that can be instanciated, e.g., prov:usedEntity for prov:Usage. Thanks, khalid On 23/02/2012 12:41, Luc Moreau wrote: > Hi Khalid, > > Just trying to expand on this idea: > > :a1 a prov:Activity > prov:used :e1 > prov:usage [a Usage > prov:usedEntity :e1 > prov:usedTime t] > > > Then, in prov-s (s for structure) > > > prov:usedEntity subPropertyOf provs:entity > prov:Usage subclassOf provs:EntityInvolvement > prov:usedTime subRelationOf provs:hadTemporalExtent > provs:entity domain: provs:EntityInvolvement > range prov:Entity > > prov:usage subrelationOf provs:qualified > provs:qualified domain: provs:Element > range: provs:Involvement > prov:Activity subclassOf provs:Element > prov:Entity subclassOf provs:Element > > All the patterns are preserved. The concern about Involvement not > being abstract has disappeared. In prov, you can't express instance > of involvement, its' only in provs you can. > > Thoughts? > > Luc > > On 02/23/2012 11:52 AM, Khalid Belhajjame wrote: >> On 23/02/2012 11:44, Luc Moreau wrote: >>> Hi Khalid, >>> >>> Can the structure and vocabulary be in separate ontologies? >>> This would allow the vocabulary to be kept as simple as possible, as >>> close to the data model as possible. >>> I don't think it would be a requirement for the structure-part to be >>> OWL-RL compatible. >> >> I haven't thought about it hard, but I guess one of the issue we may >> need to solve in that case is the properties that are common to the >> sub-classes and defined at the level of the "abstract" class. For >> example, EntityInvolvement has the property "entity" that is used to >> specify the involved entity. If we opt for the solution you are >> suggesting, then we will need to define such property for every >> descendent class that can be instantiated. >> >> Khalid >>> Thoughts? >>> >>> Luc >>> >>> On 02/23/2012 10:59 AM, Khalid Belhajjame wrote: >>>> >>>> In the prov-o ontology, the involvement class is used as a mean for >>>> giving a structure to the ontology. There are different types of >>>> involvement, e.g., Usage, Generation and Derivation. However, as it >>>> is, the ontology allows specifying an instance of Involvement that >>>> is not an instance of any of its sub-classes. That should not be >>>> allowed. >>>> >>>> In OWL, the notion of abstract class does not exist, however, one >>>> thing that can be done to avoid the above issue is to ass a >>>> constraint specifying that Involvement is equivalent to the class >>>> constructed by unionining its sub-class. While this solution is >>>> plausible, I am not sure if this constraint is OWL-RL compatible. I >>>> suspect so, but we need a confirmation. >>>> >>>> The same problem occurs in other cases in the ontology where the >>>> classes have been introduced for shaping the structure of the >>>> ontology, for example Element, ActivityInvolvement, >>>> EntityInvolvement and AgentInvolvement. >>>> >>>> khalid >>>> >>> >> >
Received on Thursday, 23 February 2012 13:10:02 UTC