Making PROV-O OWL-RL compliant

Hi, I could not find any good OWL RL testers, but OWL-API has a way to
check the profiles - so I wrote a tiny code snippet to check from the
command line [1]


Running it on the OWL gave me:

Use of non-superclass expression in position that requires a
superclass expression: owl:Thing
[SubClassOf(<http://www.w3.org/ns/prov#TimeInstant> owl:Thing) in
<http://www.w3.org/ns/prov#>]

Use of non-superclass expression in position that requires a
superclass expression: owl:Thing
[SubClassOf(<http://www.w3.org/ns/prov#Note> owl:Thing) in
<http://www.w3.org/ns/prov#>]

Use of non-superclass expression in position that requires a
superclass expression: ObjectMinCardinality(0
<http://www.w3.org/ns/prov#activity>
<http://www.w3.org/ns/prov#Activity>)
[SubClassOf(<http://www.w3.org/ns/prov#Start> ObjectMinCardinality(0
<http://www.w3.org/ns/prov#activity>
<http://www.w3.org/ns/prov#Activity>)) in
<http://www.w3.org/ns/prov#>]
Use of non-superclass expression in position that requires a
superclass expression: owl:Thing
[SubClassOf(<http://www.w3.org/ns/prov#Location> owl:Thing) in
<http://www.w3.org/ns/prov#>]

Use of non-superclass expression in position that requires a
superclass expression: ObjectMinCardinality(0
<http://www.w3.org/ns/prov#hadTemporalExtent>
<http://www.w3.org/ns/prov#TimeInstant>)
[SubClassOf(<http://www.w3.org/ns/prov#Involvement>
ObjectMinCardinality(0 <http://www.w3.org/ns/prov#hadTemporalExtent>
<http://www.w3.org/ns/prov#TimeInstant>)) in
<http://www.w3.org/ns/prov#>]

Use of non-superclass expression in position that requires a
superclass expression: owl:Thing
[SubClassOf(<http://www.w3.org/ns/prov#Bundle> owl:Thing) in
<http://www.w3.org/ns/prov#>]
Use of non-superclass expression in position that requires a
superclass expression: ObjectMinCardinality(0
<http://www.w3.org/ns/prov#entity> <http://www.w3.org/ns/prov#Agent>)
[SubClassOf(<http://www.w3.org/ns/prov#Start> ObjectMinCardinality(0
<http://www.w3.org/ns/prov#entity> <http://www.w3.org/ns/prov#Agent>))
in <http://www.w3.org/ns/prov#>]

Use of non-equivalent class expression in position that requires an
equivalent class expression:
ObjectSomeValuesFrom(<http://www.w3.org/ns/prov#entity>
<http://www.w3.org/ns/prov#Entity>)
[EquivalentClasses(<http://www.w3.org/ns/prov#EntityInvolvement>
ObjectSomeValuesFrom(<http://www.w3.org/ns/prov#entity>
<http://www.w3.org/ns/prov#Entity>) ) in <http://www.w3.org/ns/prov#>]

Use of non-equivalent class expression in position that requires an
equivalent class expression:
ObjectSomeValuesFrom(<http://www.w3.org/ns/prov#activity>
<http://www.w3.org/ns/prov#Activity>)
[EquivalentClasses(<http://www.w3.org/ns/prov#ActivityInvolvement>
ObjectSomeValuesFrom(<http://www.w3.org/ns/prov#activity>
<http://www.w3.org/ns/prov#Activity>) ) in
<http://www.w3.org/ns/prov#>]

Use of non-superclass expression in position that requires a
superclass expression: ObjectMinCardinality(0
<http://www.w3.org/ns/prov#hadSpatialExtent>
<http://www.w3.org/ns/prov#Location>)
[SubClassOf(<http://www.w3.org/ns/prov#Involvement>
ObjectMinCardinality(0 <http://www.w3.org/ns/prov#hadSpatialExtent>
<http://www.w3.org/ns/prov#Location>)) in
<http://www.w3.org/ns/prov#>]



I removed now the min-cardinailty and some/all constraints, and
subclassing of owl:Thing - and we now have RL compliant ontology.



[1] https://gist.github.com/1876732



-- 
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester

Received on Tuesday, 21 February 2012 14:19:55 UTC