@prefix : <https://w3id.org/cweo#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <https://w3id.org/cweo#> .

<https://w3id.org/cweo> rdf:type owl:Ontology ;
                         <http://purl.org/dc/terms/created> "2026-07-24" ;
                         <http://purl.org/dc/terms/creator> "Xiaoli Song"@en ;
                         <http://purl.org/dc/terms/description> """
            A lightweight ontology for modelling the temporal evolution of crack widths in concrete components and linking crack states to multi-source monitoring observations and supporting evidence.
        """@en ;
                         <http://purl.org/dc/terms/license> <https://creativecommons.org/licenses/by/4.0/> ;
                         <http://purl.org/dc/terms/title> "Crack Width Evolution Ontology"@en ;
                         <http://purl.org/vocab/vann/preferredNamespacePrefix> "cweo" ;
                         <http://purl.org/vocab/vann/preferredNamespaceUri> "https://w3id.org/cweo#"^^xsd:anyURI ;
                         rdfs:comment "CWEO reuses selected terms from SOSA, SSN, OWL-Time, and PROV-O by declaring and aligning relevant external classes and properties in this ontology."@en ;
                         rdfs:label "Crack Width Evolution Ontology (CWEO)"@en ;
                         owl:versionInfo "v0.1.0" .

#################################################################
#    Annotation properties
#################################################################

###  http://purl.org/dc/terms/created
<http://purl.org/dc/terms/created> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/creator
<http://purl.org/dc/terms/creator> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/description
<http://purl.org/dc/terms/description> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/license
<http://purl.org/dc/terms/license> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/title
<http://purl.org/dc/terms/title> rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/preferredNamespacePrefix
<http://purl.org/vocab/vann/preferredNamespacePrefix> rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/preferredNamespaceUri
<http://purl.org/vocab/vann/preferredNamespaceUri> rdf:type owl:AnnotationProperty .


#################################################################
#    Datatypes
#################################################################

###  http://www.w3.org/2001/XMLSchema#date
xsd:date rdf:type rdfs:Datatype .


#################################################################
#    Object Properties
#################################################################

###  http://www.w3.org/2006/time#hasTime
<http://www.w3.org/2006/time#hasTime> rdf:type owl:ObjectProperty ;
                                      rdfs:domain :DamageState ;
                                      rdfs:range <http://www.w3.org/2006/time#TemporalEntity> ;
                                      rdfs:comment """
            Supports the association of a temporal entity, such as an instant or interval, to a damage state. This property is reused from OWL-Time without importing the complete OWL-Time ontology.
        """@en ;
                                      rdfs:label "has time"@en .


###  http://www.w3.org/ns/prov#wasDerivedFrom
<http://www.w3.org/ns/prov#wasDerivedFrom> rdf:type owl:ObjectProperty ;
                                           rdfs:comment """
            Describes a derivation relationship between entities, such as a processed monitoring file derived from a raw sensor data file. This property is reused from PROV-O without importing the complete PROV-O ontology.
        """@en ;
                                           rdfs:label "was derived from"@en .


###  http://www.w3.org/ns/sosa/hasFeatureOfInterest
<http://www.w3.org/ns/sosa/hasFeatureOfInterest> rdf:type owl:ObjectProperty ;
                                                 owl:inverseOf <http://www.w3.org/ns/sosa/isFeatureOfInterestOf> ;
                                                 rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
                                                 rdfs:range <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
                                                 rdfs:comment """
            Links an observation to the feature of interest being observed. This property is reused from SOSA.
        """@en ;
                                                 rdfs:label "has feature of interest"@en .


###  http://www.w3.org/ns/sosa/hasResult
<http://www.w3.org/ns/sosa/hasResult> rdf:type owl:ObjectProperty ;
                                      rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
                                      rdfs:range <http://www.w3.org/ns/sosa/Result> ;
                                      rdfs:comment """
            Links an observation to its result. This property is reused from SOSA.
        """@en ;
                                      rdfs:label "has result"@en .


###  http://www.w3.org/ns/sosa/isFeatureOfInterestOf
<http://www.w3.org/ns/sosa/isFeatureOfInterestOf> rdf:type owl:ObjectProperty ;
                                                  rdfs:domain <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
                                                  rdfs:range <http://www.w3.org/ns/sosa/Observation> ;
                                                  rdfs:comment """
            Links a feature of interest to an observation that observes it. This property is reused from SOSA.
        """@en ;
                                                  rdfs:label "is feature of interest of"@en .


###  http://www.w3.org/ns/sosa/madeBySensor
<http://www.w3.org/ns/sosa/madeBySensor> rdf:type owl:ObjectProperty ;
                                         owl:inverseOf <http://www.w3.org/ns/sosa/madeObservation> ;
                                         rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
                                         rdfs:range <http://www.w3.org/ns/sosa/Sensor> ;
                                         rdfs:comment """
            Links an observation to the sensor that made it. This property is reused from SOSA.
        """@en ;
                                         rdfs:label "made by sensor"@en .


###  http://www.w3.org/ns/sosa/madeObservation
<http://www.w3.org/ns/sosa/madeObservation> rdf:type owl:ObjectProperty ;
                                            rdfs:domain <http://www.w3.org/ns/sosa/Sensor> ;
                                            rdfs:range <http://www.w3.org/ns/sosa/Observation> ;
                                            rdfs:comment """
            Links a sensor to an observation it made. This property is reused from SOSA.
        """@en ;
                                            rdfs:label "made observation"@en .


###  http://www.w3.org/ns/sosa/observedProperty
<http://www.w3.org/ns/sosa/observedProperty> rdf:type owl:ObjectProperty ;
                                             rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
                                             rdfs:range <http://www.w3.org/ns/sosa/ObservableProperty> ;
                                             rdfs:comment """
            Links an observation to the observable property being observed. This property is reused from SOSA.
        """@en ;
                                             rdfs:label "observed property"@en .


###  http://www.w3.org/ns/sosa/phenomenonTime
<http://www.w3.org/ns/sosa/phenomenonTime> rdf:type owl:ObjectProperty ;
                                           rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
                                           rdfs:range <http://www.w3.org/2006/time#TemporalEntity> ;
                                           rdfs:comment """
            Links an observation to the time at which the observed phenomenon occurred. This property is reused from SOSA.
        """@en ;
                                           rdfs:label "phenomenon time"@en .


###  http://www.w3.org/ns/sosa/usedProcedure
<http://www.w3.org/ns/sosa/usedProcedure> rdf:type owl:ObjectProperty ;
                                          rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
                                          rdfs:range <http://www.w3.org/ns/sosa/Procedure> ;
                                          rdfs:comment """
            Links an observation to the procedure, algorithm, protocol, or method used to generate it. This property is reused from SOSA.
        """@en ;
                                          rdfs:label "used procedure"@en .


###  http://www.w3.org/ns/ssn/hasProperty
<http://www.w3.org/ns/ssn/hasProperty> rdf:type owl:ObjectProperty ;
                                       owl:inverseOf <http://www.w3.org/ns/ssn/isPropertyOf> ;
                                       rdfs:domain <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
                                       rdfs:range <http://www.w3.org/ns/sosa/ObservableProperty> ;
                                       rdfs:comment """
            Links a feature of interest to one of its observable properties. This property is reused from SSN.
        """@en ;
                                       rdfs:label "has property"@en .


###  http://www.w3.org/ns/ssn/isPropertyOf
<http://www.w3.org/ns/ssn/isPropertyOf> rdf:type owl:ObjectProperty ;
                                        rdfs:domain <http://www.w3.org/ns/sosa/ObservableProperty> ;
                                        rdfs:range <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
                                        rdfs:comment """
            Links an observable property to the feature of interest it belongs to. This property is reused from SSN.
        """@en ;
                                        rdfs:label "is property of"@en .


###  https://w3id.org/cweo#hasEvidence
:hasEvidence rdf:type owl:ObjectProperty ;
             owl:inverseOf :isEvidenceOf ;
             rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
             rdfs:range :Evidence ;
             rdfs:comment """
            Links an observation to an evidence resource or data segment that supports the observation.
        """@en ;
             rdfs:label "has evidence"@en .


###  https://w3id.org/cweo#hasNextState
:hasNextState rdf:type owl:ObjectProperty ;
              owl:inverseOf :hasPrevState ;
              rdf:type owl:AsymmetricProperty ,
                       owl:IrreflexiveProperty ;
              rdfs:domain :DamageState ;
              rdfs:range :DamageState ;
              rdfs:comment """
            Links a damage state to its immediately following state in a temporal evolution sequence.
        """@en ;
              rdfs:label "has next state"@en .


###  https://w3id.org/cweo#hasPrevState
:hasPrevState rdf:type owl:ObjectProperty ,
                       owl:AsymmetricProperty ,
                       owl:IrreflexiveProperty ;
              rdfs:domain :DamageState ;
              rdfs:range :DamageState ;
              rdfs:comment """
            Links a damage state to its immediately preceding state in a temporal evolution sequence.
        """@en ;
              rdfs:label "has previous state"@en .


###  https://w3id.org/cweo#hasState
:hasState rdf:type owl:ObjectProperty ;
          owl:inverseOf :isStateOf ;
          rdfs:domain <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
          rdfs:range :DamageState ;
          rdfs:comment """
            Links a feature of interest, such as a crack, to one of its damage states.
        """@en ;
          rdfs:label "has state"@en .


###  https://w3id.org/cweo#isEvidenceOf
:isEvidenceOf rdf:type owl:ObjectProperty ;
              rdfs:domain :Evidence ;
              rdfs:range <http://www.w3.org/ns/sosa/Observation> ;
              rdfs:comment "Links an evidence resource or data segment to the observation it supports."@en ;
              rdfs:label "is evidence of"@en .


###  https://w3id.org/cweo#isStateOf
:isStateOf rdf:type owl:ObjectProperty ;
           rdfs:domain :DamageState ;
           rdfs:range <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
           rdfs:comment """
            Links a damage state to the feature of interest whose condition it represents.
        """@en ;
           rdfs:label "is state of"@en .


###  https://w3id.org/cweo#isSupportedByObservation
:isSupportedByObservation rdf:type owl:ObjectProperty ;
                          owl:inverseOf :supportsState ;
                          rdfs:domain :DamageState ;
                          rdfs:range <http://www.w3.org/ns/sosa/Observation> ;
                          rdfs:comment """
            Links a damage state to an observation that supports or provides evidence for the interpretation of that state.
        """@en ;
                          rdfs:label "is supported by observation"@en .


###  https://w3id.org/cweo#supportsState
:supportsState rdf:type owl:ObjectProperty ;
               rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
               rdfs:range :DamageState ;
               rdfs:comment """
            Links an observation to the damage state it supports.
        """@en ;
               rdfs:label "supports state"@en .


#################################################################
#    Data properties
#################################################################

###  http://www.w3.org/ns/sosa/hasSimpleResult
<http://www.w3.org/ns/sosa/hasSimpleResult> rdf:type owl:DatatypeProperty ;
                                            rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
                                            rdfs:range rdfs:Literal ;
                                            rdfs:comment """
            Links an observation to a simple literal result value. This property is reused from SOSA.
        """@en ;
                                            rdfs:label "has simple result"@en .


###  https://w3id.org/cweo#hasCrackWidth
:hasCrackWidth rdf:type owl:DatatypeProperty ;
               rdfs:domain :CrackState ;
               rdfs:range xsd:decimal ;
               rdfs:comment """
            Represents the representative or aggregated crack width value assigned to a crack state. Source-specific measured values can also be represented as SOSA observation results.
        """@en ;
               rdfs:label "has crack width"@en .


###  https://w3id.org/cweo#hasFileName
:hasFileName rdf:type owl:DatatypeProperty ;
             rdfs:domain :EvidenceResource ;
             rdfs:range xsd:string ;
             rdfs:comment """
            Stores the file name of an evidence resource.
        """@en ;
             rdfs:label "has file name"@en .


###  https://w3id.org/cweo#hasFilePath
:hasFilePath rdf:type owl:DatatypeProperty ;
             rdfs:domain :EvidenceResource ;
             rdfs:range xsd:string ;
             rdfs:comment """
            Stores the local or external path of an evidence resource.
        """@en ;
             rdfs:label "has file path"@en .


###  https://w3id.org/cweo#hasSensorID
:hasSensorID rdf:type owl:DatatypeProperty ;
             rdfs:domain <http://www.w3.org/ns/sosa/Sensor> ;
             rdfs:range xsd:string ;
             rdfs:comment """
            Stores an identifier for a sensor or monitoring device.
        """@en ;
             rdfs:label "has sensor ID"@en .


###  https://w3id.org/cweo#hasSensorType
:hasSensorType rdf:type owl:DatatypeProperty ;
               rdfs:domain <http://www.w3.org/ns/sosa/Sensor> ;
               rdfs:range xsd:string ;
               rdfs:comment """
            Stores a textual description of the sensor type, such as DFOS, DIC camera, displacement sensor, or strain sensor.
        """@en ;
               rdfs:label "has sensor type"@en .


###  https://w3id.org/cweo#hasTimeValue
:hasTimeValue rdf:type owl:DatatypeProperty ;
              rdfs:domain <http://www.w3.org/2006/time#Instant> ;
              rdfs:range xsd:decimal ;
              rdfs:comment """
            Stores a numeric time value for a time instant used in monitoring or experimental data.
        """@en ;
              rdfs:label "has time value"@en .


#################################################################
#    Classes
#################################################################

###  http://www.w3.org/2006/time#Instant
<http://www.w3.org/2006/time#Instant> rdf:type owl:Class ;
                                      rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ;
                                      rdfs:comment """
            A temporal instant reused from OWL-Time.
        """@en ;
                                      rdfs:label "Instant"@en .


###  http://www.w3.org/2006/time#Interval
<http://www.w3.org/2006/time#Interval> rdf:type owl:Class ;
                                       rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ;
                                       rdfs:comment """
            A temporal interval reused from OWL-Time.
        """@en ;
                                       rdfs:label "Interval"@en .


###  http://www.w3.org/2006/time#TemporalEntity
<http://www.w3.org/2006/time#TemporalEntity> rdf:type owl:Class ;
                                             rdfs:comment """
            A temporal entity, such as an instant or an interval, reused from OWL-Time.
        """@en ;
                                             rdfs:label "Temporal Entity"@en .


###  http://www.w3.org/ns/prov#Entity
<http://www.w3.org/ns/prov#Entity> rdf:type owl:Class ;
                                   rdfs:comment """
            A physical, digital, conceptual, or other kind of thing with some fixed aspects. This term is reused from PROV-O.
        """@en ;
                                   rdfs:label "Entity"@en .


###  http://www.w3.org/ns/sosa/FeatureOfInterest
<http://www.w3.org/ns/sosa/FeatureOfInterest> rdf:type owl:Class ;
                                              rdfs:comment """
            The thing whose property is being observed. This term is reused from SOSA.
        """@en ;
                                              rdfs:label "Feature of Interest"@en .


###  http://www.w3.org/ns/sosa/ObservableProperty
<http://www.w3.org/ns/sosa/ObservableProperty> rdf:type owl:Class ;
                                               rdfs:comment """
            A property that can be observed. This term is reused from SOSA.
        """@en ;
                                               rdfs:label "Observable Property"@en .


###  http://www.w3.org/ns/sosa/Observation
<http://www.w3.org/ns/sosa/Observation> rdf:type owl:Class ;
                                        rdfs:comment """
            An act of observing a property of a feature of interest. This term is reused from SOSA.
        """@en ;
                                        rdfs:label "Observation"@en .


###  http://www.w3.org/ns/sosa/Procedure
<http://www.w3.org/ns/sosa/Procedure> rdf:type owl:Class ;
                                      rdfs:comment """
            A workflow, protocol, plan, algorithm, or computational method used to make an observation. This term is reused from SOSA.
        """@en ;
                                      rdfs:label "Procedure"@en .


###  http://www.w3.org/ns/sosa/Result
<http://www.w3.org/ns/sosa/Result> rdf:type owl:Class ;
                                   rdfs:comment """
            The result of an observation. This term is reused from SOSA.
        """@en ;
                                   rdfs:label "Result"@en .


###  http://www.w3.org/ns/sosa/Sensor
<http://www.w3.org/ns/sosa/Sensor> rdf:type owl:Class ;
                                   rdfs:comment """
            A device, agent, or system that observes a property. This term is reused from SOSA.
        """@en ;
                                   rdfs:label "Sensor"@en .


###  https://w3id.org/cweo#Crack
:Crack rdf:type owl:Class ;
       rdfs:subClassOf <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
       rdfs:comment """
            A crack occurring in a concrete component. In CWEO, a crack is modelled as a SOSA feature of interest whose condition may evolve over time.
        """@en ;
       rdfs:label "Crack"@en .


###  https://w3id.org/cweo#CrackLength
:CrackLength rdf:type owl:Class ;
             rdfs:subClassOf <http://www.w3.org/ns/sosa/ObservableProperty> ;
             rdfs:comment """
            An observable property representing the length of a crack.
        """@en ;
             rdfs:label "Crack Length"@en .


###  https://w3id.org/cweo#CrackState
:CrackState rdf:type owl:Class ;
            rdfs:subClassOf :DamageState ;
            rdfs:comment """
            A damage state representing the monitored condition of a crack at a specific time or temporal interval.
        """@en ;
            rdfs:label "Crack State"@en .


###  https://w3id.org/cweo#CrackWidth
:CrackWidth rdf:type owl:Class ;
            rdfs:subClassOf <http://www.w3.org/ns/sosa/ObservableProperty> ;
            rdfs:comment """
            An observable property representing the width of a crack.
        """@en ;
            rdfs:label "Crack Width"@en .


###  https://w3id.org/cweo#DamageState
:DamageState rdf:type owl:Class ;
             rdfs:comment """
            A semantic representation of the condition of a damage feature at a specific time or temporal interval.
        """@en ;
             rdfs:label "Damage State"@en .


###  https://w3id.org/cweo#DataSegment
:DataSegment rdf:type owl:Class ;
             rdfs:subClassOf :Evidence ;
             owl:disjointWith :EvidenceResource ;
             rdfs:comment """
            A specific segment or part of an evidence resource, such as a temporal, spatial, or textual segment.
        """@en ;
             rdfs:label "Data Segment"@en .


###  https://w3id.org/cweo#Displacement
:Displacement rdf:type owl:Class ;
              rdfs:subClassOf <http://www.w3.org/ns/sosa/ObservableProperty> ;
              rdfs:comment """
            An observable property representing displacement measured or derived by sensors, DIC, or other monitoring methods.
        """@en ;
              rdfs:label "Displacement"@en .


###  https://w3id.org/cweo#Evidence
:Evidence rdf:type owl:Class ;
          rdfs:subClassOf <http://www.w3.org/ns/prov#Entity> ;
          rdfs:comment """
            A resource or data segment that supports an observation, interpretation, or damage-state representation.
        """@en ;
          rdfs:label "Evidence"@en .


###  https://w3id.org/cweo#EvidenceResource
:EvidenceResource rdf:type owl:Class ;
                  rdfs:subClassOf :Evidence ;
                  rdfs:comment """
            A complete evidence resource, such as a sensor data file, image, video, or report document.
        """@en ;
                  rdfs:label "Evidence Resource"@en .


###  https://w3id.org/cweo#Photo
:Photo rdf:type owl:Class ;
       rdfs:subClassOf :EvidenceResource ;
       rdfs:comment """
            A photographic image used as evidence for an observation or damage-state interpretation.
        """@en ;
       rdfs:label "Photo"@en .


###  https://w3id.org/cweo#ReportDocument
:ReportDocument rdf:type owl:Class ;
                rdfs:subClassOf :EvidenceResource ;
                rdfs:comment """
            A report or document used as evidence for monitoring observations, inspection records, or damage interpretation.
        """@en ;
                rdfs:label "Report Document"@en .


###  https://w3id.org/cweo#SensorData
:SensorData rdf:type owl:Class ;
            rdfs:subClassOf :EvidenceResource ;
            rdfs:comment """
            A data resource produced by a sensor or monitoring system, such as a DFOS, displacement sensor, or DIC measurement file.
        """@en ;
            rdfs:label "Sensor Data"@en .


###  https://w3id.org/cweo#SpatialSegment
:SpatialSegment rdf:type owl:Class ;
                rdfs:subClassOf :DataSegment ;
                rdfs:comment """
            A data segment identified by spatial boundaries or a spatial region.
        """@en ;
                rdfs:label "Spatial Segment"@en .


###  https://w3id.org/cweo#Strain
:Strain rdf:type owl:Class ;
        rdfs:subClassOf <http://www.w3.org/ns/sosa/ObservableProperty> ;
        rdfs:comment """
            An observable property representing strain measured or derived during structural monitoring.
        """@en ;
        rdfs:label "Strain"@en .


###  https://w3id.org/cweo#TemporalSegment
:TemporalSegment rdf:type owl:Class ;
                 rdfs:subClassOf :DataSegment ;
                 rdfs:comment """
            A data segment identified by temporal boundaries or a time range.
        """@en ;
                 rdfs:label "Temporal Segment"@en .


###  https://w3id.org/cweo#TextSegment
:TextSegment rdf:type owl:Class ;
             rdfs:subClassOf :DataSegment ;
             rdfs:comment """
            A data segment corresponding to a specific part of a text-based evidence resource.
        """@en ;
             rdfs:label "Text Segment"@en .


###  https://w3id.org/cweo#Video
:Video rdf:type owl:Class ;
       rdfs:subClassOf :EvidenceResource ;
       rdfs:comment """
            A video resource used as evidence for monitoring, observation, or interpretation.
        """@en ;
       rdfs:label "Video"@en .


#################################################################
#    General axioms
#################################################################

[ rdf:type owl:AllDisjointClasses ;
  owl:members ( :CrackLength
                :CrackWidth
                :Displacement
                :Strain
              )
] .


###  Generated by the OWL API (version 5.1.18) https://github.com/owlcs/owlapi/
