owlcollab / oboformat

Automatically exported from code.google.com/p/oboformat
5 stars 2 forks source link

OWL axioms semantics need clarification #116

Open althonos opened 5 years ago

althonos commented 5 years ago

The current draft states that the translation of owl-axioms clauses into OBO is the following:

However, the OWL API does not proceed so, instead packing the complete ontology document instead. Here's the header frame of cio.obo:

format-version: 1.2
data-version: releases/2015-03-10
subsetdef: bgee_not_trusted "Terms that are considered not trusted by the Bgee team, related to assertions needing additional support."
default-namespace: cio
ontology: cio
owl-axioms: Prefix(owl:=<http://www.w3.org/2002/07/owl#>)\nPrefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)\nPrefix(xml:=<http://www.w3.org/XML/1998/namespace>)\nPrefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)\nPrefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)\n\n\nOntology(\nEquivalentClasses(<http://purl.obolibrary.org/obo/CIO_0000000> ObjectUnionOf(ObjectIntersectionOf(ObjectAllValuesFrom(<http://purl.obolibrary.org/obo/has_evidence_concordance> <http://purl.obolibrary.org/obo/CIO_0000043>) ObjectMinCardinality(2 <http://purl.obolibrary.org/obo/has_confidence_element> <http://purl.obolibrary.org/obo/CIO_0000040>) ObjectMinCardinality(0 <http://purl.obolibrary.org/obo/has_confidence_level> <http://purl.obolibrary.org/obo/CIO_0000028>) ObjectExactCardinality(1 <http://purl.obolibrary.org/obo/has_evidence_type_concordance> <http://purl.obolibrary.org/obo/CIO_0000041>) ObjectMaxCardinality(3 <http://purl.obolibrary.org/obo/has_confidence_element> <http://purl.obolibrary.org/obo/CIO_0000040>) ObjectMaxCardinality(1 <http://purl.obolibrary.org/obo/has_confidence_level> <http://purl.obolibrary.org/obo/CIO_0000028>)) ObjectIntersectionOf(ObjectAllValuesFrom(<http://purl.obolibrary.org/obo/has_evidence_concordance> <http://purl.obolibrary.org/obo/CIO_0000042>) ObjectMinCardinality(1 <http://purl.obolibrary.org/obo/has_confidence_element> <http://purl.obolibrary.org/obo/CIO_0000040>) ObjectMinCardinality(0 <http://purl.obolibrary.org/obo/has_confidence_level> <http://purl.obolibrary.org/obo/CIO_0000028>) ObjectExactCardinality(0 <http://purl.obolibrary.org/obo/has_evidence_type_concordance> <http://purl.obolibrary.org/obo/CIO_0000041>) ObjectMaxCardinality(2 <http://purl.obolibrary.org/obo/has_confidence_element> <http://purl.obolibrary.org/obo/CIO_0000040>) ObjectMaxCardinality(1 <http://purl.obolibrary.org/obo/has_confidence_level> <http://purl.obolibrary.org/obo/CIO_0000028>))))\nObjectPropertyDomain(<http://purl.obolibrary.org/obo/has_confidence_level> ObjectIntersectionOf(ObjectAllValuesFrom(<http://purl.obolibrary.org/obo/has_evidence_concordance> ObjectComplementOf(<http://purl.obolibrary.org/obo/CIO_0000035>)) <http://purl.obolibrary.org/obo/CIO_0000000>))\nObjectPropertyDomain(<http://purl.obolibrary.org/obo/has_evidence_type_concordance> ObjectIntersectionOf(ObjectAllValuesFrom(<http://purl.obolibrary.org/obo/has_evidence_concordance> <http://purl.obolibrary.org/obo/CIO_0000043>) <http://purl.obolibrary.org/obo/CIO_0000000>))\n)

I tend to prefer the current semantics, as they prevent adding prefixes into the owl-axioms (these being only syntactic sugar, the OWL to OBO conversion should not retain them IMO), but doing so would be a breaking change for some ontologies on the OBO Foundry.

@cmungall, any opinion ?