OP-TED / model2owl

Transform UML into a formal OWL ontology and SHACL shapes
https://meaningfy-ws.github.io/model2owl-docs
European Union Public License 1.2
24 stars 4 forks source link

don't use singleton `owl:unionOf` #136

Closed VladimirAlexiev closed 1 year ago

VladimirAlexiev commented 1 year ago

Here are some examples of domains/ranges that use singleton owl:unionOf

epo:isSubordinatedToContract
        rdfs:range   [ rdf:type     owl:Class ;
                       owl:unionOf  ( epo:Contract )
                     ] .

epo:isSupportedBy  rdfs:domain  [ rdf:type     owl:Class ;
                                  owl:unionOf  ( epo:Tender )
                                ] ;

This is unusual and cruel (you seem to assume owl:unionOf is "free", which is not at all the case).

This seems to be a peculiar bug in the generator since there are examples of properly formatted single domain and range (even when objects), eg:

epo:paidReviewRequestFee
        rdfs:domain  epo:ReviewRequest ;
        rdfs:range   epo:MonetaryValue .
VladimirAlexiev commented 1 year ago

@costezki I think the bug in the generator is this: When one of domain/range is multivalued, it uses unionOf for both domain & range

costezki commented 1 year ago

fixed by #135

costezki commented 1 year ago

This issue has been addressed in model2owl. Please refer to the latest transformation of eProcurement Ontology available in this branch: https://github.com/OP-TED/ePO/tree/demo/implementation.