-
Notifications
You must be signed in to change notification settings - Fork 10
Description
The current implementation of qualified cardinality constraints in the restrictions artefact follows outdated OWL 1 practices. Specifically, it uses owl:cardinality, owl:minCardinality, or owl:maxCardinality along with an implicit expectation of type, without explicitly specifying the class or datatype the restriction applies to. This results in ambiguities and does not conform to OWL 2 standards.
To align with OWL 2 best practices, these constraints should be expressed using owl:qualifiedCardinality, owl:minQualifiedCardinality, or owl:maxQualifiedCardinality, along with an explicit owl:onClass (for object properties) or owl:onDataRange (for data properties) [1]. This change ensures semantic clarity, enables full reasoning support in OWL 2-compliant tools, and avoids unintended interpretations of the cardinality restrictions.
The objective is to modify the relevant transformation rule to incorporate qualified cardinality constraints.
Example of correct OWL 2 usage:
:Biped owl:equivalentClass [
owl:qualifiedCardinality 2 ;
owl:onProperty :hasLimb ;
owl:onClass :Leg
] .Examples of existing incorrect model2owl output and proposed updated OWL 2 versions:
Example 1:
Current output:
a4g:ProcurementServiceProvider rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty a4g:actsOnBehalfOf ;
owl:minCardinality 1 ;
] .Updated output:
a4g:ProcurementServiceProvider rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty a4g:actsOnBehalfOf ;
owl:minQualifiedCardinality 1 ;
owl:onClass a4g:Buyer
] .Example 2:
Current output:
a4g:Buyer rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty a4g:isContractingEntity ;
owl:maxCardinality 1 ;
] .Updated output:
a4g:Buyer rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty a4g:isContractingEntity ;
owl:maxQualifiedCardinality 1 ;
owl:onDataRange xsd:boolean
] .Scope
This change impacts only the restrictions artefact. The core is not relevant in this context, and the SHACL shapes are unaffected, as they already include an explicit specification of the property's target type.
This affects the C.09 transformation rule.
The implementer is expected to:
- Update the transformation rule documentation to reflect the correct use of OWL 2 qualified cardinality constraints.
- Implement the necessary code changes to use
owl:*QualifiedCardinalitywithowl:onClassorowl:onDataRange.
References