@base <https://w3id.org/lbd/aec3po/> .
@prefix aec3po: <https://w3id.org/lbd/aec3po/> .
@prefix cc: <http://creativecommons.org/ns#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix ns1: <https://w3id.org/profile/ontdoc/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<ComplianceVerificationReport> a rdfs:Class,
        owl:Class ;
    rdfs:label "Compliance Verification Report"@en ;
    dct:description "Result of a checking act. May be compliant or not."@en ;
    dct:title "Compliance Verification Report"@en ;
    rdfs:comment "Result of a checking act. May be compliant or not."@en ;
    rdfs:isDefinedBy <compliance_verification_report> ;
    rdfs:subClassOf _:n735a7adadb204070a7ff8325c0f58887b1 ;
    ns1:inDomainOf <conforms>,
        <hasResult> .

<Severity> a rdfs:Class,
        owl:Class ;
    rdfs:label "Severity"@en ;
    dct:description "The class of validation result severity levels, including violation and warning levels."@en ;
    dct:title "Severity"@en ;
    rdfs:comment "The class of validation result severity levels, including violation and warning levels."@en ;
    rdfs:isDefinedBy <compliance_verification_report> ;
    ns1:hasMember <Info>,
        <Violation>,
        <Warning> ;
    ns1:inRangeOf <hasSeverity> .

<VerificationResult> a rdfs:Class,
        owl:Class ;
    rdfs:label "Verification Result"@en ;
    dct:description "Individual verification result of a Compliance Verification Report."@en ;
    dct:title "Verification Result"@en ;
    rdfs:comment "Individual verification result of a Compliance Verification Report."@en ;
    rdfs:isDefinedBy <compliance_verification_report> ;
    rdfs:subClassOf _:n735a7adadb204070a7ff8325c0f58887b2,
        _:n735a7adadb204070a7ff8325c0f58887b3 ;
    ns1:inDomainOf <hasSeverity>,
        <resultMessage>,
        <verificationFocus>,
        <verificationPlanZone>,
        <verificationStatement> ;
    ns1:inRangeOf <hasResult> .

<http://maxime-lefrancois.info/me#> a prov:Agent .

xsd:boolean ns1:inRangeOf <conforms> .

owl:Ontology ns1:hasMember <compliance_verification_report> .

<CheckStatement> ns1:inRangeOf <verificationStatement> .

owl:DatatypeProperty ns1:hasMember <conforms>,
        <resultMessage> .

<Info> a owl:NamedIndividual,
        <Severity> ;
    rdfs:label "Info"@en ;
    dct:description "The severity for an informational validation result."@en ;
    dct:title "Info"@en ;
    rdfs:comment "The severity for an informational validation result."@en ;
    rdfs:isDefinedBy <compliance_verification_report> .

<Violation> a owl:NamedIndividual,
        <Severity> ;
    rdfs:label "Violation"@en ;
    dct:description "The severity for a violation validation result."@en ;
    dct:title "Violation"@en ;
    rdfs:comment "The severity for a violation validation result."@en ;
    rdfs:isDefinedBy <compliance_verification_report> .

<Warning> a owl:NamedIndividual,
        <Severity> ;
    rdfs:label "Warning"@en ;
    dct:description "The severity for a warning validation result."@en ;
    dct:title "Warning"@en ;
    rdfs:comment "The severity for a warning validation result."@en ;
    rdfs:isDefinedBy <compliance_verification_report> .

<resultMessage> a owl:DatatypeProperty ;
    rdfs:label "result message"@en ;
    dct:description "Verification results may have values for the property aec3po:resultMessage, for example to communicate additional textual details to humans. While aec3po:resultMessage may have multiple values, there should not be two values with the same language tag. These values may be produced based on the statements in the AEC3PO graph." ;
    dct:title "result message"@en ;
    rdfs:comment "Verification results may have values for the property aec3po:resultMessage, for example to communicate additional textual details to humans. While aec3po:resultMessage may have multiple values, there should not be two values with the same language tag. These values may be produced based on the statements in the AEC3PO graph." ;
    rdfs:domain <VerificationResult> ;
    rdfs:isDefinedBy <compliance_verification_report> .

<verificationPlanZone> a owl:ObjectProperty ;
    rdfs:label "verification plan zone"@en ;
    dct:description "Planning (urban regulation) zone where the verificationFocus entity (building or building component) is located, and that defines the regulation (verificationStatement) that was validated when the verification result was produced." ;
    dct:title "verification plan zone"@en ;
    rdfs:comment "Planning (urban regulation) zone where the verificationFocus entity (building or building component) is located, and that defines the regulation (verificationStatement) that was validated when the verification result was produced." ;
    rdfs:domain <VerificationResult> ;
    rdfs:isDefinedBy <compliance_verification_report> .

rdfs:Class ns1:hasMember <ComplianceVerificationReport>,
        <Severity>,
        <VerificationResult> .

