@prefix : <https://ontology.inferal.com/modules/competency-question/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix pubacc: <https://ontology.inferal.com/modules/publication-access/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vann: <http://purl.org/vocab/vann/> .

<https://ontology.inferal.com/modules/competency-question/owl>
    a owl:Ontology, pubacc:PublicationManagedOntology ;
    dcterms:accessRights pubacc:PublicAccess ;
    owl:imports : ;
    dcterms:title "Competency Question Ontology OWL addendum" ;
    dcterms:description "OWL typing for the Competency Question Ontology. Completeness, cardinality, execution success, and recursive coverage remain SHACL, SPARQL, and test concerns." ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source : ;
    vann:preferredNamespacePrefix "cqo" ;
    vann:preferredNamespaceUri "https://ontology.inferal.com/modules/competency-question/" ;
    rdfs:label "Competency Question Ontology OWL addendum" ;
    rdfs:comment "The addendum intentionally adds term kinds without equivalence, functionality, keys, cardinalities, or disjointness that could turn open-world absence into validation or merge distinct resources." ;
    owl:versionIRI <https://ontology.inferal.com/modules/competency-question/versions/0.1.0/ontology-owl> ;
    owl:versionInfo "0.1.0" .

:CompetencyQuestion a owl:Class .
:QuestionSet a owl:Class .
:QuestionFormulation a owl:Class .
:OntologyRequirement a owl:Class .
:UseCase a owl:Class .
:QuestionTemplate a owl:Class .
:TemplateElement a owl:Class .
:TemplateTextSegment a owl:Class .
:TemplateSlot a owl:Class .
:TemplateParameter a owl:Class .
:TemplateInstantiation a owl:Class .
:TemplateBinding a owl:Class .
:FormalQuery a owl:Class .
:TestFixture a owl:Class .
:AnswerExpectation a owl:Class .
:ExpectedAnswer a owl:Class .
:AnswerConstraint a owl:Class .
:QueryExecution a owl:Class .
:ExecutionResult a owl:Class .
:ExpectationAssessment a owl:Class .
:CoverageAssertion a owl:Class .
:CompetencyQuestionKind a owl:Class .
:QuestionPurpose a owl:Class .
:LifecycleState a owl:Class .
:ReviewState a owl:Class .
:ExecutionStatus a owl:Class .
:CoverageStatus a owl:Class .

:hasCompetencyQuestion a owl:ObjectProperty .
:containsQuestion a owl:ObjectProperty .
:hasFormulation a owl:ObjectProperty .
:addressesRequirement a owl:ObjectProperty .
:supportsUseCase a owl:ObjectProperty .
:hasStakeholder a owl:ObjectProperty .
:questionKind a owl:ObjectProperty .
:questionPurpose a owl:ObjectProperty .
:targetsArtifact a owl:ObjectProperty .
:targetsVersion a owl:ObjectProperty .
:hasAnswerExpectation a owl:ObjectProperty .
:hasFormalQuery a owl:ObjectProperty .
:hasTemplateInstantiation a owl:ObjectProperty .
:hasTemplateElement a owl:ObjectProperty .
:hasTemplateParameter a owl:ObjectProperty .
:usesParameter a owl:ObjectProperty .
:usesTemplate a owl:ObjectProperty .
:realizesFormulation a owl:ObjectProperty .
:hasTemplateBinding a owl:ObjectProperty .
:bindsParameter a owl:ObjectProperty .
:parameterRole a owl:ObjectProperty .
:boundResource a owl:ObjectProperty .
:queryLanguage a owl:ObjectProperty .
:usesFixture a owl:ObjectProperty .
:answerResource a owl:ObjectProperty .
:constraintLanguage a owl:ObjectProperty .
:executionOf a owl:ObjectProperty .
:evaluatesQuestion a owl:ObjectProperty .
:hasExecutionResult a owl:ObjectProperty .
:executionStatus a owl:ObjectProperty .
:assessesResult a owl:ObjectProperty .
:assessesExpectation a owl:ObjectProperty .
:lifecycleState a owl:ObjectProperty .
:reviewState a owl:ObjectProperty .
:coverageQuestion a owl:ObjectProperty .
:coveredResource a owl:ObjectProperty .
:coverageStatus a owl:ObjectProperty .

:formulationText a owl:DatatypeProperty .
:requirementText a owl:DatatypeProperty .
:useCaseText a owl:DatatypeProperty .
:templateText a owl:DatatypeProperty .
:elementIndex a owl:DatatypeProperty .
:segmentText a owl:DatatypeProperty .
:parameterName a owl:DatatypeProperty .
:boundLiteral a owl:DatatypeProperty .
:bindingText a owl:DatatypeProperty .
:queryText a owl:DatatypeProperty .
:answerText a owl:DatatypeProperty .
:constraintExpression a owl:DatatypeProperty .
:resultMessage a owl:DatatypeProperty .
:resultCardinality a owl:DatatypeProperty .
:resultBoolean a owl:DatatypeProperty .
:expectationSatisfied a owl:DatatypeProperty .

:ScopingQuestion a owl:NamedIndividual .
:ValidationQuestion a owl:NamedIndividual .
:FoundationalQuestion a owl:NamedIndividual .
:RelationshipQuestion a owl:NamedIndividual .
:MetapropertyQuestion a owl:NamedIndividual .
:DesignPurpose a owl:NamedIndividual .
:EvaluationPurpose a owl:NamedIndividual .
:RegressionPurpose a owl:NamedIndividual .
:DraftState a owl:NamedIndividual .
:AcceptedState a owl:NamedIndividual .
:DeprecatedState a owl:NamedIndividual .
:UnreviewedState a owl:NamedIndividual .
:InReviewState a owl:NamedIndividual .
:ApprovedState a owl:NamedIndividual .
:ChangesRequestedState a owl:NamedIndividual .
:NotRunStatus a owl:NamedIndividual .
:PassedStatus a owl:NamedIndividual .
:FailedStatus a owl:NamedIndividual .
:ErrorStatus a owl:NamedIndividual .
:CoveredStatus a owl:NamedIndividual .
:PartialCoverageStatus a owl:NamedIndividual .
:UncoveredStatus a owl:NamedIndividual .
:ResultCardinalityConstraintLanguage a owl:NamedIndividual .