owl:Class ns1:hasMember <ComplianceVerificationReport>,
        <Severity>,
        <VerificationResult> .

owl:NamedIndividual ns1:hasMember <Info>,
        <Violation>,
        <Warning> .

owl:Restriction ns1:hasMember _:n735a7adadb204070a7ff8325c0f58887b1,
        _:n735a7adadb204070a7ff8325c0f58887b2,
        _:n735a7adadb204070a7ff8325c0f58887b3 .

<hasResult> a owl:ObjectProperty ;
    rdfs:label "has result"@en ;
    dct:description "Links a compliance verification report to some verification result."@en ;
    dct:title "has result"@en ;
    rdfs:comment "Links a compliance verification report to some verification result."@en ;
    rdfs:domain <ComplianceVerificationReport> ;
    rdfs:isDefinedBy <compliance_verification_report> ;
    rdfs:range <VerificationResult> .

<verificationFocus> a owl:ObjectProperty ;
    rdfs:label "verification focus"@en ;
    dct:description "Each verification result has exactly one value for the property aec3po:verificationFocus that is equal to the focus entity that has caused the result. This is the focus entity that was validated when the verification result was produced." ;
    dct:title "verification focus"@en ;
    rdfs:comment "Each verification result has exactly one value for the property aec3po:verificationFocus that is equal to the focus entity that has caused the result. This is the focus entity that was validated when the verification result was produced." ;
    rdfs:domain <VerificationResult> ;
    rdfs:isDefinedBy <compliance_verification_report> .

<verificationStatement> a owl:ObjectProperty ;
    rdfs:label "verification statement"@en ;
    dct:description "Statement that was validated when the verification result was produced." ;
    dct:title "verification statement"@en ;
    rdfs:comment "Statement that was validated when the verification result was produced." ;
    rdfs:domain <VerificationResult> ;
    rdfs:isDefinedBy <compliance_verification_report> ;
    rdfs:range <CheckStatement> .

<conforms> a owl:DatatypeProperty ;
    rdfs:label "conforms"@en ;
    dct:description "True if the Checking act confirms the check was validated, and false otherwise."@en ;
    dct:title "conforms"@en ;
    rdfs:comment "True if the Checking act confirms the check was validated, and false otherwise."@en ;
    rdfs:domain <ComplianceVerificationReport> ;
    rdfs:isDefinedBy <compliance_verification_report> ;
    rdfs:range xsd:boolean .

<hasSeverity> a owl:ObjectProperty ;
    rdfs:label "has severity"@en ;
    dct:description "Each verification result has exactly one value for the property aec3po:resultSeverity, and this value is an IRI. The value is equal to the value of aec3po:hasSeverity of the statement in the AEC3PO graph that caused the result, defaulting to aec3po:Violation if no aec3po:hasSeverity has been specified for the statement." ;
    dct:title "has severity"@en ;
    rdfs:comment "Each verification result has exactly one value for the property aec3po:resultSeverity, and this value is an IRI. The value is equal to the value of aec3po:hasSeverity of the statement in the AEC3PO graph that caused the result, defaulting to aec3po:Violation if no aec3po:hasSeverity has been specified for the statement." ;
    rdfs:domain <VerificationResult> ;
    rdfs:isDefinedBy <compliance_verification_report> ;
    rdfs:range <Severity> .

owl:ObjectProperty ns1:hasMember <hasResult>,
        <hasSeverity>,
        <verificationFocus>,
        <verificationPlanZone>,
        <verificationStatement> .

<compliance_verification_report> a owl:Ontology ;
    cc:license <https://creativecommons.org/licenses/by/4.0/> ;
    dct:contributor <http://maxime-lefrancois.info/me#> ;
    dct:created "2023-10-30"^^xsd:date ;
    dct:description "The AEC3PO Compliance Verification Report module describes results of some `aec3po:ProcessVerifier` checking some entity via a `aec3po:CheckingAct`. Entities may be validated or repudiated."@en ;
    dct:modified "2025-04-22"^^xsd:date ;
    dct:title "AEC3PO: Compliance Verification Report"@en ;
    vann:preferredNamespacePrefix "aec3po" ;
    vann:preferredNamespaceUri "https://w3id.org/lbd/aec3po/" ;
    owl:imports <check_method> .

_:n735a7adadb204070a7ff8325c0f58887b1 a owl:Restriction ;
    owl:cardinality 1 ;
    owl:onProperty <conforms> ;
    ns1:superClassOf <ComplianceVerificationReport> .

_:n735a7adadb204070a7ff8325c0f58887b2 a owl:Restriction ;
    owl:cardinality 1 ;
    owl:onProperty <verificationFocus> ;
    ns1:superClassOf <VerificationResult> .

_:n735a7adadb204070a7ff8325c0f58887b3 a owl:Restriction ;
    owl:cardinality 1 ;
    owl:onProperty <hasSeverity> ;
    ns1:superClassOf <VerificationResult> .

