From 8eb7c3f9907c7cbdfa531ef58683cb7dbcdf54e3 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Sat, 4 Nov 2023 15:21:29 +1100 Subject: [PATCH 01/74] Fixes #33 --- ssn/examples/2017ex12.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssn/examples/2017ex12.ttl b/ssn/examples/2017ex12.ttl index 7eb6fbea..bf01b5c0 100644 --- a/ssn/examples/2017ex12.ttl +++ b/ssn/examples/2017ex12.ttl @@ -54,4 +54,4 @@ rdf:type sosa:ObservableProperty , ssn:Property ; rdfs:label "the height of tree #125"@en ; - ssn:isPropertyOf . + ssn:isPropertyOf . From 99b49eb9b0925d1c0fb040fda1911430e20c2940 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 8 Nov 2023 08:32:21 +0800 Subject: [PATCH 02/74] Update QUDT ns --- ssn/examples/2017ex11.ttl | 2 +- ssn/examples/2017ex15.ttl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ssn/examples/2017ex11.ttl b/ssn/examples/2017ex11.ttl index af2543d8..85019fa0 100644 --- a/ssn/examples/2017ex11.ttl +++ b/ssn/examples/2017ex11.ttl @@ -13,7 +13,7 @@ sosa:observedProperty ; sosa:madeBySensor ; sosa:hasResult [ - rdf:type qudt-1-1:QuantityValue ; + rdf:type qudt:QuantityValue ; qudt:numericValue "22.4"^^xsd:double ; qudt:hasUnit unit:KiloW-HR ] ; sosa:phenomenonTime [ diff --git a/ssn/examples/2017ex15.ttl b/ssn/examples/2017ex15.ttl index 802d6813..923e7da7 100644 --- a/ssn/examples/2017ex15.ttl +++ b/ssn/examples/2017ex15.ttl @@ -35,7 +35,7 @@ sosa:hasFeatureOfInterest ; sosa:observedProperty ; sosa:hasResult [ - rdf:type qudt-1-1:QuantityValue ; + rdf:type qudt:QuantityValue ; qudt:numericValue "5e-4"^^xsd:double ; qudt:hasUnit unit:CentiM-PER-SEC ] ; sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . \ No newline at end of file From 2d7b89f75ba0acb608e19c5e9929d633caa15329 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 3 Jan 2024 13:47:57 +1100 Subject: [PATCH 03/74] Add example using QUDT unit as the datatype of a simpleResult --- ssn/examples/2017ex3.1.ttl | 6 ++++++ ssn/index.html | 2 ++ 2 files changed, 8 insertions(+) create mode 100644 ssn/examples/2017ex3.1.ttl diff --git a/ssn/examples/2017ex3.1.ttl b/ssn/examples/2017ex3.1.ttl new file mode 100644 index 00000000..06ff13f2 --- /dev/null +++ b/ssn/examples/2017ex3.1.ttl @@ -0,0 +1,6 @@ +@prefix unit: . +@prefix sosa: . + + a sosa:Observation ; + sosa:hasFeatureOfInterest ; + sosa:hasSimpleResult "-29.9"^^unit:DEG_C . diff --git a/ssn/index.html b/ssn/index.html index 55ab9874..25c06a8b 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -7580,11 +7580,13 @@

Quantity Values and Unit of Measures

  • With QUDT, a sosa:Result would be a qudt:QuantityValue
  • With OM 2, a sosa:Result would be a om:Measure or om:Point
  • With CDT, the value of sosa:hasSimpleResult may be structured to match cdt:ucum which encodes the unit-of-measure using UCUM (UCUM, [[UCUM]])
  • +
  • The value of sosa:hasSimpleResult may alternatively be structured such that the datatype indicates a qudt:Unit
  • Custom datatypes are not strictly compatible with OWL, which restricts the set of datatypes that can be used. See sec. 5.2 in [[owl2-syntax]] for more details.

    
     
    
     
          
    +
          
          
              
          
    From baef15c6108fde72e1fa11e27dd8145e06847ba4 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Sun, 7 Jan 2024 16:58:54 +1100 Subject: [PATCH 04/74] FormatDocument (tabs and linefeeds) --- ssn/index.html | 14556 ++++++++++++++++++++++++++--------------------- 1 file changed, 8098 insertions(+), 6458 deletions(-) diff --git a/ssn/index.html b/ssn/index.html index ba4d4f3c..862952c9 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -1,118 +1,127 @@ - - - Semantic Sensor Network Ontology - - - - + + + - - - - - -
    -

    The Semantic Sensor Network (SSN) ontology is an ontology for describing -sensors and their observations, the involved procedures, the studied features of -interest, the samples used to do so, and the observed properties, as well as actuators. -SSN follows a horizontal and vertical modularization architecture, with the core classes -and properties defined using minimal axiomatization in a graph called SOSA (Sensor, Observation, Sample, and Actuator) -supplemented with additional axiomatization and terms in further graphs. -These allow SSN to support a wide range of applications and use -cases, including satellite imagery, large-scale scientific monitoring, industrial and -household infrastructures, social sensing, citizen science, observation-driven ontology -engineering, and the Web of Things.

    - -

    - The namespace for the core terms is - http://www.w3.org/ns/sosa/.

    - -

    The suggested prefix for the SOSA namespace is sosa.

    -

    - The SOSA graph containing the core definitions is available at http://www.w3.org/ns/sosa/.
    - The SSN graph with the full axiomatization of the core terms is available at http://www.w3.org/ns/ssn/. -
    -

    -
    -
    -

    - General Information -

    - -

    For OGC this is a Public Draft of a document prepared - by the Spatial Data on the Web Working Group (SDWWG) - — a joint W3C-OGC project (see charter). - The document is prepared following W3C conventions. The document is - released at this time to solicit public comment.

    -
    -
    -

    Introduction

    -

    Sensors are a major source of data available on the Web - today. While sensor data may be published as mere values, searching, reusing, integrating, and interpreting these data requires more than just the observation results. Of equal - importance for the proper interpretation of these values is information - about the studied feature of interest, such as a river, the observed - property, such as flow velocity, the utilized sampling strategy, such as - the specific locations and times at which the velocity was measured, and - a variety of other information. OGC's Sensor Web Enablement standards - [[OandM]], [[SensorML]] provide a means to annotate sensors and their - observations. However, these standards are not integrated and - aligned with W3C Semantic Web technologies and Linked Data in - particular, which are key drivers for creating and maintaining a global - and densely interconnected graph of data. With the rise of the Web of - Things and smart cities and homes more generally, actuators and the data - they produce also become first-class citizens of the Web. Given their - close relation to sensors, observations, procedures, and features of - interest, it is desirable to provide a common ontology that also - includes actuators and actuation. Finally, with the increasing diversity - of data and data providers, definitions such as those for sensors need - to be broadened, e.g., to include social sensing. The following - specifications introduce the new Semantic Sensor Network (SSN) and - Sensor, Observation, Sample, and Actuator (SOSA) ontologies that are set - out to provide flexible but coherent perspectives for representing the - entities, relations, and activities involved in sensing, sampling, and - actuation. SOSA provides a lightweight core for SSN and aims at broadening - the target audience and application areas that can make use of Semantic Web ontologies. - At the same time, SOSA acts as minimal interoperability fall-back level, i.e., - it defines those common classes and properties for which data can be safely - exchanged across all uses of SSN, its modules, and SOSA.

    -
    - -
    -

    Modularization

    - -

    Ontology modularization is commonly used - to segment an ontology to provide users with the knowledge - they require, reducing the scope as much as possible to what is strictly - necessary in a given use case.

    - -

    The SSN Ontology is distributed through several modules or graphs that use owl:imports - statements. - We distinguish two methods depending on the - directionality of the segmentation: a vertical segmentation and a - horizontal segmentation.

    -
    - Ontology Modules -
    The SOSA and SSN ontologies and their vertical and horizontal modules. -
    TODO: re-draw to include SOSA-OMS, SSN-OMS -
    -
    -

    Vertical Segmentation

    -

    Vertical modules build upon each other, i.e., they directionally owl:import - lower level modules. Lower level modules are independent of their higher - level modules and logically consistent on their own.

    -

    In particular, -

      -
    1. - the SOSA graph declares all the core classes and properties, and provides textual definitions and other annotations. - Some semantic enrichment is provided using Schema.org properties, but there is no formal axiomatization. - SOSA may be used as-is by an audience who wish to use terminology consistent with the SSN Ontology, thus ensuring interoperability with SSN-based repositories -
    2. -
    3. - the SSN graph imports SOSA, and adds axioms that formally indicate how properties relate to classes, how classes relate to each other. SSN may be used in semantic web systems that use inferencing and reasoning, and consistency checking for datasets -
    4. -
    5. - the SOSA-OMS graph imports SOSA and describes the alignment of SOSA to [[OMS]], adding some additional terms used in OMS that are not otherwise included in SSN. SOSA-OMS may be used by audiences for whom strict conformance to [[OMS]] (also known as ISO 19156:2023) is a requirement -
    6. -
    7. - the SSN-OMS graph imports SOSA-OMS and SSN and describes the alignment of SSN to [[OMS]] including OWL/RDFS axiomatization. SSN-OMS may be used by audiences for whom strict conformance to [[OMS]] (also known as ISO 19156:2023) is a requirement, with reasoning support +

      The SSN Ontology is distributed through several modules or graphs that use owl:imports + statements. + We distinguish two methods depending on the + directionality of the segmentation: a vertical segmentation and a + horizontal segmentation.

      +
      + Ontology Modules +
      The SOSA and SSN ontologies and their vertical and horizontal modules. +
      TODO: re-draw to include SOSA-OMS, SSN-OMS +
      +
      +

      Vertical Segmentation

      +

      Vertical modules build upon each other, i.e., they directionally owl:import + lower level modules. Lower level modules are independent of their higher + level modules and logically consistent on their own.

      +

      In particular, +

        +
      1. + the SOSA graph declares all the core classes and properties, and provides textual definitions and other + annotations. + Some semantic enrichment is provided using Schema.org properties, but there is no formal axiomatization. + SOSA may be used as-is by an audience who wish to use terminology consistent with the SSN + Ontology, thus ensuring interoperability with SSN-based repositories +
      2. +
      3. + the SSN graph imports SOSA, and adds axioms that formally indicate how properties relate to + classes, how classes relate to each other. SSN may be used in semantic web systems that use + inferencing and reasoning, and consistency checking for datasets +
      4. +
      5. + the SOSA-OMS graph imports SOSA and describes the alignment of SOSA to [[OMS]], adding some + additional terms used in OMS that are not otherwise included in SSN. SOSA-OMS may be used by audiences + for whom strict conformance to [[OMS]] (also known as ISO 19156:2023) is a requirement +
      6. +
      7. + the SSN-OMS graph imports SOSA-OMS and SSN and describes the alignment of SSN to [[OMS]] + including OWL/RDFS axiomatization. SSN-OMS may be used by audiences for whom strict conformance to + [[OMS]] (also known as ISO 19156:2023) is a requirement, with reasoning support +
      8. +
      9. + the Dolce-UltraLite Alignment graph imports the SSN graph which itself imports the SOSA + graph, and adds axioms that position SSN within Dolce-UltraLite. DUL-Alignment may be + used to integrate data designed using SSN into systems otherwise built in the Dolce-UltraLite + framework +
      10. +
      +

      +

      SOSA as the core, does not + import any other ontologies, so it is truly independent of + vertical modules that add more expressivity and further ontological + commitments to the lightweight semantics of SOSA.

      +

      Note that higher level here is not to be confused with upper level + ontologies. Upper level ontologies are general knowledge ontologies that + can be directionally imported in many domains, whereas our definition of + higher level ontologies here refers to an ontology that extends one or + several ontology modules to capture a larger part of a knowledge domain + and/or combine knowledge domains.

      +

      Horizontal Segmentation

      +

      Modules that are horizontally layered may depend on each other, i.e., + they may rely on the directional import of another horizontal module. + Two horizontal modules that are dependent on the SOSA and SSN ontologies are + presented in this specification, +

        +
      1. the Sample Relations Module
      2. +
      3. the SSN System module
      4. +
      + Other ontologies that add domain-specific terms to SOSA and SSN, but require the + import of SOSA or SSN, can be considered horizontal modules.

      +
    +
    +

    Origins of SSN and SOSA

    +

    Here we briefly review the origins of SSN and SOSA, namely the initial + SSN version published by the W3C Semantic Sensor Network Incubator + Group [[SSNO]] and work on Sensor Web Enablement by the OGC. We + also highlight the most substantial changes made since the initial + release of the SSN ontology.

    +

    Starting in 2002, the OGC's Sensor Web Enablement initiative has developed + a generic framework for delivering sensor data, dealing with + remote-sensing, moving platforms, and in-situ monitoring and sensing. + The Sensor Observation Service defines a standard query interface for + sensor and observation data, following the pattern established by OGC + for their Web Services. The returned XML data conforms with the Sensor Model + Language [[SensorML]] and OMXML [[OMXML]], whereby the latter implements + Observations and Measurements [[OandM]].

    +

    SensorML and O&M are complementary viewpoints. SensorML + is 'provider-centric' and encodes details of the sensor along with raw + observation data. SensorML is self-contained and highly flexible. This + makes life easy for data producers but is demanding on consumers. + SensorML provides extensive support for serialization of numeric data arrays + and is particularly optimized for data that includes multiple parallel + streams that must be processed together. For example, the data collected + by cameras on airborne vehicles must be geo-referenced based on the + instantaneous position of the platform and orientation of the camera. In + contrast, O&M was designed to be more 'user-centric' with the target + of the observation and the observed property as first-class objects. + O&M works at a higher semantic level than SensorML, but only + provides abstract classes for sensors, features of interest and + observable properties, expecting the details to be provided by specific + applications and domains. O&M also provided a model for sampling, + since almost all scientific observations are made on a subset of, or + proxy for, the ultimate feature of interest.

    +

    The initial W3C Semantic Sensor Network Incubator Group ontology + (SSN) was built around an ontology design pattern called the Stimulus + Sensor Observation (SSO) pattern [[SSO-Pattern]]. The SSO was + developed as a minimal and common ground for heavy-weight ontologies + for the use on the Semantic Sensor Web as well as to explicitly + address the need for light-weight semantics requested by the Linked + Data community. The SSO was also aligned to the Dolce-Ultralite upper + ontology (DUL).

    +

    The new SSN described in this document is based on a revised and + expanded version of this pattern, namely the Sensor, Observation, + Sample, and Actuator (SOSA) ontology. Similar to the original + SSO, SOSA acts as a central building block for the SSN but puts more + emphasis on light-weight use and the ability to be used standalone. + The axiomatization also changed to provide an experience more related + to Schema.org. Notable differences include the usage of the Schema.org + domainIncludes and rangeIncludes annotation + properties that provide an informal semantics compared to the + inferential semantics of their OWL 2 counterparts. In line with the + changes implemented for the new SSN, SOSA also drops the direct DUL + alignment although an optional alignment can be achieved via the + SSN-DUL alignment provided in Section 6.1. SOSA is also more explicit than SSO in its + support for virtual and human sensor. Finally, + and most notably, SOSA extends SSO's original scope beyond sensors and + their observations by including classes and properties for actuators + and sampling. SOSA also distinguishes between phenomenonTime and + resultTime. +

    +

    Drawing on considerable implementation and application experience with SSN and sensor and observation ontologies + more broadly, the new SSN and SOSA ontologies presented here are set out to address changes in scope and audience, + shortcomings of the initial work, as well as new technical developments. The list below highlights the most + important (but by far not exclusive) updates.

    +
      +
    • Addressing changes in scope and audience +
        +
      • The initial SSN was developed with ontology engineers in mind as the primary audience. Due to the + widespread adoption of SSN, the increasing role of citizen science, the strong focus on lightweight + vocabularies by the Linked Data community, and vocabularies such as Schema.org, the ontology was + streamlined. SOSA is added as a core, and is also useful as a standalone ontology targeting Web developers, + citizen science, lightweight Linked Data publishing, resource-constraint IoT devices, data intensive + applications (with the possibility of using lightweight reasoning), and so on. The new SSN introduces + additional classes and relations on top of SOSA to model the capabilities of sensors and actuators, the + compositionality of systems, and so forth to suit more complex needs or cases in which more provenance data + is required, e.g., to improve reproducibility.
      • +
      • Almost all scientific observations make heavy use of sampling strategies, and, therefore, the Sampling, + Sampler, and Sample classes, as well as their corresponding properties, have been added to SOSA and SSN.
      • -
      • - the Dolce-UltraLite Alignment graph imports the SSN graph which itself imports the SOSA graph, and adds axioms that position SSN within Dolce-UltraLite. DUL-Alignment may be used to integrate data designed using SSN into systems otherwise built in the Dolce-UltraLite framework +
      • Due to the increasing importance of the Web of Things and smart instrumentation and environments more + generally, the classes Actuator and Actuation have been added to SOSA and SSN.
      • +
      +
    • Addressing shortcomings of the initial SSN +
        +
      • The new SSN streamlines the relations (and need for) the old Device, Platform, and Systems classes.
      • +
      • The old SSN was perceived as too heavyweight (on its axiomatization) and too dependent on OWL reasoning by + some users. To strike a balance, DL expressivity of the new lightweight SOSA ontology is ALI(D) which is + efficiently supported by modern triple stores, while the new SSN is ALRIN(D). In contrast, the old SSN is + SRIQ.
      • +
      • The SSN previously imported DUL and many SSN terms inherited from DUL terms. Due to frequent user + requests, this has been redesigned so that SSN (and SOSA) can be used entirely independently of DUL if + desired. Some of the alignments with DUL have been reconsidered. Those parts of SSN that use DUL terms have + been separated into the SSN Alignment with DUL ontology. This + alignment and therefore the role of DUL in SSN have been declared non-normative.
      • +
      • The definitions for many classes and properties have changed slightly to improve explanation or to correct + minor errors. Examples have been separated from the main definitions.
      • +
      • The initial SSN has been criticized for its partially inconsistent handling of virtual sensors (including + software and simulations) and related classes and properties. The new SSN and SOSA address this issue by + allowing all major classes to be virtual, and to better support humans and other animals as agents.
      • +
      • The notion of Procedure (formerly Plan) has been clarified to describe a workflow, protocol, plan, + algorithm, or computational method specifying how to make an Observation, create a Sample, or make a change + to the state of the world via an Actuator.
      • +
      • The Observation class in the initial SSN was conceptualized as a subclass of the DUL Situation class. To + improve alignment with O&M and user expectations, as well as to follow a consistent modeling strategy + for observations, sampling, and actuation, the Observation class defined in SOSA and the new SSN are now + conceptualized as activities.
      • +
      +
    • Addressing technical developments +
        +
      • The initial SSN used local/guarded domain and range restrictions. The lightweight SOSA ontology uses an + even more restrained axiomatization to foster wide reuse and adaptation among an audience that is not + necessarily familiar with OWL. SOSA makes use of the domainIncludes and + rangeIncludes annotation properties defined in Schema.org. These had not been available before.
      • - -

        -

        SOSA as the core, does not - import any other ontologies, so it is truly independent of - vertical modules that add more expressivity and further ontological - commitments to the lightweight semantics of SOSA.

        -

        Note that higher level here is not to be confused with upper level - ontologies. Upper level ontologies are general knowledge ontologies that - can be directionally imported in many domains, whereas our definition of - higher level ontologies here refers to an ontology that extends one or - several ontology modules to capture a larger part of a knowledge domain - and/or combine knowledge domains.

        -

        Horizontal Segmentation

        -

        Modules that are horizontally layered may depend on each other, i.e., - they may rely on the directional import of another horizontal module. - Two horizontal modules that are dependent on the SOSA and SSN ontologies are - presented in this specification, -

          -
        1. the Sample Relations Module
        2. -
        3. the SSN System module
        4. -
        - Other ontologies that add domain-specific terms to SOSA and SSN, but require the - import of SOSA or SSN, can be considered horizontal modules.

        -
    -
    -

    Origins of SSN and SOSA

    -

    Here we briefly review the origins of SSN and SOSA, namely the initial - SSN version published by the W3C Semantic Sensor Network Incubator - Group [[SSNO]] and work on Sensor Web Enablement by the OGC. We - also highlight the most substantial changes made since the initial - release of the SSN ontology.

    -

    Starting in 2002, the OGC's Sensor Web Enablement initiative has developed - a generic framework for delivering sensor data, dealing with - remote-sensing, moving platforms, and in-situ monitoring and sensing. - The Sensor Observation Service defines a standard query interface for - sensor and observation data, following the pattern established by OGC - for their Web Services. The returned XML data conforms with the Sensor Model - Language [[SensorML]] and OMXML [[OMXML]], whereby the latter implements - Observations and Measurements [[OandM]].

    -

    SensorML and O&M are complementary viewpoints. SensorML - is 'provider-centric' and encodes details of the sensor along with raw - observation data. SensorML is self-contained and highly flexible. This - makes life easy for data producers but is demanding on consumers. - SensorML provides extensive support for serialization of numeric data arrays - and is particularly optimized for data that includes multiple parallel - streams that must be processed together. For example, the data collected - by cameras on airborne vehicles must be geo-referenced based on the - instantaneous position of the platform and orientation of the camera. In - contrast, O&M was designed to be more 'user-centric' with the target - of the observation and the observed property as first-class objects. - O&M works at a higher semantic level than SensorML, but only - provides abstract classes for sensors, features of interest and - observable properties, expecting the details to be provided by specific - applications and domains. O&M also provided a model for sampling, - since almost all scientific observations are made on a subset of, or - proxy for, the ultimate feature of interest.

    -

    The initial W3C Semantic Sensor Network Incubator Group ontology - (SSN) was built around an ontology design pattern called the Stimulus - Sensor Observation (SSO) pattern [[SSO-Pattern]]. The SSO was - developed as a minimal and common ground for heavy-weight ontologies - for the use on the Semantic Sensor Web as well as to explicitly - address the need for light-weight semantics requested by the Linked - Data community. The SSO was also aligned to the Dolce-Ultralite upper - ontology (DUL).

    -

    The new SSN described in this document is based on a revised and - expanded version of this pattern, namely the Sensor, Observation, - Sample, and Actuator (SOSA) ontology. Similar to the original - SSO, SOSA acts as a central building block for the SSN but puts more - emphasis on light-weight use and the ability to be used standalone. - The axiomatization also changed to provide an experience more related - to Schema.org. Notable differences include the usage of the Schema.org - domainIncludes and rangeIncludes annotation - properties that provide an informal semantics compared to the - inferential semantics of their OWL 2 counterparts. In line with the - changes implemented for the new SSN, SOSA also drops the direct DUL - alignment although an optional alignment can be achieved via the - SSN-DUL alignment provided in Section 6.1. SOSA is also more explicit than SSO in its support for virtual and human sensor. Finally, - and most notably, SOSA extends SSO's original scope beyond sensors and - their observations by including classes and properties for actuators - and sampling. SOSA also distinguishes between phenomenonTime and - resultTime.

    -

    Drawing on considerable implementation and application experience with SSN and sensor and observation ontologies more broadly, the new SSN and SOSA ontologies presented here are set out to address changes in scope and audience, shortcomings of the initial work, as well as new technical developments. The list below highlights the most important (but by far not exclusive) updates.

    -
      -
    • Addressing changes in scope and audience -
        -
      • The initial SSN was developed with ontology engineers in mind as the primary audience. Due to the widespread adoption of SSN, the increasing role of citizen science, the strong focus on lightweight vocabularies by the Linked Data community, and vocabularies such as Schema.org, the ontology was streamlined. SOSA is added as a core, and is also useful as a standalone ontology targeting Web developers, citizen science, lightweight Linked Data publishing, resource-constraint IoT devices, data intensive applications (with the possibility of using lightweight reasoning), and so on. The new SSN introduces additional classes and relations on top of SOSA to model the capabilities of sensors and actuators, the compositionality of systems, and so forth to suit more complex needs or cases in which more provenance data is required, e.g., to improve reproducibility.
      • -
      • Almost all scientific observations make heavy use of sampling strategies, and, therefore, the Sampling, Sampler, and Sample classes, as well as their corresponding properties, have been added to SOSA and SSN.
      • -
      • Due to the increasing importance of the Web of Things and smart instrumentation and environments more generally, the classes Actuator and Actuation have been added to SOSA and SSN.
      • -
      -
    • Addressing shortcomings of the initial SSN -
        -
      • The new SSN streamlines the relations (and need for) the old Device, Platform, and Systems classes.
      • -
      • The old SSN was perceived as too heavyweight (on its axiomatization) and too dependent on OWL reasoning by some users. To strike a balance, DL expressivity of the new lightweight SOSA ontology is ALI(D) which is efficiently supported by modern triple stores, while the new SSN is ALRIN(D). In contrast, the old SSN is SRIQ.
      • -
      • The SSN previously imported DUL and many SSN terms inherited from DUL terms. Due to frequent user requests, this has been redesigned so that SSN (and SOSA) can be used entirely independently of DUL if desired. Some of the alignments with DUL have been reconsidered. Those parts of SSN that use DUL terms have been separated into the SSN Alignment with DUL ontology. This alignment and therefore the role of DUL in SSN have been declared non-normative.
      • -
      • The definitions for many classes and properties have changed slightly to improve explanation or to correct minor errors. Examples have been separated from the main definitions.
      • -
      • The initial SSN has been criticized for its partially inconsistent handling of virtual sensors (including software and simulations) and related classes and properties. The new SSN and SOSA address this issue by allowing all major classes to be virtual, and to better support humans and other animals as agents.
      • -
      • The notion of Procedure (formerly Plan) has been clarified to describe a workflow, protocol, plan, algorithm, or computational method specifying how to make an Observation, create a Sample, or make a change to the state of the world via an Actuator.
      • -
      • The Observation class in the initial SSN was conceptualized as a subclass of the DUL Situation class. To improve alignment with O&M and user expectations, as well as to follow a consistent modeling strategy for observations, sampling, and actuation, the Observation class defined in SOSA and the new SSN are now conceptualized as activities.
      • +
      • Given the increased interest in using Semantic Web technologies directly on the level of individual + sensors, actuators, or platforms, SOSA's axiomatization does not use many of the more complex language + elements introduced by SSN.
      • +
    -
  • Addressing technical developments -
      -
    • The initial SSN used local/guarded domain and range restrictions. The lightweight SOSA ontology uses an even more restrained axiomatization to foster wide reuse and adaptation among an audience that is not necessarily familiar with OWL. SOSA makes use of the domainIncludes and rangeIncludes annotation properties defined in Schema.org. These had not been available before.
    • -
    • Given the increased interest in using Semantic Web technologies directly on the level of individual sensors, actuators, or platforms, SOSA's axiomatization does not use many of the more complex language elements introduced by SSN.
    • -
    - -
  • -
    -

    RDF Implementation

    -

    This section introduces the specifications for the RDF implementation of the Semantic Sensor Network Ontology as SOSA.

    - -
    -

    Namespaces

    -

    - The namespace for the core terms is http://www.w3.org/ns/sosa/. - -

    -

    - - The suggested prefix for the SOSA namespace is sosa. -

    - -
    -
    -

    RDF distribution

    -

    - The SOSA and SSN Ontologies are distributed in several graphs, each packaged as an RDF file. - Within each graph, where further information (axioms and annotations) is added to an existing term, rdfs:isDefinedBy indicates the graph where the term was originally defined. -

    -

    SOSA

    -

    - The SOSA graph contains the basic definitions of the core terms with minimal axiomatization - only rdf:type and owl:inverseOf - together with key annotations rdfs:label , skos:definition , schema:domainIncludes , schema:rangeIncludes, plus other annotations as required. -

    -

    - The SOSA graph is available at http://www.w3.org/ns/sosa/. -

    -

    SSN

    -

    - The SSN graph contains the full axiomatization of the core terms, importing SOSA and using rdfs:subClassOf, rdfs:subPropertyOf, owl:Restriction with the various associated RDFS and OWL structures. -

    -

    - The SSN graph is available at http://www.w3.org/ns/ssn/. -

    -

    SSN-System

    -

    - The SSN-System graph imports SOSA and SSN and contains additional definitions associated with the composition and deployment of systems. -

    -

    - The SSN-System graph is available at http://www.w3.org/ns/ssn-system/. -

    -

    Sample-Relations

    -

    - The Sample-Relations graph imports SOSA and contains additional definitions associated with relationships between samples. -

    -

    - The Sample-Relations graph is available at http://www.w3.org/ns/sosa/sampling/. -

    -

    SOSA-OMS

    -

    - The SOSA-OMS graph describes the alignment of SOSA to ISO 19156:2023 [[OMS]] using annotations to link SOSA terms to specific requirements in [[OMS]]. SOSA-OMS imports SOSA and declares additional terms required for OMS. This graph is the canonical RDF implementation of OMS. -

    -

    - The SOSA-OMS graph is available at http://www.w3.org/ns/sosa-oms/. -

    -

    SSN-OMS

    -

    - The SSN-OMS graph describes the alignment of SSN to ISO 19156:2023 [[OMS]] with RDFS/OWL axiomatization. This graph imports SSN and SOSA-OMS. This graph is the canonical OWL implementation of OMS. -

    -

    - The SSN-OMS graph is available at http://www.w3.org/ns/ssn-oms/. -

    -
    + The suggested prefix for the SOSA namespace is sosa. +

    + +
    +
    +

    RDF distribution

    +

    + The SOSA and SSN Ontologies are distributed in several graphs, each packaged as an RDF file. + Within each graph, where further information (axioms and annotations) is added to an existing term, + rdfs:isDefinedBy indicates the graph where the term was originally defined. +

    +

    SOSA

    +

    + The SOSA graph contains the basic definitions of the core terms with minimal axiomatization - only + rdf:type and owl:inverseOf - together with key annotations rdfs:label , + skos:definition , schema:domainIncludes , schema:rangeIncludes, plus + other annotations as required. +

    +

    + The SOSA graph is available at http://www.w3.org/ns/sosa/. +

    +

    SSN

    +

    + The SSN graph contains the full axiomatization of the core terms, importing SOSA and using + rdfs:subClassOf, rdfs:subPropertyOf, owl:Restriction with the various + associated RDFS and OWL structures. +

    +

    + The SSN graph is available at http://www.w3.org/ns/ssn/. +

    +

    SSN-System

    +

    + The SSN-System graph imports SOSA and SSN and contains additional definitions associated with the composition + and deployment of systems. +

    +

    + The SSN-System graph is available at http://www.w3.org/ns/ssn-system/. +

    +

    Sample-Relations

    +

    + The Sample-Relations graph imports SOSA and contains additional definitions associated with relationships + between samples. +

    +

    + The Sample-Relations graph is available at http://www.w3.org/ns/sosa/sampling/. +

    +

    SOSA-OMS

    +

    + The SOSA-OMS graph describes the alignment of SOSA to ISO 19156:2023 [[OMS]] using annotations to link SOSA + terms to specific requirements in [[OMS]]. SOSA-OMS imports SOSA and declares additional terms required for OMS. + This graph is the canonical RDF implementation of OMS. +

    +

    + The SOSA-OMS graph is available at http://www.w3.org/ns/sosa-oms/. +

    +

    SSN-OMS

    +

    + The SSN-OMS graph describes the alignment of SSN to ISO 19156:2023 [[OMS]] with RDFS/OWL axiomatization. This + graph imports SSN and SOSA-OMS. This graph is the canonical OWL implementation of OMS. +

    +

    + The SSN-OMS graph is available at http://www.w3.org/ns/ssn-oms/. +

    +
    -
    -

    Overview of Classes and Properties

    -
    - - -
    -

    Datatype Properties: - sosa:hasSimpleResult - , sosa:resultTime -

    +
    +

    Overview of Classes and Properties

    +
    + -

    Several conceptual modules have been defined to cover key sensor, actuation and sampling concepts. The different conceptual modules of SOSA/SSN can be seen in the following figure. -

    -
    - SOSA/SSN ontology modules - overview -
    Overview of the SOSA/SSN ontology modules
    -
    -

    An overview of the main classes and properties inside the ontology modules can be seen in the following figures, from the perspectives of Observation, Actuation and Sampling. - In the figures, and in the rest of the document, SOSA-related components and restrictions are shown in green, while SSN-only components are shown in blue. -

    -
    - SOSA ontology modules - Observation -
    Overview of the SOSA classes and properties (observation perspective) -
    TODO Add UltimateFoI + +
    +

    Datatype Properties: + sosa:hasSimpleResult + , sosa:resultTime +

    +
    +
    +

    Several conceptual modules have been defined to cover key sensor, actuation and sampling concepts. The + different conceptual modules of SOSA/SSN can be seen in the following figure. +

    +
    + SOSA/SSN ontology modules - overview +
    Overview of the SOSA/SSN ontology modules
    +
    +

    An overview of the main classes and properties inside the ontology modules can be seen in the following + figures, from the perspectives of Observation, Actuation and Sampling. + In the figures, and in the rest of the document, SOSA-related components and restrictions are shown in green, + while SSN-only components are shown in blue. +

    +
    + SOSA ontology modules - Observation +
    Overview of the SOSA classes and properties (observation perspective) +
    TODO Add UltimateFoI -
    -
    -
    - SSN ontology modules - Observation -
    Overview of the SSN classes and properties (observation perspective) -
    TODO Add UltimateFoI +
    +
    +
    + SSN ontology modules - Observation +
    Overview of the SSN classes and properties (observation perspective) +
    TODO Add UltimateFoI -
    -
    + + -
    - SOSA ontology modules - Actuation -
    Overview of the SOSA classes and properties (actuation perspective) -
    TODO Add UltimateFoI +
    + SOSA ontology modules - Actuation +
    Overview of the SOSA classes and properties (actuation perspective) +
    TODO Add UltimateFoI -
    -
    -
    - SSN ontology modules - Actuation -
    Overview of the SSN classes and properties (actuation perspective) -
    TODO Add UltimateFoI +
    +
    +
    + SSN ontology modules - Actuation +
    Overview of the SSN classes and properties (actuation perspective) +
    TODO Add UltimateFoI -
    -
    +
    +
    -
    - SOSA ontology modules - Sampling -
    Overview of the SOSA classes and properties (sampling perspective) -
    TODO Add UltimateFoI, hasOriginalSample, hasSampledFeature +
    + SOSA ontology modules - Sampling +
    Overview of the SOSA classes and properties (sampling perspective) +
    TODO Add UltimateFoI, hasOriginalSample, hasSampledFeature -
    -
    -
    - SSN ontology modules - Sampling -
    Overview of the SSN classes and properties (sampling perspective) -
    TODO Add UltimateFoI, hasOriginalSample, hasSampledFeature +
    +
    +
    + SSN ontology modules - Sampling +
    Overview of the SSN classes and properties (sampling perspective) +
    TODO Add UltimateFoI, hasOriginalSample, hasSampledFeature -
    -
    +
    +
    @@ -516,17 +603,21 @@

    Observations

    Overview and examples

    The following figure provides an overview of the core classes - and properties that are specifically related to modeling Observations. + and properties that are specifically related to modeling Observations. SOSA axioms are shown in green, while SSN-only axioms are shown in blue.

    -
    +
    +
    sosa:Sensor
    +

    IRI: http://www.w3.org/ns/sosa/Sensor

    +

    a OWL Class

    -
    -
    sosa:detects
    -

    IRI: http://www.w3.org/ns/sosa/detects

    -

    an OWL Object Property

    - - detects - - A relation from a Sensor to the Stimulus that the Sensor detects. The Stimulus itself will be serving as a proxy (isProxyFor) for some ObservableProperty. - - - - - - - -
    is Defined By - http://www.w3.org/ns/sosa/ -
    + Sensor - + Device, agent (including humans), or software (simulation) + involved in, or implementing, a Procedure. Sensors respond to a Stimulus, e.g., a change in the environment, or Input data composed from the Results of prior Observations, and generate a Result. Sensors can be hosted + by Platforms. + + + + + + + + + + + + + + + +
    ExampleAccelerometers, gyroscopes, barometers, magnetometers, and so forth + are Sensors that are typically mounted on a modern smart + phone (which acts as Platform). Other examples of Sensors include the human eyes.
    Sub class of + sosa:System +
    Restrictions + + + sosa:implements + MIN 1 +
    + + + sosa:observes + ONLY sosa:ObservableProperty +
    + + + sosa:detects + ONLY sosa:Stimulus +
    + + + sosa:madeObservation + ONLY sosa:Observation +
    -
    -
    -
    -

    Actuations

    -
    -

    Overview and examples

    -

    The following figure provides an overview of the core classes - and properties that are specifically related to modeling Actuations. - SOSA axioms are shown in green, while SSN-only axioms are shown in blue. -

    - - - -
    - Actuation (SOSA/SSN) -
    Classes and relationships involved in Actuation (SOSA/SSN) -
    TODO Add UltimateFoI +
    +
    sosa:observes
    +

    IRI: http://www.w3.org/ns/sosa/observes

    +

    an OWL Object Property

    -
    -
    -

    The following example illustrate how the terms related to Actuations can be used:

    - + observes - + Relation between a Sensor + and an ObservableProperty that it is capable of + sensing.
    + + + + + + + + + + + + + + + + + + + +
    Domain Includessosa:Sensor
    Range Includessosa:ObservableProperty
    Inverse property of + sosa:isObservedBy +
    Sub property of + sosa:forProperty +
    +
    -
    -

    Specification

    -

    This section introduces the following classes and properties:

    - -
    -
    sosa:ActuatableProperty
    -

    IRI: http://www.w3.org/ns/sosa/ActuatableProperty

    -

    a OWL Class

    - - Actuatable Property - - An actuatable quality (property, characteristic) of a FeatureOfInterest.
    - - - - - - - - - - - - - - - - - - - -
    ExampleA window actuator acts by changing the state between a frame and a window. The ability of the window to be opened and closed is its ActuatableProperty.
    Sub class of - sosa:Property -
    Restriction - - - sosa:isActedOnBy - ONLY sosa:Actuation -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    +
    +
    sosa:isObservedBy
    +

    IRI: http://www.w3.org/ns/sosa/isObservedBy

    +

    an OWL Object Property

    -
    -
    sosa:Actuation
    -

    IRI: http://www.w3.org/ns/sosa/Actuation

    -

    a OWL Class

    - - Actuation - - An Actuation carries out an (Actuation) Procedure to change the state of the world using an Actuator.
    - - - - - - - - - - - - - - - -
    ExampleThe activity of automatically closing a window if the temperature in a room drops below 20 degree Celsius. The activity is the Actuation and the device that closes the window is the Actuator. The Procedure is the rule, plan, or specification that defines the Conditions that triggers the Actuation, here a drop in temperature.
    Sub class of - sosa:ProcedureExecution -
    Restrictions - - - sosa:madeByActuator - EXACTLY 1 -
    - - - sosa:madeByActuator - ONLY sosa:Actuator -
    - - - sosa:usedProcedure - ONLY sosa:Procedure -
    - - - sosa:hasFeatureOfInterest - EXACTLY 1 -
    - - - sosa:hasFeatureOfInterest - ONLY sosa:FeatureOfInterest -
    - - - sosa:actsOnProperty - MIN 1 -
    - - - sosa:actsOnProperty - ONLY sosa:ActuatableProperty -
    - - - sosa:hasResult - MIN 1 -
    - - - sosa:hasResult - ONLY sosa:Result -
    - - - sosa:resultTime - EXACTLY 1 -
    - + is observed by - + Relation between an ObservableProperty and the Sensor able to observe it. +
    + + + + + + + + + + + + + + + +
    Domain Includessosa:ObservableProperty
    Range Includessosa:Sensor +
    Inverse property of + sosa:observes +
    +
    -
    -
    sosa:actsOnProperty
    -

    IRI: http://www.w3.org/ns/sosa/actsOnProperty

    -

    an OWL Object Property

    - - acts on property - - Relation between an Actuation and the property of a FeatureOfInterest it is acting upon.
    - - - - - - - - - - - - - - - - - - - -
    ExampleIn the activity (Actuation) of automatically closing a window if the temperature in a room drops below 20 degrees Celsius, the property on which the Actuator acts upon is the state of the window as it changes from being open to being closed.
    Domain Includessosa:Actuation
    Range Includessosa:ActuatableProperty
    Inverse property of - sosa:isActedOnBy
    -
    - [Back to module overview and examples] +
    +
    sosa:madeObservation
    +

    IRI: http://www.w3.org/ns/sosa/madeObservation

    +

    an OWL Object Property

    + + made observation - + Relation between a Sensor + and an Observation made by the Sensor.
    + + + + + + + + + + + + + + + +
    Domain Includessosa:Sensor
    Range Includessosa:Observation
    Inverse property of + sosa:madeBySensor +
    +
    +
    +
    sosa:madeBySensor
    +

    IRI: http://www.w3.org/ns/sosa/madeBySensor

    +

    an OWL Object Property

    -
    -
    sosa:isActedOnBy
    -

    IRI: http://www.w3.org/ns/sosa/isActedOnBy

    -

    an OWL Object Property

    - - is acted on by - - Relation between an ActuatableProperty of a FeatureOfInterest and an Actuation changing its state.
    - - - - - - - - - - - - - - - - - - - -
    ExampleIn the activity (Actuation) of automatically closing a window if the temperature in a room drops below 20 degrees Celsius, the property on which the Actuator acts upon is the state of the window as it changes from being open to being closed.
    Domain Includessosa:ActuatableProperty
    Range Includessosa:Actuation
    Inverse property of - sosa:actsOnProperty
    + made by Sensor - + Relation between an Observation and the Sensor + which made the Observations.
    + + + + + + + + + + + + + + + +
    Domain Includessosa:Observation, sosa:ObservationCollection
    Range Includessosa:Sensor +
    Inverse property of + sosa:madeObservation +
    +
    +
    sosa:Stimulus
    +

    IRI: http://www.w3.org/ns/sosa/Stimulus

    +

    a OWL Class

    -
    -
    sosa:Actuator
    -

    IRI: http://www.w3.org/ns/sosa/Actuator

    -

    a OWL Class

    - - Actuator - - A device that is used by, or implements, an (Actuation) Procedure that changes the state of the world.
    - - - - - - - - - - - - - - - -
    ExampleA window actuator for automatic window control, i.e., opening or closing the window.
    Sub class of - sosa:System -
    Restrictions - - - sosa:implements - MIN 1 -
    - - - sosa:forProperty - ONLY sosa:ActuatableProperty -
    - - - sosa:madeActuation - ONLY sosa:Actuation -
    - + Stimulus - + An event in the real world that 'triggers' the Sensor. The properties associated to the Stimulus may be different to the eventual observed ObservableProperty. It is the event, not the object, that + triggers the Sensor. + + + + + + + + + + + +
    Restrictions + + + sosa:isProxyFor + ONLY sosa:ObservableProperty +
    + + + inverse + Of sosa:wasOriginatedBy + ONLY sosa:Observation +
    + + + inverse Of sosa:detects + ONLY + sosa:Sensor +
    +
    is Defined By + http://www.w3.org/ns/sosa/ +
    +
    -
    -
    sosa:madeActuation
    -

    IRI: http://www.w3.org/ns/sosa/madeActuation

    -

    an OWL Object Property

    - - made actuation - - Relation between an Actuator and the Actuation made by the Actuator.
    - - - - - - - - - - - - - - - -
    Domain Includessosa:Actuator
    Range Includessosa:Actuation
    Inverse property of - sosa:madeByActuator
    +
    +
    sosa:isProxyFor
    +

    IRI: http://www.w3.org/ns/sosa/isProxyFor

    +

    an OWL Object Property

    + + isProxyFor - + A relation from a Stimulus to the Property + that the Stimulus is serving as a proxy for. + + + + + + + + + + + +
    Example + For example, the expansion of quicksilver is a Stimulus that serves as a proxy for some temperature Property. An increase or decrease in the velocity of + spinning cups on a wind Sensor is serving as a proxy for the + wind speed. +
    is Defined By + http://www.w3.org/ns/sosa/ +
    +
    +
    sosa:wasOriginatedBy
    +

    IRI: http://www.w3.org/ns/sosa/wasOriginatedBy

    +

    an OWL Object Property

    -
    -
    sosa:madeByActuator
    -

    IRI: http://www.w3.org/ns/sosa/madeByActuator

    -

    an OWL Object Property

    - - made by actuator - - Relation linking an Actuation to the Actuator that made that Actuation. -
    - - - - - - - - - - - - - - - -
    Domain Includessosa:Actuation
    Range Includessosa:Actuator
    Inverse property of - sosa:madeActuation -
    + was originated by - + Relation between an Observation and the Stimulus that originated it. + + + + + + + +
    is Defined By + http://www.w3.org/ns/sosa/ +
    +
    +
    sosa:detects
    +

    IRI: http://www.w3.org/ns/sosa/detects

    +

    an OWL Object Property

    + + detects - + A relation from a Sensor + to the Stimulus that the Sensor detects. The Stimulus + itself will be serving as a proxy (isProxyFor) for some ObservableProperty. + + + + + + + +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    -
    -

    Samplings

    -
    +
    +

    Actuations

    +

    Overview and examples

    The following figure provides an overview of the core classes - and properties that are specifically related to modeling Samplings. + and properties that are specifically related to modeling Actuations. SOSA axioms are shown in green, while SSN-only axioms are shown in blue.

    -
    + +
    - Sampling and samples (SOSA/SSN) -
    Classes and relationships involved in Sampling (SOSA/SSN)
    TODO - redraw adding isResultOfUsedProcedure and isResultOfMadeBySampler -
    TODO Add UltimateFoI, hasOriginalSample, hasSampledFeature + Actuation (SOSA/SSN) +
    Classes and relationships involved in Actuation (SOSA/SSN) +
    TODO Add UltimateFoI +
    -

    The following examples illustrate how the terms related to Samplings can be used:

    +

    The following example illustrate how the terms related to Actuations can be used:

    -
    +

    Specification

    -

    This section introduces the following classes and properties:

    -
    -
    sosa:Sample
    -

    IRI: http://www.w3.org/ns/sosa/Sample

    -

    a OWL Class

    - Sample - - Feature which is intended to be representative of a FeatureOfInterest on which Observations may be made.
    - - - - - - - - - - - - - - - - - - - - - - - -
    CommentSamples are typically subsets or extracts from the feature of interest of an observation. They are used in situations where observations cannot be made directly on the ultimate feature of interest, either because the entire feature cannot be observed, or because it is more convenient to use a proxy. Samples are thus artifacts of an observational strategy, and usually have no significant function outside of their role in the observation process. The characteristics of the samples themselves are generally of little interest, except to the manager of a sampling campaign, or sample curator. -
    - A Sample is intended to sample some FeatureOfInterest, so there is an expectation of at least one isSampleOf property. However, in some cases the identity, and even the exact type, of the sampled feature may not be known when observations are made using the sampling features.
    -
    - Physical samples are sometimes known as 'specimens'. -
    ExampleA 'station' is essentially an identifiable locality where a Sensor system or procedure may be deployed and an observation made. In the context of the observation model, it connotes the 'world in the vicinity of the station', so the observed properties relate to the physical medium at the station, and not to any physical artifact such as a mooring, buoy, benchmark, monument, well, etc. -
    - A statistical sample is often designed to be characteristic of an entire population, so that Observations can be made regarding the sample that provide a good estimate of the properties of the population. -
    Sub class of - sosa:FeatureOfInterest, sosa:Result -
    Restrictions - - - sosa:isResultOf - ONLY sosa:Sampling -
    - - - sosa:isResultOf - MIN 1 sosa:Sampling -
    - - - sosa:isSampleOf - ONLY sosa:FeatureOfInterest -
    - - - sosa:isSampleOf - MIN 1 -
    - - - sosa:hasOriginalSample - ONLY sosa:Sample -
    - - - sosa:hasSampledFeature - ONLY sosa:FeatureOfInterest -
    - - - sosa:isResultOfMadeBySampler - ONLY sosa:Sampler -
    - - - sosa:isResultOfUsedProcedure - ONLY sosa:Procedure -
    -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - -
    -
    sosa:hasSample
    -

    IRI: http://www.w3.org/ns/sosa/hasSample

    -

    an OWL Object Property

    - - has sample - - Relation between a FeatureOfInterest and the Sample used to represent it. -
    - - - - - - - - - - - - - - - - - - -
    Domain Includessosa:FeatureOfInterest
    Range Includessosa:Sample
    Inverse property of - sosa:isSampleOf
    is Inverse-Functional
    - -
    +
    +
    sosa:ActuatableProperty
    +

    IRI: http://www.w3.org/ns/sosa/ActuatableProperty

    +

    a OWL Class

    -
    -
    sosa:isSampleOf
    -

    IRI: http://www.w3.org/ns/sosa/isSampleOf

    -

    an OWL Object Property

    - - is sample of - - Relation from a Sample to the FeatureOfInterest that it is intended to be representative of.
    - - - - - - - - - - - - - - - - - - -
    Domain Includessosa:Sample, sosa:SampleCollection
    Range Includessosa:FeatureOfInterest
    Inverse property of - sosa:hasSample
    is Functional
    + Actuatable Property - + An actuatable quality (property, characteristic) of a FeatureOfInterest.
    + + + + + + + + + + + + + + + + + + + +
    ExampleA window actuator acts by changing the state between a frame and a + window. The ability of the window to be opened and closed is its ActuatableProperty.
    Sub class of + sosa:Property +
    Restriction + + + sosa:isActedOnBy + ONLY sosa:Actuation +
    is Defined By + http://www.w3.org/ns/sosa/ +
    -
    -
    sosa:hasOriginalSample
    -

    IRI: http://www.w3.org/ns/sosa/hasOriginalSample

    -

    an OWL Object Property

    -

    Term added in 2024 update.

    +
    +
    sosa:Actuation
    +

    IRI: http://www.w3.org/ns/sosa/Actuation

    +

    a OWL Class

    - has original sample - - Relation from a Sample or SampleCollection to the original Sample collected from the ultimate feature of interest.
    + Actuation - + An Actuation carries + out an (Actuation) Procedure to change the state of the world + using an Actuator.
    - - - - - - + + - -
    Domain Includessosa:Sample, sosa:SampleCollection
    Range Includessosa:SampleExampleThe activity of automatically closing a window if the temperature in a + room drops below 20 degree Celsius. The activity is the Actuation and the device that closes the window is the Actuator. The Procedure is the rule, plan, or specification that defines + the Conditions that triggers the Actuation, here a drop in temperature.
    - -
    - -
    -
    sosa:hasSampledFeature
    -

    IRI: http://www.w3.org/ns/sosa/hasSampledFeature

    -

    an OWL Object Property

    - -

    Term added in 2024 update.

    - - has ultimate sampled feature - - Relation from a Sample or SampleCollection to the ultimate FeatureOfInterest that it is intended to be representative of - i.e. the end of a chain of isSampleOf relations.
    - - - - - - - - - - - -
    Domain Includessosa:Sample, sosa:SampleCollection
    Range Includessosa:FeatureOfInterest
    - -
    - -
    -
    sosa:isResultOfMadeBySampler
    -

    IRI: http://www.w3.org/ns/sosa/isResultOfMadeBySampler

    -

    an OWL Object Property

    - -

    Term added in 2024 update.

    - - is a result of made by sampler - - Relation from a Sample or SampleCollection to the Sampler (sampling device or entity) that made it.
    - - - - - - - - - - - - - - - -
    Domain Includessosa:Sample, sosa:SampleCollection
    Range Includessosa:Sampler
    Sub property of Chain - - sosa:isResultOf o - - sosa:madeBySampler - -
    - -
    - -
    -
    sosa:isResultOfUsedProcedure
    -

    IRI: http://www.w3.org/ns/sosa/isResultOfUsedProcedure

    -

    an OWL Object Property

    - -

    Term added in 2024 update.

    - - is a result of used procedure - - Relation from a Sample or SampleCollection to the Procedure (plan) used to make it.
    - - - - - - - - - - - - - - - -
    Domain Includessosa:Sample, sosa:SampleCollection
    Range Includessosa:Procedure
    Sub property of Chain - - sosa:isResultOf o - - sosa:usedProcedure - -
    - -
    - - -
    -
    sosa:Sampling
    -

    IRI: http://www.w3.org/ns/sosa/Sampling

    -

    a OWL Class

    - - Sampling - - An act of Sampling carries out a (Sampling) Procedure to create or transform one or more Samples. - - - - - - - - - - - - - - - -
    Example - Crushing a rock sample in a ball mill.
    - Digging a pit through a soil sequence.
    - Dividing a field site into quadrants.
    - Drawing blood from a patient.
    - Drilling an observation well.
    - Establishing a station for environmental monitoring.
    - Registering an image of the landscape.
    - Sieving a powder to separate the subset finer than 100-mesh.
    - Selecting a subset of a population.
    - Splitting a piece of drill-core to create two new samples.
    - Taking a diamond-drill core from a rock outcrop.
    -
    Sub class of - sosa:ProcedureExecution -
    Restrictions - - - sosa:madeBySampler - EXACTLY 1 -
    - - - sosa:madeBySampler - ONLY sosa:Sampler -
    - - - sosa:usedProcedure - ONLY sosa:Procedure -
    - - - sosa:hasFeatureOfInterest - EXACTLY 1 -
    - - - sosa:hasFeatureOfInterest - ONLY sosa:FeatureOfInterest -
    - - - sosa:hasResult - MIN 1 sosa:Sample -
    - - - sosa:hasResult - ONLY sosa:Sample -
    - - - sosa:resultTime - EXACTLY 1 -
    - -
    - - -
    -
    sosa:Sampler
    -

    IRI: http://www.w3.org/ns/sosa/Sampler

    -

    a OWL Class

    - Sampler - - A device that is used by, or implements, a (Sampling) Procedure to create or transform one or more samples.
    - - - - - - - - - - - - - - - -
    ExampleA ball mill, diamond drill, hammer, hypodermic syringe and needle, image Sensor or a soil auger can all act as sampling devices (i.e., be Samplers). However, sometimes the distinction between the Sampler and the Sensor is not evident, as they are packaged as a unit. A Sampler need not be a physical device.
    Sub class of - sosa:System -
    Restrictions - - - sosa:implements - MIN 1 -
    - - - sosa:madeSampling - ONLY sosa:Sampling -
    - -
    - -
    -
    sosa:madeSampling
    -

    IRI: http://www.w3.org/ns/sosa/madeSampling

    -

    an OWL Object Property

    - - made sampling - - Relation between a Sampler (sampling device or entity) and the Sampling act it performed. - - - - - - - - - - - - - - - -
    Domain Includessosa:Sampler
    Range Includessosa:Sampling
    Inverse property of - sosa:madeBySampler
    - -
    - - -
    -
    sosa:madeBySampler
    -

    IRI: http://www.w3.org/ns/sosa/madeBySampler

    -

    an OWL Object Property

    - - made by sampler - - Relation linking an act of Sampling to the Sampler (sampling device or entity) that made it.
    - - - - - - - - - - - - - - - -
    Domain Includessosa:Sampling, sosa:SampleCollection
    Range Includessosa:Sampler
    Inverse property of - sosa:madeSampling
    + + Sub class of + + sosa:ProcedureExecution + + + + Restrictions + + + + sosa:madeByActuator + EXACTLY 1 +
    + + + sosa:madeByActuator + ONLY sosa:Actuator +
    + + + sosa:usedProcedure + ONLY sosa:Procedure +
    + + + sosa:hasFeatureOfInterest + EXACTLY 1 +
    + + + sosa:hasFeatureOfInterest + ONLY sosa:FeatureOfInterest +
    + + + sosa:actsOnProperty + MIN 1 +
    + + + sosa:actsOnProperty + ONLY sosa:ActuatableProperty +
    + + + sosa:hasResult + MIN 1 +
    + + + sosa:hasResult + ONLY sosa:Result +
    + + + sosa:resultTime + EXACTLY 1 + + + +
    - -
    -
    - -
    -

    Features of Interest and Properties

    -
    -

    Overview and examples

    -
    -

    The following figure provides an overview of the core classes - and properties that are specifically related to modeling Features of Interest and Properties. - SOSA axioms are shown in green, while SSN-only axioms are shown in blue. -

    -
    - Features of Interest and Properties -
    Classes and relationships related to features of interest and properties
    -
    -
    -
    -

    The following examples illustrate how the terms related to Features of Interest and Properties can be used:

    - -
    -
    -
    -

    Specification

    -

    This section introduces the following classes and properties:

    - - -
    -
    sosa:FeatureOfInterest
    -

    IRI: http://www.w3.org/ns/sosa/FeatureOfInterest

    -

    a OWL Class

    - - Feature Of Interest - - The thing whose property is being estimated or calculated in the course of an Observation to arrive at a Result, or whose property is being manipulated by an Actuator, or which is being sampled or transformed in an act of Sampling. - - - - - - - - - - - - - - - -
    ExampleWhen measuring the height of a tree, the height is the observed ObservableProperty, 20m may be the Result of the Observation, and the tree is the FeatureOfInterest. A window is a FeatureOfInterest for an automatic window control Actuator.
    Restrictions - - sosa:hasProperty - ONLY sosa:Property -
    - - sosa:hasProperty - MIN 1 -
    - - sosa:hasSample - ONLY sosa:Sample -
    -
    is Defined By http://www.w3.org/ns/sosa/ -
    - -
    - -
    -
    sosa:hasFeatureOfInterest
    -

    IRI: http://www.w3.org/ns/sosa/hasFeatureOfInterest

    -

    an OWL Object Property

    - - has feature of interest - - A relation between an Observation and the entity whose quality was observed, or between an Actuation and the entity whose property was modified, or between an act of Sampling and the entity that was sampled. - - - - - - - - - - - - - - - - - - - -
    ExampleFor example, in an Observation of the weight of a person, the FeatureOfInterest is the person and the property is its weight.
    Domain Includessosa:Observation, sosa:ObservationCollection, sosa:Actuation, sosa:Sampling
    Range Includessosa:FeatureOfInterest, sosa:Sample
    Inverse property of - sosa:isFeatureOfInterestOf
    - -
    - -
    -
    sosa:hasUltimateFeatureOfInterest
    -

    IRI: http://www.w3.org/ns/sosa/hasUltimateFeatureOfInterest

    +
    +
    sosa:actsOnProperty
    +

    IRI: http://www.w3.org/ns/sosa/actsOnProperty

    an OWL Object Property

    -

    Term added in 2024 update.

    - - has ultimate feature of interest - - Link to the ultimate feature of interest of an observation or act of sampling. This is useful when the proximate feature of interest is a sample of the ultimate feature of interest, directly or transitively. - A relation between an Observation and the ultimate entity whose quality was observed, or between an Actuation and the ultimate entity whose property was modified, or between an act of Sampling and the ultimate entity that was sampled. + acts on property - + Relation between an Actuation and the property of a FeatureOfInterest it is acting upon.
    - - + + - + - + + + + +
    NoteThis is useful when the proximate feature of interest is a sample of the ultimate feature of interest, directly or transitively.ExampleIn the activity (Actuation) + of automatically closing a window if the temperature in a room drops below 20 degrees Celsius, the + property on which the Actuator acts upon is the state of + the window as it changes from being open to being closed.
    Domain Includessosa:Observation, sosa:Actuation, sosa:Samplingsosa:Actuation
    Range Includessosa:FeatureOfInterest, sosa:Samplesosa:ActuatableProperty
    Inverse property of + sosa:isActedOnBy +
    - -
    - -
    -
    sosa:isFeatureOfInterestOf
    -

    IRI: http://www.w3.org/ns/sosa/isFeatureOfInterestOf

    -

    an OWL Object Property

    - - is feature of interest of - - A relation between a FeatureOfInterest and an Observation about it or an Actuation acting on it, or an act of Sampling that sampled it.
    - - - - - - - - - - - - - - - -
    Domain Includessosa:FeatureOfInterest, sosa:Sample
    Range Includessosa:Observation, sosa:Actuation, sosa:Sampling
    Inverse property of - sosa:hasFeatureOfInterest -
    - +
    -
    -
    sosa:Property
    -

    IRI: http://www.w3.org/ns/sosa/Property

    -

    a OWL Class

    - Property - - An identifiable quality of a FeatureOfInterest that can be observed or acted upon. A property can apply to different features of interest. + +
    +
    sosa:isActedOnBy
    +

    IRI: http://www.w3.org/ns/sosa/isActedOnBy

    +

    an OWL Object Property

    + + is acted on by - + Relation between an ActuatableProperty of a FeatureOfInterest and an Actuation changing its state.
    - + - - + + - + + + + +
    ExampleCars (a feature type) all have a characteristic colour, where "colour" is a property.In the activity (Actuation) of automatically closing a + window if the temperature in a room drops below 20 degrees Celsius, the property on which the Actuator acts upon is the state of the window as it changes + from being open to being closed.
    NoteConcepts from existing code lists, vocabularies, and taxonomies, may be used as instances of Property.Domain Includessosa:ActuatableProperty
    is Defined ByRange Includessosa:Actuation
    Inverse property of - http://www.w3.org/ns/sosa/ + sosa:actsOnProperty
    -
    -
    sosa:PropertyOfInterest
    -

    IRI: http://www.w3.org/ns/sosa/PropertyOfInterest

    -

    a OWL Class

    - Property Of Interest - - An identifiable quality of a FeatureOfInterest that can be observed or acted upon. A property of interest is specific to a FeatureOfInterest. It is inherent to and cannot exist without that feature of interest. + +
    +
    sosa:Actuator
    +

    IRI: http://www.w3.org/ns/sosa/Actuator

    +

    a OWL Class

    + + Actuator - + A device that is used by, or implements, an (Actuation) Procedure that changes the state of the world.
    - - - - - + - - + + - - + +
    ExampleAbby's car has the colour red, where "colour red" is a property of interest of the car.
    NoteProperties of interest need not always be explicitly identified. It depends on the use case.A window actuator for automatic window control, i.e., opening or + closing the window.
    Restrictions:
    Sub class of - - - sosa:isPropertyOf - ONLY sosa:FeatureOfInterest -
    - - - sosa:isPropertyOf - EXACTLY 1 + sosa:System
    is Defined By
    Restrictions - http://www.w3.org/ns/sosa/ + + + sosa:implements + MIN 1 +
    + + + sosa:forProperty + ONLY sosa:ActuatableProperty +
    + + + sosa:madeActuation + ONLY sosa:Actuation
    - -
    - -
    -
    sosa:hasProperty
    -

    IRI: http://www.w3.org/ns/sosa/hasProperty

    -

    an OWL Object Property

    - - has property - - Relation between an entity and a Property of that entity. - - - - - - - - - - - -
    Inverse property of - sosa:isPropertyOf -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - -
    -
    sosa:isPropertyOf
    -

    IRI: http://www.w3.org/ns/sosa/isPropertyOf

    -

    an OWL Object Property

    - is property of - - Relation between a Property and the entity it belongs to. - - - - - - - - - - - -
    Inverse property of - sosa:hasProperty -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - -
    -
    sosa:forProperty
    -

    IRI: http://www.w3.org/ns/sosa/forProperty

    -

    an OWL Object Property

    - - for property - - A relation between some aspect of an entity and a Property.
    - - - - - - - - - - - -
    Example - For example, from a Sensor to the properties it can observe; from an Actuator to the properties it can act on; from a Deployment to the properties it was installed to observe or act on; from a SystemCapability to the Property the capability is described for.
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - -
    -
    - -
    -

    Results

    -
    -

    Overview and examples

    -
    -

    The following figure provides an overview of the core classes - and properties that are specifically related to modeling Results. - SOSA axioms are shown in green, while SSN-only axioms are shown in blue. -

    -
    - Results -
    Classes and relationships related to results
    -
    -
    -
    -

    The following examples illustrate how the terms related to Results can be used:

    - -
    -
    -
    -

    Specification

    -

    This section introduces the following classes and properties:

    - -
    -
    sosa:Result
    -

    IRI: http://www.w3.org/ns/sosa/Result

    -

    a OWL Class

    - - Result - - The Result of an Observation, Actuation, or act of Sampling. To store an observation's simple result value one can use the hasSimpleResult property.
    - - - - - - - - - - - -
    ExampleThe value 20 as the height of a certain tree together with the unit, e.g., Meter.
    Restriction - - - sosa:isResultOf - MIN 1 -
    - -
    - - -
    -
    sosa:hasResult
    -

    IRI: http://www.w3.org/ns/sosa/hasResult

    -

    an OWL Object Property

    - - has result - - Relation linking an Observation and a Sensor or Actuator and a Result, which contains a value representing the value associated with the observed Property.
    - - - - - - - - - - - - - - - -
    Domain Includessosa:Actuation, sosa:Observation, sosa:ObservationCollection, sosa:Sampling
    Range Includessosa:Result, sosa:Sample
    Inverse property of - sosa:isResultOf
    - -
    - - -
    -
    sosa:isResultOf
    -

    IRI: http://www.w3.org/ns/sosa/isResultOf

    -

    an OWL Object Property

    - - is result of - - Relation linking a Result to the Observation or Actuation that created or caused it.
    - - - - - - - - - - - - - - - -
    Domain Includessosa:Result, sosa:Sample
    Range Includessosa:Actuation, sosa:Observation, sosa:Sampling
    Inverse property of - sosa:hasResult
    - -
    - - -
    -
    sosa:hasSimpleResult
    -

    IRI: http://www.w3.org/ns/sosa/hasSimpleResult

    -

    a OWL Datatype Property

    - - has simple result - - The simple value of an Observation or Actuation.
    - - - - - - - - - - - -
    ExampleFor instance, the values 23 or true.
    Domain Includessosa:Observation, sosa:ObservationCollection, sosa:Actuation
    - -
    - - - - -
    -
    sosa:resultTime
    -

    IRI: http://www.w3.org/ns/sosa/resultTime

    -

    a OWL Datatype Property

    - - result time - - The result time is the instant of time when the Observation, Actuation or Sampling activity was completed.
    - - - - - - - - - - - -
    Domain Includessosa:Actuation, sosa:Observation, sosa:ObservationCollection, sosa:Sampling
    Rangexsd:dateTime
    - -
    - -
    -
    - - -
    -

    Procedures

    -
    -

    Overview and examples

    -
    -

    The following figure provides an overview of the core classes - and properties that are specifically related to modeling Procedures. - SOSA axioms are shown in green, while SSN-only axioms are shown in blue. -

    -
    - TODO: change the figure to illustrate ProcedureExecution - Procedures -
    Classes and relationships related to procedures
    -
    -
    -
    -

    The following examples illustrate how the terms related to Procedures can be used:

    - -
    -
    -
    -

    Specification

    -

    This section introduces the following classes and properties:

    - -
    -
    sosa:Procedure
    -

    IRI: http://www.w3.org/ns/sosa/Procedure

    -

    a OWL Class

    - - Procedure - - A workflow, protocol, plan, algorithm, or computational method specifying how to make an Observation, create a Sample, or make a change to the state of the world (via an Actuator). A Procedure is re-usable, and might be involved in many Observations, Samplings, or Actuations. It explains the steps to be carried out to arrive at reproducible Results.
    - - - - - - - - - - - - - - - -
    ExampleThe measured wind speed differs depending on the height of the Sensor above the surface, e.g., due to friction. Consequently, procedures for measuring wind speed define a standard height for anemometers above ground, typically 10m for meteorological measures and 2m in Agrometeorology. This definition of height, Sensor placement, and so forth are defined by the Procedure.
    NoteMany Observations may be created via the same Procedure, the same way as many tables are assembled using the same instructions (as information objects, not their concrete realization).
    Restrictions - - - sosa:hasInput - ONLY sosa:Input -
    - - - sosa:hasOutput - ONLY sosa:Output -
    - - - sosa:implementedBy - ONLY sosa:System -
    - -
    - - -
    -
    sosa:usedProcedure
    -

    IRI: http://www.w3.org/ns/sosa/usedProcedure

    -

    an OWL Object Property

    - - used procedure - - A relation to link to a re-usable Procedure used in making an Observation, an Actuation, or a Sample, typically through a Sensor, Actuator or Sampler.
    - - - - - - - - - - - - - - - -
    Domain Includessosa:Actuation, sosa:Observation, sosa:ObservationCollection, sosa:Sampling, sosa:SampleCollection
    Range Includessosa:Procedure
    Sub property of Chain - - sosa:madeBySensor o - - sosa:implements - -
    - - sosa:madeByActuator o - - sosa:implements - -
    - - sosa:madeBySampler o - - sosa:implements - -
    - -
    - -
    -
    sosa:implements
    -

    IRI: http://www.w3.org/ns/sosa/implements

    -

    an OWL Object Property

    - - implements - - Relation between an entity that implements a Procedure in some executable way and the Procedure (an algorithm, procedure or method). - - - - - - - - - - - -
    Inverse property of - sosa:implementedBy -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - -
    -
    sosa:implementedBy
    -

    IRI: http://www.w3.org/ns/sosa/implementedBy

    -

    an OWL Object Property

    - - implemented by - - Relation between a Procedure (an algorithm, procedure or method) and an entity that implements that Procedure in some executable way. - - - - - - - - - - - -
    Inverse property of - sosa:implements -
    is Defined By - http://www.w3.org/ns/sosa/ -
    -
    -
    -
    sosa:hasInput
    -

    IRI: http://www.w3.org/ns/sosa/hasInput

    -

    an OWL Object Property

    +
    +
    sosa:madeActuation
    +

    IRI: http://www.w3.org/ns/sosa/madeActuation

    +

    an OWL Object Property

    - has Input - - Relation between a Procedure and an Input to it. - - - - - - - -
    is Defined By - http://www.w3.org/ns/sosa/ -
    + made actuation - + Relation between an Actuator and the Actuation + made by the Actuator.
    + + + + + + + + + + + + + + + +
    Domain Includessosa:Actuator
    Range Includessosa:Actuation
    Inverse property of + sosa:madeByActuator +
    -
    - - -
    -
    sosa:Input
    -

    IRI: http://www.w3.org/ns/sosa/Input

    -

    a OWL Class

    - - Input - - Any information that is provided to a Procedure for its use. - - - - - - - - - - - -
    Restrictions - - - - inverse Of sosa:hasInput - ONLY sosa:Procedure -
    - - - - inverse Of sosa:hasInput - MIN 1 -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - + [Back to module overview and examples] + [Back to top] +
    -
    -
    sosa:hasOutput
    -

    IRI: http://www.w3.org/ns/sosa/hasOutput

    -

    an OWL Object Property

    - - has Output - - Relation between a Procedure and an Output of it. - - - - - - - -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - -
    -
    sosa:Output
    -

    IRI: http://www.w3.org/ns/sosa/Output

    -

    a OWL Class

    - - Output - - Any information that is reported from a Procedure. - - - - - - - - - - - -
    Restrictions - - - - inverse Of sosa:hasOutput - ONLY sosa:Procedure -
    - - - - inverse Of sosa:hasOutput - MIN 1 -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - -
    -
    sosa:ProcedureExecution
    -

    IRI: http://www.w3.org/ns/sosa/ProcedureExecution

    -

    a OWL Class

    +
    +
    sosa:madeByActuator
    +

    IRI: http://www.w3.org/ns/sosa/madeByActuator

    +

    an OWL Object Property

    - Procedure Execution - - Act of carrying out a Procedure. This class generalizes the Observation, Actuation, and Sampling classes.
    + made by actuator - + Relation linking an Actuation to the Actuator + that made that Actuation. +
    - + + + + + + + + +
    is Defined ByDomain Includessosa:Actuation
    Range Includessosa:Actuator
    Inverse property of - http://www.w3.org/ns/sosa/ + sosa:madeActuation
    - -
    + +
    + -
    +
    -
    -

    Systems and their Deployment

    -
    -

    Overview and examples

    -
    -

    The following figure provides an overview of the core classes - and properties that are specifically related to modeling systems and their deployment. - SOSA axioms are shown in green, while SSN-only axioms are shown in blue. -

    -
    - Systems and deployment -
    Classes and relationships related to systems and deployments
    -
    -
    -
    -

    The following examples illustrate how the terms related to Systems and their Deployment can be used:

    - -
    -
    -
    -

    Specification

    -

    This section introduces the following classes and properties:

    -
    -

    - sosa:Platform, - sosa:hosts, - sosa:isHostedBy, - sosa:System, - sosa:hasSubSystem, - sosa:Deployment, - sosa:deployedSystem, - sosa:hasDeployment, - sosa:deployedOnPlatform, - sosa:inDeployment -

    - +
    +

    Samplings

    +
    +

    Overview and examples

    +

    The following figure provides an overview of the core classes + and properties that are specifically related to modeling Samplings. + SOSA axioms are shown in green, while SSN-only axioms are shown in blue. +

    + -
    -
    sosa:Platform
    -

    IRI: http://www.w3.org/ns/sosa/Platform

    -

    a OWL Class

    - - Platform - - A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms.
    - - - - - - - - - - - -
    ExampleA post, buoy, vehicle, ship, aircraft, satellite, cell-phone, human or animal may act as Platforms for (technical or biological) Sensors or Actuators.
    Restrictions - - - sosa:hosts - ONLY sosa:System -
    - - - sosa:inDeployment - ONLY sosa:Deployment -
    - -
    - -
    -
    sosa:hosts
    -

    IRI: http://www.w3.org/ns/sosa/hosts

    -

    an OWL Object Property

    - - hosts - - Relation between a Platform and a Sensor, Actuator, Sampler, or Platform, hosted or mounted on it.
    - - - - - - - - - - - - - - - - - - - -
    Domain Includessosa:Platform
    Range Includessosa:Actuator, sosa:Sensor, sosa:Sampler, sosa:Platform
    Inverse property of - sosa:isHostedBy
    Sub property of Chain - - sosa:inDeployment o - - sosa:deployedSystem - -
    - -
    - -
    -
    sosa:isHostedBy
    -

    IRI: http://www.w3.org/ns/sosa/isHostedBy

    -

    an OWL Object Property

    - - is hosted by - - Relation between a Sensor, or Actuator, Sampler, or Platform, and the Platform that it is mounted on or hosted by.
    - - - - - - - - - - - - - - - -
    Domain Includessosa:Actuator, sosa:Sensor, sosa:Sampler, sosa:Platform
    Range Includessosa:Platform
    Inverse property of - sosa:hosts -
    - -
    - - -
    -
    sosa:System
    -

    IRI: http://www.w3.org/ns/sosa/System

    -

    a OWL Class

    - - System - - System is a unit of abstraction for pieces of infrastructure that implement Procedures. A System may have components, its subsystems, which are other Systems. - - - - - - - - - - - -
    Restrictions - - - sosa:isHostedBy - ONLY sosa:Platform -
    - - - sosa:implements - ONLY sosa:Procedure -
    - - - sosa:hasSubSystem - ONLY sosa:System -
    - - - inverse Of sosa:hasSubSystem - ONLY sosa:System -
    - - - sosa:hasDeployment - ONLY sosa:Deployment -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - -
    -
    sosa:hasSubSystem
    -

    IRI: http://www.w3.org/ns/sosa/hasSubSystem

    -

    an OWL Object Property

    - - has subsystem - - Relation between a System and its component parts. - - - - - - - -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - - -
    -
    sosa:Deployment
    -

    IRI: http://www.w3.org/ns/sosa/Deployment

    -

    a OWL Class

    - - Deployment - - Describes the Deployment of one or more Systems for a particular purpose. Deployment may be done on a Platform. - - - - - - - - - - - - - - - -
    ExampleFor example, a temperature Sensor deployed on a wall, or a whole network of Sensors deployed for an Observation campaign.
    Restrictions - - - sosa:deployedSystem - ONLY sosa:System -
    - - - sosa:deployedOnPlatform - ONLY sosa:Platform -
    - - - sosa:forProperty - ONLY sosa:Property -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - - -
    -
    sosa:deployedSystem
    -

    IRI: http://www.w3.org/ns/sosa/deployedSystem

    -

    an OWL Object Property

    - - deployed system - - Relation between a Deployment and a deployed System. - - - - - - - - - - - -
    Inverse property of - sosa:hasDeployment -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - - -
    -
    sosa:hasDeployment
    -

    IRI: http://www.w3.org/ns/sosa/hasDeployment

    -

    an OWL Object Property

    - - has deployment - - Relation between a System and a Deployment, recording that the System is deployed in that Deployment. - - - - - - - - - - - -
    Inverse property of - sosa:deployedSystem -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - - -
    -
    sosa:deployedOnPlatform
    -

    IRI: http://www.w3.org/ns/sosa/deployedOnPlatform

    -

    an OWL Object Property

    - - deployed on platform - - Relation between a Deployment and the Platform on which the Systems are deployed.
    - - - - - - - - - - - -
    Inverse property of - sosa:inDeployment -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - +
    + + +
    + Sampling and samples (SOSA/SSN) +
    Classes and relationships involved in Sampling (SOSA/SSN)
    TODO - redraw adding + isResultOfUsedProcedure and isResultOfMadeBySampler +
    TODO Add UltimateFoI, hasOriginalSample, hasSampledFeature +
    +
    +

    The following examples illustrate how the terms related to Samplings can be used:

    +
    +
    +

    Specification

    -
    -

    Collections of Observations or Samples

    -

    Collections added in the 2024 Update

    -
    -

    Overview and examples

    -

    Observations may be packaged in collections, for management and analysis. - A summary of the range of values for properties of the member observations may be recorded as properties of the collection - for example, the set of features of interest for a suite of observations.

    -

    - Collections of observations that are useful for analysis will typically be homogeneous with respect to one or more observation properties - for example, of the same observed-property on the same feature of interest at a series of different times. - Shared properties might be conveniently recorded as properties of the collection as a whole, and these properties can then be omitted on the descriptions of the individual member observations. -

    -

    Similarly, samples are often grouped in collections, for example a set of samples of the same feature or entity.

    -

    The results of collections of observations are often packaged in a 'data cube' whose axes define the range of properties of the set of observations.

    -

    Two classes representing collections of Observations or of Samples are provided: -

      -
    • sosa:ObservationCollection is a collection of observations whose property values summarize the values of the properties of its members
    • -
    • sosa:SampleCollection is a collection of samples whose property values summarize the values of the properties of its members
    • -
    -

    -
    -

    The following figure provides an overview of the core classes - and properties that are specifically related to describing collections of observations or of samples. -

    -
    - Collections of Observations or Samples -
    Classes and relationships related to collections of observations or samples
    TODO re-draw diagram to match document style
    -
    -
    -
    -

    The following examples illustrate how the terms related to SCollections can be used:

    - -
    -
    -
    -

    Specification

    This section introduces the following classes and properties:

    -
    -
    sosa:ObservationCollection
    -

    IRI: http://www.w3.org/ns/sosa/ObservationCollection

    -

    a OWL Class

    - Observation Collection - - A ObservationCollection is a collection of one or more Observations or ObservationCollections, i.e. collections may be nested. -

    - The following Observation properties may appear in an ObservationCollection: - hasFeatureOfInterest , - hasUltimateFeatureOfInterest , - usedProcedure , - madeBySensor , - madeOnPlatform , - observedProperty , - phenomenonTime , - resultTime , - validTime , - hasResult , - hasSimpleResult , - observationType , - resultQuality . - If they are present, the values of these properties summarize the values of the matching properties of the member observations, where membership is either direct or transitive through one or more member observation collections. -

    - The following consistency rules with respect to the Observation properties listed above: -
      -
    1. Where an individual ObservationCollection omits a property, a member Observation (direct or transitive) MAY have any value for that property.
    2. -
    3. Where an individual ObservationCollection has a single value for a property, each member Observation (direct or transitive) MUST have that same value for that property - i.e. the collection is homogeneous in that property. That property MAY be omitted in any member Observation or ObservationCollection.
    4. -
    5. Where an individual ObservationCollection has more than one value for a property, each member Observation (direct or transitive) MUST have a value for that property that matches one of the values for the property in the collection.
    6. -
    7. Where an individual ObservationCollection has a value for a property that is a range or interval, each member Observation (direct or transitive) MUST have a value for that property that matches or falls within that range or interval.
    8. -
    -

    - The members of a collection do not necessarily share a common value for any property.
    +
    +
    sosa:Sample
    +

    IRI: http://www.w3.org/ns/sosa/Sample

    +

    a OWL Class

    + Sample - + Feature which is intended to be representative of a FeatureOfInterest on which Observations may be made.
    + + + + - + - + - - + +
    CommentSamples are typically subsets or extracts from the feature of interest + of an observation. They are used in situations where observations cannot be made directly on the + ultimate feature of interest, either because the entire feature cannot be observed, or because it is + more convenient to use a proxy. Samples are thus artifacts of an observational strategy, and usually + have no significant function outside of their role in the observation process. The characteristics + of the samples themselves are generally of little interest, except to the manager of a sampling + campaign, or sample curator. +
    + A Sample is intended to sample some FeatureOfInterest, so there is an expectation of at least one + isSampleOf property. However, in some cases the identity, and even the exact type, of the sampled + feature may not be known when observations are made using the sampling features.
    +
    + Physical samples are sometimes known as 'specimens'. +
    Example... TODO ...A 'station' is essentially an identifiable locality where a Sensor system or procedure may be deployed and an observation + made. In the context of the observation model, it connotes the 'world in the vicinity of the + station', so the observed properties relate to the physical medium at the station, and not to any + physical artifact such as a mooring, buoy, benchmark, monument, well, etc. +
    + A statistical sample is often designed to be characteristic of an entire + population, so that Observations can be made regarding + the sample that provide a good estimate of the properties of the population. +
    Sub class of - rdf:Bag + sosa:FeatureOfInterest, sosa:Result
    Disjoint withRestrictions - sosa:SampleCollection + + + sosa:isResultOf + ONLY sosa:Sampling +
    + + + sosa:isResultOf + MIN 1 sosa:Sampling +
    + + + sosa:isSampleOf + ONLY sosa:FeatureOfInterest +
    + + + sosa:isSampleOf + MIN 1 +
    + + + sosa:hasOriginalSample + ONLY + sosa:Sample +
    + + + sosa:hasSampledFeature + ONLY sosa:FeatureOfInterest +
    + + + sosa:isResultOfMadeBySampler + ONLY sosa:Sampler +
    + + + sosa:isResultOfUsedProcedure + ONLY sosa:Procedure +
    Restrictions
    is Defined By - - - sosa:hasMember - ONLY (sosa:Observation OR sosa:ObservationCollection ) + http://www.w3.org/ns/sosa/
    -
    -
    sosa:SampleCollection
    -

    IRI: http://www.w3.org/ns/sosa/SampleCollection

    -

    a OWL Class

    - Sample Collection - - A SampleCollection is a collection of one or more Samples or SampleCollections, i.e. collections may be nested. -

    - The following Sample properties may appear in a SampleCollection: - hasOriginalSample , - hasSampledFeature , - isSampleOf , - isResultOfUsedProcedure , - isResultOfMadeBySampler. - If it is present, the values of a property summarizes the values of the matching properties of the member samples, where membership is either direct or transitive through onw or more member sample collections. -

    - The following consistency rules apply with respect to the Sample properties listed above: -
      -
    1. Where an individual SampleCollection omits a property, a member Sample (direct or transitive) MAY have any value for that property.
    2. -
    3. Where an individual SampleCollection has a single value for a property, each member Sample (direct or transitive) MUST have that same value for that property - i.e. the collection is homogeneous in that property. That property MAY be omitted in any member Sample or SampleCollection.
    4. -
    5. Where an individual SampleCollection has more than one value for a property, each member Sample (direct or transitive) MUST have a value for that property that matches one of the values for the property in the collection.
    6. -
    7. Where an individual SampleCollection has a value for a property that is a range or interval, each member Sample (direct or transitive) MUST have a value for that property that matches or falls within that range or interval.
    8. -
    -

    - The members of a collection do not necessarily share a common value for any property.
    +
    +
    sosa:hasSample
    +

    IRI: http://www.w3.org/ns/sosa/hasSample

    +

    an OWL Object Property

    + has sample - + Relation between a FeatureOfInterest and the Sample used to represent it. +
    - - + + - - - + + - - + + - - +
    Example... TODO ...Domain Includessosa:FeatureOfInterest
    Sub class of - rdf:Bag +
    Range Includessosa:Sample
    Disjoint with
    Inverse property of - sosa:ObservationCollection + sosa:isSampleOf
    Restrictions - - - sosa:hasMember - ONLY (sosa:Sample OR sosa:SampleCollection ) - is Inverse-Functional +
    -
    -
    sosa:hasMember
    -

    IRI: http://www.w3.org/ns/sosa/hasMember

    -

    an OWL Object Property

    - has member of collection - - Link to a member within a collection of (samples or observations) or (collection of samples or collection of observations) which may share a value for one or more of the characteristic properties. - rules for the consistency of values of properties of collections and properties of their members are given for each collection type. - Note that there is a single `member` property. OWL or SHACL constraints may limit the range depending on the context of different collection types. +
    +
    sosa:isSampleOf
    +

    IRI: http://www.w3.org/ns/sosa/isSampleOf

    +

    an OWL Object Property

    + + is sample of - + Relation from a Sample to + the FeatureOfInterest that it is intended to be + representative of.
    - - - - - - - - - + - + - + + + +
    Example... TODO ...
    Inverse property of - sosa:isMemberOf -
    Domain Includessosa:ObservationCollection , sosa:SampleCollectionsosa:Sample, sosa:SampleCollection +
    Range Includessosa:Observation , sosa:ObservationCollection , sosa:Sample , sosa:SampleCollectionsosa:FeatureOfInterest
    is Defined ByInverse property of - http://www.w3.org/ns/sosa/ + sosa:hasSample
    is Functional
    -
    -
    -
    - -
    -

    Horizontal Segmentation

    - This section provides details on the currently available - horizontal segmentation modules. -
    -

    System Capabilities Module

    -

    The namespace for system capabilities, operating ranges, and survival ranges terms is - http://www.w3.org/ns/ssn/systems/ -

    -

    The suggested prefix for the system capabilities, operating ranges, and survival ranges terms is ssn-system -

    -

    An ontology graph for this is - available.

    - -
    -

    Overview and examples

    -
    -

    The following figure provides an overview on the core classes - and properties that are specifically related to modeling System capabilities, - operating ranges, and survival ranges, under given conditions.

    -
    - Conditions -
    Classes and relationships related to system capabilities, - operating ranges, and survival ranges, under given conditions
    -
    - -
    - System properties -
    Classes and relationships related to system capabilities, operating ranges and survival ranges
    -
    -
    -
    -

    The following examples illustrate how the terms related to System capabilities, operating ranges, and survival ranges can be used:

    - -
    -
    -
    -

    Specification

    -

    This section introduces the following classes and properties:

    - - -
    -
    sosa:System
    -

    IRI: http://www.w3.org/ns/sosa/System

    -

    a OWL Class

    - - System - - System is a unit of abstraction for pieces of infrastructure that implement Procedures. A System may have components, its subsystems, which are other Systems. - - - - - - - - - - - -
    Additional Restrictions - - - ssn-system:hasSystemCapability - ONLY ssn-system:SystemCapability -
    - - - ssn-system:hasOperatingRange - ONLY ssn-system:OperatingRange -
    - - - ssn-system:hasSurvivalRange - ONLY ssn-system:SurvivalRange -
    is Defined By - http://www.w3.org/ns/sosa/ -
    - -
    - -
    -
    ssn-system:inCondition
    -

    IRI: http://www.w3.org/ns/ssn/systems/inCondition

    -

    an OWL Object Property

    - - in condition - - Describes the prevailing environmental Conditions for SystemCapabilites, OperatingRanges and SurvivalRanges. - - - - - - - - - - - -
    Example - Used for example to say that a Sensor has a particular accuracy in particular Conditions.
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:Condition
    -

    IRI: http://www.w3.org/ns/ssn/systems/Condition

    -

    a OWL Class

    - - Condition - - Used to specify ranges for qualities that act as Conditions on a Systems' operation. - - - - - - - - - - - - - - - -
    ExampleFor example, wind speed of 10-60m/s may be used as the Condition on a SystemProperty, for example, to state that a Sensor has a particular Accuracy under that Condition.
    Sub class of - sosa:Property -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:hasSystemCapability
    -

    IRI: http://www.w3.org/ns/ssn/systems/hasSystemCapability

    -

    an OWL Object Property

    - - has system capability - - Relation from a System to a SystemCapability describing the capabilities of the System under certain Conditions. - - - - - - - - - - - -
    Sub property of - sosa:hasProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:SystemCapability
    -

    IRI: http://www.w3.org/ns/ssn/systems/SystemCapability

    -

    a OWL Class

    - - System Capability - - Describes normal measurement, actuation, sampling properties such as accuracy, range, precision, etc. of a System under some specified Conditions such as a temperature range. -
    - The capabilities specified here are those that affect the primary purpose of the System, while those in OperatingRange represent the system's normal operating environment, including Conditions that don't affect the Observations or the Actuations.
    - - - - - - - - - - - - - - - -
    Sub class of - sosa:Property -
    Restrictions - - - sosa:forProperty - ONLY sosa:Property -
    - - - ssn-system:hasSystemProperty - ONLY ssn-system:SystemProperty -
    - - - ssn-system:inCondition - ONLY ssn-system:Condition -
    - - - ssn-system:inCondition - MIN 1 -
    - - - - inverse Of ssn-system:hasSystemCapability - ONLY sosa:System
    -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:hasSystemProperty
    -

    IRI: http://www.w3.org/ns/ssn/systems/hasSystemProperty

    -

    an OWL Object Property

    - - has system property - - Relation from an SystemCapability of a System to a SystemProperty describing the capabilities of the System. - - - - - - - - - - - -
    Sub property of - sosa:hasProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:SystemProperty
    -

    IRI: http://www.w3.org/ns/ssn/systems/SystemProperty

    -

    a OWL Class

    - - System Property - - An identifiable and observable characteristic that represents the System's ability to operate its primary purpose: a Sensor to make Observations, an Actuator to make Actuations, or a Sampler to make Sampling. - - - - - - - - - - - - - - - -
    Sub class of - sosa:Property -
    Restrictions - - - - inverse Of ssn-system:hasSystemProperty - ONLY ssn-system:SystemCapability
    - - - - inverse Of ssn-system:hasSystemProperty - MIN 1 -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:MeasurementRange
    -

    IRI: http://www.w3.org/ns/ssn/systems/MeasurementRange

    -

    a OWL Class

    - - Measurement Range - - The set of values that the Sensor can return as the Result of an Observation under the defined Conditions with the defined system properties. - - - - - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    Restrictions - - - inverse Of ssn-system:hasSystemProperty - ONLY - - inverse Of ssn-system:hasSystemCapability - ONLY sosa:Sensor - -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:ActuationRange
    -

    IRI: http://www.w3.org/ns/ssn/systems/ActuationRange

    -

    a OWL Class

    - - Actuation Range - - The range of Property values that can be the Result of an Actuation under the defined Conditions. - - - - - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    Restriction - - - inverse Of ssn-system:hasSystemProperty - ONLY - - inverse Of ssn-system:hasSystemCapability - ONLY sosa:Actuator - -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:Accuracy
    -

    IRI: http://www.w3.org/ns/ssn/systems/Accuracy

    -

    a OWL Class

    - - Accuracy - - The closeness of agreement between the Result of an Observation (resp. the command of an Actuation) and the true value of the observed ObservableProperty (resp. of the acted on ActuatableProperty) under the defined Conditions. - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:DetectionLimit
    -

    IRI: http://www.w3.org/ns/ssn/systems/DetectionLimit

    -

    a OWL Class

    - - Detection Limit - - An observed value for which the probability of falsely claiming the absence of a component in a material is beta, given a probability alpha of falsely claiming its presence. - - - - - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    Restriction - - - inverse Of ssn-system:hasSystemProperty - ONLY - - inverse Of ssn-system:hasSystemCapability - ONLY sosa:Sensor - -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:Drift
    -

    IRI: http://www.w3.org/ns/ssn/systems/Drift

    -

    a OWL Class

    - - Drift - - As a Sensor Property: a continuous or incremental change in the reported values of Observations over time for an unchanging Property under the defined Conditions. -
    - As an Actuator Property: a continuous or incremental change in the true value of the acted on ActuatableProperty over time for an unchanging command under the defined Conditions.
    - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:Frequency
    -

    IRI: http://www.w3.org/ns/ssn/systems/Frequency

    -

    a OWL Class

    - - Frequency - - The smallest possible time between one Observation, Actuation, or Sampling and the next, under the defined Conditions. - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:Latency
    -

    IRI: http://www.w3.org/ns/ssn/systems/Latency

    -

    a OWL Class

    - - Latency - - The time between a command for an Observation (resp. Actuation) and the Sensor providing a Result (resp. the Actuator operating the Actuation), under the defined Conditions. - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:Precision
    -

    IRI: http://www.w3.org/ns/ssn/systems/Precision

    -

    a OWL Class

    - - Precision - - As a sensor capability: The closeness of agreement between replicate Observations on an unchanged or similar quality value: i.e., a measure of a Sensor's ability to consistently reproduce an Observation, under the defined Conditions.
    - As an actuator capability: The closeness of agreement between replicate Actuations for an unchanged or similar command: i.e., a measure of an Actuator's ability to consistently reproduce an Actuations, under the defined Conditions.
    - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:Resolution
    -

    IRI: http://www.w3.org/ns/ssn/systems/Resolution

    -

    a OWL Class

    - - Resolution - - As a Sensor Property: the smallest difference in the value of a ObservableProperty being observed that would result in perceptably different values of Observation Results, under the defined Conditions. -
    - As an Actuator Property: the smallest difference in the value of an Actuation command that would result in a value change of the ActuatableProperty being acted on, under the defined Conditions.
    - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:ResponseTime
    -

    IRI: http://www.w3.org/ns/ssn/systems/ResponseTime

    -

    a OWL Class

    - - Response time - - As a Sensor Property: the time between a (step) change in the value of an observed ObservableProperty and a Sensor (possibly with specified error) 'settling' on an observed value, under the defined Conditions. -
    - As an Actuator Property: the time between a (step) change in the command of an Actuator and the 'settling' of the value of the acted on ActuatableProperty, under the defined Conditions.
    - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:Selectivity
    -

    IRI: http://www.w3.org/ns/ssn/systems/Selectivity

    -

    a OWL Class

    - - Selectivity - - As a Sensor Property: Selectivity is a Property of a Sensor whereby it provides observed values for one or more ObservableProperties such that the Result for each ObservableProperty are independent of other Properties in the FeatureOfInterest being investigated, under the defined Conditions. -
    - As an Actuator Property: Selectivity is a Property of an Actuator whereby it acts on one or more ActuatableProperties such as the Results for each ActuatableProperty are independent of other Properties in the FeatureOfInterest being acted on, under the defined Conditions.
    - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:Sensitivity
    -

    IRI: http://www.w3.org/ns/ssn/systems/Sensitivity

    -

    a OWL Class

    - - Sensitivity - - As a Sensor Property: Sensitivity is the quotient of the change in a Result of Observations and the corresponding change in a value of an ObservableProperty being observed, under the defined Conditions. -
    - As an Actuator Property: Sensitivity is the quotient of the change in a command of Actuation and the corresponding change in a value of an ActuatableProperty being acted on, under the defined Conditions.
    - - - - - - - - - - - -
    Sub class of - ssn-system:SystemProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:hasOperatingRange
    -

    IRI: http://www.w3.org/ns/ssn/systems/hasOperatingRange

    -

    an OWL Object Property

    - - has operating range - - Relation from a System to an OperatingRange describing the normal operating environment of the System. - - - - - - - - - - - -
    Sub property of - sosa:hasProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - - -
    -
    ssn-system:OperatingRange
    -

    IRI: http://www.w3.org/ns/ssn/systems/OperatingRange

    -

    a OWL Class

    - - Operating Range - - Describes normal OperatingProperties of a System under some specified Conditions. For example, to the power requirement or maintenance schedule of a System under a specified temperature range. -
    - In the absence of OperatingProperties, it simply describes the Conditions in which a System is expected to operate. -
    - The System continues to operate as defined using SystemCapability. If, however, the OperatingProperty is violated, the System is operating 'out of operating range' and SystemCapability specifications may no longer hold.
    - - - - - - - - - - - - - - - -
    Sub class of - sosa:Property -
    Restrictions - - - ssn-system:hasOperatingProperty - ONLY ssn-system:OperatingProperty -
    - - - ssn-system:inCondition - ONLY ssn-system:Condition -
    - - - ssn-system:inCondition - MIN 1 -
    - - - - inverse Of ssn-system:hasOperatingRange - ONLY sosa:System -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - - - -
    -
    ssn-system:hasOperatingProperty
    -

    IRI: http://www.w3.org/ns/ssn/systems/hasOperatingProperty

    -

    an OWL Object Property

    - - has operating property - - Relation from an OperatingRange of a System to an OperatingProperty describing the operating range of the System. - - - - - - - - - - - -
    Sub property of - sosa:hasProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - - - -
    -
    ssn-system:OperatingProperty
    -

    IRI: http://www.w3.org/ns/ssn/systems/OperatingProperty

    -

    a OWL Class

    - - Operating Property - - An identifiable characteristic that represents how the System operates under the specified Conditions. May describe power ranges, power sources, standard configurations, attachments and the like. - - - - - - - - - - - - - - - -
    Sub class of - sosa:Property -
    Restrictions - - - - inverse Of ssn-system:hasOperatingProperty - ONLY ssn-system:OperatingRange
    - - - - inverse Of ssn-system:hasOperatingProperty - MIN 1 -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - - -
    -
    ssn-system:MaintenanceSchedule
    -

    IRI: http://www.w3.org/ns/ssn/systems/MaintenanceSchedule

    -

    a OWL Class

    - - Maintenance Schedule - - Schedule of maintenance for a System in the specified Conditions. - - - - - - - - - - - -
    Sub class of - ssn-system:OperatingProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - - - -
    -
    ssn-system:OperatingPowerRange
    -

    IRI: http://www.w3.org/ns/ssn/systems/OperatingPowerRange

    -

    a OWL Class

    - - Operating Power Range - - Power range in which System is expected to operate in the specified Conditions. - - - - - - - - - - - -
    Sub class of - ssn-system:OperatingProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:hasSurvivalRange
    -

    IRI: http://www.w3.org/ns/ssn/systems/hasSurvivalRange

    -

    an OWL Object Property

    - - has survival range - - Relation from a System to a SurvivalRange. - - - - - - - - - - - -
    Sub property of - sosa:hasProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - - - -
    -
    ssn-system:SurvivalRange
    -

    IRI: http://www.w3.org/ns/ssn/systems/SurvivalRange

    -

    a OWL Class

    - - Survival Range - - Describes SurvivalProperties of a System under some specified Conditions. For example, the lifetime of a System under a specified temperature range. -
    - In the absence of SurvivalProperties, simply describes the Conditions a System can be exposed to without damage. For example, the temperature range a System can withstand before being considered damaged. -
    - The System continues to operate as defined using SystemCapability. If, however, the SurvivalRange is violated, the System is 'damaged' and SystemCapability specifications may no longer hold.

    - - - - - - - - - - - - - - - -
    Sub class of - sosa:Property -
    Restrictions - - - ssn-system:hasSurvivalProperty - ONLY ssn-system:SurvivalProperty -
    - - - ssn-system:inCondition - ONLY ssn-system:Condition -
    - - - ssn-system:inCondition - MIN 1 -
    - - - - inverse Of ssn-system:hasSurvivalRange - ONLY sosa:System
    -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - - - -
    -
    ssn-system:hasSurvivalProperty
    -

    IRI: http://www.w3.org/ns/ssn/systems/hasSurvivalProperty

    -

    an OWL Object Property

    - - has survival property - - Relation from a SurvivalRange of a System to a SurvivalProperty describing the survival range of the System. - - - - - - - - - - - -
    Sub property of - sosa:hasProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - - - -
    -
    ssn-system:SurvivalProperty
    -

    IRI: http://www.w3.org/ns/ssn/systems/SurvivalProperty

    -

    a OWL Class

    - - Survival Property - - An identifiable characteristic that represents the extent of the System's useful life under the specified Conditions. May describe for example total battery life or number of recharges, or, for Sensors that are used only a fixed number of times, the number of Observations that can be made before the sensing capability is depleted. - - - - - - - - - - - - - - - -
    Sub class of - sosa:Property -
    Restrictions - - - - inverse Of ssn-system:hasSurvivalProperty - ONLY ssn-system:SurvivalRange
    - - - - inverse Of ssn-system:hasSurvivalProperty - MIN 1 -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - - -
    -
    ssn-system:SystemLifetime
    -

    IRI: http://www.w3.org/ns/ssn/systems/SystemLifetime

    -

    a OWL Class

    - - System Lifetime - - Total useful life of a System (expressed as total life since manufacture, time in use, number of operations, etc.) in the specified Conditions. - - - - - - - - - - - -
    Sub class of - ssn-system:SurvivalProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:BatteryLifetime
    -

    IRI: http://www.w3.org/ns/ssn/systems/BatteryLifetime

    -

    a OWL Class

    - - Battery Lifetime - - Total useful life of a System's battery in the specified Conditions. - - - - - - - - - - - -
    Sub class of - ssn-system:SurvivalProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    ssn-system:qualityOfObservation
    -

    IRI: http://www.w3.org/ns/ssn/systems/qualityOfObservation

    -

    an OWL Object Property

    - - quality of observation - - Relation linking an Observation to the adjudged quality of the Result. This is complementary to the SystemCapability information recorded for the Sensor that made the Observation. - - - - - - - - - - - -
    Sub property of - sosa:hasProperty -
    is Defined By - http://www.w3.org/ns/ssn/systems/ -
    - -
    - -
    -
    - - -
    -

    Sample Relations Module

    -

    Samples are often related to other samples, by sub-sampling, - topological relationships (stations along a traverse, pixels within an - image, probe spots on a polished section, specimens retrieved within a - borehole) or as parts of sample processing chains (crushing, - splitting, dissecting, disolving). There are an essentially unlimited - set of relationships between samples, so the nature of the - relationship has its own class. This section describes a flexible - model to describe such relationships between samples. The model is - based on the QualifiedRelation - pattern.

    -

    The namespace for Sample relationships - terms is http://www.w3.org/ns/sosa/sampling/ -

    -

    The suggested prefix for the sample relationships namespace is sampling

    -

    An ontology - graph for this is available.

    -

    The following figure provides an overview on the classes - and properties that are specifically related to modeling Sample relationships.

    -
    - Sample relationships -
    Model of sample relationships
    -
    -
    -

    Sample Relationships Specification

    -

    This section introduces the following classes and properties:

    - +
    +
    sosa:hasOriginalSample
    +

    IRI: http://www.w3.org/ns/sosa/hasOriginalSample

    +

    an OWL Object Property

    -
    -
    sampling:RelationshipNature
    -

    IRI: http://www.w3.org/ns/sosa/sampling/RelationshipNature

    -

    a OWL Class

    +

    Term added in 2024 update.

    - Nature of relationship (between samples) - - Members of this class indicate the nature of a relationship between two Samples. - - - - - - + has original sample - + Relation from a Sample or + SampleCollection to the original Sample collected from the ultimate feature of interest.
    +
    Sub class of - skos:Concept -
    + - - + - - + - -
    ExamplesAdjacent flight-line -
    - Females -
    - Juveniles -
    - Males -
    - Pixel within image or scene -
    - Probe spot on polished specimen -
    - Specimen taken from borehole -
    - Split of core sample -
    - Station along a traverse -
    - Sub-sample with grain size smaller than specified seive mesh +
    Domain Includessosa:Sample, sosa:SampleCollection
    is Defined By - http://www.w3.org/ns/sosa/sampling/ + Range Includessosa:Sample
    - -
    + + + +
    + +
    +
    sosa:hasSampledFeature
    +

    IRI: http://www.w3.org/ns/sosa/hasSampledFeature

    +

    an OWL Object Property

    -
    -
    sampling:SampleRelationship
    -

    IRI: http://www.w3.org/ns/sosa/sampling/SampleRelationship

    -

    a OWL Class

    +

    Term added in 2024 update.

    - Sample relationship - - Members of this class represent a relationship between a Sample and another. - - + has ultimate sampled feature - + Relation from a Sample or + SampleCollection to the ultimate FeatureOfInterest that it is intended to be representative + of - i.e. the end of a chain of isSampleOf relations.
    +
    + - - + - -
    is Defined By - http://www.w3.org/ns/sosa/sampling/ + Domain Includessosa:Sample, sosa:SampleCollection
    - -
    + + Range Includes + sosa:FeatureOfInterest + + + + +
    +
    +
    sosa:isResultOfMadeBySampler
    +

    IRI: http://www.w3.org/ns/sosa/isResultOfMadeBySampler

    +

    an OWL Object Property

    -
    -
    sampling:hasSampleRelationship
    -

    IRI: http://www.w3.org/ns/sosa/sampling/hasSampleRelationship

    -

    an OWL Object Property

    +

    Term added in 2024 update.

    - has sample relationship - - Links a sample to a Sample Relationship (which links to a related Sample). -
    - - + is a result of made by sampler - + Relation from a Sample or + SampleCollection to the Sampler (sampling device or entity) that made it.
    +
    + - + - + - - + + - -
    Domain Includessosa:Samplesosa:Sample, sosa:SampleCollection +
    Range Includessampling:SampleRelationshipsosa:Sampler
    is Defined By
    Sub property of Chain - http://www.w3.org/ns/sosa/sampling/ + + sosa:isResultOf o + + sosa:madeBySampler +
    - -
    + + + +
    -
    -
    sampling:natureOfRelationship
    -

    IRI: http://www.w3.org/ns/sosa/sampling/natureOfRelationship

    -

    an OWL Object Property

    +
    +
    sosa:isResultOfUsedProcedure
    +

    IRI: http://www.w3.org/ns/sosa/isResultOfUsedProcedure

    +

    an OWL Object Property

    - nature of (sample) relationship - - Links a Sample Relationship to an indication of the nature of the relationship. -
    - - +

    Term added in 2024 update.

    + + is a result of used procedure - + Relation from a Sample or + SampleCollection to the Procedure (plan) used to make it.
    +
    + - + - + - - - - - -
    Domain Includessampling:SampleRelationshipsosa:Sample, sosa:SampleCollection +
    Range Includessampling:SampleRelationshipsosa:Procedure
    is Defined By - http://www.w3.org/ns/sosa/sampling/ -
    - -
    - -
    -
    sampling:relatedSample
    -

    IRI: http://www.w3.org/ns/sosa/sampling/relatedSample

    -

    an OWL Object Property

    - - related sample - - Links a Sample Relationship to the related Sample. -
    - - - - - - - - - - - - + + - -
    Domain Includessampling:SampleRelationship
    Range Includessosa:Sample
    is Defined By
    Sub property of Chain - http://www.w3.org/ns/sosa/sampling/ + + sosa:isResultOf o + + sosa:usedProcedure +
    - -
    + + + +
    -
    -
    -
    +
    +
    sosa:Sampling
    +

    IRI: http://www.w3.org/ns/sosa/Sampling

    +

    a OWL Class

    -
    -

    Vertical Segmentation

    -

    This section introduces the specifications for the vertical segmentation modules that align SOSA and SSN to a variety of related ontologies and specifications.

    -
    -

    OMS Alignment Module

    -

    This section introduces the alignment of SOSA and SSN to Observations, measurements and samples [[OMS]]. OMS is the latest edition of the OGC and ISO standard previously known as Observations and Measurements [[OandM]], which was a key influence and input in the development of SSN. - This module serves to provide a detailed mapping of SOSA terms to discrete requirements in [[OMS]] thus explaining how SOSA and SSN provide an RDF and OWL/RDFS implementation of OMS (repectively).

    -

    - Note that [[OMS]] is formalized using UML, which does not provide accessible global identifiers for terms in the - structure model. - However, each UML element (class or property) satisfies a formal requirement, which are each individually - denoted - by a URI in the [[OMS]] specification. - For example, the conceptual Observation class in OMS corresponds to the requirement -

    http://www.opengis.net/spec/om/3.0/req/obs-cpt/Observation/Observation-sem
    . - So here we use the requirement URI to denote the corresponding UML class or property.

    -

    Within the RDF representation of the alignment, we use the predicate ogc-ms:implements to link a - SOSA term to the corresponding OMS class or property, defined as follows:

    -

    ogc-ms:implements a owl:ObjectProperty ;
    -      rdfs:subPropertyOf dcterms:source , prov:wasDerivedFrom , doap:implements . 
    -

    -
    -

    Namespaces

    -

    The following namespace prefixes are used in the alignment of SOSA - and SSN to OMS

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Prefix Namespace
    sosa: http://www.w3.org/ns/sosa/ -
    sosa-oms: http://www.w3.org/ns/sosa/oms/ -
    ogc-ms: http://www.opengis.net/def/ont/modspec/ -
    obs-cpt: http://www.opengis.net/spec/om/3.0/req/obs-cpt/ -
    obs-core: http://www.opengis.net/spec/om/3.0/req/obs-core/ -
    sam-cpt: http://www.opengis.net/spec/om/3.0/req/sam-cpt/ -
    sam-basic: http://www.opengis.net/spec/om/3.0/req/sam-basic/ -
    -
    -
    -

    New terms

    -

    - A number of terms in OMS do not have matches in the SSN Ontology. -

    -

    This section introduces the following classes and properties:

    - -
    -
    sosa-oms:SpatialSample
    -

    IRI: http://www.w3.org/ns/sosa/oms/SpatialSample

    -

    a OWL Class

    - - Spatial Sample - - A SpatialSample is a geospatial Sample. When observations are made to estimate properties of a geospatial feature, in particular where the value of a property varies within the scope of the feature, a SpatialSample is used. - - - - - - + Sampling - + An act of Sampling + carries out a (Sampling) Procedure to create or transform one or + more Samples. +
    Sub class of - sosa:Sample -
    + - + - - + + - - + + -
    ExamplesExample - borehole - , interval - , flightline - , lidar cloud - , map horizon - , microscope slide - , mine level - , mine - , observation well - , profile - , quadrat - , scene - , section - , spot - , station - , swath - , trajectory - , traverse + Crushing a rock sample in a ball mill.
    + Digging a pit through a soil sequence.
    + Dividing a field site into quadrants.
    + Drawing blood from a patient.
    + Drilling an observation well.
    + Establishing a station for environmental monitoring.
    + Registering an image of the landscape.
    + Sieving a powder to separate the subset finer than 100-mesh.
    + Selecting a subset of a population.
    + Splitting a piece of drill-core to create two new samples.
    + Taking a diamond-drill core from a rock outcrop.
    Note
    Sub class of - Depending on accessibility and on the nature of the expected property variation, the SpatialSample may be extensive in one, two or three spatial dimensions. + sosa:ProcedureExecution
    is Defined By
    Restrictions - http://www.w3.org/ns/sosa/oms/ + + + sosa:madeBySampler + EXACTLY 1 +
    + + + sosa:madeBySampler + ONLY sosa:Sampler +
    + + + sosa:usedProcedure + ONLY sosa:Procedure +
    + + + sosa:hasFeatureOfInterest + EXACTLY 1 +
    + + + sosa:hasFeatureOfInterest + ONLY sosa:FeatureOfInterest +
    + + + sosa:hasResult + MIN 1 sosa:Sample +
    + + + sosa:hasResult + ONLY sosa:Sample +
    + + + sosa:resultTime + EXACTLY 1
    - - -
    + + +
    -
    -
    sosa-oms:MaterialSample
    -

    IRI: http://www.w3.org/ns/sosa/oms/MaterialSample

    -

    a OWL Class

    - Material Sample - - A MaterialSample is a physical, tangible Sample. - - - - - - +
    +
    sosa:Sampler
    +

    IRI: http://www.w3.org/ns/sosa/Sampler

    +

    a OWL Class

    + Sampler - + A device that is used by, or implements, a (Sampling) Procedure to create or transform one or more samples.
    +
    Sub class of - sosa:Sample -
    + - - + + - - + + - - + + -
    Examples - A piece of rock - , a blood sample - , a water sample - ExampleA ball mill, diamond drill, hammer, hypodermic syringe and needle, + image Sensor or a soil auger can all act as sampling devices + (i.e., be Samplers). However, sometimes the distinction + between the Sampler and the Sensor is not evident, as they are packaged as a unit. A Sampler need not be a physical device.
    Note
    Sub class of - MaterialSamples that are curated and preserved are sometimes known as 'specimens'. -
    - MaterialSamples may be destroyed in connexion with the observation act or a subsequent preparation step. + sosa:System
    is Defined By
    Restrictions - http://www.w3.org/ns/sosa/oms/ + + + sosa:implements + MIN 1 +
    + + + sosa:madeSampling + ONLY sosa:Sampling
    - - -
    + + +
    -
    -
    sosa-oms:StatisticalSample
    -

    IRI: http://www.w3.org/ns/sosa/oms/StatisticalSample

    -

    a OWL Class

    +
    +
    sosa:madeSampling
    +

    IRI: http://www.w3.org/ns/sosa/madeSampling

    +

    an OWL Object Property

    - Statistical Sample - - A StatisticalSample is a statistical subset of a feature-of-interest, defined for the purpose of creating Observation(s). - - - - - - + made sampling - + Relation between a Sampler (sampling device or entity) and the Sampling act it performed. +
    Sub class of - sosa:Sample -
    + - - + + - - + + - + -
    Examples - The male or female subset of a population. - Domain Includessosa:Sampler
    Note - StatisticalSamples usually apply to populations or other sets, of which certain subset may be of specific interest. - Range Includessosa:Sampling
    is Defined ByInverse property of - http://www.w3.org/ns/sosa/oms/ + sosa:madeBySampler
    + + +
    - -
    -
    -
    sosa-oms:ObservingProcedure
    -

    IRI: http://www.w3.org/ns/sosa/oms/ObservingProcedure

    -

    a OWL Class

    +
    +
    sosa:madeBySampler
    +

    IRI: http://www.w3.org/ns/sosa/madeBySampler

    +

    an OWL Object Property

    - Observing Procedure - - The description of steps performed in order to determine the value of an ObservableProperty by an Observer. - - - - - - - - - - + made by sampler - + Relation linking an act of Sampling to the Sampler + (sampling device or entity) that made it.
    +
    Sub class of - sosa:Procedure -
    Examples - A workflow, protocol, plan, algorithm, or computational method specifying how to make an observation; the description of the process utilized by an observer. This could be a chemical analysis method, a protocol for measuring an object, but could also be a checklist utilized by a human observer during a biodiversity campaign. -
    + - - + - - - - -
    Note - The observing procedure cannot describe a sensor instance, but it can describe the sensor type. + Domain Includessosa:Sampling, sosa:SampleCollection
    is Defined By - http://www.w3.org/ns/sosa/oms/ -
    - - -
    - -
    -
    sosa-oms:ActuationProcedure
    -

    IRI: http://www.w3.org/ns/sosa/oms/ActuationProcedure

    -

    a OWL Class

    - - Actuation Procedure - - The description of steps performed by an Actuator to change the ActuableProperty. - - - - - - - - - + + - + -
    Note - ActuationProcedure is not mentioned in OMS, which does not address Actuation. It is added here since it is trivially symmetric with the other procedure classes. -
    Sub class of - sosa:Procedure - Range Includessosa:Sampler
    is Defined ByInverse property of - http://www.w3.org/ns/sosa/oms/ + sosa:madeSampling
    + + +
    - -
    -
    -
    sosa-oms:SamplingProcedure
    -

    IRI: http://www.w3.org/ns/sosa/oms/SamplingProcedure

    -

    a OWL Class

    - Sampling Procedure - - The description of steps performed by a Sampler in order to extract a Sample from its sampled Feature in the frame of a Sampling. - - - - - - - - - - - -
    Sub class of - sosa:Procedure -
    is Defined By - http://www.w3.org/ns/sosa/oms/ -
    +
    +
    - -
    +
    +

    Features of Interest and Properties

    +
    +

    Overview and examples

    +
    +

    The following figure provides an overview of the core classes + and properties that are specifically related to modeling Features of Interest and Properties. + SOSA axioms are shown in green, while SSN-only axioms are shown in blue. +

    +
    + Features of Interest and Properties +
    Classes and relationships related to features of interest and properties
    +
    +
    +
    +

    The following examples illustrate how the terms related to Features of Interest and Properties can be used: +

    + +
    +
    +
    +

    Specification

    +

    This section introduces the following classes and properties:

    + -
    -
    sosa-oms:PreparationProcedure
    -

    IRI: http://www.w3.org/ns/sosa/oms/PreparationProcedure

    -

    a OWL Class

    +
    +
    sosa:FeatureOfInterest
    +

    IRI: http://www.w3.org/ns/sosa/FeatureOfInterest

    +

    a OWL Class

    - Preparation Procedure - - The description of preparation steps performed on a Sample. - - - - + Feature Of Interest - + The thing whose property is being estimated or calculated in the + course of an Observation to arrive at a Result, or whose property is being manipulated by an Actuator, or which is being sampled or transformed in an act of Sampling. +
    Sub class of
    + + + + + + + - -
    ExampleWhen measuring the height of a tree, + the height is the observed ObservableProperty, 20m may + be the Result of the Observation, and the tree is the FeatureOfInterest. A window is a FeatureOfInterest for an automatic window control + Actuator.
    Restrictions - sosa:Procedure + + sosa:hasProperty + ONLY sosa:Property +
    + + sosa:hasProperty + MIN 1 +
    + + sosa:hasSample + ONLY sosa:Sample +
    is Defined By - http://www.w3.org/ns/sosa/oms/ + http://www.w3.org/ns/sosa/
    - - -
    + + +
    -
    -
    sosa-oms:PreparationStep
    -

    IRI: http://www.w3.org/ns/sosa/oms/PreparationStep

    -

    a OWL Class

    +
    +
    sosa:hasFeatureOfInterest
    +

    IRI: http://www.w3.org/ns/sosa/hasFeatureOfInterest

    +

    an OWL Object Property

    - Preparation Step - - A PreparationStep is an individual step pertaining to a Sample PreparationProcedure. - - + has feature of interest - + A relation between an Observation and the entity whose quality was observed, or between + an Actuation and the entity whose property was modified, or + between an act of Sampling and the entity that was sampled. +
    + - + + + + + + + + + + + + + -
    is Defined ByExampleFor example, in an Observation of the weight of a person, the FeatureOfInterest is the person and the property is + its weight.
    Domain Includessosa:Observation, sosa:ObservationCollection, sosa:Actuation, sosa:Sampling
    Range Includessosa:FeatureOfInterest, sosa:Sample
    Inverse property of - http://www.w3.org/ns/sosa/oms/ + sosa:isFeatureOfInterestOf
    + + +
    + +
    +
    sosa:hasUltimateFeatureOfInterest
    +

    IRI: http://www.w3.org/ns/sosa/hasUltimateFeatureOfInterest

    +

    an OWL Object Property

    - -
    +

    Term added in 2024 update.

    + has ultimate feature of interest - + Link to the ultimate feature of interest of an observation or + act of sampling. This is useful when the proximate feature of interest is a sample of the ultimate feature + of interest, directly or transitively. + A relation between an Observation and the ultimate entity whose + quality was observed, or between an Actuation and the ultimate + entity whose property was modified, or between an act of Sampling + and the ultimate entity that was sampled. + + + + + + + + + + + + + + + +
    NoteThis is useful when the proximate feature of interest is a sample of the + ultimate feature of interest, directly or transitively.
    Domain Includessosa:Observation, sosa:Actuation, sosa:Sampling
    Range Includessosa:FeatureOfInterest, sosa:Sample
    + +
    -
    -
    sosa-oms:hasPreparationStep
    -

    IRI: http://www.w3.org/ns/sosa/oms/hasPreparationStep

    -

    an OWL Object Property

    +
    +
    sosa:isFeatureOfInterestOf
    +

    IRI: http://www.w3.org/ns/sosa/isFeatureOfInterestOf

    +

    an OWL Object Property

    - has preparation step - - Link to a preparation step used to prepare the sample -
    - - - - - - - - - - - - - - - -
    Domain Includes - sosa:Sample -
    Range Includes - sosa-oms:PreparationStep -
    is Defined By - http://www.w3.org/ns/sosa/oms/ -
    - -
    - -
    -
    sosa-oms:madeOnPlatform
    -

    IRI: http://www.w3.org/ns/sosa/oms/madeOnPlatform

    -

    an OWL Object Property

    - - made on platform - - Relation between an Observation and the Platform the Sensor was attached to at the time the observation was made. - - - - - - - - - - + is feature of interest of - + A relation between a FeatureOfInterest and an Observation about it or an Actuation acting on it, or an act of Sampling that sampled it.
    +
    Domain Includes - sosa:Observation - , sosa:ObservationCollection -
    Range Includes - sosa:Platform -
    + + + + + + + + + + + + + + +
    Domain Includessosa:FeatureOfInterest, sosa:Sample
    Range Includessosa:Observation, sosa:Actuation, sosa:Sampling +
    Inverse property of + sosa:hasFeatureOfInterest +
    + +
    + +
    +
    sosa:Property
    +

    IRI: http://www.w3.org/ns/sosa/Property

    +

    a OWL Class

    + + Property - + An identifiable quality of a FeatureOfInterest that can be observed or acted + upon. A property can apply to different features of interest. + + + + + + + + + + -
    ExampleCars (a feature type) all have a characteristic + colour, where "colour" is a property.
    NoteConcepts from existing code lists, vocabularies, + and taxonomies, may be used as instances of Property.
    is Defined By - http://www.w3.org/ns/sosa/oms/ + http://www.w3.org/ns/sosa/
    + + +
    - -
    +
    +
    sosa:PropertyOfInterest
    +

    IRI: http://www.w3.org/ns/sosa/PropertyOfInterest

    +

    a OWL Class

    -
    -
    sosa-oms:metadata
    -

    IRI: http://www.w3.org/ns/sosa/oms/metadata

    -

    an OWL Object Property

    - - metadata - - Links an individual to a metadata description -
    - - - - - - - - - - - -
    Domain Includes - sosa:FeatureOfInterest , - sosa:ObservableProperty , - sosa:Observation , - sosa:ObservationCollection , - sosa:Sample , - sosa:SampleCollection , - sosa:Sampling , - sosa-oms:PreparationStep , - sosa:Procedure , - sosa:Sensor , - sosa:Platform , - sosa:Deployment -
    is Defined By - http://www.w3.org/ns/sosa/oms/ -
    - -
    - -
    -
    sosa-oms:observationType
    -

    IRI: http://www.w3.org/ns/sosa/oms/observationType

    -

    an OWL Object Property

    - - observation type - - Information providing further detail on the type of Observations. - - - - - - - - - - - -
    Domain Includes - sosa:Observation -
    is Defined By - http://www.w3.org/ns/sosa/oms/ -
    - - -
    - -
    -
    sosa-oms:preparedSample
    -

    IRI: http://www.w3.org/ns/sosa/oms/preparedSample

    -

    an OWL Object Property

    - - prepared sample - - The Sample on which the PreparationProcedure is performed. - - - - - - - - - - + Property Of Interest - + An identifiable quality of a FeatureOfInterest that can be observed or acted upon. A + property of interest is specific to a FeatureOfInterest. + It is inherent to and cannot exist without that feature of interest. +
    Domain Includes - sosa-oms:PreparationStep -
    Range Includes - sosa:Sample -
    + + + + + + + + + + + + + - - -
    ExampleAbby's car has the colour red, where + "colour red" is a property of interest of the car.
    NoteProperties of interest need not always be + explicitly identified. It depends on the use case.
    Restrictions: + + + sosa:isPropertyOf + ONLY sosa:FeatureOfInterest +
    + + + sosa:isPropertyOf + EXACTLY 1 +
    is Defined By - http://www.w3.org/ns/sosa/oms/ -
    - - -
    - -
    -
    sosa-oms:processingDetails
    -

    IRI: http://www.w3.org/ns/sosa/oms/processingDetails

    -

    an OWL Object Property

    - - processing details - - The PreparationProcedure used by the PreparationStep. - - - - - - - - - - + http://www.w3.org/ns/sosa/ + + + +
    Domain Includes - sosa-oms:PreparationStep -
    Range Includes - sosa-oms:PreparationProcedure -
    + +
    + +
    +
    sosa:hasProperty
    +

    IRI: http://www.w3.org/ns/sosa/hasProperty

    +

    an OWL Object Property

    + + has property - + Relation between an entity and a Property of that entity. + + + + + + - - -
    Inverse property of + sosa:isPropertyOf +
    is Defined By - http://www.w3.org/ns/sosa/oms/ -
    - - -
    - -
    -
    sosa-oms:relatedObservation
    -

    IRI: http://www.w3.org/ns/sosa/oms/relatedObservation

    -

    an OWL Object Property

    - - related observation - - Relation to an Observation. - - - - - - - - - - + http://www.w3.org/ns/sosa/ + + + +
    Domain Includes - sosa:Sample - , sosa:ObservableProperty - , sosa-oms:ObservingProcedure - , sosa:Sensor - , sosa:Platform - , sosa:Observation - , sosa:ObservationCollection -
    Range Includes - sosa:Observation -
    + +
    + +
    +
    sosa:isPropertyOf
    +

    IRI: http://www.w3.org/ns/sosa/isPropertyOf

    +

    an OWL Object Property

    + is property of - + Relation between a Property and the entity it belongs to. + + + + + + - - -
    Inverse property of + sosa:hasProperty +
    is Defined By - http://www.w3.org/ns/sosa/oms/ -
    - - -
    - -
    -
    sosa-oms:relatedSampling
    -

    IRI: http://www.w3.org/ns/sosa/oms/relatedSampling

    -

    an OWL Object Property

    - - related sampling - - Relation to an act of Sampling. - - - - - - - - - - + http://www.w3.org/ns/sosa/ + + + +
    Domain Includes - sosa:Sampling -
    Range Includes - sosa:Sampling -
    + +
    + +
    +
    sosa:forProperty
    +

    IRI: http://www.w3.org/ns/sosa/forProperty

    +

    an OWL Object Property

    + + for property - + A relation between some aspect of an entity and a Property.
    + + + + + + -
    Example + For example, from a Sensor to the + properties it can observe; from an Actuator to the + properties it can act on; from a Deployment to the + properties it was installed to observe or act on; from a SystemCapability to the Property the capability is described for. +
    is Defined By - http://www.w3.org/ns/sosa/oms/ + http://www.w3.org/ns/sosa/
    + + +
    - -
    +
    +
    -
    -
    sosa-oms:resultQuality
    -

    IRI: http://www.w3.org/ns/sosa/oms/resultQuality

    -

    an OWL Object Property

    - - observation result quality - - Information pertaining to the data quality of the result. - - - - - - - - - - - - - - - -
    Note - This instance-specific description complements the description of the observation Procedure, which provides information concerning the quality of all observations using this procedure. -
    - The quality of a result can be assessed following the procedures in the ISO 19157 series. Multiple measures can be provided. -
    - dqv:hasQualityMeasurement from the Data Quality Vocabulary is equivalent -
    Domain Includes - sosa:Observation - , sosa:ObservationCollection -
    is Defined By - http://www.w3.org/ns/sosa/oms/ -
    - - -
    - -
    -
    sosa-oms:samplePreparationStep
    -

    IRI: http://www.w3.org/ns/sosa/oms/samplePreparationStep

    -

    an OWL Object Property

    - -sample preparation step - -A PreparationStep that uses the PreparationProcedure. - - - - - - - - - - - - - - - -
    Domain Includes - sosa-oms:PreparationProcedure -
    Range Includes - sosa-oms:PreparationStep -
    is Defined By -http://www.w3.org/ns/sosa/oms/ -
    - - -
    - -
    -
    sosa-oms:validTime
    -

    IRI: http://www.w3.org/ns/sosa/oms/validTime

    -

    an OWL Object Property

    - - valid time - - The time interval during which the result is assumed to be applicable for use. - - - - - - - - - - - - - - - -
    Domain Includes - sosa:Observation - , sosa:Sampling -
    Range Includes - time:Interval - , dcterms:PeriodOfTime -
    is Defined By - http://www.w3.org/ns/sosa/oms/ -
    - - -
    - -
    -
    -

    Class Alignments

    -

    The following classes used in SOSA can be aligned as follows.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    sosa:Deployment ogc-ms:implements obs-cpt:Deployment
    sosa-oms:MaterialSample ogc-ms:implements sam-basic:MaterialSample
    sosa:ObservableProperty ogc-ms:implements obs-cpt:ObservableProperty
    sosa:Observation ogc-ms:implements obs-cpt:Observation
    sosa:ObservationCollection ogc-ms:implements obs-core:AbstractObservationCollection
    sosa-oms:ObservingProcedure ogc-ms:implements obs-cpt:ObservingProcedure
    sosa:Platform ogc-ms:implements obs-cpt:Host
    sosa-oms:PreparationProcedure ogc-ms:implements sam-cpt:PreparationProcedure
    sosa-oms:PreparationStep ogc-ms:implements sam-cpt:PreparationStep
    sosa:Procedure ogc-ms:implements obs-cpt:Procedure
    sosa:Sample ogc-ms:implements sam-cpt:Sample
    sosa:SampleCollection ogc-ms:implements sam-basic:SampleCollection
    sosa:Sampler ogc-ms:implements sam-cpt:Sampler
    sosa:Sampling ogc-ms:implements sam-cpt:Sampling
    sosa-oms:SamplingProcedure ogc-ms:implements sam-cpt:SamplingProcedure
    sosa:Sensor ogc-ms:implements obs-cpt:Observer
    sosa-oms:SpatialSample ogc-ms:implements sam-basic:SpatialSample
    sosa-oms:StatisticalSample ogc-ms:implements sam-basic:StatisticalSample
    +
    +

    Results

    +
    +

    Overview and examples

    +
    +

    The following figure provides an overview of the core classes + and properties that are specifically related to modeling Results. + SOSA axioms are shown in green, while SSN-only axioms are shown in blue. +

    +
    + Results +
    Classes and relationships related to results
    +
    +
    +
    +

    The following examples illustrate how the terms related to Results can be used:

    + +
    -
    -

    Property Alignments

    -

    The following properties used in SOSA can be aligned as follows.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +

    Specification

    +

    This section introduces the following classes and properties:

    + +
    +
    sosa:Result
    +

    IRI: http://www.w3.org/ns/sosa/Result

    +

    a OWL Class

    + + Result - + The Result of an Observation, Actuation, + or act of Sampling. To store an observation's simple result value + one can use the hasSimpleResult property.
    +
    sosa:deployedOnPlatform ogc-ms:implements obs-cpt:Deployment/host-sem
    sosa:deployedSystem ogc-ms:implements obs-cpt:Deployment/observer-sem
    sosa:hasDeployment ogc-ms:implements obs-cpt:Observer/deployment-sem
    sosa:hasFeatureOfInterest ogc-ms:implements obs-cpt:Observation/featureOfInterest-sem ,
    obs-core:AbstractObservationCharacteristics/pFoI-sem ,
    sam-cpt:Sampling/featureOfInterest-sem
    sosa:hasMember ogc-ms:implements sam-basic:SampleCollection/member-sem ,
    obs-core:AbstractObservationCollection/member-sem
    sosa-oms:hasPreparationStep ogc-ms:implements sam-cpt:Sample/preparationStep-sem
    sosa:hasResult ogc-ms:implements obs-cpt:Observation/result-sem ,
    sam-cpt:Sampling/sample-sem
    sosa:hasSampledFeature ogc-ms:implements sam-cpt:Sample/sampledFeature-sem
    sosa:hasSimpleResult ogc-ms:implements obs-cpt:Observation/result-sem
    sosa:hasUltimateFeatureOfInterest ogc-ms:implements obs-core:AbstractObservationCharacteristics/uFoI-sem
    sosa:implementedBy ogc-ms:implements obs-cpt:ObservingProcedure/observer-sem ,
    sam-cpt:SamplingProcedure/sampler-sem
    sosa:implements
    + + + + + + + + + + +
    ExampleThe value 20 as the height of a certain tree together with the unit, + e.g., Meter.
    Restriction + + + sosa:isResultOf + MIN 1 +
    + +
    + + +
    +
    sosa:hasResult
    +

    IRI: http://www.w3.org/ns/sosa/hasResult

    +

    an OWL Object Property

    + + has result - + Relation linking an Observation and a Sensor + or Actuator and a Result, + which contains a value representing the value associated with the observed Property. +
    + + + + + + + + + + + + + + + +
    Domain Includessosa:Actuation, sosa:Observation, sosa:ObservationCollection, sosa:Sampling
    Range Includessosa:Result, sosa:Sample
    Inverse property of + sosa:isResultOf +
    + +
    + + +
    +
    sosa:isResultOf
    +

    IRI: http://www.w3.org/ns/sosa/isResultOf

    +

    an OWL Object Property

    + + is result of - + Relation linking a Result + to the Observation or Actuation that created or caused it.
    + + + + + + + + + + + + + + + +
    Domain Includessosa:Result, sosa:Sample
    Range Includessosa:Actuation, sosa:Observation, sosa:Sampling +
    Inverse property of + sosa:hasResult +
    + +
    + + +
    +
    sosa:hasSimpleResult
    +

    IRI: http://www.w3.org/ns/sosa/hasSimpleResult

    +

    a OWL Datatype Property

    + + has simple result - + The simple value of an Observation or Actuation.
    + + + + + + + + + + + +
    ExampleFor instance, the values 23 or true.
    Domain Includessosa:Observation, sosa:ObservationCollection, sosa:Actuation
    + +
    + + + + +
    +
    sosa:resultTime
    +

    IRI: http://www.w3.org/ns/sosa/resultTime

    +

    a OWL Datatype Property

    + + result time - + The result time is the instant of time when the Observation, Actuation + or Sampling activity was completed.
    + + + + + + + + + + + +
    Domain Includessosa:Actuation, sosa:Observation, sosa:ObservationCollection, sosa:Sampling
    Rangexsd:dateTime
    + +
    + +
    +
    + + +
    +

    Procedures

    +
    +

    Overview and examples

    +
    +

    The following figure provides an overview of the core classes + and properties that are specifically related to modeling Procedures. + SOSA axioms are shown in green, while SSN-only axioms are shown in blue. +

    +
    + TODO: change the figure to illustrate ProcedureExecution + Procedures +
    Classes and relationships related to procedures
    +
    +
    +
    +

    The following examples illustrate how the terms related to Procedures can be used:

    + +
    +
    +
    +

    Specification

    +

    This section introduces the following classes and properties:

    + +
    +
    sosa:Procedure
    +

    IRI: http://www.w3.org/ns/sosa/Procedure

    +

    a OWL Class

    + + Procedure - + A workflow, protocol, plan, algorithm, or computational method + specifying how to make an Observation, create a Sample, or make a change to the state of the world (via an Actuator). A Procedure is + re-usable, and might be involved in many Observations, Samplings, or Actuations. + It explains the steps to be carried out to arrive at reproducible Results.
    + + + + + + + + + + + + + + + +
    ExampleThe measured wind speed differs depending on the height of the Sensor above the surface, e.g., due to friction. Consequently, + procedures for measuring wind speed define a standard height for anemometers above ground, typically + 10m for meteorological measures and 2m in Agrometeorology. This definition of height, Sensor placement, and so forth are defined by the Procedure.
    NoteMany Observations may be + created via the same Procedure, the same way as many tables are assembled using the same + instructions (as information objects, not their concrete realization).
    Restrictions + + + sosa:hasInput + ONLY sosa:Input +
    + + + sosa:hasOutput + ONLY sosa:Output +
    + + + sosa:implementedBy + ONLY sosa:System +
    + +
    + + +
    +
    sosa:usedProcedure
    +

    IRI: http://www.w3.org/ns/sosa/usedProcedure

    +

    an OWL Object Property

    + + used procedure - + A relation to link to a re-usable Procedure used in making an Observation, an Actuation, or a Sample, + typically through a Sensor, Actuator or Sampler. +
    + + + + + + + + + + + + + + + +
    Domain Includessosa:Actuation, sosa:Observation, sosa:ObservationCollection, sosa:Sampling, sosa:SampleCollection +
    Range Includessosa:Procedure
    Sub property of Chain + + sosa:madeBySensor o + + sosa:implements + +
    + + sosa:madeByActuator o + + sosa:implements + +
    + + sosa:madeBySampler o + + sosa:implements + +
    + +
    + +
    +
    sosa:implements
    +

    IRI: http://www.w3.org/ns/sosa/implements

    +

    an OWL Object Property

    + + implements - + Relation between an entity that implements a Procedure in some executable way and the Procedure (an algorithm, procedure or method). + + + + + + + + + + + +
    Inverse property of + sosa:implementedBy +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + +
    +
    sosa:implementedBy
    +

    IRI: http://www.w3.org/ns/sosa/implementedBy

    +

    an OWL Object Property

    + + implemented by - + Relation between a Procedure (an algorithm, procedure or method) and an entity that + implements that Procedure in some executable way. + + + + + + + + + + + +
    Inverse property of + sosa:implements +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + + +
    +
    sosa:hasInput
    +

    IRI: http://www.w3.org/ns/sosa/hasInput

    +

    an OWL Object Property

    + + has Input - + Relation between a Procedure and an Input to + it. + + + + + + + +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + + +
    +
    sosa:Input
    +

    IRI: http://www.w3.org/ns/sosa/Input

    +

    a OWL Class

    + + Input - + Any information that is provided to a Procedure for its use. + + + + + + + + + + + +
    Restrictions + + + + inverse Of + sosa:hasInput + ONLY sosa:Procedure +
    + + + + inverse Of + sosa:hasInput + MIN 1 +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + + +
    +
    sosa:hasOutput
    +

    IRI: http://www.w3.org/ns/sosa/hasOutput

    +

    an OWL Object Property

    + + has Output - + Relation between a Procedure and an Output of + it. + + + + + + + +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + + +
    +
    sosa:Output
    +

    IRI: http://www.w3.org/ns/sosa/Output

    +

    a OWL Class

    + + Output - + Any information that is reported from a Procedure. + + + + + + + + + + + +
    Restrictions + + + + inverse Of + sosa:hasOutput + ONLY sosa:Procedure +
    + + + + inverse Of + sosa:hasOutput + MIN 1 +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + +
    +
    sosa:ProcedureExecution
    +

    IRI: http://www.w3.org/ns/sosa/ProcedureExecution

    +

    a OWL Class

    + + Procedure Execution - + Act of carrying out a Procedure. This class generalizes the Observation, Actuation, + and Sampling classes.
    + + + + + + + +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + + +
    +
    + +
    +

    Systems and their Deployment

    +
    +

    Overview and examples

    +
    +

    The following figure provides an overview of the core classes + and properties that are specifically related to modeling systems and their deployment. + SOSA axioms are shown in green, while SSN-only axioms are shown in blue. +

    +
    + Systems and deployment +
    Classes and relationships related to systems and deployments
    +
    +
    +
    +

    The following examples illustrate how the terms related to Systems and their Deployment can be used:

    + +
    +
    +
    +

    Specification

    +

    This section introduces the following classes and properties:

    + +
    +
    sosa:Platform
    +

    IRI: http://www.w3.org/ns/sosa/Platform

    +

    a OWL Class

    + + Platform - + A Platform is an entity + that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms.
    + + + + + + + + + + + +
    ExampleA post, buoy, vehicle, ship, aircraft, satellite, cell-phone, human or + animal may act as Platforms for (technical or biological) + Sensors or Actuators.
    Restrictions + + + sosa:hosts + ONLY sosa:System +
    + + + sosa:inDeployment + ONLY sosa:Deployment +
    + +
    + +
    +
    sosa:hosts
    +

    IRI: http://www.w3.org/ns/sosa/hosts

    +

    an OWL Object Property

    + + hosts - + Relation between a Platform and a Sensor, Actuator, Sampler, or Platform, hosted or mounted on it.
    + + + + + + + + + + + + + + + + + + + +
    Domain Includessosa:Platform
    Range Includessosa:Actuator, sosa:Sensor, sosa:Sampler, + sosa:Platform
    Inverse property of + sosa:isHostedBy +
    Sub property of Chain + + sosa:inDeployment o + + sosa:deployedSystem + +
    + +
    + +
    +
    sosa:isHostedBy
    +

    IRI: http://www.w3.org/ns/sosa/isHostedBy

    +

    an OWL Object Property

    + + is hosted by - + Relation between a Sensor, or Actuator, Sampler, or Platform, and + the Platform that it is mounted on or hosted by.
    + + + + + + + + + + + + + + + +
    Domain Includessosa:Actuator, sosa:Sensor, sosa:Sampler, + sosa:Platform
    Range Includessosa:Platform
    Inverse property of + sosa:hosts +
    + +
    + + +
    +
    sosa:System
    +

    IRI: http://www.w3.org/ns/sosa/System

    +

    a OWL Class

    + + System - + System is a unit of abstraction for pieces of infrastructure + that implement Procedures. A System may have components, its + subsystems, which are other Systems. + + + + + + + + + + + +
    Restrictions + + + sosa:isHostedBy + ONLY + sosa:Platform +
    + + + sosa:implements + ONLY + sosa:Procedure +
    + + + sosa:hasSubSystem + ONLY sosa:System +
    + + + inverse Of + sosa:hasSubSystem + ONLY sosa:System +
    + + + sosa:hasDeployment + ONLY + sosa:Deployment +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + +
    +
    sosa:hasSubSystem
    +

    IRI: http://www.w3.org/ns/sosa/hasSubSystem

    +

    an OWL Object Property

    + + has subsystem - + Relation between a System + and its component parts. + + + + + + + +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + + +
    +
    sosa:Deployment
    +

    IRI: http://www.w3.org/ns/sosa/Deployment

    +

    a OWL Class

    + + Deployment - + Describes the Deployment of one or more Systems for a particular purpose. Deployment may be done on a Platform. + + + + + + + + + + + + + + + +
    ExampleFor example, a temperature Sensor deployed on a wall, or a whole network of Sensors + deployed for an Observation campaign.
    Restrictions + + + sosa:deployedSystem + ONLY sosa:System +
    + + + sosa:deployedOnPlatform + ONLY sosa:Platform +
    + + + sosa:forProperty + ONLY sosa:Property +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + + +
    +
    sosa:deployedSystem
    +

    IRI: http://www.w3.org/ns/sosa/deployedSystem

    +

    an OWL Object Property

    + + deployed system - + Relation between a Deployment and a deployed System. + + + + + + + + + + + +
    Inverse property of + sosa:hasDeployment +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + + +
    +
    sosa:hasDeployment
    +

    IRI: http://www.w3.org/ns/sosa/hasDeployment

    +

    an OWL Object Property

    + + has deployment - + Relation between a System + and a Deployment, recording that the System is deployed in that Deployment. + + + + + + + + + + + +
    Inverse property of + sosa:deployedSystem +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + + +
    +
    sosa:deployedOnPlatform
    +

    IRI: http://www.w3.org/ns/sosa/deployedOnPlatform

    +

    an OWL Object Property

    + + deployed on platform - + Relation between a Deployment and the Platform on which the Systems are deployed.
    + + + + + + + + + + + +
    Inverse property of + sosa:inDeployment +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + + +
    +
    sosa:inDeployment
    +

    IRI: http://www.w3.org/ns/sosa/inDeployment

    +

    an OWL Object Property

    + + in deployment - + Relation between a Platform and a Deployment, meaning that the deployedSystems of the + Deployment are hosted on the Platform. + + + + + + + + + + + + + + + +
    Example + For example, a relation between a buoy and a Deployment of several Sensors. +
    Inverse property of + sosa:deployedOnPlatform +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    +
    +
    + +
    +

    Collections of Observations or Samples

    +

    Collections added in the 2024 Update

    +
    +

    Overview and examples

    +

    Observations may be packaged in collections, for management and analysis. + A summary of the range of values for properties of the member observations may be recorded as properties of + the collection - for example, the set of features of interest for a suite of observations.

    +

    + Collections of observations that are useful for analysis will typically be homogeneous with respect to one or + more observation properties - for example, of the same observed-property on the same feature of interest at a + series of different times. + Shared properties might be conveniently recorded as properties of the collection as a whole, and these + properties can then be omitted on the descriptions of the individual member observations. +

    +

    Similarly, samples are often grouped in collections, for example a set of samples of the same feature or + entity.

    +

    The results of collections of observations are often packaged in a 'data cube' whose axes define the range of + properties of the set of observations.

    +

    Two classes representing collections of Observations or of Samples are provided: +

      +
    • sosa:ObservationCollection is a collection of observations whose + property values summarize the values of the properties of its members
    • +
    • sosa:SampleCollection is a collection of samples whose property values + summarize the values of the properties of its members
    • +
    +

    +
    +

    The following figure provides an overview of the core classes + and properties that are specifically related to describing collections of observations or of samples. +

    +
    + Collections of Observations or Samples +
    Classes and relationships related to collections of observations or samples
    TODO re-draw + diagram to match document style
    +
    +
    +
    +

    The following examples illustrate how the terms related to SCollections can be used:

    + +
    +
    +
    +

    Specification

    +

    This section introduces the following classes and properties:

    + +
    +
    sosa:ObservationCollection
    +

    IRI: http://www.w3.org/ns/sosa/ObservationCollection

    +

    a OWL Class

    + + Observation Collection - + A ObservationCollection + is a collection of one or more Observations or ObservationCollections, i.e. collections may be nested. +

    + The following Observation properties may appear in an ObservationCollection: + hasFeatureOfInterest , + hasUltimateFeatureOfInterest , + usedProcedure , + madeBySensor , + madeOnPlatform , + observedProperty , + phenomenonTime , + resultTime , + validTime , + hasResult , + hasSimpleResult , + observationType , + resultQuality . + If they are present, the values of these properties summarize the values of the matching properties of the + member observations, where membership is either direct or transitive through one or more member observation + collections. +

    + The following consistency rules with respect to the Observation properties listed above: +
      +
    1. Where an individual ObservationCollection + omits a property, a member Observation (direct or + transitive) MAY have any value for that property.
    2. +
    3. Where an individual ObservationCollection has + a single value for a property, each member Observation (direct or transitive) MUST have that same value + for that property - i.e. the collection is homogeneous in that property. That property MAY be omitted in + any member Observation or ObservationCollection.
    4. +
    5. Where an individual ObservationCollection has + more than one value for a property, each member Observation (direct or transitive) MUST have a value for that + property that matches one of the values for the property in the collection.
    6. +
    7. Where an individual ObservationCollection has + a value for a property that is a range or interval, each member Observation (direct or transitive) MUST have a value for that + property that matches or falls within that range or interval.
    8. +
    +

    + The members of a collection do not necessarily share a common value for any + property.
    + + + + + + + + + + + + + + + + + + + +
    Example... TODO ...
    Sub class of + rdf:Bag +
    Disjoint with + sosa:SampleCollection +
    Restrictions + + + sosa:hasMember + ONLY (sosa:Observation OR sosa:ObservationCollection ) +
    + +
    +
    +
    sosa:SampleCollection
    +

    IRI: http://www.w3.org/ns/sosa/SampleCollection

    +

    a OWL Class

    + + Sample Collection - + A SampleCollection is a + collection of one or more Samples or SampleCollections, i.e. collections may be nested. +

    + The following Sample properties may appear in a SampleCollection: + hasOriginalSample , + hasSampledFeature , + isSampleOf , + isResultOfUsedProcedure , + isResultOfMadeBySampler. + If it is present, the values of a property summarizes the values of the matching properties of the member + samples, where membership is either direct or transitive through onw or more member sample collections. +

    + The following consistency rules apply with respect to the Sample properties listed above: +
      +
    1. Where an individual SampleCollection omits a + property, a member Sample (direct or transitive) MAY have + any value for that property.
    2. +
    3. Where an individual SampleCollection has a single + value for a property, each member Sample (direct or + transitive) MUST have that same value for that property - i.e. the collection is homogeneous in that + property. That property MAY be omitted in any member Sample or SampleCollection.
    4. +
    5. Where an individual SampleCollection has more than + one value for a property, each member Sample (direct or + transitive) MUST have a value for that property that matches one of the values for the property in the + collection.
    6. +
    7. Where an individual SampleCollection has a value + for a property that is a range or interval, each member Sample (direct or transitive) MUST have a value for that property + that matches or falls within that range or interval.
    8. +
    +

    + The members of a collection do not necessarily share a common value for any + property.
    + + + + + + + + + + + + + + + + + + + + +
    Example... TODO ...
    Sub class of + rdf:Bag +
    Disjoint with + sosa:ObservationCollection +
    Restrictions + + + sosa:hasMember + ONLY (sosa:Sample OR sosa:SampleCollection ) +
    + +
    +
    +
    sosa:hasMember
    +

    IRI: http://www.w3.org/ns/sosa/hasMember

    +

    an OWL Object Property

    + + has member of collection - + Link to a member within a collection of (samples or observations) + or (collection of samples or collection of observations) which may share a value for + one or more of the characteristic properties. + rules for the consistency of values of properties of collections and + properties of their members are given for each collection type. + Note that there is a single `member` property. OWL or SHACL constraints may limit + the range depending on the context of different collection types. + + + + + + + + + + + + + + + + + + + + + + + +
    Example... TODO ...
    Inverse property of + sosa:isMemberOf +
    Domain Includessosa:ObservationCollection , sosa:SampleCollection
    Range Includessosa:Observation , sosa:ObservationCollection , sosa:Sample , + sosa:SampleCollection
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    +
    +
    +
    + +
    +

    Horizontal Segmentation

    + This section provides details on the currently available + horizontal segmentation modules. +
    +

    System Capabilities Module

    +

    The namespace for system capabilities, operating ranges, and survival ranges terms + is + http://www.w3.org/ns/ssn/systems/ +

    +

    The suggested prefix for the system capabilities, operating ranges, and survival + ranges terms is ssn-system +

    +

    An ontology graph for this is + available.

    + +
    +

    Overview and examples

    +
    +

    The following figure provides an overview on the core classes + and properties that are specifically related to modeling System capabilities, + operating ranges, and survival ranges, under given conditions.

    +
    + Conditions +
    Classes and relationships related to system capabilities, + operating ranges, and survival ranges, under given conditions
    +
    + +
    + System properties +
    Classes and relationships related to system capabilities, operating ranges and survival ranges +
    +
    +
    +
    +

    The following examples illustrate how the terms related to System capabilities, operating ranges, and + survival ranges can be used:

    + +
    +
    +
    +

    Specification

    +

    This section introduces the following classes and properties:

    + + +
    +
    sosa:System
    +

    IRI: http://www.w3.org/ns/sosa/System

    +

    a OWL Class

    + + System - + System is a unit of abstraction for pieces of infrastructure + that implement Procedures. A System may have components, its + subsystems, which are other Systems. + + + + + + + + + + + +
    Additional Restrictions + + + ssn-system:hasSystemCapability + ONLY ssn-system:SystemCapability +
    + + + ssn-system:hasOperatingRange + ONLY ssn-system:OperatingRange +
    + + + ssn-system:hasSurvivalRange + ONLY ssn-system:SurvivalRange +
    is Defined By + http://www.w3.org/ns/sosa/ +
    + +
    + +
    +
    ssn-system:inCondition
    +

    IRI: http://www.w3.org/ns/ssn/systems/inCondition

    +

    an OWL Object Property

    + + in condition - + Describes the prevailing environmental Conditions for SystemCapabilites, OperatingRanges and SurvivalRanges. + + + + + + + + + + + +
    Example + Used for example to say that a Sensor + has a particular accuracy in particular Conditions. +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:Condition
    +

    IRI: http://www.w3.org/ns/ssn/systems/Condition

    +

    a OWL Class

    + + Condition - + Used to specify ranges for qualities that act as Conditions on a Systems' operation. + + + + + + + + + + + + + + + +
    ExampleFor example, wind speed of 10-60m/s may be used as the + Condition on a SystemProperty, for + example, to state that a Sensor has a particular Accuracy under that Condition.
    Sub class of + sosa:Property +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:hasSystemCapability
    +

    IRI: http://www.w3.org/ns/ssn/systems/hasSystemCapability

    +

    an OWL Object Property

    + + has system capability - + Relation from a System to + a SystemCapability describing the capabilities of the + System under certain Conditions. + + + + + + + + + + + +
    Sub property of + sosa:hasProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:SystemCapability
    +

    IRI: http://www.w3.org/ns/ssn/systems/SystemCapability

    +

    a OWL Class

    + + System Capability - + Describes normal measurement, actuation, sampling properties + such as accuracy, range, precision, etc. of a System under some + specified Conditions such as a temperature range. +
    + The capabilities specified here are those that affect the primary purpose of the System, while those in OperatingRange represent the system's normal operating + environment, including Conditions that don't affect the Observations or the Actuations.
    + + + + + + + + + + + + + + + +
    Sub class of + sosa:Property +
    Restrictions + + + sosa:forProperty + ONLY sosa:Property +
    + + + ssn-system:hasSystemProperty + ONLY ssn-system:SystemProperty +
    + + + ssn-system:inCondition + ONLY ssn-system:Condition +
    + + + ssn-system:inCondition + MIN 1 +
    + + + + inverse Of ssn-system:hasSystemCapability + ONLY sosa:System
    +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:hasSystemProperty
    +

    IRI: http://www.w3.org/ns/ssn/systems/hasSystemProperty

    +

    an OWL Object Property

    + + has system property - + Relation from an SystemCapability of a System to a SystemProperty describing the capabilities of the System. + + + + + + + + + + + +
    Sub property of + sosa:hasProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:SystemProperty
    +

    IRI: http://www.w3.org/ns/ssn/systems/SystemProperty

    +

    a OWL Class

    + + System Property - + An identifiable and observable characteristic that represents + the System's ability to operate its primary purpose: a Sensor to make Observations, an Actuator to make Actuations, or a Sampler to + make Sampling. + + + + + + + + + + + + + + + +
    Sub class of + sosa:Property +
    Restrictions + + + + inverse Of ssn-system:hasSystemProperty + ONLY ssn-system:SystemCapability
    + + + + inverse Of ssn-system:hasSystemProperty + MIN 1 +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:MeasurementRange
    +

    IRI: http://www.w3.org/ns/ssn/systems/MeasurementRange

    +

    a OWL Class

    + + Measurement Range - + The set of values that the Sensor can return as the Result + of an Observation under the defined Conditions with the defined system properties. + + + + + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    Restrictions + + + inverse Of ssn-system:hasSystemProperty + ONLY + + inverse Of ssn-system:hasSystemCapability + ONLY sosa:Sensor + +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:ActuationRange
    +

    IRI: http://www.w3.org/ns/ssn/systems/ActuationRange

    +

    a OWL Class

    + + Actuation Range - + The range of Property + values that can be the Result of an Actuation under the defined Conditions. + + + + + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    Restriction + + + inverse Of ssn-system:hasSystemProperty + ONLY + + inverse Of ssn-system:hasSystemCapability + ONLY sosa:Actuator + +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:Accuracy
    +

    IRI: http://www.w3.org/ns/ssn/systems/Accuracy

    +

    a OWL Class

    + + Accuracy - + The closeness of agreement between the Result of an Observation + (resp. the command of an Actuation) and the true value of the + observed ObservableProperty (resp. of the acted on ActuatableProperty) under the defined Conditions. + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:DetectionLimit
    +

    IRI: http://www.w3.org/ns/ssn/systems/DetectionLimit

    +

    a OWL Class

    + + Detection Limit - + An observed value for which the probability of falsely claiming + the absence of a component in a material is beta, given a probability alpha of falsely claiming its + presence. + + + + + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    Restriction + + + inverse Of ssn-system:hasSystemProperty + ONLY + + inverse Of ssn-system:hasSystemCapability + ONLY sosa:Sensor + +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:Drift
    +

    IRI: http://www.w3.org/ns/ssn/systems/Drift

    +

    a OWL Class

    + + Drift - + As a Sensor Property: a continuous or incremental change in the reported values + of Observations over time for an unchanging Property under the defined Conditions. +
    + As an Actuator Property: a + continuous or incremental change in the true value of the acted on ActuatableProperty over time for an unchanging command + under the defined Conditions.
    + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:Frequency
    +

    IRI: http://www.w3.org/ns/ssn/systems/Frequency

    +

    a OWL Class

    + + Frequency - + The smallest possible time between one Observation, Actuation, + or Sampling and the next, under the defined Conditions. + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:Latency
    +

    IRI: http://www.w3.org/ns/ssn/systems/Latency

    +

    a OWL Class

    + + Latency - + The time between a command for an Observation (resp. Actuation) and the Sensor + providing a Result (resp. the Actuator operating the Actuation), under the defined Conditions. + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:Precision
    +

    IRI: http://www.w3.org/ns/ssn/systems/Precision

    +

    a OWL Class

    + + Precision - + As a sensor capability: The closeness of agreement between + replicate Observations on an unchanged or similar quality value: + i.e., a measure of a Sensor's ability to consistently reproduce an Observation, under the defined Conditions.
    + As an actuator capability: The closeness of agreement between replicate Actuations for an unchanged or similar command: i.e., a measure of + an Actuator's ability to consistently reproduce an Actuations, under the defined Conditions.
    + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:Resolution
    +

    IRI: http://www.w3.org/ns/ssn/systems/Resolution

    +

    a OWL Class

    + + Resolution - + As a Sensor Property: the smallest difference in the value of a ObservableProperty being observed that would result in + perceptably different values of Observation Results, under the defined Conditions. +
    + As an Actuator Property: + the smallest difference in the value of an Actuation command that + would result in a value change of the ActuatableProperty + being acted on, under the defined Conditions.
    + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:ResponseTime
    +

    IRI: http://www.w3.org/ns/ssn/systems/ResponseTime

    +

    a OWL Class

    + + Response time - + As a Sensor Property: the time between a (step) change in the value of an + observed ObservableProperty and a Sensor (possibly with specified error) 'settling' on an observed + value, under the defined Conditions. +
    + As an Actuator Property: + the time between a (step) change in the command of an Actuator and + the 'settling' of the value of the acted on ActuatableProperty, under the defined Conditions.
    + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:Selectivity
    +

    IRI: http://www.w3.org/ns/ssn/systems/Selectivity

    +

    a OWL Class

    + + Selectivity - + As a Sensor Property: Selectivity is a Property of a Sensor whereby + it provides observed values for one or more ObservableProperties such that the Result for each ObservableProperty are independent of other Properties in the FeatureOfInterest being investigated, under the defined Conditions. +
    + As an Actuator Property: + Selectivity is a Property of an Actuator whereby it acts on one or more ActuatableProperties such as the Results for each ActuatableProperty are independent of other Properties in the FeatureOfInterest being acted on, under the defined Conditions.
    + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:Sensitivity
    +

    IRI: http://www.w3.org/ns/ssn/systems/Sensitivity

    +

    a OWL Class

    + + Sensitivity - + As a Sensor Property: Sensitivity is the quotient of the change in a Result of Observations and + the corresponding change in a value of an ObservableProperty being observed, under the defined Conditions. +
    + As an Actuator Property: + Sensitivity is the quotient of the change in a command of Actuation and the corresponding change in a value of an ActuatableProperty being acted on, under the defined Conditions.
    + + + + + + + + + + + +
    Sub class of + ssn-system:SystemProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:hasOperatingRange
    +

    IRI: http://www.w3.org/ns/ssn/systems/hasOperatingRange

    +

    an OWL Object Property

    + + has operating range - + Relation from a System to + an OperatingRange describing the normal operating + environment of the System. + + + + + + + + + + + +
    Sub property of + sosa:hasProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + + +
    +
    ssn-system:OperatingRange
    +

    IRI: http://www.w3.org/ns/ssn/systems/OperatingRange

    +

    a OWL Class

    + + Operating Range - + Describes normal OperatingProperties of a System under some specified Conditions. For example, to the power requirement or + maintenance schedule of a System under a specified temperature range. +
    + In the absence of OperatingProperties, it simply + describes the Conditions in which a System is expected to operate. +
    + The System continues to operate as defined using SystemCapability. If, however, the OperatingProperty is violated, the System is operating + 'out of operating range' and SystemCapability + specifications may no longer hold.
    + + + + + + + + + + + + + + + +
    Sub class of + sosa:Property +
    Restrictions + + + ssn-system:hasOperatingProperty + ONLY ssn-system:OperatingProperty +
    + + + ssn-system:inCondition + ONLY ssn-system:Condition +
    + + + ssn-system:inCondition + MIN 1 +
    + + + + inverse Of ssn-system:hasOperatingRange + ONLY sosa:System +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + + + +
    +
    ssn-system:hasOperatingProperty
    +

    IRI: http://www.w3.org/ns/ssn/systems/hasOperatingProperty

    +

    an OWL Object Property

    + + has operating property - + Relation from an OperatingRange of a System to an OperatingProperty describing the operating range of + the System. + + + + + + + + + + + +
    Sub property of + sosa:hasProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + + + +
    +
    ssn-system:OperatingProperty
    +

    IRI: http://www.w3.org/ns/ssn/systems/OperatingProperty

    +

    a OWL Class

    + + Operating Property - + An identifiable characteristic that represents how the System operates under the specified Conditions. May describe power ranges, power sources, standard + configurations, attachments and the like. + + + + + + + + + + + + + + + +
    Sub class of + sosa:Property +
    Restrictions + + + + inverse Of ssn-system:hasOperatingProperty + ONLY ssn-system:OperatingRange
    + + + + inverse Of ssn-system:hasOperatingProperty + MIN 1 +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + + +
    +
    ssn-system:MaintenanceSchedule
    +

    IRI: http://www.w3.org/ns/ssn/systems/MaintenanceSchedule

    +

    a OWL Class

    + + Maintenance Schedule - + Schedule of maintenance for a System in the specified Conditions. + + + + + + + + + + + +
    Sub class of + ssn-system:OperatingProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + + + +
    +
    ssn-system:OperatingPowerRange
    +

    IRI: http://www.w3.org/ns/ssn/systems/OperatingPowerRange

    +

    a OWL Class

    + + Operating Power Range - + Power range in which System is expected to operate in the specified Conditions. + + + + + + + + + + + +
    Sub class of + ssn-system:OperatingProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:hasSurvivalRange
    +

    IRI: http://www.w3.org/ns/ssn/systems/hasSurvivalRange

    +

    an OWL Object Property

    + + has survival range - + Relation from a System to + a SurvivalRange. + + + + + + + + + + + +
    Sub property of + sosa:hasProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + + + +
    +
    ssn-system:SurvivalRange
    +

    IRI: http://www.w3.org/ns/ssn/systems/SurvivalRange

    +

    a OWL Class

    + + Survival Range - + Describes SurvivalProperties of a System under some specified Conditions. For example, the lifetime of a System under a + specified temperature range. +
    + In the absence of SurvivalProperties, simply describes + the Conditions a System can be exposed to without damage. For example, the temperature + range a System can withstand before being considered damaged. +
    + The System continues to operate as defined using SystemCapability. If, however, the SurvivalRange is + violated, the System is 'damaged' and SystemCapability specifications may no longer + hold.

    + + + + + + + + + + + + + + + +
    Sub class of + sosa:Property +
    Restrictions + + + ssn-system:hasSurvivalProperty + ONLY ssn-system:SurvivalProperty +
    + + + ssn-system:inCondition + ONLY ssn-system:Condition +
    + + + ssn-system:inCondition + MIN 1 +
    + + + + inverse Of ssn-system:hasSurvivalRange + ONLY sosa:System
    +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + + + +
    +
    ssn-system:hasSurvivalProperty
    +

    IRI: http://www.w3.org/ns/ssn/systems/hasSurvivalProperty

    +

    an OWL Object Property

    + + has survival property - + Relation from a SurvivalRange of a System to a SurvivalProperty describing the survival range of the + System. + + + + + + + + + + + +
    Sub property of + sosa:hasProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + + + +
    +
    ssn-system:SurvivalProperty
    +

    IRI: http://www.w3.org/ns/ssn/systems/SurvivalProperty

    +

    a OWL Class

    + + Survival Property - + An identifiable characteristic that represents the extent of the + System's useful life under the specified Conditions. May describe for example total battery life or + number of recharges, or, for Sensors that are used only a fixed + number of times, the number of Observations that can be made + before the sensing capability is depleted. + + + + + + + + + + + + + + + +
    Sub class of + sosa:Property +
    Restrictions + + + + inverse Of ssn-system:hasSurvivalProperty + ONLY ssn-system:SurvivalRange
    + + + + inverse Of ssn-system:hasSurvivalProperty + MIN 1 +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + + +
    +
    ssn-system:SystemLifetime
    +

    IRI: http://www.w3.org/ns/ssn/systems/SystemLifetime

    +

    a OWL Class

    + + System Lifetime - + Total useful life of a System (expressed as total life since manufacture, time in use, number + of operations, etc.) in the specified Conditions. + + + + + + + + + + + +
    Sub class of + ssn-system:SurvivalProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:BatteryLifetime
    +

    IRI: http://www.w3.org/ns/ssn/systems/BatteryLifetime

    +

    a OWL Class

    + + Battery Lifetime - + Total useful life of a System's battery in the specified Conditions. + + + + + + + + + + + +
    Sub class of + ssn-system:SurvivalProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    ssn-system:qualityOfObservation
    +

    IRI: http://www.w3.org/ns/ssn/systems/qualityOfObservation

    +

    an OWL Object Property

    + + quality of observation - + Relation linking an Observation to the adjudged quality of the Result. This is complementary to the SystemCapability information recorded for the Sensor that made the Observation. + + + + + + + + + + + +
    Sub property of + sosa:hasProperty +
    is Defined By + http://www.w3.org/ns/ssn/systems/ +
    + +
    + +
    +
    + + +
    +

    Sample Relations Module

    +

    Samples are often related to other samples, by sub-sampling, + topological relationships (stations along a traverse, pixels within an + image, probe spots on a polished section, specimens retrieved within a + borehole) or as parts of sample processing chains (crushing, + splitting, dissecting, disolving). There are an essentially unlimited + set of relationships between samples, so the nature of the + relationship has its own class. This section describes a flexible + model to describe such relationships between samples. The model is + based on the QualifiedRelation + pattern.

    +

    The namespace for Sample relationships + terms is http://www.w3.org/ns/sosa/sampling/ +

    +

    The suggested prefix for the sample relationships namespace is sampling

    +

    An ontology + graph for this is available.

    +

    The following figure provides an overview on the classes + and properties that are specifically related to modeling Sample relationships.

    +
    + Sample relationships +
    Model of sample relationships
    +
    + +
    +

    Sample Relationships Specification

    +

    This section introduces the following classes and properties:

    + + +
    +
    sampling:RelationshipNature
    +

    IRI: http://www.w3.org/ns/sosa/sampling/RelationshipNature

    +

    a OWL Class

    + + Nature of relationship (between samples) - + Members of this class indicate the nature of a relationship + between two Samples. + + + + + + + + + + + + + + + +
    Sub class of + skos:Concept +
    ExamplesAdjacent flight-line +
    + Females +
    + Juveniles +
    + Males +
    + Pixel within image or scene +
    + Probe spot on polished specimen +
    + Specimen taken from borehole +
    + Split of core sample +
    + Station along a traverse +
    + Sub-sample with grain size smaller than specified seive mesh +
    is Defined By + http://www.w3.org/ns/sosa/sampling/ +
    + +
    + +
    +
    sampling:SampleRelationship
    +

    IRI: http://www.w3.org/ns/sosa/sampling/SampleRelationship

    +

    a OWL Class

    + + Sample relationship - + Members of this class represent a relationship between a Sample and another. + + + + + + + +
    is Defined By + http://www.w3.org/ns/sosa/sampling/ +
    + +
    + + +
    +
    sampling:hasSampleRelationship
    +

    IRI: http://www.w3.org/ns/sosa/sampling/hasSampleRelationship

    +

    an OWL Object Property

    + + has sample relationship - + Links a sample to a Sample Relationship (which links to a related Sample). +
    + + + + + + + + + + + + + + + +
    Domain Includessosa:Sample
    Range Includessampling:SampleRelationship
    is Defined By + http://www.w3.org/ns/sosa/sampling/ +
    + +
    + +
    +
    sampling:natureOfRelationship
    +

    IRI: http://www.w3.org/ns/sosa/sampling/natureOfRelationship

    +

    an OWL Object Property

    + + nature of (sample) relationship - + Links a Sample Relationship to an indication of the nature of the + relationship. +
    + + + + + + + + + + + + + + + +
    Domain Includessampling:SampleRelationship
    Range Includessampling:SampleRelationship
    is Defined By + http://www.w3.org/ns/sosa/sampling/ +
    + +
    + +
    +
    sampling:relatedSample
    +

    IRI: http://www.w3.org/ns/sosa/sampling/relatedSample

    +

    an OWL Object Property

    + + related sample - + Links a Sample Relationship to the related Sample. +
    + + + + + + + + + + + + + + + +
    Domain Includessampling:SampleRelationship
    Range Includessosa:Sample +
    is Defined By + http://www.w3.org/ns/sosa/sampling/ +
    + +
    + + +
    +
    +
    + +
    +

    Vertical Segmentation

    +

    This section introduces the specifications for the vertical segmentation modules that align SOSA and SSN to a + variety of related ontologies and specifications.

    +
    +

    OMS Alignment Module

    +

    This section introduces the alignment of SOSA and SSN to Observations, measurements and samples [[OMS]]. OMS is + the latest edition of the OGC and ISO standard previously known as Observations and Measurements [[OandM]], + which was a key influence and input in the development of SSN. + This module serves to provide a detailed mapping of SOSA terms to discrete requirements in [[OMS]] thus + explaining how SOSA and SSN provide an RDF and OWL/RDFS implementation of OMS (repectively).

    +

    + Note that [[OMS]] is formalized using UML, which does not provide accessible global identifiers for terms in the + structure model. + However, each UML element (class or property) satisfies a formal requirement, which are each individually + denoted + by a URI in the [[OMS]] specification. + For example, the conceptual Observation class in OMS corresponds to the requirement +

    http://www.opengis.net/spec/om/3.0/req/obs-cpt/Observation/Observation-sem
    . + So here we use the requirement URI to denote the corresponding UML class or property.

    +

    Within the RDF representation of the alignment, we use the predicate ogc-ms:implements to link a + SOSA term to the corresponding OMS class or property, defined as follows:

    +

    ogc-ms:implements a owl:ObjectProperty ;
    +      rdfs:subPropertyOf dcterms:source , prov:wasDerivedFrom , doap:implements . 
    +

    +
    +

    Namespaces

    +

    The following namespace prefixes are used in the alignment of SOSA + and SSN to OMS

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Prefix Namespace
    sosa: http://www.w3.org/ns/sosa/ +
    sosa-oms: http://www.w3.org/ns/sosa/oms/ +
    ogc-ms: http://www.opengis.net/def/ont/modspec/ +
    obs-cpt: http://www.opengis.net/spec/om/3.0/req/obs-cpt/ +
    obs-core: http://www.opengis.net/spec/om/3.0/req/obs-core/ +
    sam-cpt: http://www.opengis.net/spec/om/3.0/req/sam-cpt/ +
    sam-basic: http://www.opengis.net/spec/om/3.0/req/sam-basic/ +
    +
    +
    +

    New terms

    +

    + A number of terms in OMS do not have matches in the SSN Ontology. +

    +

    This section introduces the following classes and properties:

    + +
    +
    sosa-oms:SpatialSample
    +

    IRI: http://www.w3.org/ns/sosa/oms/SpatialSample

    +

    a OWL Class

    + + Spatial Sample - + A SpatialSample is a geospatial Sample. When observations are + made to estimate properties of a geospatial feature, in particular where the value of a property varies + within the scope of the feature, a SpatialSample is used. + + + + + + + + + + + + + + + + + + + +
    Sub class of + sosa:Sample +
    Examples + borehole + , interval + , flightline + , lidar cloud + , map horizon + , microscope slide + , mine level + , mine + , observation well + , profile + , quadrat + , scene + , section + , spot + , station + , swath + , trajectory + , traverse +
    Note + Depending on accessibility and on the nature of the expected property + variation, the SpatialSample may be extensive in one, two or three spatial dimensions. +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:MaterialSample
    +

    IRI: http://www.w3.org/ns/sosa/oms/MaterialSample

    +

    a OWL Class

    + + Material Sample - + A MaterialSample is a physical, tangible Sample. + + + + + + + + + + + + + + + + + + + +
    Sub class of + sosa:Sample +
    Examples + A piece of rock + , a blood sample + , a water sample +
    Note + MaterialSamples that are curated and preserved are sometimes known as + 'specimens'. +
    + MaterialSamples may be destroyed in connexion with the observation act or a + subsequent preparation step. +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:StatisticalSample
    +

    IRI: http://www.w3.org/ns/sosa/oms/StatisticalSample

    +

    a OWL Class

    + + Statistical Sample - + A StatisticalSample is a statistical subset of a + feature-of-interest, defined for the purpose of creating Observation(s). + + + + + + + + + + + + + + + + + + + +
    Sub class of + sosa:Sample +
    Examples + The male or female subset of a population. +
    Note + StatisticalSamples usually apply to populations or other sets, of which + certain subset may be of specific interest. +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:ObservingProcedure
    +

    IRI: http://www.w3.org/ns/sosa/oms/ObservingProcedure

    +

    a OWL Class

    + + Observing Procedure - + The description of steps performed in order to determine the + value of an ObservableProperty by an Observer. + + + + + + + + + + + + + + + + + + + +
    Sub class of + sosa:Procedure +
    Examples + A workflow, protocol, plan, algorithm, or computational method + specifying how to make an observation; the description of the process utilized by an observer. This + could be a chemical analysis method, a protocol for measuring an object, but could also be a + checklist utilized by a human observer during a biodiversity campaign. +
    Note + The observing procedure cannot describe a sensor instance, but it can + describe the sensor type. +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:ActuationProcedure
    +

    IRI: http://www.w3.org/ns/sosa/oms/ActuationProcedure

    +

    a OWL Class

    + + Actuation Procedure - + The description of steps performed by an Actuator to change the + ActuableProperty. + + + + + + + + + + + + + + + +
    Note + ActuationProcedure is not mentioned in OMS, which does not address + Actuation. It is added here since it is trivially symmetric with the other procedure classes. +
    Sub class of + sosa:Procedure +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:SamplingProcedure
    +

    IRI: http://www.w3.org/ns/sosa/oms/SamplingProcedure

    +

    a OWL Class

    + + Sampling Procedure - + The description of steps performed by a Sampler in order to + extract a Sample from its sampled Feature in the frame of a Sampling. + + + + + + + + + + + +
    Sub class of + sosa:Procedure +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:PreparationProcedure
    +

    IRI: http://www.w3.org/ns/sosa/oms/PreparationProcedure

    +

    a OWL Class

    + + Preparation Procedure - + The description of preparation steps performed on a + Sample. + + + + + + + + + + + +
    Sub class of + sosa:Procedure +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:PreparationStep
    +

    IRI: http://www.w3.org/ns/sosa/oms/PreparationStep

    +

    a OWL Class

    + + Preparation Step - + A PreparationStep is an individual step pertaining to a Sample + PreparationProcedure. + + + + + + + +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + + +
    +
    sosa-oms:hasPreparationStep
    +

    IRI: http://www.w3.org/ns/sosa/oms/hasPreparationStep

    +

    an OWL Object Property

    + + has preparation step - + Link to a preparation step used to prepare the sample +
    + + + + + + + + + + + + + + + +
    Domain Includes + sosa:Sample +
    Range Includes + sosa-oms:PreparationStep +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + +
    + +
    +
    sosa-oms:madeOnPlatform
    +

    IRI: http://www.w3.org/ns/sosa/oms/madeOnPlatform

    +

    an OWL Object Property

    + + made on platform - + Relation between an Observation and the Platform the Sensor was + attached to at the time the observation was made. + + + + + + + + + + + + + + + +
    Domain Includes + sosa:Observation + , sosa:ObservationCollection +
    Range Includes + sosa:Platform +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:metadata
    +

    IRI: http://www.w3.org/ns/sosa/oms/metadata

    +

    an OWL Object Property

    + + metadata - + Links an individual to a metadata description +
    + + + + + + + + + + + +
    Domain Includes + sosa:FeatureOfInterest , + sosa:ObservableProperty , + sosa:Observation , + sosa:ObservationCollection , + sosa:Sample + , + sosa:SampleCollection , + sosa:Sampling , + sosa-oms:PreparationStep , + sosa:Procedure , + sosa:Sensor + , + sosa:Platform , + sosa:Deployment +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + +
    + +
    +
    sosa-oms:observationType
    +

    IRI: http://www.w3.org/ns/sosa/oms/observationType

    +

    an OWL Object Property

    + + observation type - + Information providing further detail on the type of + Observations. + + + + + + + + + + + +
    Domain Includes + sosa:Observation +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:preparedSample
    +

    IRI: http://www.w3.org/ns/sosa/oms/preparedSample

    +

    an OWL Object Property

    + + prepared sample - + The Sample on which the PreparationProcedure is + performed. + + + + + + + + + + + + + + + +
    Domain Includes + sosa-oms:PreparationStep +
    Range Includes + sosa:Sample +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:processingDetails
    +

    IRI: http://www.w3.org/ns/sosa/oms/processingDetails

    +

    an OWL Object Property

    + + processing details - + The PreparationProcedure used by the PreparationStep. + + + + + + + + + + + + + + + +
    Domain Includes + sosa-oms:PreparationStep +
    Range Includes + sosa-oms:PreparationProcedure +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:relatedObservation
    +

    IRI: http://www.w3.org/ns/sosa/oms/relatedObservation

    +

    an OWL Object Property

    + + related observation - + Relation to an Observation. + + + + + + + + + + + + + + + +
    Domain Includes + sosa:Sample + , sosa:ObservableProperty + , sosa-oms:ObservingProcedure + , sosa:Sensor + , sosa:Platform + , sosa:Observation + , sosa:ObservationCollection +
    Range Includes + sosa:Observation +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:relatedSampling
    +

    IRI: http://www.w3.org/ns/sosa/oms/relatedSampling

    +

    an OWL Object Property

    + + related sampling - + Relation to an act of Sampling. + + + + + + + + + + + + + + + +
    Domain Includes + sosa:Sampling +
    Range Includes + sosa:Sampling +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:resultQuality
    +

    IRI: http://www.w3.org/ns/sosa/oms/resultQuality

    +

    an OWL Object Property

    + + observation result quality - + Information pertaining to the data quality of the result. + + + + + + + + + + + + + + + +
    Note + This instance-specific description complements the description of the + observation Procedure, which provides information concerning the quality of all observations using + this procedure. +
    + The quality of a result can be assessed following the procedures in the ISO + 19157 series. Multiple measures can be provided. +
    + dqv:hasQualityMeasurement + from the Data Quality Vocabulary is equivalent +
    Domain Includes + sosa:Observation + , sosa:ObservationCollection +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:samplePreparationStep
    +

    IRI: http://www.w3.org/ns/sosa/oms/samplePreparationStep

    +

    an OWL Object Property

    + + sample preparation step - + A PreparationStep that uses the PreparationProcedure. + + + + + + + + + + + + + + + +
    Domain Includes + sosa-oms:PreparationProcedure +
    Range Includes + sosa-oms:PreparationStep +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    sosa-oms:validTime
    +

    IRI: http://www.w3.org/ns/sosa/oms/validTime

    +

    an OWL Object Property

    + + valid time - + The time interval during which the result is assumed to be + applicable for use. + + + + + + + + + + + + + + + +
    Domain Includes + sosa:Observation + , sosa:Sampling +
    Range Includes + time:Interval + , dcterms:PeriodOfTime +
    is Defined By + http://www.w3.org/ns/sosa/oms/ +
    + + +
    + +
    +
    +

    Class Alignments

    +

    The following classes used in SOSA can be aligned as follows.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    sosa:Deployment ogc-ms:implements obs-cpt:Deployment
    sosa-oms:MaterialSample ogc-ms:implements sam-basic:MaterialSample
    sosa:ObservableProperty ogc-ms:implements obs-cpt:ObservableProperty
    sosa:Observation ogc-ms:implements obs-cpt:Observation
    sosa:ObservationCollection ogc-ms:implements obs-core:AbstractObservationCollection
    sosa-oms:ObservingProcedure ogc-ms:implements obs-cpt:ObservingProcedure
    sosa:Platform ogc-ms:implements obs-cpt:Host
    sosa-oms:PreparationProcedure ogc-ms:implements sam-cpt:PreparationProcedure
    sosa-oms:PreparationStep ogc-ms:implements sam-cpt:PreparationStep
    sosa:Procedure ogc-ms:implements obs-cpt:Procedure
    sosa:Sample ogc-ms:implements sam-cpt:Sample
    sosa:SampleCollection ogc-ms:implements sam-basic:SampleCollection
    sosa:Sampler ogc-ms:implements sam-cpt:Sampler
    sosa:Sampling ogc-ms:implements sam-cpt:Sampling
    sosa-oms:SamplingProcedure ogc-ms:implements sam-cpt:SamplingProcedure
    sosa:Sensor ogc-ms:implements obs-cpt:Observer
    sosa-oms:SpatialSample ogc-ms:implements sam-basic:SpatialSample
    sosa-oms:StatisticalSample ogc-ms:implements sam-basic:StatisticalSample
    +
    +
    +

    Property Alignments

    +

    The following properties used in SOSA can be aligned as follows.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -6178,7 +7650,7 @@

    Property Alignments

    - + @@ -6188,13 +7660,17 @@

    Property Alignments

    sosa:deployedOnPlatform ogc-ms:implements obs-cpt:Deployment/host-sem
    sosa:deployedSystem ogc-ms:implements obs-cpt:Deployment/observer-sem
    sosa:hasDeployment ogc-ms:implements obs-cpt:Observer/deployment-sem
    sosa:hasFeatureOfInterest ogc-ms:implements obs-cpt:Observation/featureOfInterest-sem ,
    + obs-core:AbstractObservationCharacteristics/pFoI-sem ,
    sam-cpt:Sampling/featureOfInterest-sem +
    sosa:hasMember ogc-ms:implements sam-basic:SampleCollection/member-sem ,
    obs-core:AbstractObservationCollection/member-sem
    sosa-oms:hasPreparationStep ogc-ms:implements sam-cpt:Sample/preparationStep-sem
    sosa:hasResult ogc-ms:implements obs-cpt:Observation/result-sem ,
    sam-cpt:Sampling/sample-sem
    sosa:hasSampledFeature ogc-ms:implements sam-cpt:Sample/sampledFeature-sem
    sosa:hasSimpleResult ogc-ms:implements obs-cpt:Observation/result-sem
    sosa:hasUltimateFeatureOfInterest ogc-ms:implements obs-core:AbstractObservationCharacteristics/uFoI-sem
    sosa:implementedBy ogc-ms:implements obs-cpt:ObservingProcedure/observer-sem ,
    sam-cpt:SamplingProcedure/sampler-sem
    sosa:implements ogc-ms:implements obs-cpt:Observer/observingProcedure-sem ,
    sam-cpt:Sampling/samplingProcedure-sem ,
    sam-cpt:PreparationStep/processingDetails-sem
    obs-cpt:Observer/observingProcedure-sem ,
    sam-cpt:Sampling/samplingProcedure-sem ,
    + sam-cpt:PreparationStep/processingDetails-sem
    sosa:inDeployment
    sosa:usedProcedure ogc-ms:implements obs-cpt:Observation/observingProcedure-sem ,
    sam-cpt:Sampling/samplingProcedure-sem
    obs-cpt:Observation/observingProcedure-sem ,
    sam-cpt:Sampling/samplingProcedure-sem
    sosa-oms:validTime
    -
    +

    Dolce-Ultralite Alignment Module

    -

    This section introduces the alignment of SSN to the DOLCE UltraLite upper ontology (DUL) which is the core dependency of the previous version of SSN. This serves to +

    This section introduces the alignment of SSN to the DOLCE UltraLite upper ontology (DUL) which is the core + dependency of the previous version of SSN. This serves to axiomatically clarify the intended meaning of SSN terms and will assist - SSN users wishing to interoperate with other DUL-aligned ontologies. It is also imported in the SSNX alignment module that aligns SSN to the previous version of SSN. Note, however, that the DUL alignment can be used independently to align SSN with more generic concepts/properties of DUL.

    - The DUL alignment, known as "ssn-dul" is available at http://www.w3.org/ns/ssn/dul. + SSN users wishing to interoperate with other DUL-aligned ontologies. It is also imported in the SSNX alignment + module that aligns SSN to the previous version of SSN. Note, however, that the DUL alignment can be used + independently to align SSN with more generic concepts/properties of DUL.

    + The DUL alignment, known as "ssn-dul" is available at http://www.w3.org/ns/ssn/dul.

    Namespaces

    The following namespace prefixes are used in the alignment to SOSA @@ -6217,7 +7693,8 @@

    Namespaces

    dul: - http://www.ontologydesignpatterns.org/ont/dul/DUL.owl# + http://www.ontologydesignpatterns.org/ont/dul/DUL.owl# @@ -6238,7 +7715,7 @@

    Class Alignments

    subclass of dul:Method - + sosa:Sensor subclass of dul:Object @@ -6264,7 +7741,7 @@

    Class Alignments

    dul:Object - sosa:Platform + sosa:Platform subclass of dul:Object @@ -6279,120 +7756,121 @@

    Class Alignments

    - - - - - - - - - + + + + + + + + + + +
    sosa:Result subclass of owl:unionOf ( dul:Region dul:Object )
    (not (oldsosa:Observation)) and (old-sosa:observationResult some owl:Thing) subclass of sosa:Observation
    sosa:Result subclass of owl:unionOf ( dul:Region dul:Object )
    (not (oldsosa:Observation)) and (old-sosa:observationResult some owl:Thing) subclass of sosa:Observation
    +
    +
    +

    Property Alignments

    +

    Additional alignments from SOSA/SSN to DUL properties are defined as + follows.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    sosa:hasProperty sub-property of dul:hasQuality
    sosa:isPropertyOf sub-property of dul:isQualityOf
    sosa:hosts sub-property of dul:isLocationOf
    sosa:isHostedBy sub-property of dul:hasLocation
    sosa:implementedBy sub-property of dul:describes
    sosa:implements sub-property of dul:isDescribedBy
    sosa:usedProcedure sub-property of dul:hasParticipant
    sosa:madeObservation sub-property of dul:associatedWith
    sosa:madeBySensor sub-property of dul:associatedWith
    sosa:observedProperty sub-property of dul:associatedWith
    sosa:hasResult sub-property of dul:associatedWith
    sosa:phenomenonTime sub-property of dul:hasRegion
    sosa:hasSubSystem sub-property of dul:hasPart
    sosa:deployedOnPlatform sub-property of dul:associatedWith
    sosa:deployedSystem sub-property of dul:associatedWith
    sosa:hasDeployment sub-property of dul:associatedWith
    sosa:inDeployment sub-property of dul:associatedWith
    -
    -
    -

    Property Alignments

    -

    Additional alignments from SOSA/SSN to DUL properties are defined as - follows.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    sosa:hasProperty sub-property of dul:hasQuality
    sosa:isPropertyOf sub-property of dul:isQualityOf
    sosa:hosts sub-property of dul:isLocationOf
    sosa:isHostedBy sub-property of dul:hasLocation
    sosa:implementedBy sub-property of dul:describes
    sosa:implements sub-property of dul:isDescribedBy
    sosa:usedProcedure sub-property of dul:hasParticipant
    sosa:madeObservation sub-property of dul:associatedWith
    sosa:madeBySensor sub-property of dul:associatedWith
    sosa:observedProperty sub-property of dul:associatedWith
    sosa:hasResult sub-property of dul:associatedWith
    sosa:phenomenonTime sub-property of dul:hasRegion
    sosa:hasSubSystem sub-property of dul:hasPart
    sosa:deployedOnPlatform sub-property of dul:associatedWith
    sosa:deployedSystem sub-property of dul:associatedWith
    sosa:hasDeployment sub-property of dul:associatedWith
    sosa:inDeployment sub-property of dul:associatedWith
    -
    +

    SSNX Alignment Module

    This section formally relates the SSN ontology to the previous version of SSN that was published by the SSN-XG ("old SSN"). This may be useful for backward-compatibility and transition purposes. While the namespaces for SSN and DUL have changed since the SSN-XG first published the old SSN, - the SSN alignment, known as "SSN-SSNX" is available at http://www.w3.org/2017/01/ssn-ssnx/. + the SSN alignment, known as "SSN-SSNX" is available at http://www.w3.org/2017/01/ssn-ssnx/. Note that SSN-SSNX imports SSN-DUL.

    @@ -6484,15 +7962,15 @@

    Class Alignments

    equivalent class ssn-system:Sensitivity - + oldsosa:OperatingProperty equivalent class ssn-system:OperatingProperty - + oldsosa:MaintenanceSchedule - equivalent class + equivalent class ssn-system:MaintenanceSchedule @@ -6500,7 +7978,7 @@

    Class Alignments

    equivalent class ssn-system:OperatingPowerRange - + oldsosa:SurvivalProperty equivalent class ssn-system:SurvivalProperty @@ -6517,7 +7995,8 @@

    Class Alignments

    -

    The following classes in SOSA and SSN are interpreted as superclasses of the corresponding ones in SSN-XG.

    +

    The following classes in SOSA and SSN are interpreted as superclasses of the corresponding ones in SSN-XG. +

    @@ -6585,12 +8064,13 @@

    Class Alignments

    - - + +
    subclass of ssn-system:Selectivity
    -

    The more complex aligments of SSN-XG classes are expressed as combinations of axiomatic statements as follows.

    - +

    The more complex aligments of SSN-XG classes are expressed as combinations of axiomatic statements as + follows.

    + @@ -6696,7 +8176,7 @@

    Class Alignments

    - + @@ -6705,7 +8185,7 @@

    Class Alignments

    - + @@ -6848,12 +8328,12 @@

    Property Alignments

    - + - + @@ -6893,7 +8373,7 @@

    Property Alignments

    - + @@ -6934,17 +8414,17 @@

    Property Alignments

    follows.

    [ a owl:Restriction ; owl:onProperty oldsosa:isProducedBy ; owl:someValuesFrom oldsosa:Sensor ]
    oldsosa:ObservationValue subclass of sosa:Result subclass of [ a owl:Restriction ; owl:onProperty dul:isRegionFor ; owl:someValuesFrom oldsosa:SensorOutput ]
    oldsosa:Deployment equivalent class equivalent property sosa:observedProperty
    oldsosa:detects equivalent property sosa:detects
    oldsosa:isProxyFor equivalent property sosa:isProxyFor equivalent property sosa:hasDeployment
    oldsosa:inDeployment equivalent property sosa:inDeployment
    - - - - - - - - - - - + + + + + + + + + + + @@ -6954,7 +8434,7 @@

    Property Alignments

    - + @@ -6978,7 +8458,7 @@

    Property Alignments

    - +
    oldsosa:hasValue sub-property of sosa:hasResult
    oldsosa:observationResult sub-property of sosa:hasResult
    oldsosa:hasValue sub-property of sosa:hasResult
    oldsosa:observationResult sub-property of sosa:hasResult
    oldsosa:hasMeasurementCapability sub-property of ssn-system:hasSystemCapability sub-property of ssn-system:hasSystemProperty
    oldsosa:hasSurvivalRange sub-property of property chain axiom ( oldsosa:madeObservation oldsosa:observedProperty )
    @@ -7005,7 +8485,8 @@

    Namespaces

    oboe: - http://ecoinformatics.org/oboe/oboe.1.0/oboe-core.owl# + http://ecoinformatics.org/oboe/oboe.1.0/oboe-core.owl# @@ -7020,7 +8501,8 @@

    Class Alignments

    therefore choose to align sosa:Observation with oboe:Measurement.

    OBOE core classes - SOSA Observation + SOSA Observation
    Core classes from OBOE alongside the SOSA observation model.

    The primary classes from [[OBOE]] are aligned with SOSA classes as @@ -7124,257 +8606,282 @@

    Property Alignments

    -

    An RDF file containing a graph +

    An RDF file containing a graph corresponding to this alignment is available.

    -

    PROV Alignment Module

    -

    This section introduces the alignment of SOSA to W3C PROV ([[prov-overview]], [[prov-dm]], [[prov-o]]).

    -

    The underlying structure of PROV is based around a process-flow model, with three base classes: Entity, which is the class of physical, digital, conceptual, or other kinds of things with some fixed aspects; Activity, which is the class of things that occur over a period of time and act upon or with entities, and it may include consuming, processing, transforming, modifying, relocating, using, or generating entities; and Agent, the class of things that bear some form of responsibility for an activity taking place, for the existence of an entity, or for another agent's activity.

    -
    - PROV-O - Observation PROV-O - Actuation PROV-O - Sampling PROV-O -
    Core PROV classes and some of the properties that relate them, shown alongside the core SOSA structure for observation, actuation and sampling. Classes generally aligned with prov:Entity in yellow ellipses; with prov:Activity in purple boxes; with prov:Agent in orange boxes.
    -
    +

    PROV Alignment Module

    +

    This section introduces the alignment of SOSA to W3C PROV ([[prov-overview]], [[prov-dm]], [[prov-o]]).

    +

    The underlying structure of PROV is based around a process-flow model, with three base classes: Entity, which is the class of physical, digital, conceptual, + or other kinds of things with some fixed aspects; Activity, which is the class of things that occur over a + period of time and act upon or with entities, and it may include consuming, processing, transforming, + modifying, relocating, using, or generating entities; and Agent, the class of things that bear some form of + responsibility for an activity taking place, for the existence of an entity, or for another agent's activity. +

    +
    + PROV-O + Observation PROV-O + Actuation PROV-O + Sampling PROV-O +
    Core PROV classes and some of the properties that relate them, shown alongside the core SOSA + structure for observation, actuation and sampling. Classes generally aligned with prov:Entity in yellow + ellipses; with prov:Activity in purple boxes; with prov:Agent in orange boxes.
    +
    -

    The SOSA/SSN ontologies conceive observations, actuations, and acts of sampling as activities or events, that results in information being produced, or a change in the world, or the production or transformation of a sample. - Thus, an alignment of SOSA to PROV is natural. - Compton et al. [[SSN-PROV]] and Cox [[OM-Lite]] have previously described alignments of the SSNX and O&M models with [[prov-o]]. - The alignment here is based on that work, also extended to consider actuation.

    - -
    -

    Namespaces

    -

    The following namespace prefixes are used in the alignment of SOSA to PROV.

    - - - - - - - - - - - - - - - - - - - -
    Prefix Namespace
    sosa: http://www.w3.org/ns/sosa/ -
    prov: http://www.w3.org/ns/prov# -
    sp: http://www.w3.org/ns/sosa/prov/ -
    -
    -
    -

    Class Alignments

    -

    The primary classes from SOSA are aligned with the PROV classes as - follows.

    +

    The SOSA/SSN ontologies conceive observations, actuations, and acts of sampling as activities or events, that + results in information being produced, or a change in the world, or the production or transformation of a + sample. + Thus, an alignment of SOSA to PROV is natural. + Compton et al. [[SSN-PROV]] and Cox [[OM-Lite]] have previously described alignments of the SSNX and O&M + models with [[prov-o]]. + The alignment here is based on that work, also extended to consider actuation.

    + +
    +

    Namespaces

    +

    The following namespace prefixes are used in the alignment of SOSA to PROV.

    + + + + + + + + + + + + + + + + + + + +
    Prefix Namespace
    sosa: http://www.w3.org/ns/sosa/ +
    prov: http://www.w3.org/ns/prov# +
    sp: http://www.w3.org/ns/sosa/prov/ +
    +
    +
    +

    Class Alignments

    +

    The primary classes from SOSA are aligned with the PROV classes as + follows.

    1. Acts of Observation, Actuation and Sampling are each kinds of Activity, thus:

    - - - - - - - - - - - - - - -
    sosa:Observation subclass of prov:Activity
    sosa:Actuation
    sosa:Sampling
    -

    2. Sensors, Actuators and Samplers are entities that are responsible for the corresponding activities, thus:

    - - - - - - - - - - - - - - -
    sosa:Sensor subclass of prov:Agent , prov:Entity
    sosa:Actuator
    sosa:Sampler
    + + + + + + + + + + + + + + +
    sosa:Observation subclass of prov:Activity
    sosa:Actuation
    sosa:Sampling
    +

    2. Sensors, Actuators and Samplers are entities that are responsible for the corresponding activities, + thus:

    + + + + + + + + + + + + + + +
    sosa:Sensor subclass of prov:Agent , prov:Entity
    sosa:Actuator
    sosa:Sampler

    3. Procedures for observation, actuation or sampling are a kind of prov:Plan, thus:

    - - - - - - - - -
    sosa:Procedure subclass of prov:Plan
    -

    4. The other classes from the core SOSA ontology represent either real or information resources, so are interpreted as kinds of prov:Entity, thus:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    sosa:FeatureOfInterest subclass of prov:Entity
    sosa:ObservableProperty subclass of prov:Entity
    sosa:Platform subclass of prov:Entity
    sosa:Result subclass of prov:Entity
    sosa:Sample subclass of prov:Entity
    -
    -
    -

    Property Alignments

    -

    The following properties from SOSA have simple alignments with PROV properties:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    sosa:madeByActuator subproperty of prov:wasAssociatedWith
    sosa:hasFeatureOfInterest subproperty of prov:used
    sosa:hasResult subproperty of prov:generated
    sosa:invokedBy subproperty of prov:wasAssociatedWith
    sosa:isResultOf subproperty of prov:wasGeneratedBy
    sosa:isSampleOf subproperty of prov:wasDerivedFrom
    sosa:madeBySampler subproperty of prov:wasAssociatedWith
    sosa:madeBySensor subproperty of prov:wasAssociatedWith
    sosa:resultTime subproperty of prov:endedAtTime
    + + + + + + + + +
    sosa:Procedure subclass of prov:Plan
    +

    4. The other classes from the core SOSA ontology represent either real or information resources, so are + interpreted as kinds of prov:Entity, thus:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    sosa:FeatureOfInterest subclass of prov:Entity
    sosa:ObservableProperty subclass of prov:Entity
    sosa:Platform subclass of prov:Entity
    sosa:Result subclass of prov:Entity
    sosa:Sample subclass of prov:Entity
    +
    +
    +

    Property Alignments

    +

    The following properties from SOSA have simple alignments with PROV properties:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    sosa:madeByActuator subproperty of prov:wasAssociatedWith
    sosa:hasFeatureOfInterest subproperty of prov:used
    sosa:hasResult subproperty of prov:generated
    sosa:invokedBy subproperty of prov:wasAssociatedWith
    sosa:isResultOf subproperty of prov:wasGeneratedBy
    sosa:isSampleOf subproperty of prov:wasDerivedFrom
    sosa:madeBySampler subproperty of prov:wasAssociatedWith
    sosa:madeBySensor subproperty of prov:wasAssociatedWith
    sosa:resultTime subproperty of prov:endedAtTime
    -

    The final property alignment first requires some sub-properties of PROV properties to be defined:

    +

    The final property alignment first requires some sub-properties of PROV properties to be defined:

    - - - - - - - - - - - - - - - - - - - - - -
    sp:eventAssociation subproperty of prov:qualifiedAssociation
    domain Union of ( sosa:Observation or sosa:Actuation or sosa:Sampling )
    sp:hadProcedure subproperty of prov:hadPlan
    range sosa:Procedure
    + + + + + + + + + + + + + + + + + + + + + +
    sp:eventAssociation subproperty of prov:qualifiedAssociation
    domain Union of ( sosa:Observation or sosa:Actuation or sosa:Sampling )
    sp:hadProcedure subproperty of prov:hadPlan
    range sosa:Procedure
    -

    Then sosa:usedProcedure is given by a property chain axiom:

    - - - - - - - - - -
    sosa:usedProcedure property chain axiom [ sp:eventAssociation , sp:hadProcedure ]
    +

    Then sosa:usedProcedure is given by a property chain axiom:

    + + + + + + + + + +
    sosa:usedProcedure property chain axiom [ sp:eventAssociation , sp:hadProcedure ]
    -

    An RDF file containing a graph corresponding to this alignment is available.

    +

    An RDF file containing a graph corresponding to this + alignment is available.

    +
    + +
    +

    Common Modeling Questions

    + This section informally discusses how to handle common modeling questions such as locations, forecasts, and + quantity values with a unit of measure. + +
    +

    Location

    +

    Many of the key classes provided by SOSA and SSN represent entities that can be located in space + such as sensors, features of interest, actuators, samples, and so forth, or activities that can be + located via their participating entities, e.g., platforms. These entities will usually be described using + models and ontologies defined for application domains, including technical disciplines, social and business + contexts. In these contexts there are a number of implementations that support the expression of spatial + properties, including location. These are discussed further in the Spatial Data on the Web Best Practices + note [[SDW-BP]].

    +

    In particular, GeoSPARQL [[GeoSPARQL]] provides a flexible and relatively complete platform for geospatial + objects, that fosters interoperability + between geo-datasets. To do so, these entities can be declared as instances of geo:Feature and geometries can + be + assigned to them via the geo:hasGeometry property. In case of classes, e.g., specific features of + interests such as rivers, these can be defined as subclasses of geo:Feature.

    +

    For example, if observations are made of the atmosphere at a specific location, it might be described as a + Sample using the following pattern:

    +
    
    +
           
    -
    -

    Common Modeling Questions

    - This section informally discusses how to handle common modeling questions such as locations, forecasts, and quantity values with a unit of measure. - -
    -

    Location

    -

    Many of the key classes provided by SOSA and SSN represent entities that can be located in space - such as sensors, features of interest, actuators, samples, and so forth, or activities that can be - located via their participating entities, e.g., platforms. These entities will usually be described using - models and ontologies defined for application domains, including technical disciplines, social and business - contexts. In these contexts there are a number of implementations that support the expression of spatial - properties, including location. These are discussed further in the Spatial Data on the Web Best Practices - note [[SDW-BP]].

    -

    In particular, GeoSPARQL [[GeoSPARQL]] provides a flexible and relatively complete platform for geospatial objects, that fosters interoperability - between geo-datasets. To do so, these entities can be declared as instances of geo:Feature and geometries can be - assigned to them via the geo:hasGeometry property. In case of classes, e.g., specific features of - interests such as rivers, these can be defined as subclasses of geo:Feature.

    -

    For example, if observations are made of the atmosphere at a specific location, it might be described as a Sample using the following pattern:

    -
    
    -
    -     
    - -
    -

    Forecasts

    +
    +

    Forecasts

    One may also represent forecasts as observations if the value of sosa:phenomenonTime - is later in time than the sosa:resultTime. Given the - definition of these terms, it means that: The time when the - Observation act was completed is before the time that the Result of - the observation applies to the FeatureOfInterest.

    + is later in time than the sosa:resultTime. Given the + definition of these terms, it means that: The time when the + Observation act was completed is before the time that the Result of + the observation applies to the FeatureOfInterest.

    Other means to represent forecasts are reported, but not in the scope of this specification. For example [[Lefrancois-et-al-2017]] derives the SSN Sensing/Sensor/Observation @@ -7382,595 +8889,728 @@

    Forecasts

    classes.

    Describing a plan for some actuation or observation in the future is not covered by this specification.

    -
    - -
    -

    Quantity Values and Unit of Measures

    -

    The result of an sosa:Observation or an sosa:Actuation can be a quantity value with a numeric value and a unit of measure. - -

    It is not in the scope of this specification to recommend any particular way of expressing results as quantity values. - There exist external vocabularies that are specifically designed for modeling quantity values as OWL individuals, or as datatypes. - Examples include the Quantities, Units, Dimensions and Data Types Ontologies (QUDT, [[QUDT]]) the Ontology of Units of Measure (OM, [[Rijgersberg-et-al-2013]]), and the St Etienne School of Mines Custom Datatypes (CDT, [[CDT]]).

    - -

    Custom datatypes are not strictly compatible with OWL, which restricts the set of datatypes that can be used. See sec. 5.2 in [[owl2-syntax]] for more details.

    -
    
    -
    
    -
          
    -
          
    -     
    - -
    -

    Generic or Specific Instances of sosa:Property

    -

    The previous version of SOSA/SSN left an ambiguity on whether an instance of sosa:Property should be generic to all features of interest (e.g., ex:Temperature, - ex:OnOffStatus), or specific to a single feature of interest (e.g., <myBodyTemperature>, <LightStatus>). This version solves the ambiguity by differentiating:

    -
      +
    + +
    +

    Quantity Values and Unit of Measures

    +

    The result of an sosa:Observation or an sosa:Actuation can be a quantity value with a numeric value and a + unit of measure. + +

    It is not in the scope of this specification to recommend any particular way of expressing + results as quantity values. + There exist external vocabularies that are specifically designed for modeling quantity values as OWL + individuals, or as datatypes. + Examples include the Quantities, Units, Dimensions and Data Types Ontologies (QUDT, [[QUDT]]) the Ontology of + Units of Measure (OM, [[Rijgersberg-et-al-2013]]), and the St Etienne School of Mines Custom Datatypes + (CDT, [[CDT]]).

    + +

    Custom datatypes are not strictly compatible with OWL, which restricts the set of datatypes that + can be used. See sec. 5.2 in [[owl2-syntax]] for more details.

    +
    
    +        
    
    +        
    
    +        
    
    +      
    + +
    +

    Generic or Specific Instances of sosa:Property

    +

    The previous version of SOSA/SSN left an ambiguity on whether an instance of sosa:Property should be generic to all features of interest (e.g., + ex:Temperature, + ex:OnOffStatus), or specific to a single feature of interest (e.g., + <myBodyTemperature>, <LightStatus>). This version solves the ambiguity + by differentiating: +

    + -
    + +
    -
    -

    Generic or Specific Instances of sosa:System

    -

    This specification does not specify whether an instance of sosa:System should be generic (e.g., ex:TemperatureSensor, - ex:LightActuator), or specific to a single feature of interest (e.g., <temperatureSensor/84>, <light/112>). - Implementers are free to choose one way of modeling things or the other. -

    -

    On the other hand, one SHOULD NOT use OWL punning to make ex:Temperature denote both a subclass of - sosa:Property and an instance of sosa:Property. In fact, merging the two examples below in a - single RDF Graph would make an OWL reasoner infer that ex:TemperatureSensor, <TemperatureSensor/1>, and - <TemperatureSensor/2>, denote the same individual.

    -

    This also holds for subclasses of sosa:System: sosa:Sensor, sosa:Actuator, and sosa:Sampler.

    -

    This first example is modeling instances of sosa:System as generic:

    -
    
    -         

    This second example is modeling instances of sosa:System as specific:

    -
    
    -        
    +
    +

    Generic or Specific Instances of sosa:System

    +

    This specification does not specify whether an instance of sosa:System + should be generic (e.g., ex:TemperatureSensor, + ex:LightActuator), or specific to a single feature of interest (e.g., + <temperatureSensor/84>, <light/112>). + Implementers are free to choose one way of modeling things or the other. +

    +

    On the other hand, one SHOULD NOT use OWL + punning to make ex:Temperature denote both a subclass of + sosa:Property and an instance of sosa:Property. In fact, merging the + two examples below in a + single RDF Graph would make an OWL reasoner infer that ex:TemperatureSensor, + <TemperatureSensor/1>, and + <TemperatureSensor/2>, denote the same individual. +

    +

    This also holds for subclasses of sosa:System: sosa:Sensor, sosa:Actuator, and + sosa:Sampler.

    +

    This first example is modeling instances of sosa:System as generic: +

    +
    
    +        

    This second example is modeling instances of sosa:System as specific: +

    +
    
    +      
    -
    +
    -

    Wide review

    -

    Results of the wide review of SOSA and SSN is summarized here.

    - -
    - -
    -

    Complete Examples

    -
    -

    iPhone Barometer

    -
    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    +      

    Wide review

    +

    Results of the wide review of SOSA and SSN is summarized here.

    + +
    + +
    +

    Complete Examples

    +
    +

    iPhone Barometer

    + -
    -
    -

    Coal Oil Point Reserve

    -
    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    +      
    +
    +

    Coal Oil Point Reserve

    + -
    -
    -

    apartment 134

    - -
    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    -          
    - - -
    - -
    -

    Tree height measurement

    - -
    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    -          
    - - -
    - -
    -

    Seismographs

    - -
    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    -          
    - - -
    - -
    -

    Number of sunspots

    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    -        
    - -
    -

    Wind sensor spinning cups

    - -
    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    -          
    - - -
    +
    +
    +

    apartment 134

    + +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +        
    + + +
    -
    -

    Ice Core

    - -
    -

    In order to characterize a thing with a large extent, or which is not directly accessible, the usual observational strategy is to obtain one or more samples. Observations may then be made more conveniently on the samples, with the intention of characterizing the larger thing. This intentionality is captured using the property sosa:isSampleOf.

    -

    In the following example, the ice core is a sample of the Antarctic ice sheet, and observations are made on the ice core.

    -

    A convenient side effect of this feature is that all observations related to the larger thing (the ice sheet) can be found, and then potentially joined together in a meta-analysis in order to characterize that.

    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    -          
    - - -
    +
    +

    Tree height measurement

    + +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +        
    + + +
    -
    -

    DHT22 Description

    - -
    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    -          
    - - -
    +
    +

    Seismographs

    + +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +        
    + + +
    +
    +

    Number of sunspots

    +

    An RDF file containing a graph corresponding to + this example is available.

    +
    
    +      
    -
    -

    DHT22 Deployment

    - -
    -

    This example shows how the conditions (temperature and humidity) in a room may be measured using one or more sensors. Each sensor observes the conditions in its immediate vicinity, and the values are then used to characterize the room.

    -

    In Room 145 one of the walls is external in the building, so there is expected to be a temperature gradient across the room, and there are two sensors on different walls. In room 245 there is one sensor on the south wall. Each of these locations corresponds to a sosa:Sample of the entire room. The wall also serves as a sosa:Platform on which the sensors are mounted.

    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    -          
    - -
    -
    -

    IP68 Smart Sensor

    -
    -

    This example describes the IP68 Smart Sensor that and some of its capabilities and operating ranges. A specific IP68 Smart Sensor observes the air temperature, and its own battery state.

    -

    An RDF file containing a graph corresponding to this example is available.

    -
    
    -          
    -
    +
    +

    Wind sensor spinning cups

    + +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +        
    + + +
    + +
    +

    Ice Core

    + +
    +

    In order to characterize a thing with a large extent, or which is not directly accessible, the usual + observational strategy is to obtain one or more samples. Observations may then be made more conveniently on + the samples, with the intention of characterizing the larger thing. This intentionality is captured using + the property sosa:isSampleOf.

    +

    In the following example, the ice core is a sample of the Antarctic ice sheet, and observations are made on + the ice core.

    +

    A convenient side effect of this feature is that all observations related to the larger thing (the ice + sheet) can be found, and then potentially joined together in a meta-analysis in order to characterize that. +

    +

    An RDF file containing a graph corresponding + to this example is available.

    +
    
    +        
    + + +
    +
    +

    DHT22 Description

    + +
    +

    An RDF file containing a graph corresponding to + this example is available.

    +
    
    +        
    + +
    -
    -

    Acknowledgments

    - The Editors recognize the major contribution of the members of the - original W3C Semantic Sensor Networks Incubator Group. The editors also - gratefully acknowledge the contributions made to this document by all - members of the SSN subgroup of the Spatial Data on the Web working - group.
    -
    -

    Change History

    -

    A full change-log is available on GitHub.

    -

    Changes since Original - (https://www.w3.org/2005/Incubator/ssn/XGR-ssn-20110628/)

    -
      -
    1. The DUL ontology, that was imported in SSN, is no - longer imported and all axioms using terms from DUL have been - removed from SSN and collected in the DUL-SSN alignment module.
    2. -
    3. The namespace was changed to match the planned namespace for this - publication.
    4. -
    5. The modularization as presented here, including the core, is - entirely new.
    6. -
    -

    Changes since 1st Public Working Draft - (http://www.w3.org/TR/2016/WD-vocab-ssn-20160531/)

    -
      -
    1. Correction to include some SSN terms that were unintentionally - dropped from the FPWD. Correction to remove an asserted subclass of - owl:Thing that was introduced into FPWD (these were both by-products - of the DUL removal).
    2. -
    3. Correction to some https namespace usage that crept into the FPWD.
    4. -
    5. Transition to the new namespace used by the DUL module.
    6. -
    7. Inclusion of the DUL alignment and the old SSN (of the SSN-XG) - alignment.
    8. -
    9. sosa:Sensor has been changed to be a subclass of dul:Object - instead of dul:Physical Object.
    10. -
    11. Various typography and spelling errors and consistency of - expression in annotation properties have been improved. These do not - induce any changes in the intended meaning of the terms.
    12. -
    13. Specgen 6 has been used to generate the ontology documentation. - The popular sketch of SSN structure has been removed.
    14. -
    15. Object properties sosa:isValueOf, sosa:produces and - sosa:featureInObservation, along with a propertychain subproperty of - produces and another propertychain subproperty of hasProperty, were - introduced unintentionally in the FPWD.
    16. -
    -

    Changes since 2nd Public Working Draft - (https://www.w3.org/TR/2017/WD-vocab-ssn-20170105/)

    -
      -
    1. Changed meta prefix declaration to schema
    2. -
    3. Added voaf:Vocabulary class to ontology instances
    4. -
    5. Added dcterms:license statements
    6. -
    7. Added vann:preferredNamespacePrefix and vann:preferredNamespaceUri - statements
    8. -
    9. Added SOSA and SSN alignment
    10. -
    11. Added SSN/SOSA alignments with O&M
    12. -
    13. Consistently added Capitalization of all ontology terms in all - rdfs:comments
    14. -
    15. Addressed naming inconsistency with changes in name to - isObservedBy/observes, madeBySensor/madeObservation
    16. -
    17. Use skos:examples to describe examples of classes/properties
    18. -
    19. Removed history skos:historyNote
    20. -
    21. SOSA-specific changes: -
        -
      • Various typography and spelling errors and consistency of - expression in annotation properties have been improved
      • -
      • Added "sosa:hasResult meta:domainIncludes sosa:Actuation" and - "sosa:isResultOf meta:rangeIncludes sosa:Actuation"
      • -
      • Changed the defintion of FeatureofInterest to account for - actuators
      • -
      • Introduced sosa:actsOnProperty and its inverse property - sosa:isActedOnBy
      • -
      • Added madeBySensor property
      • -
      • Renamed invokes and invokedBy to madeActuation and - madeByActuator
      • -
      • Changed hostedBy to isHostedBy
      • -
      • Added Sampler (device) and Sampling (act) to SOSA
      • -
      • Added madeSampling and madeBySampler properties
      • -
      • Added Sample to range of hasResult, and to domain or isResultOf
      • -
      • Added hasSimpleResult and hasResult instead of hasValue
      • -
      • Added ObservableProperty and ActuatableProperty
      • -
      • Changed rdfs:comment and skos:definition of sosa:Platform
      • -
      • Refined sosa:Result
      • -
      • Changed sosa:madeByActuator to sosa:actuationMadeBy
      • -
      • Added schema:domainIncludes sosa:Sampling to - sosa:observedProperty
      • -
      • Added schema:rangeIncludes time:TemporalEntity and - schema:domainIncludes sosa:Sampling to sosa:phenomenonTime
      • -
      • Changed sosa:actuationMadeBy to sosa:madeByActuator
      • -
      -
    22. -
    23. SSN-specific changes: -
        -
      • Changed syntax and layout in the alignment to SSN of the - SSN-XG
      • -
      • Refine sosa:Property: ObservableProperty in sosa, Property in - ssn, old SSN Property equivalent with sosa:Property
      • -
      • Import sosa: "sosa: a owl:Ontology ; owl:imports sosa:."
      • -
      • Update prefix for featureOfInterest in sosa:Observation and - sosa:Property definition
      • -
      • Added skos:examples to several rdfs:comments
      • -
      • Changed sub class relation of Accuracy from - sosa:MeasurementProperty to sosa:SystemProperty
      • -
      • Changed sub class of sosa:Deployment from - DeploymentRelatedProcess to DeploymentRelatedProcedure
      • -
      • Changed DeploymentRelatedProcess Class to - DeploymentRelatedProcedure
      • -
      • Changed sub class of sosa:DetectionLimit from - sosa:MeasurementProperty to sosa:SystemProperty
      • -
      • Deprecated the sosa:Device class
      • -
      • Changed sub class of sosa:Drift from sosa:MeasurementProperty to - sosa:SystemProperty
      • -
      • Changed the rdfs:comment of sosa:Drift to include Actuators
      • -
      • Changed sub class of sosa:Frequency from - sosa:MeasurementProperty to sosa:SystemProperty
      • -
      • Changed sub class of sosa:Latency from sosa:MeasurementProperty - to sosa:SystemProperty
      • -
      • Changed the rdfs:comment of sosa:Latency to include Actuators
      • -
      • Changed the rdfs:comment of sosa:MaintenanceSchedule to - reference the System class only
      • -
      • Changed MeasurementCapability to SystemCapability and changed - its axiom from hasMeasurementProperty to hasSystemProperty
      • -
      • Changed MeasurementProperty to SystemProperty
      • -
      • Changed sub class of sosa:MeasurementRange from - sosa:MeasurementProperty to sosa:SystemProperty and changed its - rdfs:comment
      • -
      • Changed the Observation’s classes qualified property - restriction from sosa:featureOfInterest to - sosa:hasFeatureOfInterest and sosa:FeatureOfInterest to - sosa:FeatureOfInterest
      • -
      • Changed the Observation’s class universal property - restrictions from sosa:observationResult to sosa:hasResult and - sosa:SensorOutput to sosa:Result
      • -
      • Changed the Observation’s class universal property restriction - from sosa:observedProperty to sosa:observedProperty and - sosa:ObservedProperty to sosa:ObservableProperty
      • -
      • Changed the Observation’s class qualified property restriction - from sosa:observedProperty to sosa:observedProperty and - sosa:ObservedProperty to sosa:ObservableProperty
      • -
      • Changed the Observation’s class qualified property - restrictions from sosa:observedBy to sosa:madeBySensor and - sosa:Sensor to sosa:Sensor
      • -
      • Changed the Observation’s class universal property - restrictions from sosa:sensingMethodUsed to sosa:usedProcedure - and sosa:usedProcedure
      • -
      • Changed the Observation’s class qualified property - restrictions from sosa:sensingMethodUsed to sosa:usedProcedure - and sosa:usedProcedure
      • -
      • Changed the minimum cardinality restriction on the Observation - class from sosa:observationSamplingTime to sosa:resultTime
      • -
      • Removed sosa:ObservationValue Class
      • -
      • Changed rdfs:comment of sosa:OperatingPowerRange
      • -
      • Changed rdfs:comment of sosa:OperatingProperty
      • -
      • Changed rdfs:comment of sosa:OperatingRange
      • -
      • Changed rdfs:comment of sosa:Output
      • -
      • Changed the Platform’s class universal property restrictions - from sosa:attachedSystem
      • -
      • Changed sub class of sosa:Precision from - sosa:MeasurementProperty to sosa:SystemProperty
      • -
      • Changed sosa:Process to sosa:Procedure
      • -
      • Changed rdfs:comment for sosa:Property
      • -
      • Changed the Property’s class existential property restrictions - class range from sosa:FeatureOfInterest to sosa:FeatureOfInterest
      • -
      • Changed rdfs:comment for sosa:Resolution
      • -
      • Changed sub class of sosa:Resolution from - sosa:MeasurementProperty to sosa:SystemProperty
      • -
      • Changed rdfs:comment for sosa:ResponseTime
      • -
      • Changed sub class of sosa:ResponseTime from - sosa:MeasurementProperty to sosa:SystemProperty
      • -
      • Changed rdfs:comment for sosa:Selectivity
      • -
      • Changed sub class of sosa:Selectivitye from - sosa:MeasurementProperty to sosa:SystemProperty
      • -
      • Removed sosa:Sensing Class
      • -
      • Removed sosa:SensingDevice Class
      • -
      • Changed the Sensor classes existential property restrictions - from sosa:hasMeasurementCapability to sosa:SystemCapability and - sosa:MeasurementCapability to sosa:SystemCapability
      • -
      • Changed the Sensor classes universal property restriction on - sosa:observes to sosa:observes
      • -
      • Changed the Sensor classes existential property restrictions - range class from sosa:Sensing to sosa:Procedure
      • -
      • Removed sosa:SensorDataSheet Class
      • -
      • Removed sosa:SensorInput Class
      • -
      • Removed sosa:SensorOutput Class
      • -
      • Changed rdfs:comment for sosa:Stimulus
      • -
      • Changed rdfs:comment for sosa:SurvivalProperty
      • -
      • Changed rdfs:comment for sosa:SurvivalRange
      • -
      • Changed rdfs:comment for sosa:System
      • -
      • Changed the System’s class universal property restriction from - sosa:onPlatform to sosa:isHostedBy and sosa:Platform to - sosa:Platform
      • -
      • Added a universal property restriction to the System’s class - on the hasSystemCapability property with a class range of - SystemCapability
      • -
      • Changed rdfs:comment for sosa:SystemLifetime
      • -
      • Added Property Restrictions to SOSA:ActuatableProperty for - sosa:isActedOnBy
      • -
      • Added Property Restrictions to SOSA:Actuation for sosa:hasFeatureOfInterest, sosa:hasResult, - sosa:resultTime, sosa:usedProcedure, sosa:hasFeatureOfInterest - and sosa:actuationMadeBy
      • -
      • Added sosa:ActuationRange Class
      • -
      • Added Property Restrictions to sosa:Actuator for - sosa:implements, sosa:forProperty and sosa:MadeActuation and - sosa:hasResult
      • -
      • Removed sosa:DeploymentRelatedProcess
      • -
      • Added Property Restrictions to sosa:Input for sosa:hasInput
      • -
      • Added Property Restriction to sosa:MeasurementRange
      • -
      • Added Property Restrictions to sosa:ObservableProperty for - isObservedBy, inverseOf sosa:observedProperty and inverseOf - sosa:isProxyFor
      • -
      • Added Property Restrictions to sosa:OperatingProperty
      • -
      • Added Property Restrictions to sosa:Precision
      • -
      • Added Property Restrictions to sosa:Result
      • -
      • Added Property Restrictions to sosa:Sample
      • -
      • Added Property Restrictions to sosa:Sampler
      • -
      • Added Property Restrictions to sosa:Sampling
      • -
      • Added Property Restrictions to sosa:SystemProperty
      • -
      • Added sub class of System relation to sosa:Sensor
      • -
      • Added Property Restrictions to sosa:Stimulus
      • -
      • Added Property Restrictions to sosa:SurvivalProperty
      • -
      • Added Property Restrictions to sosa:SurvivalRange
      • -
      • Added Property Restrictions to sosa:System
      • -
      • Removed attachedSystem property
      • -
      • Changed rdfs:comment for sosa:deployedOnPlatform
      • -
      • Removed sosa:deploymentProcessPart
      • -
      • Changed rdfs:comment for sosa:detects
      • -
      • Removed sosa:featureOfInterest property
      • -
      • Changed rdfs:comment for sosa:forProperty and added a - skos:example property
      • -
      • Changed rdfs:comment for sosa:hasDeployment
      • -
      • Renamed sosa:hasMeasurementCapability to - sosa:hasSystemCapability and changed its rdf:comment
      • -
      • Renamed sosa:hasMeasurementProperty to sosa:hasSystemProperty - and changed its rdf:comment
      • -
      • Changed rdfs:comment for sosa:hasOperatingProperty
      • -
      • Changed rdfs:comment for sosa:hasSurvivalProperty
      • -
      • Changed rdfs:comment for sosa:hasSurvivalRange
      • -
      • Changed rdfs:comment for sosa:implementedBy
      • -
      • Changed rdfs:comment for sosa:implements
      • -
      • Changed rdfs:comment for sosa:inCondition and added - skos:example property
      • -
      • Changed rdfs:comment for sosa:inDeployment and added - skos:example property
      • -
      • Removed sosa:isProducedBy property
      • -
      • Changed rdfs:comment for sosa:isPropertyOf
      • -
      • Changed rdfs:comment for sosa:isProxyFor and added skos:example - property
      • -
      • Removed sosa:madeObservation property
      • -
      • Removed sosa:observationResult property
      • -
      • Removed sosa:observationResultTime property
      • -
      • Removed sosa:observationSamplingTime property
      • -
      • Removed sosa:observedProperty property
      • -
      • Changed sosa:observes to sosa:observes, removed sub-property - chain for sosa:observes and defined it as sub-property of - sosa:forProperty
      • -
      • Removed sosa:ofFeature property
      • -
      • Removed sosa:onPlatform property
      • -
      • Changed rdfs:comment for sosa:qualityOfObservation
      • -
      • Removed sosa:sensingMethodUsed property
      • -
      • Added rdfs:comment for sosa:hasInput
      • -
      • Changed sosa:Platform subclass of dul:PhysicalObject
      • -
      • Removed axiom FunctionalProperty(sosa:isPropertyOf) to account for generic modeling of sosa:Property such as ex:Temperature
      • -
      -
    24. -
    -

    Changes since 3rd Public Working Draft - (https://www.w3.org/TR/2017/WD-vocab-ssn-20170504/)

    -
      -
    1. Fixed colouring of O&M module in Figure 1 to be normative
    2. -
    3. Updated figures in the Axiomatization section
    4. -
    5. Added examples to Appendix
    6. -
    7. Added a "at risk" section in Status of This Document section
    8. -
    9. Reorganized specification sections to have: -
        -
      • One non-normative overview section, with links to the examples that showcase the terms in that section
      • -
      • The normative specification section
      • -
      • Moved sosa:qualityOfObservation, properties related to system capabilities, operating range, and survival range, to horizontal ontology module http://www.w3.org/ns/ssn/systems/ marked at risk
      • -
      -
    10. -
    11. Added new horizontal module for System Capabilities to Figure 1
    12. -
    13. Fixed errors in class alignments in Dolce-Ultralite Alignment Module, sosa:Sensor to sosa:Sensor, sosa:FeatureOfInterest to sosa:FeatureOfInterest and sosa:Deployment to sosa:Deployment
    14. -
    15. Fixed errors in property alignments in Dolce-Ultralite Alignment Module, sosa:usedProcedure to sosa:usedProcedure
    16. -
    17. Applied consistent use of Manchester OWL Syntax in all axioms in SSN/SOSA
    18. -
    19. Fixed error in sosa:actsOnProperty axiom of sosa:Actuation, i.e. changed Qualified Cardinality to Minimum Cardinality
    20. -
    21. Fixed error in the use of Hash URIs and SlashURIs in the System Capabilities module
    22. -
    23. Combined Location and Forecasting in one section and added an example how to model Quantity Values and Unit of Measures
    24. -
    25. Added Wide Review Section and Exit Criteria Section
    26. -
    27. Switched Horizontal Segmentation and Vertical Segmentation sections around
    28. -
    29. Requested bug fixes to correct the SSN/SOSA alignment to DUL
    30. -
    -

    Changes since W3C Candidate Recommendation 11 July 2017 - (https://www.w3.org/TR/2017/CR-vocab-ssn-20170711/)

    -
      -
    1. Made System Capabilities Module informative as of exit criteria
    2. -
    3. Fixed wrong link in Origins of SSN and SOSA Section to point to Section 6.1
    4. -
    5. Added Coal Oil Point Reserve and IP68 Smart Sensor examples
    6. -
    7. Fixed inconsistency in Fig. 6 & 7, i.e. defined the range of property sosa:isActedOnBy as sosa:Actuation
    8. -
    9. Removed Features at Risk section
    10. -
    11. Removed Candidate Recommendation Exit Criteria section
    12. -
    -

    Changes since W3C Recommendation 19 October 2017 - (https://www.w3.org/TR/2017/REC-vocab-ssn-20171019/)

    -
      -
    1. Fixed remaining broken links to ontology graph and namespaces and "specifically" typo
    2. -
    3. Fixed Seismographs example, replacing the final ; with a .
    4. -
    5. Fixed targets of sosa:hosts and sosa:hasSubSystem in DHT Deployment example
    6. -
    7. Fixed domain/range for actsOnProperty and isActedOnBy in actuation diagrams
    8. -
    9. Fixed sosa:hasSimplResult syntax errors in apartment 134 examples
    10. -
    11. Replaced inexistent sosa:actuationMadeBy by sosa:madeByActuator in apartment 134 example
    12. -
    13. Relaxed axioms in 6.2 SSNX Alignment Module: -
        -
      • oldsosa:FeatureOfInterest is a sub-class of sosa:FeatureOfInterest (instead of equivalent)
      • -
      • oldsosa:hasValue is a sub-property of sosa:hasResult (instead of equivalent)
      • -
      • oldsosa:observationResult is a sub-property of sosa:hasResult (instead of equivalent)
      • -
      -
    14. -
    15. Relaxed axioms in 6.1 Dolce-Ultralite Alignment Module: -
        -
      • sosa:FeatureOfInterest is a sub-class of dul:Entity
      • -
      -
    16. -
    17. Replaced inexistent qudt-1-1:numericalValue by qudt-1-1:numericValue in tree height measurement example
    18. -
    -

    Changes since W3C Recommendation 19 October 2017 + + +
    +

    DHT22 Deployment

    +
    +
    +

    This example shows how the conditions (temperature and humidity) in a room may be measured using one or + more sensors. Each sensor observes the conditions in its immediate vicinity, and the values are then used to + characterize the room.

    +

    In Room 145 one of the walls is external in the building, so there is expected to be a temperature gradient + across the room, and there are two sensors on different walls. In room 245 there is one sensor on the south + wall. Each of these locations corresponds to a sosa:Sample of the entire room. The wall also + serves as a sosa:Platform on which the sensors are mounted.

    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +        
    + +
    +
    +

    IP68 Smart Sensor

    +
    +

    This example describes the IP68 Smart Sensor that and some of its capabilities and operating ranges. A + specific IP68 Smart Sensor observes the air temperature, and its own battery state.

    +

    An RDF file containing a graph corresponding to + this example is available.

    +
    
    +        
    +
    + +

    +
    +

    Acknowledgments

    + The Editors recognize the major contribution of the members of the + original W3C Semantic Sensor Networks Incubator Group. The editors also + gratefully acknowledge the contributions made to this document by all + members of the SSN subgroup of the Spatial Data on the Web working + group. +
    +
    +

    Change History

    +

    A full change-log is available on GitHub.

    +

    Changes since Original + (https://www.w3.org/2005/Incubator/ssn/XGR-ssn-20110628/)

    +
      +
    1. The DUL ontology, that was imported in SSN, is no + longer imported and all axioms using terms from DUL have been + removed from SSN and collected in the DUL-SSN alignment module.
    2. +
    3. The namespace was changed to match the planned namespace for this + publication.
    4. +
    5. The modularization as presented here, including the core, is + entirely new.
    6. +
    +

    Changes since 1st Public Working Draft + (http://www.w3.org/TR/2016/WD-vocab-ssn-20160531/)

    +
      +
    1. Correction to include some SSN terms that were unintentionally + dropped from the FPWD. Correction to remove an asserted subclass of + owl:Thing that was introduced into FPWD (these were both by-products + of the DUL removal).
    2. +
    3. Correction to some https namespace usage that crept into the FPWD.
    4. +
    5. Transition to the new namespace used by the DUL module.
    6. +
    7. Inclusion of the DUL alignment and the old SSN (of the SSN-XG) + alignment.
    8. +
    9. sosa:Sensor has been changed to be a subclass of dul:Object + instead of dul:Physical Object.
    10. +
    11. Various typography and spelling errors and consistency of + expression in annotation properties have been improved. These do not + induce any changes in the intended meaning of the terms.
    12. +
    13. Specgen 6 has been used to generate the ontology documentation. + The popular sketch of SSN structure has been removed.
    14. +
    15. Object properties sosa:isValueOf, sosa:produces and + sosa:featureInObservation, along with a propertychain subproperty of + produces and another propertychain subproperty of hasProperty, were + introduced unintentionally in the FPWD.
    16. +
    +

    Changes since 2nd Public Working Draft + (https://www.w3.org/TR/2017/WD-vocab-ssn-20170105/)

    +
      +
    1. Changed meta prefix declaration to schema
    2. +
    3. Added voaf:Vocabulary class to ontology instances
    4. +
    5. Added dcterms:license statements
    6. +
    7. Added vann:preferredNamespacePrefix and vann:preferredNamespaceUri + statements
    8. +
    9. Added SOSA and SSN alignment
    10. +
    11. Added SSN/SOSA alignments with O&M
    12. +
    13. Consistently added Capitalization of all ontology terms in all + rdfs:comments
    14. +
    15. Addressed naming inconsistency with changes in name to + isObservedBy/observes, madeBySensor/madeObservation
    16. +
    17. Use skos:examples to describe examples of classes/properties
    18. +
    19. Removed history skos:historyNote
    20. +
    21. SOSA-specific changes: +
        +
      • Various typography and spelling errors and consistency of + expression in annotation properties have been improved
      • +
      • Added "sosa:hasResult meta:domainIncludes sosa:Actuation" and + "sosa:isResultOf meta:rangeIncludes sosa:Actuation"
      • +
      • Changed the defintion of FeatureofInterest to account for + actuators
      • +
      • Introduced sosa:actsOnProperty and its inverse property + sosa:isActedOnBy
      • +
      • Added madeBySensor property
      • +
      • Renamed invokes and invokedBy to madeActuation and + madeByActuator
      • +
      • Changed hostedBy to isHostedBy
      • +
      • Added Sampler (device) and Sampling (act) to SOSA
      • +
      • Added madeSampling and madeBySampler properties
      • +
      • Added Sample to range of hasResult, and to domain or isResultOf
      • +
      • Added hasSimpleResult and hasResult instead of hasValue
      • +
      • Added ObservableProperty and ActuatableProperty
      • +
      • Changed rdfs:comment and skos:definition of sosa:Platform
      • +
      • Refined sosa:Result
      • +
      • Changed sosa:madeByActuator to sosa:actuationMadeBy
      • +
      • Added schema:domainIncludes sosa:Sampling to + sosa:observedProperty
      • +
      • Added schema:rangeIncludes time:TemporalEntity and + schema:domainIncludes sosa:Sampling to sosa:phenomenonTime
      • +
      • Changed sosa:actuationMadeBy to sosa:madeByActuator
      • +
      +
    22. +
    23. SSN-specific changes: +
        +
      • Changed syntax and layout in the alignment to SSN of the + SSN-XG
      • +
      • Refine sosa:Property: ObservableProperty in sosa, Property in + ssn, old SSN Property equivalent with sosa:Property
      • +
      • Import sosa: "sosa: a owl:Ontology ; owl:imports sosa:."
      • +
      • Update prefix for featureOfInterest in sosa:Observation and + sosa:Property definition
      • +
      • Added skos:examples to several rdfs:comments
      • +
      • Changed sub class relation of Accuracy from + sosa:MeasurementProperty to sosa:SystemProperty
      • +
      • Changed sub class of sosa:Deployment from + DeploymentRelatedProcess to DeploymentRelatedProcedure
      • +
      • Changed DeploymentRelatedProcess Class to + DeploymentRelatedProcedure
      • +
      • Changed sub class of sosa:DetectionLimit from + sosa:MeasurementProperty to sosa:SystemProperty
      • +
      • Deprecated the sosa:Device class
      • +
      • Changed sub class of sosa:Drift from sosa:MeasurementProperty to + sosa:SystemProperty
      • +
      • Changed the rdfs:comment of sosa:Drift to include Actuators
      • +
      • Changed sub class of sosa:Frequency from + sosa:MeasurementProperty to sosa:SystemProperty
      • +
      • Changed sub class of sosa:Latency from sosa:MeasurementProperty + to sosa:SystemProperty
      • +
      • Changed the rdfs:comment of sosa:Latency to include Actuators
      • +
      • Changed the rdfs:comment of sosa:MaintenanceSchedule to + reference the System class only
      • +
      • Changed MeasurementCapability to SystemCapability and changed + its axiom from hasMeasurementProperty to hasSystemProperty
      • +
      • Changed MeasurementProperty to SystemProperty
      • +
      • Changed sub class of sosa:MeasurementRange from + sosa:MeasurementProperty to sosa:SystemProperty and changed its + rdfs:comment
      • +
      • Changed the Observation’s classes qualified property + restriction from sosa:featureOfInterest to + sosa:hasFeatureOfInterest and sosa:FeatureOfInterest to + sosa:FeatureOfInterest
      • +
      • Changed the Observation’s class universal property + restrictions from sosa:observationResult to sosa:hasResult and + sosa:SensorOutput to sosa:Result
      • +
      • Changed the Observation’s class universal property restriction + from sosa:observedProperty to sosa:observedProperty and + sosa:ObservedProperty to sosa:ObservableProperty
      • +
      • Changed the Observation’s class qualified property restriction + from sosa:observedProperty to sosa:observedProperty and + sosa:ObservedProperty to sosa:ObservableProperty
      • +
      • Changed the Observation’s class qualified property + restrictions from sosa:observedBy to sosa:madeBySensor and + sosa:Sensor to sosa:Sensor
      • +
      • Changed the Observation’s class universal property + restrictions from sosa:sensingMethodUsed to sosa:usedProcedure + and sosa:usedProcedure
      • +
      • Changed the Observation’s class qualified property + restrictions from sosa:sensingMethodUsed to sosa:usedProcedure + and sosa:usedProcedure
      • +
      • Changed the minimum cardinality restriction on the Observation + class from sosa:observationSamplingTime to sosa:resultTime
      • +
      • Removed sosa:ObservationValue Class
      • +
      • Changed rdfs:comment of sosa:OperatingPowerRange
      • +
      • Changed rdfs:comment of sosa:OperatingProperty
      • +
      • Changed rdfs:comment of sosa:OperatingRange
      • +
      • Changed rdfs:comment of sosa:Output
      • +
      • Changed the Platform’s class universal property restrictions + from sosa:attachedSystem
      • +
      • Changed sub class of sosa:Precision from + sosa:MeasurementProperty to sosa:SystemProperty
      • +
      • Changed sosa:Process to sosa:Procedure
      • +
      • Changed rdfs:comment for sosa:Property
      • +
      • Changed the Property’s class existential property restrictions + class range from sosa:FeatureOfInterest to sosa:FeatureOfInterest
      • +
      • Changed rdfs:comment for sosa:Resolution
      • +
      • Changed sub class of sosa:Resolution from + sosa:MeasurementProperty to sosa:SystemProperty
      • +
      • Changed rdfs:comment for sosa:ResponseTime
      • +
      • Changed sub class of sosa:ResponseTime from + sosa:MeasurementProperty to sosa:SystemProperty
      • +
      • Changed rdfs:comment for sosa:Selectivity
      • +
      • Changed sub class of sosa:Selectivitye from + sosa:MeasurementProperty to sosa:SystemProperty
      • +
      • Removed sosa:Sensing Class
      • +
      • Removed sosa:SensingDevice Class
      • +
      • Changed the Sensor classes existential property restrictions + from sosa:hasMeasurementCapability to sosa:SystemCapability and + sosa:MeasurementCapability to sosa:SystemCapability
      • +
      • Changed the Sensor classes universal property restriction on + sosa:observes to sosa:observes
      • +
      • Changed the Sensor classes existential property restrictions + range class from sosa:Sensing to sosa:Procedure
      • +
      • Removed sosa:SensorDataSheet Class
      • +
      • Removed sosa:SensorInput Class
      • +
      • Removed sosa:SensorOutput Class
      • +
      • Changed rdfs:comment for sosa:Stimulus
      • +
      • Changed rdfs:comment for sosa:SurvivalProperty
      • +
      • Changed rdfs:comment for sosa:SurvivalRange
      • +
      • Changed rdfs:comment for sosa:System
      • +
      • Changed the System’s class universal property restriction from + sosa:onPlatform to sosa:isHostedBy and sosa:Platform to + sosa:Platform
      • +
      • Added a universal property restriction to the System’s class + on the hasSystemCapability property with a class range of + SystemCapability
      • +
      • Changed rdfs:comment for sosa:SystemLifetime
      • +
      • Added Property Restrictions to SOSA:ActuatableProperty for + sosa:isActedOnBy
      • +
      • Added Property Restrictions to SOSA:Actuation for sosa:hasFeatureOfInterest, sosa:hasResult, + sosa:resultTime, sosa:usedProcedure, sosa:hasFeatureOfInterest + and sosa:actuationMadeBy
      • +
      • Added sosa:ActuationRange Class
      • +
      • Added Property Restrictions to sosa:Actuator for + sosa:implements, sosa:forProperty and sosa:MadeActuation and + sosa:hasResult
      • +
      • Removed sosa:DeploymentRelatedProcess
      • +
      • Added Property Restrictions to sosa:Input for sosa:hasInput
      • +
      • Added Property Restriction to sosa:MeasurementRange
      • +
      • Added Property Restrictions to sosa:ObservableProperty for + isObservedBy, inverseOf sosa:observedProperty and inverseOf + sosa:isProxyFor
      • +
      • Added Property Restrictions to sosa:OperatingProperty
      • +
      • Added Property Restrictions to sosa:Precision
      • +
      • Added Property Restrictions to sosa:Result
      • +
      • Added Property Restrictions to sosa:Sample
      • +
      • Added Property Restrictions to sosa:Sampler
      • +
      • Added Property Restrictions to sosa:Sampling
      • +
      • Added Property Restrictions to sosa:SystemProperty
      • +
      • Added sub class of System relation to sosa:Sensor
      • +
      • Added Property Restrictions to sosa:Stimulus
      • +
      • Added Property Restrictions to sosa:SurvivalProperty
      • +
      • Added Property Restrictions to sosa:SurvivalRange
      • +
      • Added Property Restrictions to sosa:System
      • +
      • Removed attachedSystem property
      • +
      • Changed rdfs:comment for sosa:deployedOnPlatform
      • +
      • Removed sosa:deploymentProcessPart
      • +
      • Changed rdfs:comment for sosa:detects
      • +
      • Removed sosa:featureOfInterest property
      • +
      • Changed rdfs:comment for sosa:forProperty and added a + skos:example property
      • +
      • Changed rdfs:comment for sosa:hasDeployment
      • +
      • Renamed sosa:hasMeasurementCapability to + sosa:hasSystemCapability and changed its rdf:comment
      • +
      • Renamed sosa:hasMeasurementProperty to sosa:hasSystemProperty + and changed its rdf:comment
      • +
      • Changed rdfs:comment for sosa:hasOperatingProperty
      • +
      • Changed rdfs:comment for sosa:hasSurvivalProperty
      • +
      • Changed rdfs:comment for sosa:hasSurvivalRange
      • +
      • Changed rdfs:comment for sosa:implementedBy
      • +
      • Changed rdfs:comment for sosa:implements
      • +
      • Changed rdfs:comment for sosa:inCondition and added + skos:example property
      • +
      • Changed rdfs:comment for sosa:inDeployment and added + skos:example property
      • +
      • Removed sosa:isProducedBy property
      • +
      • Changed rdfs:comment for sosa:isPropertyOf
      • +
      • Changed rdfs:comment for sosa:isProxyFor and added skos:example + property
      • +
      • Removed sosa:madeObservation property
      • +
      • Removed sosa:observationResult property
      • +
      • Removed sosa:observationResultTime property
      • +
      • Removed sosa:observationSamplingTime property
      • +
      • Removed sosa:observedProperty property
      • +
      • Changed sosa:observes to sosa:observes, removed sub-property + chain for sosa:observes and defined it as sub-property of + sosa:forProperty
      • +
      • Removed sosa:ofFeature property
      • +
      • Removed sosa:onPlatform property
      • +
      • Changed rdfs:comment for sosa:qualityOfObservation
      • +
      • Removed sosa:sensingMethodUsed property
      • +
      • Added rdfs:comment for sosa:hasInput
      • +
      • Changed sosa:Platform subclass of dul:PhysicalObject
      • +
      • Removed axiom FunctionalProperty(sosa:isPropertyOf) to account for generic modeling of sosa:Property + such as ex:Temperature
      • +
      +
    24. +
    +

    Changes since 3rd Public Working Draft + (https://www.w3.org/TR/2017/WD-vocab-ssn-20170504/)

    +
      +
    1. Fixed colouring of O&M module in Figure 1 to be normative
    2. +
    3. Updated figures in the Axiomatization section
    4. +
    5. Added examples to Appendix
    6. +
    7. Added a "at risk" section in Status of This Document section
    8. +
    9. Reorganized specification sections to have: +
        +
      • One non-normative overview section, with links to the examples that showcase the terms in that section +
      • +
      • The normative specification section
      • +
      • Moved sosa:qualityOfObservation, properties related to system capabilities, operating range, and + survival range, to horizontal ontology module http://www.w3.org/ns/ssn/systems/ marked at risk
      • +
      +
    10. +
    11. Added new horizontal module for System Capabilities to Figure 1
    12. +
    13. Fixed errors in class alignments in Dolce-Ultralite Alignment Module, sosa:Sensor to sosa:Sensor, + sosa:FeatureOfInterest to sosa:FeatureOfInterest and sosa:Deployment to sosa:Deployment
    14. +
    15. Fixed errors in property alignments in Dolce-Ultralite Alignment Module, sosa:usedProcedure to + sosa:usedProcedure
    16. +
    17. Applied consistent use of Manchester OWL Syntax in all axioms in SSN/SOSA
    18. +
    19. Fixed error in sosa:actsOnProperty axiom of sosa:Actuation, i.e. changed Qualified Cardinality to Minimum + Cardinality
    20. +
    21. Fixed error in the use of Hash URIs and SlashURIs in the System Capabilities module
    22. +
    23. Combined Location and Forecasting in one section and added an example how to model Quantity Values and Unit + of Measures
    24. +
    25. Added Wide Review Section and Exit Criteria Section
    26. +
    27. Switched Horizontal Segmentation and Vertical Segmentation sections around
    28. +
    29. Requested bug fixes to correct the SSN/SOSA alignment to DUL
    30. +
    +

    Changes since W3C Candidate Recommendation 11 July 2017 + (https://www.w3.org/TR/2017/CR-vocab-ssn-20170711/)

    +
      +
    1. Made System Capabilities Module informative as of exit criteria
    2. +
    3. Fixed wrong link in Origins of SSN and SOSA Section to point to Section 6.1
    4. +
    5. Added Coal Oil Point Reserve and IP68 Smart Sensor examples
    6. +
    7. Fixed inconsistency in Fig. 6 & 7, i.e. defined the range of property sosa:isActedOnBy as sosa:Actuation +
    8. +
    9. Removed Features at Risk section
    10. +
    11. Removed Candidate Recommendation Exit Criteria section
    12. +
    +

    Changes since W3C Recommendation 19 October 2017 + (https://www.w3.org/TR/2017/REC-vocab-ssn-20171019/)

    +
      +
    1. Fixed remaining broken links to ontology graph and namespaces and "specifically" typo
    2. +
    3. Fixed Seismographs example, replacing the final ; with a .
    4. +
    5. Fixed targets of sosa:hosts and sosa:hasSubSystem in DHT Deployment example
    6. +
    7. Fixed domain/range for actsOnProperty and isActedOnBy in actuation diagrams
    8. +
    9. Fixed sosa:hasSimplResult syntax errors in apartment 134 examples
    10. +
    11. Replaced inexistent sosa:actuationMadeBy by sosa:madeByActuator in apartment 134 + example
    12. +
    13. Relaxed axioms in 6.2 SSNX Alignment Module: +
        +
      • oldsosa:FeatureOfInterest is a sub-class of sosa:FeatureOfInterest (instead of + equivalent)
      • +
      • oldsosa:hasValue is a sub-property of sosa:hasResult (instead of equivalent) +
      • +
      • oldsosa:observationResult is a sub-property of sosa:hasResult (instead of + equivalent)
      • +
      +
    14. +
    15. Relaxed axioms in 6.1 Dolce-Ultralite Alignment Module: +
        +
      • sosa:FeatureOfInterest is a sub-class of dul:Entity
      • +
      +
    16. +
    17. Replaced inexistent qudt-1-1:numericalValue by qudt-1-1:numericValue in tree + height measurement example
    18. +
    +

    Changes since W3C Recommendation 19 October 2017 (https://www.w3.org/TR/2017/REC-vocab-ssn-20171019/)

    -
      -
    1. Updated Abstract to reflect the revised graph and axiomatization design
    2. -
    3. Updated Chapter 2 'Modularization' to simplify and to reflect the revised graph arrangement
    4. -
    5. Changed title of Chapter 4 from 'Axiomatization' to 'RDF Implementation' and updated the summary of namespaces and graphs
    6. -
    7. Adjust namespace of terms previously in sosa:
    8. -
    9. Added OMS alignment modules to section 6. 'Vertical Segmentation'
    10. -
    11. Added ObservationCollection, SampleCollection, hasMember
    12. -
    13. Retire O&Mv2 alignment - superseded by OMS alignment
    14. +
        +
      1. Updated Abstract to reflect the revised graph and axiomatization design
      2. +
      3. Updated Chapter 2 'Modularization' to simplify and to reflect the revised graph arrangement
      4. +
      5. Changed title of Chapter 4 from 'Axiomatization' to 'RDF Implementation' and updated the summary of + namespaces and graphs
      6. +
      7. Adjust namespace of terms previously in sosa:
      8. +
      9. Added OMS alignment modules to section 6. 'Vertical Segmentation'
      10. +
      11. Added ObservationCollection, SampleCollection, hasMember
      12. +
      13. Retire O&Mv2 alignment - superseded by OMS alignment
      -
    - - +
    + + + \ No newline at end of file From 6073399a460a42b2b7dd4c32cac1449bb1cf38a9 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Sun, 21 Jan 2024 15:57:36 +1100 Subject: [PATCH 05/74] Fix type of resultTime in example --- ssn/integrated/examples/iphone_barometer-sosa.ttl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ssn/integrated/examples/iphone_barometer-sosa.ttl b/ssn/integrated/examples/iphone_barometer-sosa.ttl index 7e0115e1..1697c1e6 100644 --- a/ssn/integrated/examples/iphone_barometer-sosa.ttl +++ b/ssn/integrated/examples/iphone_barometer-sosa.ttl @@ -48,6 +48,5 @@ rdf:type qudt:QuantityValue ; qudt:numericValue "101936"^^xsd:double ; qudt:hasUnit unit:Pascal ] ; - sosa:resultTime [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-06-06T12:36:13+00:00"^^xsd:dateTimeStamp ] . \ No newline at end of file + sosa:resultTime "2017-06-06T12:36:13+00:00"^^xsd:dateTime . + \ No newline at end of file From fbd1bb578aabcdce5e9fc758936157223b356c74 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 22 Jan 2024 15:07:13 +1100 Subject: [PATCH 06/74] update example OC --- ssn/examples/01-observation-collection.ttl | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ssn/examples/01-observation-collection.ttl b/ssn/examples/01-observation-collection.ttl index bee0b4fd..5516d9f2 100644 --- a/ssn/examples/01-observation-collection.ttl +++ b/ssn/examples/01-observation-collection.ttl @@ -1,4 +1,4 @@ -# baseURI: file:///C:/dev/W3C/sdw-sosa-ssn/ssn/examples/01-observation-collection.ttl +# baseURI: https://raw.githubusercontent.com/w3c/sdw-sosa-ssn/ProcedureExecution-spec/ssn/examples/01-observation-collection.ttl # imports: http://www.w3.org/ns/sosa-collections/ @prefix eg: . @@ -9,9 +9,9 @@ @prefix sosa: . @prefix xsd: . - + a owl:Ontology ; - owl:imports ; + owl:imports ; . eg:HomoCollection_1 a sosa:ObservationCollection ; @@ -19,17 +19,24 @@ eg:HomoCollection_1 . eg:a1 a sosa:Observation ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ; sosa:hasSimpleResult 33 ; . +eg:a1 + a sosa:Observation ; + sosa:hasFeatureOfInterest ; + sosa:hasSimpleResult 27 ; +. eg:c1 a sosa:ObservationCollection ; sosa:hasMember eg:a1 ; + sosa:hasMember eg:a2 ; + sosa:madeBySensor ; sosa:observedProperty eg:p1 ; sosa:phenomenonTime "2022-05-01T22:33:40Z"^^xsd:dateTime ; sosa:resultTime "2022-05-01T22:33:44Z"^^xsd:dateTime ; . eg:p1 a skos:Concept ; - skos:prefLabel "Some Observable Property" ; + skos:prefLabel "Ranking Property" ; . From cd82a6963feda157a41ca7b332212c427b0f1241 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 22 Jan 2024 15:57:31 +1100 Subject: [PATCH 07/74] Simple nested observation-collection and sample-collection --- ...-homo-vs-summar-collection.ttl => OC1.ttl} | 41 +++++----- ...{01-observation-collection.ttl => OC2.ttl} | 0 ssn/examples/SC1.ttl | 82 +++++++++++++++++++ ssn/index.html | 5 +- 4 files changed, 107 insertions(+), 21 deletions(-) rename ssn/examples/{02-homo-vs-summar-collection.ttl => OC1.ttl} (85%) rename ssn/examples/{01-observation-collection.ttl => OC2.ttl} (100%) create mode 100644 ssn/examples/SC1.ttl diff --git a/ssn/examples/02-homo-vs-summar-collection.ttl b/ssn/examples/OC1.ttl similarity index 85% rename from ssn/examples/02-homo-vs-summar-collection.ttl rename to ssn/examples/OC1.ttl index 5deb0723..91381d42 100644 --- a/ssn/examples/02-homo-vs-summar-collection.ttl +++ b/ssn/examples/OC1.ttl @@ -1,5 +1,6 @@ @prefix dc: . @prefix dcterms: . +@prefix geo: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -11,17 +12,6 @@ @prefix ex: . ex:OC1 - a sosa:ObservationCollection ; - sosa:hasFeatureOfInterest ex:Sample_1 ; - sosa:observedProperty ex:op2 ; - sosa:usedProcedure ex:p3 ; - sosa:hasMember ex:O2 ; - sosa:hasMember ex:O3 ; - sosa:hasMember ex:O4 ; - sosa:hasMember ex:O5 ; - skos:note """homogeneous collection - member observations have a common FoI, oP and Procedure""" ; -. -ex:OC2 a sosa:ObservationCollection ; sosa:hasFeatureOfInterest ex:Sample_1 ; sosa:observedProperty ex:op2 ; @@ -36,17 +26,28 @@ ex:OC2 time:inXSDDateTime "2018-03-10T15:12:00+10:00"^^xsd:dateTime ; ] ; ] ; + sosa:hasMember ex:OC2 ; + sosa:hasMember ex:OC3 ; + skos:note """general collection - member observations have a common FoI, oP and Procedure + `madeBySensor` is repeated to enumerate the sensors used in the member observations + `phenomenonTime` is a time interval that encompasses the times of the member observations""" ; +. +ex:OC2 + a sosa:ObservationCollection ; + sosa:madeBySensor ex:s4 ; sosa:hasMember ex:O2 ; sosa:hasMember ex:O3 ; + skos:note """homogeneous collection - member observations have a common Sensor""" ; +. +ex:OC3 + a sosa:ObservationCollection ; + sosa:madeBySensor ex:s5 ; sosa:hasMember ex:O4 ; sosa:hasMember ex:O5 ; - skos:note """general collection - member observations have a common FoI, oP and Procedure - `madeBySensor` is repeated to enumerate the sensors used in the member observations - `phenomenonTime` is a time interval that encompasses the times of the member observations""" ; + skos:note """homogeneous collection - member observations have a common Sensor""" ; . ex:O2 a sosa:Observation ; - sosa:madeBySensor ex:s4 ; sosa:hasResult ex:r96 ; sosa:phenomenonTime [ time:inXSDDateTime "2018-03-10T15:09:00+10:00"^^xsd:dateTime ; @@ -54,7 +55,6 @@ ex:O2 . ex:O3 a sosa:Observation ; - sosa:madeBySensor ex:s4 ; sosa:hasResult ex:r97 ; sosa:phenomenonTime [ time:inXSDDateTime "2018-03-10T15:10:00+10:00"^^xsd:dateTime ; @@ -62,7 +62,6 @@ ex:O3 . ex:O4 a sosa:Observation ; - sosa:madeBySensor ex:s5 ; sosa:hasResult ex:r98 ; sosa:phenomenonTime [ time:inXSDDateTime "2018-03-10T15:11:00+10:00"^^xsd:dateTime ; @@ -70,7 +69,6 @@ ex:O4 . ex:O5 a sosa:Observation ; - sosa:madeBySensor ex:s5 ; sosa:hasResult ex:r99 ; sosa:phenomenonTime [ time:inXSDDateTime "2018-03-10T15:12:00+10:00"^^xsd:dateTime ; @@ -79,6 +77,10 @@ ex:O5 ex:Sample_1 a sosa:Sample ; sosa:isSampleOf ex:foia ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; + ] ; . ex:foia a sosa:FeatureOfInterest ; @@ -101,9 +103,10 @@ ex:p3 ex:examples-collection-obs a owl:Ontology ; dcterms:created "2023-11-04"^^xsd:date ; + dcterms:modified "2024-01-22"^^xsd:date ; dcterms:creator ; rdfs:comment "Small dataset to test rules in SOSA Collections" ; - owl:imports , + owl:imports , , ; . diff --git a/ssn/examples/01-observation-collection.ttl b/ssn/examples/OC2.ttl similarity index 100% rename from ssn/examples/01-observation-collection.ttl rename to ssn/examples/OC2.ttl diff --git a/ssn/examples/SC1.ttl b/ssn/examples/SC1.ttl new file mode 100644 index 00000000..b624fee6 --- /dev/null +++ b/ssn/examples/SC1.ttl @@ -0,0 +1,82 @@ +@prefix dc: . +@prefix dcterms: . +@prefix geo: . +@prefix orcid: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix sosa: . +@prefix time: . +@prefix xsd: . + +@prefix ex: . + +ex:SC1 + a sosa:SampleCollection ; + sosa:isSampleOf ex:foia ; + sosa:isResultOfMadeBySampler orcid:0000-0002-3884-3420 ; + sosa:isResultOfMadeBySampler orcid:0000-0002-7815-2472 ; + sosa:isResultOfUsedProcedure ex:p5 ; + sosa:isResultOfUsedProcedure ex:p6 ; + sosa:hasMember ex:SC2 ; + sosa:hasMember ex:SC3 ; + skos:note """member samples have a common isSampleOf + `isResultOfMadeBySampler` is repeated to enumerate the samplers used for the member samples + `isResultOfUsedProcedure` is repeated to enumerate the procedures used for the member samples""" ; +. +ex:SC2 + a sosa:SampleCollection ; + sosa:isResultOfMadeBySampler orcid:0000-0002-3884-3420 ; + sosa:hasMember ex:S2 ; + sosa:hasMember ex:S3 ; + skos:note """member samples have a common Sampler""" ; +. +ex:SC3 + a sosa:SampleCollection ; + sosa:isResultOfMadeBySampler orcid:0000-0002-7815-2472 ; + sosa:hasMember ex:S4 ; + sosa:hasMember ex:S5 ; + skos:note """member samples have a common Sampler""" ; +. +ex:S2 + a sosa:Sample ; + sosa:isResultOfUsedProcedure ex:p5 ; +. +ex:S3 + a sosa:Sample ; + sosa:isResultOfUsedProcedure ex:p6 ; +. +ex:S4 + a sosa:Sample ; + sosa:isResultOfUsedProcedure ex:p5 ; +. +ex:S5 + a sosa:Sample ; + sosa:isResultOfUsedProcedure ex:p6 ; +. +ex:foia + a sosa:FeatureOfInterest ; +. +orcid:0000-0002-3884-3420 + a sosa:Sampler , dcterms:Agent ; +. +orcid:0000-0002-7815-2472 + a sosa:Sampler , dcterms:Agent ; +. +ex:p5 + a sosa:Procedure ; +. +ex:p6 + a sosa:Procedure ; +. +ex:examples-collection-sam + a owl:Ontology ; + dcterms:created "2023-11-04"^^xsd:date ; + dcterms:modified "2024-01-22"^^xsd:date ; + dcterms:creator ; + rdfs:comment "Small dataset to test rules in SOSA Collections" ; + owl:imports , + , + ; +. diff --git a/ssn/index.html b/ssn/index.html index b992f1ea..29686586 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -4171,8 +4171,9 @@

    Overview and examples

    The following examples illustrate how the terms related to Collections can be used:

    From f2abd367120e1caa678bfc448ec3fa830c6332e5 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 22 Jan 2024 16:45:46 +1100 Subject: [PATCH 08/74] fix bugs --- ssn/examples/OC2.ttl | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ssn/examples/OC2.ttl b/ssn/examples/OC2.ttl index 5516d9f2..2709a607 100644 --- a/ssn/examples/OC2.ttl +++ b/ssn/examples/OC2.ttl @@ -9,20 +9,19 @@ @prefix sosa: . @prefix xsd: . - +ex:examples-collection-obs-2 a owl:Ontology ; owl:imports ; -. -eg:HomoCollection_1 - a sosa:ObservationCollection ; - rdfs:label "Homogeneous Observation Collection #1" ; + dcterms:created "2023-11-04"^^xsd:date ; + dcterms:modified "2024-01-22"^^xsd:date ; + dcterms:creator ; . eg:a1 a sosa:Observation ; sosa:hasFeatureOfInterest ; sosa:hasSimpleResult 33 ; . -eg:a1 +eg:a2 a sosa:Observation ; sosa:hasFeatureOfInterest ; sosa:hasSimpleResult 27 ; From a52876c62a3a0d376229bf85e1ad24d6d5fb879d Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 23 Jan 2024 16:19:09 +1100 Subject: [PATCH 09/74] tidy up graph name --- ssn/examples/OC1.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssn/examples/OC1.ttl b/ssn/examples/OC1.ttl index 91381d42..6b55561b 100644 --- a/ssn/examples/OC1.ttl +++ b/ssn/examples/OC1.ttl @@ -100,7 +100,7 @@ ex:op2 ex:p3 a sosa:Procedure ; . -ex:examples-collection-obs +ex:examples-collection-obs-1 a owl:Ontology ; dcterms:created "2023-11-04"^^xsd:date ; dcterms:modified "2024-01-22"^^xsd:date ; From 3aace7305229b9c0d0e93110aba3f8ef95ce3a37 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 23 Jan 2024 19:12:09 +1100 Subject: [PATCH 10/74] Sort examples by class --- ssn/examples/Actuation/2017ex10.ttl | 96 +++++++++++++ ssn/examples/Actuation/2017ex11.ttl | 91 +++++++++++++ ssn/examples/Deployment/2017ex23.ttl | 90 ++++++++++++ ssn/examples/Deployment/2017ex25.ttl | 103 ++++++++++++++ ssn/examples/FoI/2017ex14.ttl | 46 +++++++ ssn/examples/FoI/2017ex19.ttl | 35 +++++ ssn/examples/FoI/2017ex20.ttl | 30 ++++ ssn/examples/FoI/2017ex23.ttl | 90 ++++++++++++ ssn/examples/FoI/2017ex24.ttl | 66 +++++++++ ssn/examples/FoI/2017ex8.ttl | 67 +++++++++ ssn/examples/Observation/2017ex1.ttl | 20 +++ ssn/examples/Observation/2017ex10.ttl | 96 +++++++++++++ ssn/examples/Observation/2017ex11.ttl | 91 +++++++++++++ ssn/examples/Observation/2017ex12.ttl | 57 ++++++++ ssn/examples/Observation/2017ex13.ttl | 48 +++++++ ssn/examples/Observation/2017ex14.ttl | 46 +++++++ ssn/examples/Observation/2017ex15.ttl | 41 ++++++ ssn/examples/Observation/2017ex16.ttl | 16 +++ ssn/examples/Observation/2017ex17.ttl | 41 ++++++ ssn/examples/Observation/2017ex18.ttl | 29 ++++ ssn/examples/Observation/2017ex19.ttl | 35 +++++ ssn/examples/Observation/2017ex2.ttl | 19 +++ ssn/examples/Observation/2017ex20.ttl | 30 ++++ ssn/examples/Observation/2017ex22.ttl | 31 +++++ ssn/examples/Observation/2017ex25.ttl | 103 ++++++++++++++ ssn/examples/Observation/2017ex3.1.ttl | 6 + ssn/examples/Observation/2017ex3.ttl | 6 + ssn/examples/Observation/2017ex4.ttl | 15 ++ ssn/examples/Observation/2017ex5.ttl | 20 +++ ssn/examples/Observation/2017ex8.ttl | 67 +++++++++ ssn/examples/Observation/2017ex9.ttl | 51 +++++++ .../{ => ObservationCollection}/OC1.ttl | 0 .../{ => ObservationCollection}/OC2.ttl | 0 ssn/examples/Platform/2017ex23.ttl | 90 ++++++++++++ ssn/examples/Platform/2017ex24.ttl | 66 +++++++++ ssn/examples/Platform/2017ex8.ttl | 67 +++++++++ ssn/examples/Procedure/2017ex21.ttl | 128 ++++++++++++++++++ ssn/examples/Procedure/2017ex8.ttl | 67 +++++++++ ssn/examples/Sample/2017ex19.ttl | 35 +++++ ssn/examples/Sample/2017ex20.ttl | 30 ++++ ssn/examples/Sample/2017ex23.ttl | 90 ++++++++++++ ssn/examples/Sample/2017ex24.ttl | 66 +++++++++ ssn/examples/SampleCollection/SC1.ttl | 82 +++++++++++ ssn/examples/Sampling/2017ex19.ttl | 35 +++++ ssn/examples/Sampling/2017ex20.ttl | 30 ++++ ssn/examples/System/2017ex10.ttl | 96 +++++++++++++ ssn/examples/System/2017ex11.ttl | 91 +++++++++++++ ssn/examples/System/2017ex14.ttl | 46 +++++++ ssn/examples/System/2017ex17.ttl | 41 ++++++ ssn/examples/System/2017ex18.ttl | 29 ++++ ssn/examples/System/2017ex21.ttl | 128 ++++++++++++++++++ ssn/examples/System/2017ex22.ttl | 31 +++++ ssn/examples/System/2017ex23.ttl | 90 ++++++++++++ ssn/examples/System/2017ex25.ttl | 103 ++++++++++++++ ssn/examples/System/2017ex6.ttl | 15 ++ ssn/examples/System/2017ex7.ttl | 26 ++++ 56 files changed, 3064 insertions(+) create mode 100644 ssn/examples/Actuation/2017ex10.ttl create mode 100644 ssn/examples/Actuation/2017ex11.ttl create mode 100644 ssn/examples/Deployment/2017ex23.ttl create mode 100644 ssn/examples/Deployment/2017ex25.ttl create mode 100644 ssn/examples/FoI/2017ex14.ttl create mode 100644 ssn/examples/FoI/2017ex19.ttl create mode 100644 ssn/examples/FoI/2017ex20.ttl create mode 100644 ssn/examples/FoI/2017ex23.ttl create mode 100644 ssn/examples/FoI/2017ex24.ttl create mode 100644 ssn/examples/FoI/2017ex8.ttl create mode 100644 ssn/examples/Observation/2017ex1.ttl create mode 100644 ssn/examples/Observation/2017ex10.ttl create mode 100644 ssn/examples/Observation/2017ex11.ttl create mode 100644 ssn/examples/Observation/2017ex12.ttl create mode 100644 ssn/examples/Observation/2017ex13.ttl create mode 100644 ssn/examples/Observation/2017ex14.ttl create mode 100644 ssn/examples/Observation/2017ex15.ttl create mode 100644 ssn/examples/Observation/2017ex16.ttl create mode 100644 ssn/examples/Observation/2017ex17.ttl create mode 100644 ssn/examples/Observation/2017ex18.ttl create mode 100644 ssn/examples/Observation/2017ex19.ttl create mode 100644 ssn/examples/Observation/2017ex2.ttl create mode 100644 ssn/examples/Observation/2017ex20.ttl create mode 100644 ssn/examples/Observation/2017ex22.ttl create mode 100644 ssn/examples/Observation/2017ex25.ttl create mode 100644 ssn/examples/Observation/2017ex3.1.ttl create mode 100644 ssn/examples/Observation/2017ex3.ttl create mode 100644 ssn/examples/Observation/2017ex4.ttl create mode 100644 ssn/examples/Observation/2017ex5.ttl create mode 100644 ssn/examples/Observation/2017ex8.ttl create mode 100644 ssn/examples/Observation/2017ex9.ttl rename ssn/examples/{ => ObservationCollection}/OC1.ttl (100%) rename ssn/examples/{ => ObservationCollection}/OC2.ttl (100%) create mode 100644 ssn/examples/Platform/2017ex23.ttl create mode 100644 ssn/examples/Platform/2017ex24.ttl create mode 100644 ssn/examples/Platform/2017ex8.ttl create mode 100644 ssn/examples/Procedure/2017ex21.ttl create mode 100644 ssn/examples/Procedure/2017ex8.ttl create mode 100644 ssn/examples/Sample/2017ex19.ttl create mode 100644 ssn/examples/Sample/2017ex20.ttl create mode 100644 ssn/examples/Sample/2017ex23.ttl create mode 100644 ssn/examples/Sample/2017ex24.ttl create mode 100644 ssn/examples/SampleCollection/SC1.ttl create mode 100644 ssn/examples/Sampling/2017ex19.ttl create mode 100644 ssn/examples/Sampling/2017ex20.ttl create mode 100644 ssn/examples/System/2017ex10.ttl create mode 100644 ssn/examples/System/2017ex11.ttl create mode 100644 ssn/examples/System/2017ex14.ttl create mode 100644 ssn/examples/System/2017ex17.ttl create mode 100644 ssn/examples/System/2017ex18.ttl create mode 100644 ssn/examples/System/2017ex21.ttl create mode 100644 ssn/examples/System/2017ex22.ttl create mode 100644 ssn/examples/System/2017ex23.ttl create mode 100644 ssn/examples/System/2017ex25.ttl create mode 100644 ssn/examples/System/2017ex6.ttl create mode 100644 ssn/examples/System/2017ex7.ttl diff --git a/ssn/examples/Actuation/2017ex10.ttl b/ssn/examples/Actuation/2017ex10.ttl new file mode 100644 index 00000000..e498baed --- /dev/null +++ b/ssn/examples/Actuation/2017ex10.ttl @@ -0,0 +1,96 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix ssn: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as +# observed by sensor #926. The result was available 12 seconds later. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "22.4"^^xsd:double ; + qudt:hasUnit unit:KiloW-HR ] ; + sosa:phenomenonTime [ + rdf:type time:Interval ; + time:hasBeginning [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; + time:hasEnd [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; + sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . + + +# Sensor #926 observes the electric consumption of apartment #134, and we know that +# it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + +# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know +# that it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + + +# Sensor #926 observes the electric consumption of apartment #134 + + rdf:type sosa:Sensor ; + sosa:observes . + +# This is equivalent to saying that the electric consumption of apartment #134 is +# observed by Sensor #926 + + rdf:type sosa:ObservableProperty ; + sosa:isObservedBy . + + +# Sensor #926 made observations identified by and . + + rdf:type sosa:Sensor ; + sosa:madeObservation , . + +# This is equivalent to saying that these observations have been made by sensor #926. + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + +# the window opening state is an ActuatableProperty. +# SSN allows to explicitly say that is a property of + + rdf:type sosa:FeatureOfInterest ; + ssn:hasProperty . + + rdf:type sosa:ActuatableProperty ; + sosa:isActedOnBy . + + +# WindowCloser #987 made actuation #188 +# SSN allows to explicitly say that is designed to automatically open and close window #104. + + rdf:type sosa:Actuator ; + sosa:madeActuation ; + ssn:forProperty . + + +# Actuation #188 acted on the state of window #104 and returned 'true'. + + rdf:type sosa:Actuation ; + sosa:actsOnProperty ; + sosa:actuationMadeBy ; + sosa:hasSimplResult true ; + sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/examples/Actuation/2017ex11.ttl b/ssn/examples/Actuation/2017ex11.ttl new file mode 100644 index 00000000..85019fa0 --- /dev/null +++ b/ssn/examples/Actuation/2017ex11.ttl @@ -0,0 +1,91 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as +# observed by sensor #926. The result was available 12 seconds later. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "22.4"^^xsd:double ; + qudt:hasUnit unit:KiloW-HR ] ; + sosa:phenomenonTime [ + rdf:type time:Interval ; + time:hasBeginning [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; + time:hasEnd [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; + sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . + + +# Sensor #926 observes the electric consumption of apartment #134, and we know that +# it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + +# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know +# that it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + + +# Sensor #926 observes the electric consumption of apartment #134 + + rdf:type sosa:Sensor ; + sosa:observes . + +# This is equivalent to saying that the electric consumption of apartment #134 is +# observed by Sensor #926 + + rdf:type sosa:ObservableProperty ; + sosa:isObservedBy . + + +# Sensor #926 made observations identified by and . + + rdf:type sosa:Sensor ; + sosa:madeObservation , . + +# This is equivalent to saying that these observations have been made by sensor #926. + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + +# the window opening state is an ActuatableProperty. + + rdf:type sosa:FeatureOfInterest . + + rdf:type sosa:ActuatableProperty ; + sosa:isActedOnBy . + + +# WindowCloser #987 made actuation #188 + + rdf:type sosa:Actuator ; + sosa:madeActuation . + + +# Actuation #188 acted on the state of window #104 and returned 'true'. + + rdf:type sosa:Actuation ; + sosa:actsOnProperty ; + sosa:actuationMadeBy ; + sosa:hasSimplResult true ; + sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/examples/Deployment/2017ex23.ttl b/ssn/examples/Deployment/2017ex23.ttl new file mode 100644 index 00000000..caab9a2f --- /dev/null +++ b/ssn/examples/Deployment/2017ex23.ttl @@ -0,0 +1,90 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . + +@base . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #145"@en ; + sosa:hasSample ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "East wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; + sosa:hosts . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; + sosa:hosts . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #245"@en ; + sosa:hasProperty , ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #245."@en ; + sosa:hosts . + + + + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 1"@en ; + rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4578"@en ; + sosa:isHostedBy . + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 2"@en ; + rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4579."@en ; + sosa:isHostedBy . + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 3"@en ; + rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4580."@en ; + sosa:isHostedBy . + + + + + a ssn:Deployment ; + rdfs:comment "Deployment of PCB Board 3 on the south wall of room #245 for the purpose of observing the temperature and humidity of room #245."@en ; + ssn:deployedOnPlatform ; + ssn:deployedSystem ; + ssn:forProperty , . + + + a ssn:Deployment ; + rdfs:comment "Deployment of PCB Board 1 and 2 on the east and south wall of room #145, respectively, for the purpose of observing the temperature and humidity of room #145."@en ; + ssn:deployedOnPlatform , ; + ssn:deployedSystem , ; + ssn:forProperty , . \ No newline at end of file diff --git a/ssn/examples/Deployment/2017ex25.ttl b/ssn/examples/Deployment/2017ex25.ttl new file mode 100644 index 00000000..c77638a9 --- /dev/null +++ b/ssn/examples/Deployment/2017ex25.ttl @@ -0,0 +1,103 @@ +@prefix rdf: . +@prefix geo: . +@prefix gr: . +@prefix org: . +@prefix schema: . +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . +@prefix unit: . +@prefix prov: . +@prefix owl: . +@prefix seas: . +@prefix cdt: . + +@base . + + a org:Organization ; + owl:sameAs . + + a sosa:FeatureOfInterest ; + rdfs:label "The air."@en . + + a owl:Class , gr:ProductOrServiceModel ; + gr:name "IP68 Outdoor Temperature Sensor"@en ; + rdfs:label "IP68 Outdoor Temperature Sensor"@en ; + rdfs:subClassOf [ + owl:onProperty ssn-system:hasOperatingRange ; + owl:hasValue ] ; + rdfs:subClassOf [ + owl:onProperty ssn-system:hasSystemCapability ; + owl:hasValue ] . + + a ssn-system:OperatingRange , ssn:Property ; + ssn-system:inCondition . + + a ssn-system:Condition , schema:PropertyValue ; + rdfs:comment "A temperature range of -20 to 70 Celsius."@en ; + schema:minValue -20.0 ; + schema:maxValue 70.0 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:SystemCapability ; + rdfs:comment "The sensor capability in normal operating conditions."@en ; + ssn-system:hasSystemProperty , , , , ; + ssn-system:inCondition . + + a ssn:Property , ssn-system:Sensitivity , schema:PropertyValue ; + schema:value -137 ; + schema:unitCode unit:DecibelReferredToOneMilliwatt . + + a ssn:Property , ssn-system:Accuracy , schema:PropertyValue ; + ssn:forProperty ; + schema:minValue -0.2 ; + schema:maxValue 0.2 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Resolution , schema:PropertyValue ; + ssn:forProperty ; + schema:value 0.0625 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Resolution , schema:PropertyValue ; + ssn:forProperty ; + schema:value 3.937e-3 ; + schema:unitCode unit:PERCENT . + + a sosa:Sample ; + rdfs:label "The air at lat 45.75 and long 4.85."@en ; + sosa:isSampleOf ; + ssn:hasProperty . + + a ssn:Property , sosa:ObservableProperty ; + ssn:isPropertyOf . + + a gr:ProductOrService, sosa:Sensor , seas:LoRaCommunicationDevice , ; + gr:hasBrand [ a gr:Brand ; gr:name "Sensing Labs"@en ] ; + geo:alt 100.0 ; + geo:lat 45.75 ; + geo:lon 4.85 ; + ssn:implements ; + ssn:implements ; + ssn:observes ; + ssn:observes . + + a ssn:Deployment ; + ssn:deployedSystem ; + prov:startedAtTime "2017-06-06"^^xsd:date ; + prov:wasAssociatedWith ; + ssn:deployedOnPlatform . + + a sosa:Observation ; + sosa:hasSimpleResult "64.5244681928429 Cel"^^cdt:ucum ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . + + a sosa:Observation ; + sosa:hasSimpleResult "73.2 %"^^cdt:ucum ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/examples/FoI/2017ex14.ttl b/ssn/examples/FoI/2017ex14.ttl new file mode 100644 index 00000000..8b2de224 --- /dev/null +++ b/ssn/examples/FoI/2017ex14.ttl @@ -0,0 +1,46 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix ssn: . +@prefix geo: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured +# a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific +# Daylight Time. + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "earth"@en . + + rdf:type sosa:Sensor ; + rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; + rdfs:seeAlso ; + sosa:observes . + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "location of VCAB-DP1-BP-40"@en ; + geo:lat 35.8648067 ; + geo:long -120.6195831 ; + geo:alt 12.75 ; + sosa:isSampleOf . + + rdf:type sosa:ObservableProperty , ssn:Property ; + rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; + sosa:isObservedBy . + + rdf:type sosa:Observation ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "5e-4"^^xsd:double ; + qudt:hasUnit unit:CentiM-PER-SEC ] ; + sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . + +# using SSN one can explicitly state that is the property of . + + ssn:hasProperty . \ No newline at end of file diff --git a/ssn/examples/FoI/2017ex19.ttl b/ssn/examples/FoI/2017ex19.ttl new file mode 100644 index 00000000..f7b3a882 --- /dev/null +++ b/ssn/examples/FoI/2017ex19.ttl @@ -0,0 +1,35 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix ssn: . +@prefix xsd: . +@prefix geo: . +@base . + + +# The CO2 level observed in an ice core is 240 parts per million. +# the ice core is a sample of the polar ice sheet of Antarctica. + + a sosa:FeatureOfInterest ; + sosa:hasSample , , . + + rdf:type sosa:Sample ; + sosa:isSampleOf ; + sosa:isResultOf ; + sosa:madeBySampler . + + a sosa:Sampling ; + geo:lat -73.35 ; + geo:long 9.32 ; + sosa:hasResult ; + sosa:madeBySampler ; + sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest . + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasSimpleResult 240 . + +# using SSN one can explicitly state that is the property of . + + ssn:isPropertyOf . \ No newline at end of file diff --git a/ssn/examples/FoI/2017ex20.ttl b/ssn/examples/FoI/2017ex20.ttl new file mode 100644 index 00000000..b1edf1bc --- /dev/null +++ b/ssn/examples/FoI/2017ex20.ttl @@ -0,0 +1,30 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix xsd: . +@prefix geo: . +@base . + + +# The CO2 level observed in an ice core is 240 parts per million. +# the ice core is a sample of the polar ice sheet of Antarctica. + + a sosa:FeatureOfInterest ; + sosa:hasSample , , . + + rdf:type sosa:Sample ; + sosa:isSampleOf ; + sosa:isResultOf ; + sosa:madeBySampler . + + a sosa:Sampling ; + geo:lat -73.35 ; + geo:long 9.32 ; + sosa:hasResult ; + sosa:madeBySampler ; + sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest . + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasSimpleResult 240 . \ No newline at end of file diff --git a/ssn/examples/FoI/2017ex23.ttl b/ssn/examples/FoI/2017ex23.ttl new file mode 100644 index 00000000..caab9a2f --- /dev/null +++ b/ssn/examples/FoI/2017ex23.ttl @@ -0,0 +1,90 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . + +@base . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #145"@en ; + sosa:hasSample ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "East wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; + sosa:hosts . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; + sosa:hosts . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #245"@en ; + sosa:hasProperty , ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #245."@en ; + sosa:hosts . + + + + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 1"@en ; + rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4578"@en ; + sosa:isHostedBy . + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 2"@en ; + rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4579."@en ; + sosa:isHostedBy . + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 3"@en ; + rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4580."@en ; + sosa:isHostedBy . + + + + + a ssn:Deployment ; + rdfs:comment "Deployment of PCB Board 3 on the south wall of room #245 for the purpose of observing the temperature and humidity of room #245."@en ; + ssn:deployedOnPlatform ; + ssn:deployedSystem ; + ssn:forProperty , . + + + a ssn:Deployment ; + rdfs:comment "Deployment of PCB Board 1 and 2 on the east and south wall of room #145, respectively, for the purpose of observing the temperature and humidity of room #145."@en ; + ssn:deployedOnPlatform , ; + ssn:deployedSystem , ; + ssn:forProperty , . \ No newline at end of file diff --git a/ssn/examples/FoI/2017ex24.ttl b/ssn/examples/FoI/2017ex24.ttl new file mode 100644 index 00000000..30160705 --- /dev/null +++ b/ssn/examples/FoI/2017ex24.ttl @@ -0,0 +1,66 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix sosa: . + +@base . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #145"@en ; + sosa:hasSample ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "East wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; + sosa:hosts . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; + sosa:hosts . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #245"@en ; + sosa:hasProperty , ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #245."@en ; + sosa:hosts . + + + a sosa:Platform ; + rdfs:label "PCB Board 1"@en ; + rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently."@en ; + sosa:hosts . + + a sosa:Platform ; + rdfs:label "DHT22 sensor #4578"@en ; + sosa:isHostedBy . + + + a sosa:Platform ; + rdfs:label "PCB Board 2"@en ; + rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanentlys."@en ; + sosa:hosts . + + a sosa:Platform ; + rdfs:label "DHT22 sensor #4579."@en ; + sosa:isHostedBy . + + + a sosa:Platform ; + rdfs:label "PCB Board 3"@en ; + rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently."@en ; + sosa:hosts . + + a sosa:Platform ; + rdfs:label "DHT22 sensor #4580."@en ; + sosa:isHostedBy . \ No newline at end of file diff --git a/ssn/examples/FoI/2017ex8.ttl b/ssn/examples/FoI/2017ex8.ttl new file mode 100644 index 00000000..e6df4fd7 --- /dev/null +++ b/ssn/examples/FoI/2017ex8.ttl @@ -0,0 +1,67 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix sosa: . +@prefix geo: . +@prefix qudt: . +@prefix unit: . +@prefix cdt: . +@base . + +# The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 +# observed on June 6 2017 using only the SOSA core for modelling. + +# the atmosphere is sampled at a specific location +# location coordinates are given using GeoSPARQL + + a sosa:FeatureOfInterest ; + rdfs:label "Atmosphere of Earth"@en . + + a sosa:Sample ; + sosa:isSampleOf ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; + ] ; +. + + a sosa:ObservableProperty ; + rdfs:label "Atmospheric pressure"@en . + + +# An iPhone 7 as the Platform that hosts several sensors, +# among others the Bosch Sensortec BMP282 atmospheric pressure sensor. + + a sosa:Platform ; + rdfs:label "IPhone 7 - IMEI 35-207306-844818-0"@en ; + rdfs:comment "IPhone 7 - IMEI 35-207306-844818-0 - John Doe"@en ; + sosa:hosts . + + a sosa:Sensor ; + rdfs:label "Bosch Sensortec BMP282"@en ; + sosa:observes . + + +# An observation made by the BMP282 atmospheric pressure sensor +# using the cdt:ucum custom datatype. + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:hasSimpleResult "1021.45 hPa"^^cdt:ucum ; + sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . + + +# Another observation made a second later by the BMP282 atmospheric pressure sensor +# using the QUDT Ontology for the Units of Measurement + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:hasResult [ + a qudt:QuantityValue ; + qudt:value "101936"^^xsd:decimal ; + qudt:hasUnit unit:PA ] ; + sosa:resultTime "2017-06-06T12:36:13Z"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex1.ttl b/ssn/examples/Observation/2017ex1.ttl new file mode 100644 index 00000000..e4dec16d --- /dev/null +++ b/ssn/examples/Observation/2017ex1.ttl @@ -0,0 +1,20 @@ +@prefix sosa: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . + + a sosa:Observation ; + rdfs:comment "Observation of the difference between the outside temperature and the inside temperature."@en ; + sosa:hasFeatureOfInterest ; + sosa:hasResult [ + a qudt:QuantityValue ; + qudt:hasUnit unit:DEG_C ; + qudt:value "-29.9"^^xsd:decimal ] . + + a sosa:Observation ; + rdfs:comment "Observation of the temperature inside apartment #134."@en ; + sosa:hasFeatureOfInterest ; + sosa:hasResult [ + a qudt:QuantityValue ; + qudt:hasUnit unit:DEG_C ; + qudt:value "22.4"^^xsd:decimal ] . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex10.ttl b/ssn/examples/Observation/2017ex10.ttl new file mode 100644 index 00000000..e498baed --- /dev/null +++ b/ssn/examples/Observation/2017ex10.ttl @@ -0,0 +1,96 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix ssn: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as +# observed by sensor #926. The result was available 12 seconds later. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "22.4"^^xsd:double ; + qudt:hasUnit unit:KiloW-HR ] ; + sosa:phenomenonTime [ + rdf:type time:Interval ; + time:hasBeginning [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; + time:hasEnd [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; + sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . + + +# Sensor #926 observes the electric consumption of apartment #134, and we know that +# it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + +# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know +# that it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + + +# Sensor #926 observes the electric consumption of apartment #134 + + rdf:type sosa:Sensor ; + sosa:observes . + +# This is equivalent to saying that the electric consumption of apartment #134 is +# observed by Sensor #926 + + rdf:type sosa:ObservableProperty ; + sosa:isObservedBy . + + +# Sensor #926 made observations identified by and . + + rdf:type sosa:Sensor ; + sosa:madeObservation , . + +# This is equivalent to saying that these observations have been made by sensor #926. + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + +# the window opening state is an ActuatableProperty. +# SSN allows to explicitly say that is a property of + + rdf:type sosa:FeatureOfInterest ; + ssn:hasProperty . + + rdf:type sosa:ActuatableProperty ; + sosa:isActedOnBy . + + +# WindowCloser #987 made actuation #188 +# SSN allows to explicitly say that is designed to automatically open and close window #104. + + rdf:type sosa:Actuator ; + sosa:madeActuation ; + ssn:forProperty . + + +# Actuation #188 acted on the state of window #104 and returned 'true'. + + rdf:type sosa:Actuation ; + sosa:actsOnProperty ; + sosa:actuationMadeBy ; + sosa:hasSimplResult true ; + sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex11.ttl b/ssn/examples/Observation/2017ex11.ttl new file mode 100644 index 00000000..85019fa0 --- /dev/null +++ b/ssn/examples/Observation/2017ex11.ttl @@ -0,0 +1,91 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as +# observed by sensor #926. The result was available 12 seconds later. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "22.4"^^xsd:double ; + qudt:hasUnit unit:KiloW-HR ] ; + sosa:phenomenonTime [ + rdf:type time:Interval ; + time:hasBeginning [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; + time:hasEnd [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; + sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . + + +# Sensor #926 observes the electric consumption of apartment #134, and we know that +# it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + +# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know +# that it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + + +# Sensor #926 observes the electric consumption of apartment #134 + + rdf:type sosa:Sensor ; + sosa:observes . + +# This is equivalent to saying that the electric consumption of apartment #134 is +# observed by Sensor #926 + + rdf:type sosa:ObservableProperty ; + sosa:isObservedBy . + + +# Sensor #926 made observations identified by and . + + rdf:type sosa:Sensor ; + sosa:madeObservation , . + +# This is equivalent to saying that these observations have been made by sensor #926. + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + +# the window opening state is an ActuatableProperty. + + rdf:type sosa:FeatureOfInterest . + + rdf:type sosa:ActuatableProperty ; + sosa:isActedOnBy . + + +# WindowCloser #987 made actuation #188 + + rdf:type sosa:Actuator ; + sosa:madeActuation . + + +# Actuation #188 acted on the state of window #104 and returned 'true'. + + rdf:type sosa:Actuation ; + sosa:actsOnProperty ; + sosa:actuationMadeBy ; + sosa:hasSimplResult true ; + sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex12.ttl b/ssn/examples/Observation/2017ex12.ttl new file mode 100644 index 00000000..bf01b5c0 --- /dev/null +++ b/ssn/examples/Observation/2017ex12.ttl @@ -0,0 +1,57 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix ssn: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# rangefinder #30 is a laser range finder sensor that was used +# to observe the height of tree #124 and #125. + + rdf:type sosa:Sensor ; + rdfs:label "rangefinder #30"@en ; + rdfs:comment "rangefinder #30 is a laser range finder sensor."@en . + +# rangefinder #30 made observation #1087 of the height of tree #124. + + rdf:type sosa:Observation ; + rdfs:label "observation #1087"@en ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:hasResult [ + qudt:hasUnit unit:M ; + qudt:numericalValue "15.3"^^xsd:double ] . + +# using SSN, one can explicitly link a property and its feature of interest. + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "tree #124"@en ; + ssn:hasProperty . + + rdf:type sosa:ObservableProperty , ssn:Property ; + rdfs:label "the height of tree #124"@en ; + ssn:isPropertyOf . + +# rangefinder #30 made observation #1088 of the height of tree #125. + + rdf:type sosa:Observation ; + rdfs:label "observation #1088"@en ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:hasResult [ + qudt:numericValue "23.0"^^xsd:double ; + qudt:hasUnit unit:M ] . + +# using SSN, one can explicitly link a property and its feature of interest. + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "tree #125"@en ; + ssn:hasProperty . + + rdf:type sosa:ObservableProperty , ssn:Property ; + rdfs:label "the height of tree #125"@en ; + ssn:isPropertyOf . diff --git a/ssn/examples/Observation/2017ex13.ttl b/ssn/examples/Observation/2017ex13.ttl new file mode 100644 index 00000000..30ea6f58 --- /dev/null +++ b/ssn/examples/Observation/2017ex13.ttl @@ -0,0 +1,48 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# rangefinder #30 is a laser range finder sensor that was used +# to observe the height of tree #124 and #125. + + rdf:type sosa:Sensor ; + rdfs:label "rangefinder #30"@en ; + rdfs:comment "rangefinder #30 is a laser range finder sensor."@en . + +# rangefinder #30 made observation #1087 of the height of tree #124. + + rdf:type sosa:Observation ; + rdfs:label "observation #1087"@en ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:hasResult [ + qudt:hasUnit unit:M ; + qudt:numericalValue "15.3"^^xsd:double ] . + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "tree #124"@en . + + rdf:type sosa:ObservableProperty , ssn:Property ; + rdfs:label "the height of tree #124"@en . + +# rangefinder #30 made observation #1088 of the height of tree #125. + + rdf:type sosa:Observation ; + rdfs:label "observation #1088"@en ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:hasResult [ + qudt:numericValue "23.0"^^xsd:double ; + qudt:hasUnit qunit:M ] . + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "tree #125"@en . + + rdf:type sosa:ObservableProperty , ssn:Property ; + rdfs:label "the height of tree #125"@en . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex14.ttl b/ssn/examples/Observation/2017ex14.ttl new file mode 100644 index 00000000..8b2de224 --- /dev/null +++ b/ssn/examples/Observation/2017ex14.ttl @@ -0,0 +1,46 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix ssn: . +@prefix geo: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured +# a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific +# Daylight Time. + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "earth"@en . + + rdf:type sosa:Sensor ; + rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; + rdfs:seeAlso ; + sosa:observes . + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "location of VCAB-DP1-BP-40"@en ; + geo:lat 35.8648067 ; + geo:long -120.6195831 ; + geo:alt 12.75 ; + sosa:isSampleOf . + + rdf:type sosa:ObservableProperty , ssn:Property ; + rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; + sosa:isObservedBy . + + rdf:type sosa:Observation ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "5e-4"^^xsd:double ; + qudt:hasUnit unit:CentiM-PER-SEC ] ; + sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . + +# using SSN one can explicitly state that is the property of . + + ssn:hasProperty . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex15.ttl b/ssn/examples/Observation/2017ex15.ttl new file mode 100644 index 00000000..923e7da7 --- /dev/null +++ b/ssn/examples/Observation/2017ex15.ttl @@ -0,0 +1,41 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix geo: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured +# a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific +# Daylight Time. + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "earth"@en . + + rdf:type sosa:Sensor ; + rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; + rdfs:seeAlso ; + sosa:observes . + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "location of VCAB-DP1-BP-40"@en ; + geo:lat 35.8648067 ; + geo:long -120.6195831 ; + geo:alt 12.75 ; + sosa:isSampleOf . + + rdf:type sosa:ObservableProperty , ssn:Property ; + rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; + sosa:isObservedBy . + + rdf:type sosa:Observation ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "5e-4"^^xsd:double ; + qudt:hasUnit unit:CentiM-PER-SEC ] ; + sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex16.ttl b/ssn/examples/Observation/2017ex16.ttl new file mode 100644 index 00000000..c7960411 --- /dev/null +++ b/ssn/examples/Observation/2017ex16.ttl @@ -0,0 +1,16 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix xsd: . +@base . + +# The result of an observation of the sunspot number is available a few minutes +# after the phenomenon time, due to the light travel duration. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:hasSimpleResult 66 ; + sosa:phenomenonTime [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-03-31T11:51:42+00:00"^^xsd:dateTimeStamp ] ; + sosa:resultTime "2017-03-31T12:00:00+00:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex17.ttl b/ssn/examples/Observation/2017ex17.ttl new file mode 100644 index 00000000..5a12489b --- /dev/null +++ b/ssn/examples/Observation/2017ex17.ttl @@ -0,0 +1,41 @@ +@prefix rdf: . +@prefix sosa: . +@prefix ssn: . +@prefix xsd: . +@base . + +# movements of spinning cups on wind sensor #14 serves as proxies for the wind speed +# at the location of the wind sensor. + + rdf:type sosa:Sensor ; + sosa:observes . + +# wind sensor #14 detected some movement of spinning cups, from which originated the +# observations #147 and #148. + + rdf:type sosa:Sensor ; + sosa:madeObservation , ; + ssn:detects , . + +# observation #147 was originated by the movement of the spinning cups of sensor #14. +# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + ssn:wasOriginatedBy ; + sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; + sosa:hasSimpleResult "47 km/h"^^ . + + rdf:type ssn:Stimulus ; + ssn:isProxyFor . + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + ssn:wasOriginatedBy ; + sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; + sosa:hasSimpleResult "43 km/h"^^ . + + rdf:type ssn:Stimulus ; + ssn:isProxyFor . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex18.ttl b/ssn/examples/Observation/2017ex18.ttl new file mode 100644 index 00000000..42b6bf25 --- /dev/null +++ b/ssn/examples/Observation/2017ex18.ttl @@ -0,0 +1,29 @@ +@prefix rdf: . +@prefix sosa: . +@prefix xsd: . +@base . + +# movements of spinning cups on wind sensor #14 serves as proxies for the wind speed +# at the location of the wind sensor. + + rdf:type sosa:Sensor ; + sosa:observes . + +# wind sensor #14 made observations #147 and #148. + + rdf:type sosa:Sensor ; + sosa:madeObservation , . + +# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; + sosa:hasSimpleResult "47 km/h"^^ . + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; + sosa:hasSimpleResult "43 km/h"^^ . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex19.ttl b/ssn/examples/Observation/2017ex19.ttl new file mode 100644 index 00000000..f7b3a882 --- /dev/null +++ b/ssn/examples/Observation/2017ex19.ttl @@ -0,0 +1,35 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix ssn: . +@prefix xsd: . +@prefix geo: . +@base . + + +# The CO2 level observed in an ice core is 240 parts per million. +# the ice core is a sample of the polar ice sheet of Antarctica. + + a sosa:FeatureOfInterest ; + sosa:hasSample , , . + + rdf:type sosa:Sample ; + sosa:isSampleOf ; + sosa:isResultOf ; + sosa:madeBySampler . + + a sosa:Sampling ; + geo:lat -73.35 ; + geo:long 9.32 ; + sosa:hasResult ; + sosa:madeBySampler ; + sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest . + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasSimpleResult 240 . + +# using SSN one can explicitly state that is the property of . + + ssn:isPropertyOf . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex2.ttl b/ssn/examples/Observation/2017ex2.ttl new file mode 100644 index 00000000..9a468492 --- /dev/null +++ b/ssn/examples/Observation/2017ex2.ttl @@ -0,0 +1,19 @@ +@prefix sosa: . +@prefix xsd: . +@prefix om: . + + a sosa:Observation ; + rdfs:comment "Observation of the difference between the outside temperature and the inside temperature."@en ; + sosa:hasFeatureOfInterest ; + sosa:hasResult [ + a om:Measure ; + om:hasUnit om:degreeCelsius ; + om:hasNumericalValue "-29.9"^^xsd:decimal ] . + + a sosa:Observation ; + rdfs:comment "Observation of the temperature inside apartment #134."@en ; + sosa:hasFeatureOfInterest ; + sosa:hasResult [ + a om:Point ; + om:hasScale om:CelsiusScale ; + om:hasNumericalValue "22.4"^^xsd:decimal ] . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex20.ttl b/ssn/examples/Observation/2017ex20.ttl new file mode 100644 index 00000000..b1edf1bc --- /dev/null +++ b/ssn/examples/Observation/2017ex20.ttl @@ -0,0 +1,30 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix xsd: . +@prefix geo: . +@base . + + +# The CO2 level observed in an ice core is 240 parts per million. +# the ice core is a sample of the polar ice sheet of Antarctica. + + a sosa:FeatureOfInterest ; + sosa:hasSample , , . + + rdf:type sosa:Sample ; + sosa:isSampleOf ; + sosa:isResultOf ; + sosa:madeBySampler . + + a sosa:Sampling ; + geo:lat -73.35 ; + geo:long 9.32 ; + sosa:hasResult ; + sosa:madeBySampler ; + sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest . + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasSimpleResult 240 . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex22.ttl b/ssn/examples/Observation/2017ex22.ttl new file mode 100644 index 00000000..b9925779 --- /dev/null +++ b/ssn/examples/Observation/2017ex22.ttl @@ -0,0 +1,31 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . + +@prefix rdfp: . + +@base . + + + a sosa:Procedure . + + a sosa:Platform ; + rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; + rdfs:seeAlso . + + + a sosa:Sensor ; + sosa:isHostedBy ; + rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en . + + + a sosa:Observation ; + sosa:madeBySensor ; + sosa:usedProcedure . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex25.ttl b/ssn/examples/Observation/2017ex25.ttl new file mode 100644 index 00000000..c77638a9 --- /dev/null +++ b/ssn/examples/Observation/2017ex25.ttl @@ -0,0 +1,103 @@ +@prefix rdf: . +@prefix geo: . +@prefix gr: . +@prefix org: . +@prefix schema: . +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . +@prefix unit: . +@prefix prov: . +@prefix owl: . +@prefix seas: . +@prefix cdt: . + +@base . + + a org:Organization ; + owl:sameAs . + + a sosa:FeatureOfInterest ; + rdfs:label "The air."@en . + + a owl:Class , gr:ProductOrServiceModel ; + gr:name "IP68 Outdoor Temperature Sensor"@en ; + rdfs:label "IP68 Outdoor Temperature Sensor"@en ; + rdfs:subClassOf [ + owl:onProperty ssn-system:hasOperatingRange ; + owl:hasValue ] ; + rdfs:subClassOf [ + owl:onProperty ssn-system:hasSystemCapability ; + owl:hasValue ] . + + a ssn-system:OperatingRange , ssn:Property ; + ssn-system:inCondition . + + a ssn-system:Condition , schema:PropertyValue ; + rdfs:comment "A temperature range of -20 to 70 Celsius."@en ; + schema:minValue -20.0 ; + schema:maxValue 70.0 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:SystemCapability ; + rdfs:comment "The sensor capability in normal operating conditions."@en ; + ssn-system:hasSystemProperty , , , , ; + ssn-system:inCondition . + + a ssn:Property , ssn-system:Sensitivity , schema:PropertyValue ; + schema:value -137 ; + schema:unitCode unit:DecibelReferredToOneMilliwatt . + + a ssn:Property , ssn-system:Accuracy , schema:PropertyValue ; + ssn:forProperty ; + schema:minValue -0.2 ; + schema:maxValue 0.2 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Resolution , schema:PropertyValue ; + ssn:forProperty ; + schema:value 0.0625 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Resolution , schema:PropertyValue ; + ssn:forProperty ; + schema:value 3.937e-3 ; + schema:unitCode unit:PERCENT . + + a sosa:Sample ; + rdfs:label "The air at lat 45.75 and long 4.85."@en ; + sosa:isSampleOf ; + ssn:hasProperty . + + a ssn:Property , sosa:ObservableProperty ; + ssn:isPropertyOf . + + a gr:ProductOrService, sosa:Sensor , seas:LoRaCommunicationDevice , ; + gr:hasBrand [ a gr:Brand ; gr:name "Sensing Labs"@en ] ; + geo:alt 100.0 ; + geo:lat 45.75 ; + geo:lon 4.85 ; + ssn:implements ; + ssn:implements ; + ssn:observes ; + ssn:observes . + + a ssn:Deployment ; + ssn:deployedSystem ; + prov:startedAtTime "2017-06-06"^^xsd:date ; + prov:wasAssociatedWith ; + ssn:deployedOnPlatform . + + a sosa:Observation ; + sosa:hasSimpleResult "64.5244681928429 Cel"^^cdt:ucum ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . + + a sosa:Observation ; + sosa:hasSimpleResult "73.2 %"^^cdt:ucum ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex3.1.ttl b/ssn/examples/Observation/2017ex3.1.ttl new file mode 100644 index 00000000..06ff13f2 --- /dev/null +++ b/ssn/examples/Observation/2017ex3.1.ttl @@ -0,0 +1,6 @@ +@prefix unit: . +@prefix sosa: . + + a sosa:Observation ; + sosa:hasFeatureOfInterest ; + sosa:hasSimpleResult "-29.9"^^unit:DEG_C . diff --git a/ssn/examples/Observation/2017ex3.ttl b/ssn/examples/Observation/2017ex3.ttl new file mode 100644 index 00000000..1694bfac --- /dev/null +++ b/ssn/examples/Observation/2017ex3.ttl @@ -0,0 +1,6 @@ +@prefix cdt: . +@prefix sosa: . + + a sosa:Observation ; + sosa:hasFeatureOfInterest ; + sosa:hasSimpleResult "-29.9 Cel"^^cdt:ucum . diff --git a/ssn/examples/Observation/2017ex4.ttl b/ssn/examples/Observation/2017ex4.ttl new file mode 100644 index 00000000..56caa776 --- /dev/null +++ b/ssn/examples/Observation/2017ex4.ttl @@ -0,0 +1,15 @@ +ex:Temperature a ssn:Property . + + a sosa:FeatureOfInterest; + ssn:hasProperty ex:Temperature . + + a sosa:Observation ; + sosa:observedProperty ex:Temperature ; + sosa:hasFeatureOfInterest . + + a sosa:FeatureOfInterest; + ssn:hasProperty ex:Temperature . + + a sosa:Observation ; + sosa:observedProperty ex:Temperature ; + sosa:hasFeatureOfInterest . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex5.ttl b/ssn/examples/Observation/2017ex5.ttl new file mode 100644 index 00000000..9930d868 --- /dev/null +++ b/ssn/examples/Observation/2017ex5.ttl @@ -0,0 +1,20 @@ +ex:Temperature a owl:Class ; + rdfs:subClassOf ssn:Property . + + a sosa:FeatureOfInterest; + ssn:hasProperty . + + a ex:Temperature , ssn:Property . + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasFeatureOfInterest . + + a sosa:FeatureOfInterest; + ssn:hasProperty . + + a ex:Temperature , ssn:Property . + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasFeatureOfInterest . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex8.ttl b/ssn/examples/Observation/2017ex8.ttl new file mode 100644 index 00000000..e6df4fd7 --- /dev/null +++ b/ssn/examples/Observation/2017ex8.ttl @@ -0,0 +1,67 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix sosa: . +@prefix geo: . +@prefix qudt: . +@prefix unit: . +@prefix cdt: . +@base . + +# The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 +# observed on June 6 2017 using only the SOSA core for modelling. + +# the atmosphere is sampled at a specific location +# location coordinates are given using GeoSPARQL + + a sosa:FeatureOfInterest ; + rdfs:label "Atmosphere of Earth"@en . + + a sosa:Sample ; + sosa:isSampleOf ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; + ] ; +. + + a sosa:ObservableProperty ; + rdfs:label "Atmospheric pressure"@en . + + +# An iPhone 7 as the Platform that hosts several sensors, +# among others the Bosch Sensortec BMP282 atmospheric pressure sensor. + + a sosa:Platform ; + rdfs:label "IPhone 7 - IMEI 35-207306-844818-0"@en ; + rdfs:comment "IPhone 7 - IMEI 35-207306-844818-0 - John Doe"@en ; + sosa:hosts . + + a sosa:Sensor ; + rdfs:label "Bosch Sensortec BMP282"@en ; + sosa:observes . + + +# An observation made by the BMP282 atmospheric pressure sensor +# using the cdt:ucum custom datatype. + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:hasSimpleResult "1021.45 hPa"^^cdt:ucum ; + sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . + + +# Another observation made a second later by the BMP282 atmospheric pressure sensor +# using the QUDT Ontology for the Units of Measurement + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:hasResult [ + a qudt:QuantityValue ; + qudt:value "101936"^^xsd:decimal ; + qudt:hasUnit unit:PA ] ; + sosa:resultTime "2017-06-06T12:36:13Z"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/examples/Observation/2017ex9.ttl b/ssn/examples/Observation/2017ex9.ttl new file mode 100644 index 00000000..20b4a829 --- /dev/null +++ b/ssn/examples/Observation/2017ex9.ttl @@ -0,0 +1,51 @@ +@prefix rdf: . +@prefix owl: . +@prefix rdfs: . +@prefix sosa: . +@prefix xsd: . +@prefix cdt: . + +@base . + + a sosa:FeatureOfInterest ; + sosa:hasSample ; + rdfs:comment "Coal Oil Point Reserve: UC Santa Barbara Natural Reserve System"@en ; + rdfs:label "Coal Oil Point Reserve"@en . + + a sosa:Sample ; + rdfs:comment "."@en ; + rdfs:label "Air around COPR Station"@en ; + sosa:isSampleOf . + + a sosa:Platform ; + rdfs:comment "Station at Coal Oil Point Reserve, CA (see http://www.geog.ucsb.edu/ideas/COPR.html for details)"@en ; + rdfs:label "Coal Oil Point Reserve Wx Station"@en ; + rdfs:seeAlso ; + sosa:hosts . + + a sosa:Platform ; + rdfs:label "HMP45C-L Temperature and Relative Humidity Probe at Coal Oil Point, UCSB, CA"@en ; + sosa:hosts ; + sosa:isHostedBy . + + a sosa:Sensor ; + rdfs:label "Vaisala HUMICAP H-chip"@en ; + sosa:isHostedBy . + + a sosa:ObservableProperty ; + rdfs:comment "Humidity is a measure of the moisture content of air."@en ; + rdfs:label "Relative Humidity"@en . + + a sosa:Procedure ; + rdfs:comment "... detailed instructions for measuring relative humidity ..."@en ; + . + + a sosa:Observation ; + rdfs:comment "Relative humidity as averaged over 15min at COPR."@en ; + rdfs:label "Relative humidity, AVG, 15min, COPR, 06.02.2017, 3:00 PM"@en ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:hasSimpleResult "92.5 %"^^cdt:ucum ; + sosa:resultTime "2017-06-02-T03:00:00-7:00"^^xsd:dateTime ; + sosa:observedProperty ; + sosa:usedProcedure . \ No newline at end of file diff --git a/ssn/examples/OC1.ttl b/ssn/examples/ObservationCollection/OC1.ttl similarity index 100% rename from ssn/examples/OC1.ttl rename to ssn/examples/ObservationCollection/OC1.ttl diff --git a/ssn/examples/OC2.ttl b/ssn/examples/ObservationCollection/OC2.ttl similarity index 100% rename from ssn/examples/OC2.ttl rename to ssn/examples/ObservationCollection/OC2.ttl diff --git a/ssn/examples/Platform/2017ex23.ttl b/ssn/examples/Platform/2017ex23.ttl new file mode 100644 index 00000000..caab9a2f --- /dev/null +++ b/ssn/examples/Platform/2017ex23.ttl @@ -0,0 +1,90 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . + +@base . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #145"@en ; + sosa:hasSample ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "East wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; + sosa:hosts . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; + sosa:hosts . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #245"@en ; + sosa:hasProperty , ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #245."@en ; + sosa:hosts . + + + + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 1"@en ; + rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4578"@en ; + sosa:isHostedBy . + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 2"@en ; + rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4579."@en ; + sosa:isHostedBy . + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 3"@en ; + rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4580."@en ; + sosa:isHostedBy . + + + + + a ssn:Deployment ; + rdfs:comment "Deployment of PCB Board 3 on the south wall of room #245 for the purpose of observing the temperature and humidity of room #245."@en ; + ssn:deployedOnPlatform ; + ssn:deployedSystem ; + ssn:forProperty , . + + + a ssn:Deployment ; + rdfs:comment "Deployment of PCB Board 1 and 2 on the east and south wall of room #145, respectively, for the purpose of observing the temperature and humidity of room #145."@en ; + ssn:deployedOnPlatform , ; + ssn:deployedSystem , ; + ssn:forProperty , . \ No newline at end of file diff --git a/ssn/examples/Platform/2017ex24.ttl b/ssn/examples/Platform/2017ex24.ttl new file mode 100644 index 00000000..30160705 --- /dev/null +++ b/ssn/examples/Platform/2017ex24.ttl @@ -0,0 +1,66 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix sosa: . + +@base . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #145"@en ; + sosa:hasSample ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "East wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; + sosa:hosts . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; + sosa:hosts . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #245"@en ; + sosa:hasProperty , ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #245."@en ; + sosa:hosts . + + + a sosa:Platform ; + rdfs:label "PCB Board 1"@en ; + rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently."@en ; + sosa:hosts . + + a sosa:Platform ; + rdfs:label "DHT22 sensor #4578"@en ; + sosa:isHostedBy . + + + a sosa:Platform ; + rdfs:label "PCB Board 2"@en ; + rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanentlys."@en ; + sosa:hosts . + + a sosa:Platform ; + rdfs:label "DHT22 sensor #4579."@en ; + sosa:isHostedBy . + + + a sosa:Platform ; + rdfs:label "PCB Board 3"@en ; + rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently."@en ; + sosa:hosts . + + a sosa:Platform ; + rdfs:label "DHT22 sensor #4580."@en ; + sosa:isHostedBy . \ No newline at end of file diff --git a/ssn/examples/Platform/2017ex8.ttl b/ssn/examples/Platform/2017ex8.ttl new file mode 100644 index 00000000..e6df4fd7 --- /dev/null +++ b/ssn/examples/Platform/2017ex8.ttl @@ -0,0 +1,67 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix sosa: . +@prefix geo: . +@prefix qudt: . +@prefix unit: . +@prefix cdt: . +@base . + +# The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 +# observed on June 6 2017 using only the SOSA core for modelling. + +# the atmosphere is sampled at a specific location +# location coordinates are given using GeoSPARQL + + a sosa:FeatureOfInterest ; + rdfs:label "Atmosphere of Earth"@en . + + a sosa:Sample ; + sosa:isSampleOf ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; + ] ; +. + + a sosa:ObservableProperty ; + rdfs:label "Atmospheric pressure"@en . + + +# An iPhone 7 as the Platform that hosts several sensors, +# among others the Bosch Sensortec BMP282 atmospheric pressure sensor. + + a sosa:Platform ; + rdfs:label "IPhone 7 - IMEI 35-207306-844818-0"@en ; + rdfs:comment "IPhone 7 - IMEI 35-207306-844818-0 - John Doe"@en ; + sosa:hosts . + + a sosa:Sensor ; + rdfs:label "Bosch Sensortec BMP282"@en ; + sosa:observes . + + +# An observation made by the BMP282 atmospheric pressure sensor +# using the cdt:ucum custom datatype. + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:hasSimpleResult "1021.45 hPa"^^cdt:ucum ; + sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . + + +# Another observation made a second later by the BMP282 atmospheric pressure sensor +# using the QUDT Ontology for the Units of Measurement + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:hasResult [ + a qudt:QuantityValue ; + qudt:value "101936"^^xsd:decimal ; + qudt:hasUnit unit:PA ] ; + sosa:resultTime "2017-06-06T12:36:13Z"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/examples/Procedure/2017ex21.ttl b/ssn/examples/Procedure/2017ex21.ttl new file mode 100644 index 00000000..da23d0ad --- /dev/null +++ b/ssn/examples/Procedure/2017ex21.ttl @@ -0,0 +1,128 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix ex: . +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . + +@prefix rdfp: . + +@base . + + + a sosa:Procedure ; + ssn:hasOutput . + + a ssn:Output , rdfp:GraphDescription ; + rdfs:comment "The output is a RDF Graph that describes both the temperature and the humidity. It can be validated by a SHACL shapes graph."@en ; + rdfp:presentedBy [ + a rdfp:GraphDescription ; + rdfp:validationRule ; + ] . + + + a ssn:System ; + rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; + rdfs:seeAlso ; + ssn:hasSubSystem , . + + + + a sosa:Sensor , ssn:System ; + rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en ; + ssn-system:hasOperatingRange ; + ssn-system:hasSystemCapability ; + ssn:implements . + + a sosa:Sensor , ssn:System ; + rdfs:comment "The embedded humidity sensor, a specific instance of humidity sensor."@en ; + ssn-system:hasOperatingRange ; + ssn:implements . + + + + a ssn-system:OperatingRange ; + rdfs:comment "The conditions in which the DHT22 temperature sensor is expected to operate."@en ; + ssn-system:inCondition , . + + a ssn-system:OperatingRange ; + rdfs:comment "The conditions in which the DHT22 humidity sensor is expected to operate."@en ; + ssn-system:inCondition , . + + + + a ssn-system:Condition , schema:PropertyValue ; + rdfs:comment "A temperature range of -40 to 80 Celsius."@en ; + schema:minValue -40.0 ; + schema:maxValue 80.0 ; + schema:unitCode unit:DegreeCelsius . + + a ssn-system:Condition , schema:PropertyValue ; + rdfs:comment "A relative humidity range of 5 to 85 %."@en ; + schema:minValue 5.0 ; + schema:maxValue 85.0 ; + schema:unitCode unit:PERCENT . + + + + a ssn:Property , ssn-system:SystemCapability , schema:PropertyValue ; + rdfs:comment "The capabilities of the temperature sensor in normal temperature and humidity conditions." ; + ssn-system:inCondition , ; + ssn-system:hasSystemProperty , , , . + + a ssn:Property , ssn-system:Accuracy , schema:PropertyValue ; + rdfs:comment "The accuracy of the temperature sensor is +-0.5 °C in normal temperature and humidity conditions."@en ; + schema:minValue -0.5 ; + schema:maxValue 0.5 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Sensitivity , ssn-system:Resolution , schema:PropertyValue ; + rdfs:comment "The sensitivity and resolution of the temperature sensor is 0.1 °C in normal temperature and humidity conditions."@en ; + schema:value 0.1 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Precision , schema:PropertyValue ; + rdfs:comment "The precision (= repeatability) of the temperature sensor is +-0.2 °C in normal temperature and humidity conditions."@en ; + schema:minValue 0.2 ; + schema:maxValue 0.2 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Frequency , schema:PropertyValue ; + rdfs:comment "The smallest possible time between one observation and the next is 2 s on average."@en ; + schema:value 2 ; + schema:unitCode unit:Second . + + + rdf:type sosa:Observation ; + sosa:madeBySensor ; + sosa:usedProcedure ; + ssn-system:qualityOfObservation . + + +# one may classify the quality of observation using some class: + + rdf:type ex:FairQuality . + + +# one may use some other ontology to further qualify this quality. + + + ex:evaluatedBy ; + ex:confidenceValue "6"^^xsd:integer; + rdfs:comment """Tom gave a confidence value of 6 out of 10 on this observation."""@en . + +# one may use some quantity ontology. + +@prefix qudt: . +@prefix unit: . + + rdf:type qudt:Quantity ; + qudt:quantityValue [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "98.4"^^xsd:double ; + qudt:hasUnit unit:PERCENT ] . \ No newline at end of file diff --git a/ssn/examples/Procedure/2017ex8.ttl b/ssn/examples/Procedure/2017ex8.ttl new file mode 100644 index 00000000..e6df4fd7 --- /dev/null +++ b/ssn/examples/Procedure/2017ex8.ttl @@ -0,0 +1,67 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix sosa: . +@prefix geo: . +@prefix qudt: . +@prefix unit: . +@prefix cdt: . +@base . + +# The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 +# observed on June 6 2017 using only the SOSA core for modelling. + +# the atmosphere is sampled at a specific location +# location coordinates are given using GeoSPARQL + + a sosa:FeatureOfInterest ; + rdfs:label "Atmosphere of Earth"@en . + + a sosa:Sample ; + sosa:isSampleOf ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; + ] ; +. + + a sosa:ObservableProperty ; + rdfs:label "Atmospheric pressure"@en . + + +# An iPhone 7 as the Platform that hosts several sensors, +# among others the Bosch Sensortec BMP282 atmospheric pressure sensor. + + a sosa:Platform ; + rdfs:label "IPhone 7 - IMEI 35-207306-844818-0"@en ; + rdfs:comment "IPhone 7 - IMEI 35-207306-844818-0 - John Doe"@en ; + sosa:hosts . + + a sosa:Sensor ; + rdfs:label "Bosch Sensortec BMP282"@en ; + sosa:observes . + + +# An observation made by the BMP282 atmospheric pressure sensor +# using the cdt:ucum custom datatype. + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:hasSimpleResult "1021.45 hPa"^^cdt:ucum ; + sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . + + +# Another observation made a second later by the BMP282 atmospheric pressure sensor +# using the QUDT Ontology for the Units of Measurement + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:hasResult [ + a qudt:QuantityValue ; + qudt:value "101936"^^xsd:decimal ; + qudt:hasUnit unit:PA ] ; + sosa:resultTime "2017-06-06T12:36:13Z"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/examples/Sample/2017ex19.ttl b/ssn/examples/Sample/2017ex19.ttl new file mode 100644 index 00000000..f7b3a882 --- /dev/null +++ b/ssn/examples/Sample/2017ex19.ttl @@ -0,0 +1,35 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix ssn: . +@prefix xsd: . +@prefix geo: . +@base . + + +# The CO2 level observed in an ice core is 240 parts per million. +# the ice core is a sample of the polar ice sheet of Antarctica. + + a sosa:FeatureOfInterest ; + sosa:hasSample , , . + + rdf:type sosa:Sample ; + sosa:isSampleOf ; + sosa:isResultOf ; + sosa:madeBySampler . + + a sosa:Sampling ; + geo:lat -73.35 ; + geo:long 9.32 ; + sosa:hasResult ; + sosa:madeBySampler ; + sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest . + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasSimpleResult 240 . + +# using SSN one can explicitly state that is the property of . + + ssn:isPropertyOf . \ No newline at end of file diff --git a/ssn/examples/Sample/2017ex20.ttl b/ssn/examples/Sample/2017ex20.ttl new file mode 100644 index 00000000..b1edf1bc --- /dev/null +++ b/ssn/examples/Sample/2017ex20.ttl @@ -0,0 +1,30 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix xsd: . +@prefix geo: . +@base . + + +# The CO2 level observed in an ice core is 240 parts per million. +# the ice core is a sample of the polar ice sheet of Antarctica. + + a sosa:FeatureOfInterest ; + sosa:hasSample , , . + + rdf:type sosa:Sample ; + sosa:isSampleOf ; + sosa:isResultOf ; + sosa:madeBySampler . + + a sosa:Sampling ; + geo:lat -73.35 ; + geo:long 9.32 ; + sosa:hasResult ; + sosa:madeBySampler ; + sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest . + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasSimpleResult 240 . \ No newline at end of file diff --git a/ssn/examples/Sample/2017ex23.ttl b/ssn/examples/Sample/2017ex23.ttl new file mode 100644 index 00000000..caab9a2f --- /dev/null +++ b/ssn/examples/Sample/2017ex23.ttl @@ -0,0 +1,90 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . + +@base . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #145"@en ; + sosa:hasSample ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "East wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; + sosa:hosts . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; + sosa:hosts . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #245"@en ; + sosa:hasProperty , ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #245."@en ; + sosa:hosts . + + + + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 1"@en ; + rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4578"@en ; + sosa:isHostedBy . + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 2"@en ; + rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4579."@en ; + sosa:isHostedBy . + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 3"@en ; + rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4580."@en ; + sosa:isHostedBy . + + + + + a ssn:Deployment ; + rdfs:comment "Deployment of PCB Board 3 on the south wall of room #245 for the purpose of observing the temperature and humidity of room #245."@en ; + ssn:deployedOnPlatform ; + ssn:deployedSystem ; + ssn:forProperty , . + + + a ssn:Deployment ; + rdfs:comment "Deployment of PCB Board 1 and 2 on the east and south wall of room #145, respectively, for the purpose of observing the temperature and humidity of room #145."@en ; + ssn:deployedOnPlatform , ; + ssn:deployedSystem , ; + ssn:forProperty , . \ No newline at end of file diff --git a/ssn/examples/Sample/2017ex24.ttl b/ssn/examples/Sample/2017ex24.ttl new file mode 100644 index 00000000..30160705 --- /dev/null +++ b/ssn/examples/Sample/2017ex24.ttl @@ -0,0 +1,66 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix sosa: . + +@base . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #145"@en ; + sosa:hasSample ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "East wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; + sosa:hosts . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; + sosa:hosts . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #245"@en ; + sosa:hasProperty , ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #245."@en ; + sosa:hosts . + + + a sosa:Platform ; + rdfs:label "PCB Board 1"@en ; + rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently."@en ; + sosa:hosts . + + a sosa:Platform ; + rdfs:label "DHT22 sensor #4578"@en ; + sosa:isHostedBy . + + + a sosa:Platform ; + rdfs:label "PCB Board 2"@en ; + rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanentlys."@en ; + sosa:hosts . + + a sosa:Platform ; + rdfs:label "DHT22 sensor #4579."@en ; + sosa:isHostedBy . + + + a sosa:Platform ; + rdfs:label "PCB Board 3"@en ; + rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently."@en ; + sosa:hosts . + + a sosa:Platform ; + rdfs:label "DHT22 sensor #4580."@en ; + sosa:isHostedBy . \ No newline at end of file diff --git a/ssn/examples/SampleCollection/SC1.ttl b/ssn/examples/SampleCollection/SC1.ttl new file mode 100644 index 00000000..b624fee6 --- /dev/null +++ b/ssn/examples/SampleCollection/SC1.ttl @@ -0,0 +1,82 @@ +@prefix dc: . +@prefix dcterms: . +@prefix geo: . +@prefix orcid: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix sosa: . +@prefix time: . +@prefix xsd: . + +@prefix ex: . + +ex:SC1 + a sosa:SampleCollection ; + sosa:isSampleOf ex:foia ; + sosa:isResultOfMadeBySampler orcid:0000-0002-3884-3420 ; + sosa:isResultOfMadeBySampler orcid:0000-0002-7815-2472 ; + sosa:isResultOfUsedProcedure ex:p5 ; + sosa:isResultOfUsedProcedure ex:p6 ; + sosa:hasMember ex:SC2 ; + sosa:hasMember ex:SC3 ; + skos:note """member samples have a common isSampleOf + `isResultOfMadeBySampler` is repeated to enumerate the samplers used for the member samples + `isResultOfUsedProcedure` is repeated to enumerate the procedures used for the member samples""" ; +. +ex:SC2 + a sosa:SampleCollection ; + sosa:isResultOfMadeBySampler orcid:0000-0002-3884-3420 ; + sosa:hasMember ex:S2 ; + sosa:hasMember ex:S3 ; + skos:note """member samples have a common Sampler""" ; +. +ex:SC3 + a sosa:SampleCollection ; + sosa:isResultOfMadeBySampler orcid:0000-0002-7815-2472 ; + sosa:hasMember ex:S4 ; + sosa:hasMember ex:S5 ; + skos:note """member samples have a common Sampler""" ; +. +ex:S2 + a sosa:Sample ; + sosa:isResultOfUsedProcedure ex:p5 ; +. +ex:S3 + a sosa:Sample ; + sosa:isResultOfUsedProcedure ex:p6 ; +. +ex:S4 + a sosa:Sample ; + sosa:isResultOfUsedProcedure ex:p5 ; +. +ex:S5 + a sosa:Sample ; + sosa:isResultOfUsedProcedure ex:p6 ; +. +ex:foia + a sosa:FeatureOfInterest ; +. +orcid:0000-0002-3884-3420 + a sosa:Sampler , dcterms:Agent ; +. +orcid:0000-0002-7815-2472 + a sosa:Sampler , dcterms:Agent ; +. +ex:p5 + a sosa:Procedure ; +. +ex:p6 + a sosa:Procedure ; +. +ex:examples-collection-sam + a owl:Ontology ; + dcterms:created "2023-11-04"^^xsd:date ; + dcterms:modified "2024-01-22"^^xsd:date ; + dcterms:creator ; + rdfs:comment "Small dataset to test rules in SOSA Collections" ; + owl:imports , + , + ; +. diff --git a/ssn/examples/Sampling/2017ex19.ttl b/ssn/examples/Sampling/2017ex19.ttl new file mode 100644 index 00000000..f7b3a882 --- /dev/null +++ b/ssn/examples/Sampling/2017ex19.ttl @@ -0,0 +1,35 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix ssn: . +@prefix xsd: . +@prefix geo: . +@base . + + +# The CO2 level observed in an ice core is 240 parts per million. +# the ice core is a sample of the polar ice sheet of Antarctica. + + a sosa:FeatureOfInterest ; + sosa:hasSample , , . + + rdf:type sosa:Sample ; + sosa:isSampleOf ; + sosa:isResultOf ; + sosa:madeBySampler . + + a sosa:Sampling ; + geo:lat -73.35 ; + geo:long 9.32 ; + sosa:hasResult ; + sosa:madeBySampler ; + sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest . + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasSimpleResult 240 . + +# using SSN one can explicitly state that is the property of . + + ssn:isPropertyOf . \ No newline at end of file diff --git a/ssn/examples/Sampling/2017ex20.ttl b/ssn/examples/Sampling/2017ex20.ttl new file mode 100644 index 00000000..b1edf1bc --- /dev/null +++ b/ssn/examples/Sampling/2017ex20.ttl @@ -0,0 +1,30 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix xsd: . +@prefix geo: . +@base . + + +# The CO2 level observed in an ice core is 240 parts per million. +# the ice core is a sample of the polar ice sheet of Antarctica. + + a sosa:FeatureOfInterest ; + sosa:hasSample , , . + + rdf:type sosa:Sample ; + sosa:isSampleOf ; + sosa:isResultOf ; + sosa:madeBySampler . + + a sosa:Sampling ; + geo:lat -73.35 ; + geo:long 9.32 ; + sosa:hasResult ; + sosa:madeBySampler ; + sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest . + + a sosa:Observation ; + sosa:observedProperty ; + sosa:hasSimpleResult 240 . \ No newline at end of file diff --git a/ssn/examples/System/2017ex10.ttl b/ssn/examples/System/2017ex10.ttl new file mode 100644 index 00000000..e498baed --- /dev/null +++ b/ssn/examples/System/2017ex10.ttl @@ -0,0 +1,96 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix ssn: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as +# observed by sensor #926. The result was available 12 seconds later. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "22.4"^^xsd:double ; + qudt:hasUnit unit:KiloW-HR ] ; + sosa:phenomenonTime [ + rdf:type time:Interval ; + time:hasBeginning [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; + time:hasEnd [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; + sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . + + +# Sensor #926 observes the electric consumption of apartment #134, and we know that +# it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + +# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know +# that it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + + +# Sensor #926 observes the electric consumption of apartment #134 + + rdf:type sosa:Sensor ; + sosa:observes . + +# This is equivalent to saying that the electric consumption of apartment #134 is +# observed by Sensor #926 + + rdf:type sosa:ObservableProperty ; + sosa:isObservedBy . + + +# Sensor #926 made observations identified by and . + + rdf:type sosa:Sensor ; + sosa:madeObservation , . + +# This is equivalent to saying that these observations have been made by sensor #926. + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + +# the window opening state is an ActuatableProperty. +# SSN allows to explicitly say that is a property of + + rdf:type sosa:FeatureOfInterest ; + ssn:hasProperty . + + rdf:type sosa:ActuatableProperty ; + sosa:isActedOnBy . + + +# WindowCloser #987 made actuation #188 +# SSN allows to explicitly say that is designed to automatically open and close window #104. + + rdf:type sosa:Actuator ; + sosa:madeActuation ; + ssn:forProperty . + + +# Actuation #188 acted on the state of window #104 and returned 'true'. + + rdf:type sosa:Actuation ; + sosa:actsOnProperty ; + sosa:actuationMadeBy ; + sosa:hasSimplResult true ; + sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/examples/System/2017ex11.ttl b/ssn/examples/System/2017ex11.ttl new file mode 100644 index 00000000..85019fa0 --- /dev/null +++ b/ssn/examples/System/2017ex11.ttl @@ -0,0 +1,91 @@ +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as +# observed by sensor #926. The result was available 12 seconds later. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "22.4"^^xsd:double ; + qudt:hasUnit unit:KiloW-HR ] ; + sosa:phenomenonTime [ + rdf:type time:Interval ; + time:hasBeginning [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; + time:hasEnd [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; + sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . + + +# Sensor #926 observes the electric consumption of apartment #134, and we know that +# it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + +# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know +# that it made some observations. + + rdf:type sosa:Sensor ; + sosa:observes ; + sosa:madeObservation , , . + + +# Sensor #926 observes the electric consumption of apartment #134 + + rdf:type sosa:Sensor ; + sosa:observes . + +# This is equivalent to saying that the electric consumption of apartment #134 is +# observed by Sensor #926 + + rdf:type sosa:ObservableProperty ; + sosa:isObservedBy . + + +# Sensor #926 made observations identified by and . + + rdf:type sosa:Sensor ; + sosa:madeObservation , . + +# This is equivalent to saying that these observations have been made by sensor #926. + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + rdf:type sosa:Observation ; + sosa:madeBySensor . + + +# the window opening state is an ActuatableProperty. + + rdf:type sosa:FeatureOfInterest . + + rdf:type sosa:ActuatableProperty ; + sosa:isActedOnBy . + + +# WindowCloser #987 made actuation #188 + + rdf:type sosa:Actuator ; + sosa:madeActuation . + + +# Actuation #188 acted on the state of window #104 and returned 'true'. + + rdf:type sosa:Actuation ; + sosa:actsOnProperty ; + sosa:actuationMadeBy ; + sosa:hasSimplResult true ; + sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/examples/System/2017ex14.ttl b/ssn/examples/System/2017ex14.ttl new file mode 100644 index 00000000..8b2de224 --- /dev/null +++ b/ssn/examples/System/2017ex14.ttl @@ -0,0 +1,46 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix ssn: . +@prefix geo: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@base . + +# Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured +# a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific +# Daylight Time. + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "earth"@en . + + rdf:type sosa:Sensor ; + rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; + rdfs:seeAlso ; + sosa:observes . + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "location of VCAB-DP1-BP-40"@en ; + geo:lat 35.8648067 ; + geo:long -120.6195831 ; + geo:alt 12.75 ; + sosa:isSampleOf . + + rdf:type sosa:ObservableProperty , ssn:Property ; + rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; + sosa:isObservedBy . + + rdf:type sosa:Observation ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "5e-4"^^xsd:double ; + qudt:hasUnit unit:CentiM-PER-SEC ] ; + sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . + +# using SSN one can explicitly state that is the property of . + + ssn:hasProperty . \ No newline at end of file diff --git a/ssn/examples/System/2017ex17.ttl b/ssn/examples/System/2017ex17.ttl new file mode 100644 index 00000000..5a12489b --- /dev/null +++ b/ssn/examples/System/2017ex17.ttl @@ -0,0 +1,41 @@ +@prefix rdf: . +@prefix sosa: . +@prefix ssn: . +@prefix xsd: . +@base . + +# movements of spinning cups on wind sensor #14 serves as proxies for the wind speed +# at the location of the wind sensor. + + rdf:type sosa:Sensor ; + sosa:observes . + +# wind sensor #14 detected some movement of spinning cups, from which originated the +# observations #147 and #148. + + rdf:type sosa:Sensor ; + sosa:madeObservation , ; + ssn:detects , . + +# observation #147 was originated by the movement of the spinning cups of sensor #14. +# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + ssn:wasOriginatedBy ; + sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; + sosa:hasSimpleResult "47 km/h"^^ . + + rdf:type ssn:Stimulus ; + ssn:isProxyFor . + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + ssn:wasOriginatedBy ; + sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; + sosa:hasSimpleResult "43 km/h"^^ . + + rdf:type ssn:Stimulus ; + ssn:isProxyFor . \ No newline at end of file diff --git a/ssn/examples/System/2017ex18.ttl b/ssn/examples/System/2017ex18.ttl new file mode 100644 index 00000000..42b6bf25 --- /dev/null +++ b/ssn/examples/System/2017ex18.ttl @@ -0,0 +1,29 @@ +@prefix rdf: . +@prefix sosa: . +@prefix xsd: . +@base . + +# movements of spinning cups on wind sensor #14 serves as proxies for the wind speed +# at the location of the wind sensor. + + rdf:type sosa:Sensor ; + sosa:observes . + +# wind sensor #14 made observations #147 and #148. + + rdf:type sosa:Sensor ; + sosa:madeObservation , . + +# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; + sosa:hasSimpleResult "47 km/h"^^ . + + rdf:type sosa:Observation ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; + sosa:hasSimpleResult "43 km/h"^^ . \ No newline at end of file diff --git a/ssn/examples/System/2017ex21.ttl b/ssn/examples/System/2017ex21.ttl new file mode 100644 index 00000000..da23d0ad --- /dev/null +++ b/ssn/examples/System/2017ex21.ttl @@ -0,0 +1,128 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix ex: . +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . + +@prefix rdfp: . + +@base . + + + a sosa:Procedure ; + ssn:hasOutput . + + a ssn:Output , rdfp:GraphDescription ; + rdfs:comment "The output is a RDF Graph that describes both the temperature and the humidity. It can be validated by a SHACL shapes graph."@en ; + rdfp:presentedBy [ + a rdfp:GraphDescription ; + rdfp:validationRule ; + ] . + + + a ssn:System ; + rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; + rdfs:seeAlso ; + ssn:hasSubSystem , . + + + + a sosa:Sensor , ssn:System ; + rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en ; + ssn-system:hasOperatingRange ; + ssn-system:hasSystemCapability ; + ssn:implements . + + a sosa:Sensor , ssn:System ; + rdfs:comment "The embedded humidity sensor, a specific instance of humidity sensor."@en ; + ssn-system:hasOperatingRange ; + ssn:implements . + + + + a ssn-system:OperatingRange ; + rdfs:comment "The conditions in which the DHT22 temperature sensor is expected to operate."@en ; + ssn-system:inCondition , . + + a ssn-system:OperatingRange ; + rdfs:comment "The conditions in which the DHT22 humidity sensor is expected to operate."@en ; + ssn-system:inCondition , . + + + + a ssn-system:Condition , schema:PropertyValue ; + rdfs:comment "A temperature range of -40 to 80 Celsius."@en ; + schema:minValue -40.0 ; + schema:maxValue 80.0 ; + schema:unitCode unit:DegreeCelsius . + + a ssn-system:Condition , schema:PropertyValue ; + rdfs:comment "A relative humidity range of 5 to 85 %."@en ; + schema:minValue 5.0 ; + schema:maxValue 85.0 ; + schema:unitCode unit:PERCENT . + + + + a ssn:Property , ssn-system:SystemCapability , schema:PropertyValue ; + rdfs:comment "The capabilities of the temperature sensor in normal temperature and humidity conditions." ; + ssn-system:inCondition , ; + ssn-system:hasSystemProperty , , , . + + a ssn:Property , ssn-system:Accuracy , schema:PropertyValue ; + rdfs:comment "The accuracy of the temperature sensor is +-0.5 °C in normal temperature and humidity conditions."@en ; + schema:minValue -0.5 ; + schema:maxValue 0.5 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Sensitivity , ssn-system:Resolution , schema:PropertyValue ; + rdfs:comment "The sensitivity and resolution of the temperature sensor is 0.1 °C in normal temperature and humidity conditions."@en ; + schema:value 0.1 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Precision , schema:PropertyValue ; + rdfs:comment "The precision (= repeatability) of the temperature sensor is +-0.2 °C in normal temperature and humidity conditions."@en ; + schema:minValue 0.2 ; + schema:maxValue 0.2 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Frequency , schema:PropertyValue ; + rdfs:comment "The smallest possible time between one observation and the next is 2 s on average."@en ; + schema:value 2 ; + schema:unitCode unit:Second . + + + rdf:type sosa:Observation ; + sosa:madeBySensor ; + sosa:usedProcedure ; + ssn-system:qualityOfObservation . + + +# one may classify the quality of observation using some class: + + rdf:type ex:FairQuality . + + +# one may use some other ontology to further qualify this quality. + + + ex:evaluatedBy ; + ex:confidenceValue "6"^^xsd:integer; + rdfs:comment """Tom gave a confidence value of 6 out of 10 on this observation."""@en . + +# one may use some quantity ontology. + +@prefix qudt: . +@prefix unit: . + + rdf:type qudt:Quantity ; + qudt:quantityValue [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "98.4"^^xsd:double ; + qudt:hasUnit unit:PERCENT ] . \ No newline at end of file diff --git a/ssn/examples/System/2017ex22.ttl b/ssn/examples/System/2017ex22.ttl new file mode 100644 index 00000000..b9925779 --- /dev/null +++ b/ssn/examples/System/2017ex22.ttl @@ -0,0 +1,31 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . + +@prefix rdfp: . + +@base . + + + a sosa:Procedure . + + a sosa:Platform ; + rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; + rdfs:seeAlso . + + + a sosa:Sensor ; + sosa:isHostedBy ; + rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en . + + + a sosa:Observation ; + sosa:madeBySensor ; + sosa:usedProcedure . \ No newline at end of file diff --git a/ssn/examples/System/2017ex23.ttl b/ssn/examples/System/2017ex23.ttl new file mode 100644 index 00000000..caab9a2f --- /dev/null +++ b/ssn/examples/System/2017ex23.ttl @@ -0,0 +1,90 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix qudt: . +@prefix unit: . +@prefix schema: . + +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . + +@base . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #145"@en ; + sosa:hasSample ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "East wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; + sosa:hosts . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; + sosa:hosts . + + + a sosa:FeatureOfInterest ; + rdfs:label "Room #245"@en ; + sosa:hasProperty , ; + sosa:hasSample . + + a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #245."@en ; + sosa:hosts . + + + + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 1"@en ; + rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4578"@en ; + sosa:isHostedBy . + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 2"@en ; + rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4579."@en ; + sosa:isHostedBy . + + + a ssn:System , sosa:Platform ; + rdfs:label "PCB Board 3"@en ; + rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently, one can say it has it as one of its subsystems."@en ; + sosa:hosts ; + ssn:hasSubSystem . + + a ssn:System ; + rdfs:label "DHT22 sensor #4580."@en ; + sosa:isHostedBy . + + + + + a ssn:Deployment ; + rdfs:comment "Deployment of PCB Board 3 on the south wall of room #245 for the purpose of observing the temperature and humidity of room #245."@en ; + ssn:deployedOnPlatform ; + ssn:deployedSystem ; + ssn:forProperty , . + + + a ssn:Deployment ; + rdfs:comment "Deployment of PCB Board 1 and 2 on the east and south wall of room #145, respectively, for the purpose of observing the temperature and humidity of room #145."@en ; + ssn:deployedOnPlatform , ; + ssn:deployedSystem , ; + ssn:forProperty , . \ No newline at end of file diff --git a/ssn/examples/System/2017ex25.ttl b/ssn/examples/System/2017ex25.ttl new file mode 100644 index 00000000..c77638a9 --- /dev/null +++ b/ssn/examples/System/2017ex25.ttl @@ -0,0 +1,103 @@ +@prefix rdf: . +@prefix geo: . +@prefix gr: . +@prefix org: . +@prefix schema: . +@prefix sosa: . +@prefix ssn: . +@prefix ssn-system: . +@prefix unit: . +@prefix prov: . +@prefix owl: . +@prefix seas: . +@prefix cdt: . + +@base . + + a org:Organization ; + owl:sameAs . + + a sosa:FeatureOfInterest ; + rdfs:label "The air."@en . + + a owl:Class , gr:ProductOrServiceModel ; + gr:name "IP68 Outdoor Temperature Sensor"@en ; + rdfs:label "IP68 Outdoor Temperature Sensor"@en ; + rdfs:subClassOf [ + owl:onProperty ssn-system:hasOperatingRange ; + owl:hasValue ] ; + rdfs:subClassOf [ + owl:onProperty ssn-system:hasSystemCapability ; + owl:hasValue ] . + + a ssn-system:OperatingRange , ssn:Property ; + ssn-system:inCondition . + + a ssn-system:Condition , schema:PropertyValue ; + rdfs:comment "A temperature range of -20 to 70 Celsius."@en ; + schema:minValue -20.0 ; + schema:maxValue 70.0 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:SystemCapability ; + rdfs:comment "The sensor capability in normal operating conditions."@en ; + ssn-system:hasSystemProperty , , , , ; + ssn-system:inCondition . + + a ssn:Property , ssn-system:Sensitivity , schema:PropertyValue ; + schema:value -137 ; + schema:unitCode unit:DecibelReferredToOneMilliwatt . + + a ssn:Property , ssn-system:Accuracy , schema:PropertyValue ; + ssn:forProperty ; + schema:minValue -0.2 ; + schema:maxValue 0.2 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Resolution , schema:PropertyValue ; + ssn:forProperty ; + schema:value 0.0625 ; + schema:unitCode unit:DegreeCelsius . + + a ssn:Property , ssn-system:Resolution , schema:PropertyValue ; + ssn:forProperty ; + schema:value 3.937e-3 ; + schema:unitCode unit:PERCENT . + + a sosa:Sample ; + rdfs:label "The air at lat 45.75 and long 4.85."@en ; + sosa:isSampleOf ; + ssn:hasProperty . + + a ssn:Property , sosa:ObservableProperty ; + ssn:isPropertyOf . + + a gr:ProductOrService, sosa:Sensor , seas:LoRaCommunicationDevice , ; + gr:hasBrand [ a gr:Brand ; gr:name "Sensing Labs"@en ] ; + geo:alt 100.0 ; + geo:lat 45.75 ; + geo:lon 4.85 ; + ssn:implements ; + ssn:implements ; + ssn:observes ; + ssn:observes . + + a ssn:Deployment ; + ssn:deployedSystem ; + prov:startedAtTime "2017-06-06"^^xsd:date ; + prov:wasAssociatedWith ; + ssn:deployedOnPlatform . + + a sosa:Observation ; + sosa:hasSimpleResult "64.5244681928429 Cel"^^cdt:ucum ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . + + a sosa:Observation ; + sosa:hasSimpleResult "73.2 %"^^cdt:ucum ; + sosa:madeBySensor ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/examples/System/2017ex6.ttl b/ssn/examples/System/2017ex6.ttl new file mode 100644 index 00000000..b872bd29 --- /dev/null +++ b/ssn/examples/System/2017ex6.ttl @@ -0,0 +1,15 @@ +ex:TemperatureSensor a ssn:System . + + a sosa:Observation ; + sosa:madeBySensor ex:TemperatureSensor . + + a sosa:Observation ; + sosa:madeBySensor ex:TemperatureSensor . + +# describing the system capabilities and operating/survival range can be done generically +# with this modeling choice: + +ex:TemperatureSensor ssn-system:hasOperatingRange ex:TemperatureSensorOperatingRange . + +ex:TemperatureSensorOperatingRange a ssn-system:OperatingRange ; + ssn-system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition . \ No newline at end of file diff --git a/ssn/examples/System/2017ex7.ttl b/ssn/examples/System/2017ex7.ttl new file mode 100644 index 00000000..b240d68b --- /dev/null +++ b/ssn/examples/System/2017ex7.ttl @@ -0,0 +1,26 @@ +ex:TemperatureSensor a owl:Class ; + rdfs:subClassOf ssn:System . + + a ex:TemperatureSensor , ssn:System . + + a sosa:Observation ; + sosa:madeBySensor . + + a ex:TemperatureSensor , ssn:System . + + a sosa:Observation ; + sosa:madeBySensor . + +# describing the system capabilities and operating/survival range can be done at the level of +# the class or at the level of each instance with this modeling choice: + +ex:TemperatureSensor rdfs:subClassOf [ + owl:onProperty ssn-system:hasOperatingRange ; + owl:hasValue ex:TemperatureSensorOperatingRange ] . + + + ssn-system:hasOperatingRange ex:TemperatureSensorOperatingRange ; # this axiom can be inferred + ssn-system:hasOperatingRange . + + a ssn-system:OperatingRange ; + ssn-system:inCondition , . \ No newline at end of file From 55452ff96b0d52c7eee805da9bc86721c8bd76fc Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 23 Jan 2024 19:22:48 +1100 Subject: [PATCH 11/74] namespace prefixes --- ssn/examples/2017ex25.ttl | 2 + ssn/examples/2023ex1.ttl | 27 +++-- ssn/examples/Actuation/2017ex10.ttl | 167 ++++++++++++-------------- ssn/examples/Deployment/2017ex25.ttl | 2 + ssn/examples/Observation/2017ex25.ttl | 2 + ssn/examples/System/2017ex25.ttl | 2 + 6 files changed, 103 insertions(+), 99 deletions(-) diff --git a/ssn/examples/2017ex25.ttl b/ssn/examples/2017ex25.ttl index c77638a9..069a0b0d 100644 --- a/ssn/examples/2017ex25.ttl +++ b/ssn/examples/2017ex25.ttl @@ -1,4 +1,5 @@ @prefix rdf: . +@prefix rdfs: . @prefix geo: . @prefix gr: . @prefix org: . @@ -11,6 +12,7 @@ @prefix owl: . @prefix seas: . @prefix cdt: . +@prefix xsd: . @base . diff --git a/ssn/examples/2023ex1.ttl b/ssn/examples/2023ex1.ttl index a9b98ad2..093e0a36 100644 --- a/ssn/examples/2023ex1.ttl +++ b/ssn/examples/2023ex1.ttl @@ -1,11 +1,22 @@ -@prefix rdf: . -@prefix sosa: . +# baseURI: file:///C:/dev/W3C/sdw-sosa-ssn/ssn/examples/2023ex1.ttl +# imports: http://www.w3.org/ns/sosa/ + @prefix geo: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix xsd: . - a sosa:Sample ; - sosa:isSampleOf ; - geo:hasGeometry [ - a geo:Point ; - geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; - ] ; + + a owl:Ontology ; + owl:imports sosa: ; +. + + a sosa:Sample ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; + ] ; + sosa:isSampleOf ; . diff --git a/ssn/examples/Actuation/2017ex10.ttl b/ssn/examples/Actuation/2017ex10.ttl index e498baed..7f0f10eb 100644 --- a/ssn/examples/Actuation/2017ex10.ttl +++ b/ssn/examples/Actuation/2017ex10.ttl @@ -1,96 +1,81 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix ssn: . -@prefix xsd: . +# baseURI: http://example.org/data/ +# imports: http://www.w3.org/ns/ssn/ + +@prefix owl: . @prefix qudt: . +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix ssn: . +@prefix time: . @prefix unit: . -@base . - -# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as -# observed by sensor #926. The result was available 12 seconds later. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; +@prefix xsd: . + + + a owl:Ontology ; + owl:imports ssn: ; +. + + a sosa:Observation ; sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "22.4"^^xsd:double ; - qudt:hasUnit unit:KiloW-HR ] ; + a qudt:QuantityValue ; + qudt:hasUnit unit:KiloW-HR ; + qudt:numericValue "22.4"^^xsd:double ; + ] ; + sosa:madeBySensor ; + sosa:observedProperty ; sosa:phenomenonTime [ - rdf:type time:Interval ; - time:hasBeginning [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; - time:hasEnd [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; - sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . - - -# Sensor #926 observes the electric consumption of apartment #134, and we know that -# it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - -# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know -# that it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - - -# Sensor #926 observes the electric consumption of apartment #134 - - rdf:type sosa:Sensor ; - sosa:observes . - -# This is equivalent to saying that the electric consumption of apartment #134 is -# observed by Sensor #926 - - rdf:type sosa:ObservableProperty ; - sosa:isObservedBy . - - -# Sensor #926 made observations identified by and . - - rdf:type sosa:Sensor ; - sosa:madeObservation , . - -# This is equivalent to saying that these observations have been made by sensor #926. - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - -# the window opening state is an ActuatableProperty. -# SSN allows to explicitly say that is a property of - - rdf:type sosa:FeatureOfInterest ; - ssn:hasProperty . - - rdf:type sosa:ActuatableProperty ; - sosa:isActedOnBy . - - -# WindowCloser #987 made actuation #188 -# SSN allows to explicitly say that is designed to automatically open and close window #104. - - rdf:type sosa:Actuator ; - sosa:madeActuation ; - ssn:forProperty . - - -# Actuation #188 acted on the state of window #104 and returned 'true'. - - rdf:type sosa:Actuation ; - sosa:actsOnProperty ; - sosa:actuationMadeBy ; + a time:Interval ; + time:hasBeginning [ + a time:Instant ; + time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ; + ] ; + time:hasEnd [ + a time:Instant ; + time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ; + ] ; + ] ; + sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp ; +. + + a sosa:Observation ; + sosa:madeBySensor ; +. + + a sosa:Actuation ; + sosa:actsOnProperty ; + sosa:actuationMadeBy ; sosa:hasSimplResult true ; - sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file + sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp ; +. + + a sosa:ObservableProperty ; + sosa:isObservedBy ; +. + + a sosa:Sensor ; + sosa:madeObservation ; + sosa:madeObservation ; + sosa:madeObservation ; + sosa:observes ; +. + + a sosa:Sensor ; + sosa:madeObservation ; + sosa:madeObservation ; + sosa:madeObservation ; + sosa:observes ; +. + + a sosa:FeatureOfInterest ; + ssn:hasProperty ; +. + + a sosa:ActuatableProperty ; + sosa:isActedOnBy ; +. + + a sosa:Actuator ; + sosa:madeActuation ; + ssn:forProperty ; +. diff --git a/ssn/examples/Deployment/2017ex25.ttl b/ssn/examples/Deployment/2017ex25.ttl index c77638a9..069a0b0d 100644 --- a/ssn/examples/Deployment/2017ex25.ttl +++ b/ssn/examples/Deployment/2017ex25.ttl @@ -1,4 +1,5 @@ @prefix rdf: . +@prefix rdfs: . @prefix geo: . @prefix gr: . @prefix org: . @@ -11,6 +12,7 @@ @prefix owl: . @prefix seas: . @prefix cdt: . +@prefix xsd: . @base . diff --git a/ssn/examples/Observation/2017ex25.ttl b/ssn/examples/Observation/2017ex25.ttl index c77638a9..069a0b0d 100644 --- a/ssn/examples/Observation/2017ex25.ttl +++ b/ssn/examples/Observation/2017ex25.ttl @@ -1,4 +1,5 @@ @prefix rdf: . +@prefix rdfs: . @prefix geo: . @prefix gr: . @prefix org: . @@ -11,6 +12,7 @@ @prefix owl: . @prefix seas: . @prefix cdt: . +@prefix xsd: . @base . diff --git a/ssn/examples/System/2017ex25.ttl b/ssn/examples/System/2017ex25.ttl index c77638a9..069a0b0d 100644 --- a/ssn/examples/System/2017ex25.ttl +++ b/ssn/examples/System/2017ex25.ttl @@ -1,4 +1,5 @@ @prefix rdf: . +@prefix rdfs: . @prefix geo: . @prefix gr: . @prefix org: . @@ -11,6 +12,7 @@ @prefix owl: . @prefix seas: . @prefix cdt: . +@prefix xsd: . @base . From b33f4a1efa234302eb7f29cfe3c963fd3bd9747b Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 24 Jan 2024 16:12:20 +1100 Subject: [PATCH 12/74] Initialise test suite with the existing examples, sorted (and duplicated) into the classes that they best represent --- ssn/{examples => tests}/Actuation/2017ex10.ttl | 0 ssn/{examples => tests}/Actuation/2017ex11.ttl | 0 ssn/{examples => tests}/Deployment/2017ex23.ttl | 0 ssn/{examples => tests}/Deployment/2017ex25.ttl | 0 ssn/{examples => tests}/FoI/2017ex14.ttl | 0 ssn/{examples => tests}/FoI/2017ex19.ttl | 0 ssn/{examples => tests}/FoI/2017ex20.ttl | 0 ssn/{examples => tests}/FoI/2017ex23.ttl | 0 ssn/{examples => tests}/FoI/2017ex24.ttl | 0 ssn/{examples => tests}/FoI/2017ex8.ttl | 0 ssn/{examples => tests}/Observation/2017ex1.ttl | 0 ssn/{examples => tests}/Observation/2017ex10.ttl | 0 ssn/{examples => tests}/Observation/2017ex11.ttl | 0 ssn/{examples => tests}/Observation/2017ex12.ttl | 0 ssn/{examples => tests}/Observation/2017ex13.ttl | 0 ssn/{examples => tests}/Observation/2017ex14.ttl | 0 ssn/{examples => tests}/Observation/2017ex15.ttl | 0 ssn/{examples => tests}/Observation/2017ex16.ttl | 0 ssn/{examples => tests}/Observation/2017ex17.ttl | 0 ssn/{examples => tests}/Observation/2017ex18.ttl | 0 ssn/{examples => tests}/Observation/2017ex19.ttl | 0 ssn/{examples => tests}/Observation/2017ex2.ttl | 0 ssn/{examples => tests}/Observation/2017ex20.ttl | 0 ssn/{examples => tests}/Observation/2017ex22.ttl | 0 ssn/{examples => tests}/Observation/2017ex25.ttl | 0 ssn/{examples => tests}/Observation/2017ex3.1.ttl | 0 ssn/{examples => tests}/Observation/2017ex3.ttl | 0 ssn/{examples => tests}/Observation/2017ex4.ttl | 0 ssn/{examples => tests}/Observation/2017ex5.ttl | 0 ssn/{examples => tests}/Observation/2017ex8.ttl | 0 ssn/{examples => tests}/Observation/2017ex9.ttl | 0 ssn/{examples => tests}/ObservationCollection/OC1.ttl | 0 ssn/{examples => tests}/ObservationCollection/OC2.ttl | 0 ssn/{examples => tests}/Platform/2017ex23.ttl | 0 ssn/{examples => tests}/Platform/2017ex24.ttl | 0 ssn/{examples => tests}/Platform/2017ex8.ttl | 0 ssn/{examples => tests}/Procedure/2017ex21.ttl | 0 ssn/{examples => tests}/Procedure/2017ex8.ttl | 0 ssn/tests/README.md | 6 ++++++ ssn/{examples => tests}/Sample/2017ex19.ttl | 0 ssn/{examples => tests}/Sample/2017ex20.ttl | 0 ssn/{examples => tests}/Sample/2017ex23.ttl | 0 ssn/{examples => tests}/Sample/2017ex24.ttl | 0 ssn/{examples => tests}/SampleCollection/SC1.ttl | 0 ssn/{examples => tests}/Sampling/2017ex19.ttl | 0 ssn/{examples => tests}/Sampling/2017ex20.ttl | 0 ssn/{examples => tests}/System/2017ex10.ttl | 0 ssn/{examples => tests}/System/2017ex11.ttl | 0 ssn/{examples => tests}/System/2017ex14.ttl | 0 ssn/{examples => tests}/System/2017ex17.ttl | 0 ssn/{examples => tests}/System/2017ex18.ttl | 0 ssn/{examples => tests}/System/2017ex21.ttl | 0 ssn/{examples => tests}/System/2017ex22.ttl | 0 ssn/{examples => tests}/System/2017ex23.ttl | 0 ssn/{examples => tests}/System/2017ex25.ttl | 0 ssn/{examples => tests}/System/2017ex6.ttl | 0 ssn/{examples => tests}/System/2017ex7.ttl | 0 57 files changed, 6 insertions(+) rename ssn/{examples => tests}/Actuation/2017ex10.ttl (100%) rename ssn/{examples => tests}/Actuation/2017ex11.ttl (100%) rename ssn/{examples => tests}/Deployment/2017ex23.ttl (100%) rename ssn/{examples => tests}/Deployment/2017ex25.ttl (100%) rename ssn/{examples => tests}/FoI/2017ex14.ttl (100%) rename ssn/{examples => tests}/FoI/2017ex19.ttl (100%) rename ssn/{examples => tests}/FoI/2017ex20.ttl (100%) rename ssn/{examples => tests}/FoI/2017ex23.ttl (100%) rename ssn/{examples => tests}/FoI/2017ex24.ttl (100%) rename ssn/{examples => tests}/FoI/2017ex8.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex1.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex10.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex11.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex12.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex13.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex14.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex15.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex16.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex17.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex18.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex19.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex2.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex20.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex22.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex25.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex3.1.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex3.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex4.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex5.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex8.ttl (100%) rename ssn/{examples => tests}/Observation/2017ex9.ttl (100%) rename ssn/{examples => tests}/ObservationCollection/OC1.ttl (100%) rename ssn/{examples => tests}/ObservationCollection/OC2.ttl (100%) rename ssn/{examples => tests}/Platform/2017ex23.ttl (100%) rename ssn/{examples => tests}/Platform/2017ex24.ttl (100%) rename ssn/{examples => tests}/Platform/2017ex8.ttl (100%) rename ssn/{examples => tests}/Procedure/2017ex21.ttl (100%) rename ssn/{examples => tests}/Procedure/2017ex8.ttl (100%) create mode 100644 ssn/tests/README.md rename ssn/{examples => tests}/Sample/2017ex19.ttl (100%) rename ssn/{examples => tests}/Sample/2017ex20.ttl (100%) rename ssn/{examples => tests}/Sample/2017ex23.ttl (100%) rename ssn/{examples => tests}/Sample/2017ex24.ttl (100%) rename ssn/{examples => tests}/SampleCollection/SC1.ttl (100%) rename ssn/{examples => tests}/Sampling/2017ex19.ttl (100%) rename ssn/{examples => tests}/Sampling/2017ex20.ttl (100%) rename ssn/{examples => tests}/System/2017ex10.ttl (100%) rename ssn/{examples => tests}/System/2017ex11.ttl (100%) rename ssn/{examples => tests}/System/2017ex14.ttl (100%) rename ssn/{examples => tests}/System/2017ex17.ttl (100%) rename ssn/{examples => tests}/System/2017ex18.ttl (100%) rename ssn/{examples => tests}/System/2017ex21.ttl (100%) rename ssn/{examples => tests}/System/2017ex22.ttl (100%) rename ssn/{examples => tests}/System/2017ex23.ttl (100%) rename ssn/{examples => tests}/System/2017ex25.ttl (100%) rename ssn/{examples => tests}/System/2017ex6.ttl (100%) rename ssn/{examples => tests}/System/2017ex7.ttl (100%) diff --git a/ssn/examples/Actuation/2017ex10.ttl b/ssn/tests/Actuation/2017ex10.ttl similarity index 100% rename from ssn/examples/Actuation/2017ex10.ttl rename to ssn/tests/Actuation/2017ex10.ttl diff --git a/ssn/examples/Actuation/2017ex11.ttl b/ssn/tests/Actuation/2017ex11.ttl similarity index 100% rename from ssn/examples/Actuation/2017ex11.ttl rename to ssn/tests/Actuation/2017ex11.ttl diff --git a/ssn/examples/Deployment/2017ex23.ttl b/ssn/tests/Deployment/2017ex23.ttl similarity index 100% rename from ssn/examples/Deployment/2017ex23.ttl rename to ssn/tests/Deployment/2017ex23.ttl diff --git a/ssn/examples/Deployment/2017ex25.ttl b/ssn/tests/Deployment/2017ex25.ttl similarity index 100% rename from ssn/examples/Deployment/2017ex25.ttl rename to ssn/tests/Deployment/2017ex25.ttl diff --git a/ssn/examples/FoI/2017ex14.ttl b/ssn/tests/FoI/2017ex14.ttl similarity index 100% rename from ssn/examples/FoI/2017ex14.ttl rename to ssn/tests/FoI/2017ex14.ttl diff --git a/ssn/examples/FoI/2017ex19.ttl b/ssn/tests/FoI/2017ex19.ttl similarity index 100% rename from ssn/examples/FoI/2017ex19.ttl rename to ssn/tests/FoI/2017ex19.ttl diff --git a/ssn/examples/FoI/2017ex20.ttl b/ssn/tests/FoI/2017ex20.ttl similarity index 100% rename from ssn/examples/FoI/2017ex20.ttl rename to ssn/tests/FoI/2017ex20.ttl diff --git a/ssn/examples/FoI/2017ex23.ttl b/ssn/tests/FoI/2017ex23.ttl similarity index 100% rename from ssn/examples/FoI/2017ex23.ttl rename to ssn/tests/FoI/2017ex23.ttl diff --git a/ssn/examples/FoI/2017ex24.ttl b/ssn/tests/FoI/2017ex24.ttl similarity index 100% rename from ssn/examples/FoI/2017ex24.ttl rename to ssn/tests/FoI/2017ex24.ttl diff --git a/ssn/examples/FoI/2017ex8.ttl b/ssn/tests/FoI/2017ex8.ttl similarity index 100% rename from ssn/examples/FoI/2017ex8.ttl rename to ssn/tests/FoI/2017ex8.ttl diff --git a/ssn/examples/Observation/2017ex1.ttl b/ssn/tests/Observation/2017ex1.ttl similarity index 100% rename from ssn/examples/Observation/2017ex1.ttl rename to ssn/tests/Observation/2017ex1.ttl diff --git a/ssn/examples/Observation/2017ex10.ttl b/ssn/tests/Observation/2017ex10.ttl similarity index 100% rename from ssn/examples/Observation/2017ex10.ttl rename to ssn/tests/Observation/2017ex10.ttl diff --git a/ssn/examples/Observation/2017ex11.ttl b/ssn/tests/Observation/2017ex11.ttl similarity index 100% rename from ssn/examples/Observation/2017ex11.ttl rename to ssn/tests/Observation/2017ex11.ttl diff --git a/ssn/examples/Observation/2017ex12.ttl b/ssn/tests/Observation/2017ex12.ttl similarity index 100% rename from ssn/examples/Observation/2017ex12.ttl rename to ssn/tests/Observation/2017ex12.ttl diff --git a/ssn/examples/Observation/2017ex13.ttl b/ssn/tests/Observation/2017ex13.ttl similarity index 100% rename from ssn/examples/Observation/2017ex13.ttl rename to ssn/tests/Observation/2017ex13.ttl diff --git a/ssn/examples/Observation/2017ex14.ttl b/ssn/tests/Observation/2017ex14.ttl similarity index 100% rename from ssn/examples/Observation/2017ex14.ttl rename to ssn/tests/Observation/2017ex14.ttl diff --git a/ssn/examples/Observation/2017ex15.ttl b/ssn/tests/Observation/2017ex15.ttl similarity index 100% rename from ssn/examples/Observation/2017ex15.ttl rename to ssn/tests/Observation/2017ex15.ttl diff --git a/ssn/examples/Observation/2017ex16.ttl b/ssn/tests/Observation/2017ex16.ttl similarity index 100% rename from ssn/examples/Observation/2017ex16.ttl rename to ssn/tests/Observation/2017ex16.ttl diff --git a/ssn/examples/Observation/2017ex17.ttl b/ssn/tests/Observation/2017ex17.ttl similarity index 100% rename from ssn/examples/Observation/2017ex17.ttl rename to ssn/tests/Observation/2017ex17.ttl diff --git a/ssn/examples/Observation/2017ex18.ttl b/ssn/tests/Observation/2017ex18.ttl similarity index 100% rename from ssn/examples/Observation/2017ex18.ttl rename to ssn/tests/Observation/2017ex18.ttl diff --git a/ssn/examples/Observation/2017ex19.ttl b/ssn/tests/Observation/2017ex19.ttl similarity index 100% rename from ssn/examples/Observation/2017ex19.ttl rename to ssn/tests/Observation/2017ex19.ttl diff --git a/ssn/examples/Observation/2017ex2.ttl b/ssn/tests/Observation/2017ex2.ttl similarity index 100% rename from ssn/examples/Observation/2017ex2.ttl rename to ssn/tests/Observation/2017ex2.ttl diff --git a/ssn/examples/Observation/2017ex20.ttl b/ssn/tests/Observation/2017ex20.ttl similarity index 100% rename from ssn/examples/Observation/2017ex20.ttl rename to ssn/tests/Observation/2017ex20.ttl diff --git a/ssn/examples/Observation/2017ex22.ttl b/ssn/tests/Observation/2017ex22.ttl similarity index 100% rename from ssn/examples/Observation/2017ex22.ttl rename to ssn/tests/Observation/2017ex22.ttl diff --git a/ssn/examples/Observation/2017ex25.ttl b/ssn/tests/Observation/2017ex25.ttl similarity index 100% rename from ssn/examples/Observation/2017ex25.ttl rename to ssn/tests/Observation/2017ex25.ttl diff --git a/ssn/examples/Observation/2017ex3.1.ttl b/ssn/tests/Observation/2017ex3.1.ttl similarity index 100% rename from ssn/examples/Observation/2017ex3.1.ttl rename to ssn/tests/Observation/2017ex3.1.ttl diff --git a/ssn/examples/Observation/2017ex3.ttl b/ssn/tests/Observation/2017ex3.ttl similarity index 100% rename from ssn/examples/Observation/2017ex3.ttl rename to ssn/tests/Observation/2017ex3.ttl diff --git a/ssn/examples/Observation/2017ex4.ttl b/ssn/tests/Observation/2017ex4.ttl similarity index 100% rename from ssn/examples/Observation/2017ex4.ttl rename to ssn/tests/Observation/2017ex4.ttl diff --git a/ssn/examples/Observation/2017ex5.ttl b/ssn/tests/Observation/2017ex5.ttl similarity index 100% rename from ssn/examples/Observation/2017ex5.ttl rename to ssn/tests/Observation/2017ex5.ttl diff --git a/ssn/examples/Observation/2017ex8.ttl b/ssn/tests/Observation/2017ex8.ttl similarity index 100% rename from ssn/examples/Observation/2017ex8.ttl rename to ssn/tests/Observation/2017ex8.ttl diff --git a/ssn/examples/Observation/2017ex9.ttl b/ssn/tests/Observation/2017ex9.ttl similarity index 100% rename from ssn/examples/Observation/2017ex9.ttl rename to ssn/tests/Observation/2017ex9.ttl diff --git a/ssn/examples/ObservationCollection/OC1.ttl b/ssn/tests/ObservationCollection/OC1.ttl similarity index 100% rename from ssn/examples/ObservationCollection/OC1.ttl rename to ssn/tests/ObservationCollection/OC1.ttl diff --git a/ssn/examples/ObservationCollection/OC2.ttl b/ssn/tests/ObservationCollection/OC2.ttl similarity index 100% rename from ssn/examples/ObservationCollection/OC2.ttl rename to ssn/tests/ObservationCollection/OC2.ttl diff --git a/ssn/examples/Platform/2017ex23.ttl b/ssn/tests/Platform/2017ex23.ttl similarity index 100% rename from ssn/examples/Platform/2017ex23.ttl rename to ssn/tests/Platform/2017ex23.ttl diff --git a/ssn/examples/Platform/2017ex24.ttl b/ssn/tests/Platform/2017ex24.ttl similarity index 100% rename from ssn/examples/Platform/2017ex24.ttl rename to ssn/tests/Platform/2017ex24.ttl diff --git a/ssn/examples/Platform/2017ex8.ttl b/ssn/tests/Platform/2017ex8.ttl similarity index 100% rename from ssn/examples/Platform/2017ex8.ttl rename to ssn/tests/Platform/2017ex8.ttl diff --git a/ssn/examples/Procedure/2017ex21.ttl b/ssn/tests/Procedure/2017ex21.ttl similarity index 100% rename from ssn/examples/Procedure/2017ex21.ttl rename to ssn/tests/Procedure/2017ex21.ttl diff --git a/ssn/examples/Procedure/2017ex8.ttl b/ssn/tests/Procedure/2017ex8.ttl similarity index 100% rename from ssn/examples/Procedure/2017ex8.ttl rename to ssn/tests/Procedure/2017ex8.ttl diff --git a/ssn/tests/README.md b/ssn/tests/README.md new file mode 100644 index 00000000..1606314a --- /dev/null +++ b/ssn/tests/README.md @@ -0,0 +1,6 @@ +# SSN test cases + +A set of instances designed to provide validation tests for SOSA/SSN classes. + +Each folder contains tests for the class indicated in the name of the folder. +There are (will be) both valid and invalid cases. diff --git a/ssn/examples/Sample/2017ex19.ttl b/ssn/tests/Sample/2017ex19.ttl similarity index 100% rename from ssn/examples/Sample/2017ex19.ttl rename to ssn/tests/Sample/2017ex19.ttl diff --git a/ssn/examples/Sample/2017ex20.ttl b/ssn/tests/Sample/2017ex20.ttl similarity index 100% rename from ssn/examples/Sample/2017ex20.ttl rename to ssn/tests/Sample/2017ex20.ttl diff --git a/ssn/examples/Sample/2017ex23.ttl b/ssn/tests/Sample/2017ex23.ttl similarity index 100% rename from ssn/examples/Sample/2017ex23.ttl rename to ssn/tests/Sample/2017ex23.ttl diff --git a/ssn/examples/Sample/2017ex24.ttl b/ssn/tests/Sample/2017ex24.ttl similarity index 100% rename from ssn/examples/Sample/2017ex24.ttl rename to ssn/tests/Sample/2017ex24.ttl diff --git a/ssn/examples/SampleCollection/SC1.ttl b/ssn/tests/SampleCollection/SC1.ttl similarity index 100% rename from ssn/examples/SampleCollection/SC1.ttl rename to ssn/tests/SampleCollection/SC1.ttl diff --git a/ssn/examples/Sampling/2017ex19.ttl b/ssn/tests/Sampling/2017ex19.ttl similarity index 100% rename from ssn/examples/Sampling/2017ex19.ttl rename to ssn/tests/Sampling/2017ex19.ttl diff --git a/ssn/examples/Sampling/2017ex20.ttl b/ssn/tests/Sampling/2017ex20.ttl similarity index 100% rename from ssn/examples/Sampling/2017ex20.ttl rename to ssn/tests/Sampling/2017ex20.ttl diff --git a/ssn/examples/System/2017ex10.ttl b/ssn/tests/System/2017ex10.ttl similarity index 100% rename from ssn/examples/System/2017ex10.ttl rename to ssn/tests/System/2017ex10.ttl diff --git a/ssn/examples/System/2017ex11.ttl b/ssn/tests/System/2017ex11.ttl similarity index 100% rename from ssn/examples/System/2017ex11.ttl rename to ssn/tests/System/2017ex11.ttl diff --git a/ssn/examples/System/2017ex14.ttl b/ssn/tests/System/2017ex14.ttl similarity index 100% rename from ssn/examples/System/2017ex14.ttl rename to ssn/tests/System/2017ex14.ttl diff --git a/ssn/examples/System/2017ex17.ttl b/ssn/tests/System/2017ex17.ttl similarity index 100% rename from ssn/examples/System/2017ex17.ttl rename to ssn/tests/System/2017ex17.ttl diff --git a/ssn/examples/System/2017ex18.ttl b/ssn/tests/System/2017ex18.ttl similarity index 100% rename from ssn/examples/System/2017ex18.ttl rename to ssn/tests/System/2017ex18.ttl diff --git a/ssn/examples/System/2017ex21.ttl b/ssn/tests/System/2017ex21.ttl similarity index 100% rename from ssn/examples/System/2017ex21.ttl rename to ssn/tests/System/2017ex21.ttl diff --git a/ssn/examples/System/2017ex22.ttl b/ssn/tests/System/2017ex22.ttl similarity index 100% rename from ssn/examples/System/2017ex22.ttl rename to ssn/tests/System/2017ex22.ttl diff --git a/ssn/examples/System/2017ex23.ttl b/ssn/tests/System/2017ex23.ttl similarity index 100% rename from ssn/examples/System/2017ex23.ttl rename to ssn/tests/System/2017ex23.ttl diff --git a/ssn/examples/System/2017ex25.ttl b/ssn/tests/System/2017ex25.ttl similarity index 100% rename from ssn/examples/System/2017ex25.ttl rename to ssn/tests/System/2017ex25.ttl diff --git a/ssn/examples/System/2017ex6.ttl b/ssn/tests/System/2017ex6.ttl similarity index 100% rename from ssn/examples/System/2017ex6.ttl rename to ssn/tests/System/2017ex6.ttl diff --git a/ssn/examples/System/2017ex7.ttl b/ssn/tests/System/2017ex7.ttl similarity index 100% rename from ssn/examples/System/2017ex7.ttl rename to ssn/tests/System/2017ex7.ttl From e4112cb870407476a76015d5940c2b63eeccf3d3 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Thu, 25 Jan 2024 17:19:19 +1100 Subject: [PATCH 13/74] Beginning test suite --- ssn/tests/Observation/2017ex1.ttl | 20 ------ ssn/tests/Observation/2017ex10.ttl | 96 ------------------------- ssn/tests/Observation/2017ex11.ttl | 91 ------------------------ ssn/tests/Observation/2017ex12.ttl | 57 --------------- ssn/tests/Observation/2017ex13.ttl | 48 ------------- ssn/tests/Observation/2017ex14.ttl | 46 ------------ ssn/tests/Observation/2017ex15.ttl | 41 ----------- ssn/tests/Observation/2017ex16.ttl | 16 ----- ssn/tests/Observation/2017ex17.ttl | 41 ----------- ssn/tests/Observation/2017ex18.ttl | 29 -------- ssn/tests/Observation/2017ex19.ttl | 35 ---------- ssn/tests/Observation/2017ex2.ttl | 19 ----- ssn/tests/Observation/2017ex20.ttl | 30 -------- ssn/tests/Observation/2017ex22.ttl | 31 -------- ssn/tests/Observation/2017ex25.ttl | 105 ---------------------------- ssn/tests/Observation/2017ex3.1.ttl | 6 -- ssn/tests/Observation/2017ex3.ttl | 6 -- ssn/tests/Observation/2017ex4.ttl | 15 ---- ssn/tests/Observation/2017ex5.ttl | 20 ------ ssn/tests/Observation/2017ex8.ttl | 67 ------------------ ssn/tests/Observation/2017ex9.ttl | 51 -------------- ssn/tests/Observation/F1.ttl | 29 ++++++++ ssn/tests/Observation/F2.ttl | 28 ++++++++ ssn/tests/Observation/F3.ttl | 28 ++++++++ ssn/tests/Observation/F4.ttl | 31 ++++++++ ssn/tests/Observation/F5.ttl | 34 +++++++++ ssn/tests/Observation/F6.ttl | 36 ++++++++++ ssn/tests/Observation/P1.ttl | 15 ++++ ssn/tests/Observation/P2.ttl | 20 ++++++ ssn/tests/Observation/P3.ttl | 30 ++++++++ ssn/tests/Observation/P4.ttl | 19 +++++ 31 files changed, 270 insertions(+), 870 deletions(-) delete mode 100644 ssn/tests/Observation/2017ex1.ttl delete mode 100644 ssn/tests/Observation/2017ex10.ttl delete mode 100644 ssn/tests/Observation/2017ex11.ttl delete mode 100644 ssn/tests/Observation/2017ex12.ttl delete mode 100644 ssn/tests/Observation/2017ex13.ttl delete mode 100644 ssn/tests/Observation/2017ex14.ttl delete mode 100644 ssn/tests/Observation/2017ex15.ttl delete mode 100644 ssn/tests/Observation/2017ex16.ttl delete mode 100644 ssn/tests/Observation/2017ex17.ttl delete mode 100644 ssn/tests/Observation/2017ex18.ttl delete mode 100644 ssn/tests/Observation/2017ex19.ttl delete mode 100644 ssn/tests/Observation/2017ex2.ttl delete mode 100644 ssn/tests/Observation/2017ex20.ttl delete mode 100644 ssn/tests/Observation/2017ex22.ttl delete mode 100644 ssn/tests/Observation/2017ex25.ttl delete mode 100644 ssn/tests/Observation/2017ex3.1.ttl delete mode 100644 ssn/tests/Observation/2017ex3.ttl delete mode 100644 ssn/tests/Observation/2017ex4.ttl delete mode 100644 ssn/tests/Observation/2017ex5.ttl delete mode 100644 ssn/tests/Observation/2017ex8.ttl delete mode 100644 ssn/tests/Observation/2017ex9.ttl create mode 100644 ssn/tests/Observation/F1.ttl create mode 100644 ssn/tests/Observation/F2.ttl create mode 100644 ssn/tests/Observation/F3.ttl create mode 100644 ssn/tests/Observation/F4.ttl create mode 100644 ssn/tests/Observation/F5.ttl create mode 100644 ssn/tests/Observation/F6.ttl create mode 100644 ssn/tests/Observation/P1.ttl create mode 100644 ssn/tests/Observation/P2.ttl create mode 100644 ssn/tests/Observation/P3.ttl create mode 100644 ssn/tests/Observation/P4.ttl diff --git a/ssn/tests/Observation/2017ex1.ttl b/ssn/tests/Observation/2017ex1.ttl deleted file mode 100644 index e4dec16d..00000000 --- a/ssn/tests/Observation/2017ex1.ttl +++ /dev/null @@ -1,20 +0,0 @@ -@prefix sosa: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . - - a sosa:Observation ; - rdfs:comment "Observation of the difference between the outside temperature and the inside temperature."@en ; - sosa:hasFeatureOfInterest ; - sosa:hasResult [ - a qudt:QuantityValue ; - qudt:hasUnit unit:DEG_C ; - qudt:value "-29.9"^^xsd:decimal ] . - - a sosa:Observation ; - rdfs:comment "Observation of the temperature inside apartment #134."@en ; - sosa:hasFeatureOfInterest ; - sosa:hasResult [ - a qudt:QuantityValue ; - qudt:hasUnit unit:DEG_C ; - qudt:value "22.4"^^xsd:decimal ] . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex10.ttl b/ssn/tests/Observation/2017ex10.ttl deleted file mode 100644 index e498baed..00000000 --- a/ssn/tests/Observation/2017ex10.ttl +++ /dev/null @@ -1,96 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix ssn: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as -# observed by sensor #926. The result was available 12 seconds later. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "22.4"^^xsd:double ; - qudt:hasUnit unit:KiloW-HR ] ; - sosa:phenomenonTime [ - rdf:type time:Interval ; - time:hasBeginning [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; - time:hasEnd [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; - sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . - - -# Sensor #926 observes the electric consumption of apartment #134, and we know that -# it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - -# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know -# that it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - - -# Sensor #926 observes the electric consumption of apartment #134 - - rdf:type sosa:Sensor ; - sosa:observes . - -# This is equivalent to saying that the electric consumption of apartment #134 is -# observed by Sensor #926 - - rdf:type sosa:ObservableProperty ; - sosa:isObservedBy . - - -# Sensor #926 made observations identified by and . - - rdf:type sosa:Sensor ; - sosa:madeObservation , . - -# This is equivalent to saying that these observations have been made by sensor #926. - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - -# the window opening state is an ActuatableProperty. -# SSN allows to explicitly say that is a property of - - rdf:type sosa:FeatureOfInterest ; - ssn:hasProperty . - - rdf:type sosa:ActuatableProperty ; - sosa:isActedOnBy . - - -# WindowCloser #987 made actuation #188 -# SSN allows to explicitly say that is designed to automatically open and close window #104. - - rdf:type sosa:Actuator ; - sosa:madeActuation ; - ssn:forProperty . - - -# Actuation #188 acted on the state of window #104 and returned 'true'. - - rdf:type sosa:Actuation ; - sosa:actsOnProperty ; - sosa:actuationMadeBy ; - sosa:hasSimplResult true ; - sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex11.ttl b/ssn/tests/Observation/2017ex11.ttl deleted file mode 100644 index 85019fa0..00000000 --- a/ssn/tests/Observation/2017ex11.ttl +++ /dev/null @@ -1,91 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as -# observed by sensor #926. The result was available 12 seconds later. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "22.4"^^xsd:double ; - qudt:hasUnit unit:KiloW-HR ] ; - sosa:phenomenonTime [ - rdf:type time:Interval ; - time:hasBeginning [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; - time:hasEnd [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; - sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . - - -# Sensor #926 observes the electric consumption of apartment #134, and we know that -# it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - -# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know -# that it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - - -# Sensor #926 observes the electric consumption of apartment #134 - - rdf:type sosa:Sensor ; - sosa:observes . - -# This is equivalent to saying that the electric consumption of apartment #134 is -# observed by Sensor #926 - - rdf:type sosa:ObservableProperty ; - sosa:isObservedBy . - - -# Sensor #926 made observations identified by and . - - rdf:type sosa:Sensor ; - sosa:madeObservation , . - -# This is equivalent to saying that these observations have been made by sensor #926. - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - -# the window opening state is an ActuatableProperty. - - rdf:type sosa:FeatureOfInterest . - - rdf:type sosa:ActuatableProperty ; - sosa:isActedOnBy . - - -# WindowCloser #987 made actuation #188 - - rdf:type sosa:Actuator ; - sosa:madeActuation . - - -# Actuation #188 acted on the state of window #104 and returned 'true'. - - rdf:type sosa:Actuation ; - sosa:actsOnProperty ; - sosa:actuationMadeBy ; - sosa:hasSimplResult true ; - sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex12.ttl b/ssn/tests/Observation/2017ex12.ttl deleted file mode 100644 index bf01b5c0..00000000 --- a/ssn/tests/Observation/2017ex12.ttl +++ /dev/null @@ -1,57 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix sosa: . -@prefix ssn: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# rangefinder #30 is a laser range finder sensor that was used -# to observe the height of tree #124 and #125. - - rdf:type sosa:Sensor ; - rdfs:label "rangefinder #30"@en ; - rdfs:comment "rangefinder #30 is a laser range finder sensor."@en . - -# rangefinder #30 made observation #1087 of the height of tree #124. - - rdf:type sosa:Observation ; - rdfs:label "observation #1087"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:hasUnit unit:M ; - qudt:numericalValue "15.3"^^xsd:double ] . - -# using SSN, one can explicitly link a property and its feature of interest. - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #124"@en ; - ssn:hasProperty . - - rdf:type sosa:ObservableProperty , ssn:Property ; - rdfs:label "the height of tree #124"@en ; - ssn:isPropertyOf . - -# rangefinder #30 made observation #1088 of the height of tree #125. - - rdf:type sosa:Observation ; - rdfs:label "observation #1088"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:numericValue "23.0"^^xsd:double ; - qudt:hasUnit unit:M ] . - -# using SSN, one can explicitly link a property and its feature of interest. - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #125"@en ; - ssn:hasProperty . - - rdf:type sosa:ObservableProperty , ssn:Property ; - rdfs:label "the height of tree #125"@en ; - ssn:isPropertyOf . diff --git a/ssn/tests/Observation/2017ex13.ttl b/ssn/tests/Observation/2017ex13.ttl deleted file mode 100644 index 30ea6f58..00000000 --- a/ssn/tests/Observation/2017ex13.ttl +++ /dev/null @@ -1,48 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix sosa: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# rangefinder #30 is a laser range finder sensor that was used -# to observe the height of tree #124 and #125. - - rdf:type sosa:Sensor ; - rdfs:label "rangefinder #30"@en ; - rdfs:comment "rangefinder #30 is a laser range finder sensor."@en . - -# rangefinder #30 made observation #1087 of the height of tree #124. - - rdf:type sosa:Observation ; - rdfs:label "observation #1087"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:hasUnit unit:M ; - qudt:numericalValue "15.3"^^xsd:double ] . - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #124"@en . - - rdf:type sosa:ObservableProperty , ssn:Property ; - rdfs:label "the height of tree #124"@en . - -# rangefinder #30 made observation #1088 of the height of tree #125. - - rdf:type sosa:Observation ; - rdfs:label "observation #1088"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:numericValue "23.0"^^xsd:double ; - qudt:hasUnit qunit:M ] . - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #125"@en . - - rdf:type sosa:ObservableProperty , ssn:Property ; - rdfs:label "the height of tree #125"@en . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex14.ttl b/ssn/tests/Observation/2017ex14.ttl deleted file mode 100644 index 8b2de224..00000000 --- a/ssn/tests/Observation/2017ex14.ttl +++ /dev/null @@ -1,46 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix sosa: . -@prefix ssn: . -@prefix geo: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured -# a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific -# Daylight Time. - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "earth"@en . - - rdf:type sosa:Sensor ; - rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; - rdfs:seeAlso ; - sosa:observes . - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "location of VCAB-DP1-BP-40"@en ; - geo:lat 35.8648067 ; - geo:long -120.6195831 ; - geo:alt 12.75 ; - sosa:isSampleOf . - - rdf:type sosa:ObservableProperty , ssn:Property ; - rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; - sosa:isObservedBy . - - rdf:type sosa:Observation ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "5e-4"^^xsd:double ; - qudt:hasUnit unit:CentiM-PER-SEC ] ; - sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . - -# using SSN one can explicitly state that is the property of . - - ssn:hasProperty . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex15.ttl b/ssn/tests/Observation/2017ex15.ttl deleted file mode 100644 index 923e7da7..00000000 --- a/ssn/tests/Observation/2017ex15.ttl +++ /dev/null @@ -1,41 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix sosa: . -@prefix geo: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured -# a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific -# Daylight Time. - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "earth"@en . - - rdf:type sosa:Sensor ; - rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; - rdfs:seeAlso ; - sosa:observes . - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "location of VCAB-DP1-BP-40"@en ; - geo:lat 35.8648067 ; - geo:long -120.6195831 ; - geo:alt 12.75 ; - sosa:isSampleOf . - - rdf:type sosa:ObservableProperty , ssn:Property ; - rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; - sosa:isObservedBy . - - rdf:type sosa:Observation ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "5e-4"^^xsd:double ; - qudt:hasUnit unit:CentiM-PER-SEC ] ; - sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex16.ttl b/ssn/tests/Observation/2017ex16.ttl deleted file mode 100644 index c7960411..00000000 --- a/ssn/tests/Observation/2017ex16.ttl +++ /dev/null @@ -1,16 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix xsd: . -@base . - -# The result of an observation of the sunspot number is available a few minutes -# after the phenomenon time, due to the light travel duration. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:hasSimpleResult 66 ; - sosa:phenomenonTime [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-03-31T11:51:42+00:00"^^xsd:dateTimeStamp ] ; - sosa:resultTime "2017-03-31T12:00:00+00:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex17.ttl b/ssn/tests/Observation/2017ex17.ttl deleted file mode 100644 index 5a12489b..00000000 --- a/ssn/tests/Observation/2017ex17.ttl +++ /dev/null @@ -1,41 +0,0 @@ -@prefix rdf: . -@prefix sosa: . -@prefix ssn: . -@prefix xsd: . -@base . - -# movements of spinning cups on wind sensor #14 serves as proxies for the wind speed -# at the location of the wind sensor. - - rdf:type sosa:Sensor ; - sosa:observes . - -# wind sensor #14 detected some movement of spinning cups, from which originated the -# observations #147 and #148. - - rdf:type sosa:Sensor ; - sosa:madeObservation , ; - ssn:detects , . - -# observation #147 was originated by the movement of the spinning cups of sensor #14. -# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - ssn:wasOriginatedBy ; - sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "47 km/h"^^ . - - rdf:type ssn:Stimulus ; - ssn:isProxyFor . - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - ssn:wasOriginatedBy ; - sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "43 km/h"^^ . - - rdf:type ssn:Stimulus ; - ssn:isProxyFor . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex18.ttl b/ssn/tests/Observation/2017ex18.ttl deleted file mode 100644 index 42b6bf25..00000000 --- a/ssn/tests/Observation/2017ex18.ttl +++ /dev/null @@ -1,29 +0,0 @@ -@prefix rdf: . -@prefix sosa: . -@prefix xsd: . -@base . - -# movements of spinning cups on wind sensor #14 serves as proxies for the wind speed -# at the location of the wind sensor. - - rdf:type sosa:Sensor ; - sosa:observes . - -# wind sensor #14 made observations #147 and #148. - - rdf:type sosa:Sensor ; - sosa:madeObservation , . - -# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "47 km/h"^^ . - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "43 km/h"^^ . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex19.ttl b/ssn/tests/Observation/2017ex19.ttl deleted file mode 100644 index f7b3a882..00000000 --- a/ssn/tests/Observation/2017ex19.ttl +++ /dev/null @@ -1,35 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix ssn: . -@prefix xsd: . -@prefix geo: . -@base . - - -# The CO2 level observed in an ice core is 240 parts per million. -# the ice core is a sample of the polar ice sheet of Antarctica. - - a sosa:FeatureOfInterest ; - sosa:hasSample , , . - - rdf:type sosa:Sample ; - sosa:isSampleOf ; - sosa:isResultOf ; - sosa:madeBySampler . - - a sosa:Sampling ; - geo:lat -73.35 ; - geo:long 9.32 ; - sosa:hasResult ; - sosa:madeBySampler ; - sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; - sosa:hasFeatureOfInterest . - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasSimpleResult 240 . - -# using SSN one can explicitly state that is the property of . - - ssn:isPropertyOf . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex2.ttl b/ssn/tests/Observation/2017ex2.ttl deleted file mode 100644 index 9a468492..00000000 --- a/ssn/tests/Observation/2017ex2.ttl +++ /dev/null @@ -1,19 +0,0 @@ -@prefix sosa: . -@prefix xsd: . -@prefix om: . - - a sosa:Observation ; - rdfs:comment "Observation of the difference between the outside temperature and the inside temperature."@en ; - sosa:hasFeatureOfInterest ; - sosa:hasResult [ - a om:Measure ; - om:hasUnit om:degreeCelsius ; - om:hasNumericalValue "-29.9"^^xsd:decimal ] . - - a sosa:Observation ; - rdfs:comment "Observation of the temperature inside apartment #134."@en ; - sosa:hasFeatureOfInterest ; - sosa:hasResult [ - a om:Point ; - om:hasScale om:CelsiusScale ; - om:hasNumericalValue "22.4"^^xsd:decimal ] . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex20.ttl b/ssn/tests/Observation/2017ex20.ttl deleted file mode 100644 index b1edf1bc..00000000 --- a/ssn/tests/Observation/2017ex20.ttl +++ /dev/null @@ -1,30 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix xsd: . -@prefix geo: . -@base . - - -# The CO2 level observed in an ice core is 240 parts per million. -# the ice core is a sample of the polar ice sheet of Antarctica. - - a sosa:FeatureOfInterest ; - sosa:hasSample , , . - - rdf:type sosa:Sample ; - sosa:isSampleOf ; - sosa:isResultOf ; - sosa:madeBySampler . - - a sosa:Sampling ; - geo:lat -73.35 ; - geo:long 9.32 ; - sosa:hasResult ; - sosa:madeBySampler ; - sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; - sosa:hasFeatureOfInterest . - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasSimpleResult 240 . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex22.ttl b/ssn/tests/Observation/2017ex22.ttl deleted file mode 100644 index b9925779..00000000 --- a/ssn/tests/Observation/2017ex22.ttl +++ /dev/null @@ -1,31 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@prefix schema: . - -@prefix sosa: . -@prefix ssn: . -@prefix ssn-system: . - -@prefix rdfp: . - -@base . - - - a sosa:Procedure . - - a sosa:Platform ; - rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; - rdfs:seeAlso . - - - a sosa:Sensor ; - sosa:isHostedBy ; - rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en . - - - a sosa:Observation ; - sosa:madeBySensor ; - sosa:usedProcedure . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex25.ttl b/ssn/tests/Observation/2017ex25.ttl deleted file mode 100644 index 069a0b0d..00000000 --- a/ssn/tests/Observation/2017ex25.ttl +++ /dev/null @@ -1,105 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix geo: . -@prefix gr: . -@prefix org: . -@prefix schema: . -@prefix sosa: . -@prefix ssn: . -@prefix ssn-system: . -@prefix unit: . -@prefix prov: . -@prefix owl: . -@prefix seas: . -@prefix cdt: . -@prefix xsd: . - -@base . - - a org:Organization ; - owl:sameAs . - - a sosa:FeatureOfInterest ; - rdfs:label "The air."@en . - - a owl:Class , gr:ProductOrServiceModel ; - gr:name "IP68 Outdoor Temperature Sensor"@en ; - rdfs:label "IP68 Outdoor Temperature Sensor"@en ; - rdfs:subClassOf [ - owl:onProperty ssn-system:hasOperatingRange ; - owl:hasValue ] ; - rdfs:subClassOf [ - owl:onProperty ssn-system:hasSystemCapability ; - owl:hasValue ] . - - a ssn-system:OperatingRange , ssn:Property ; - ssn-system:inCondition . - - a ssn-system:Condition , schema:PropertyValue ; - rdfs:comment "A temperature range of -20 to 70 Celsius."@en ; - schema:minValue -20.0 ; - schema:maxValue 70.0 ; - schema:unitCode unit:DegreeCelsius . - - a ssn:Property , ssn-system:SystemCapability ; - rdfs:comment "The sensor capability in normal operating conditions."@en ; - ssn-system:hasSystemProperty , , , , ; - ssn-system:inCondition . - - a ssn:Property , ssn-system:Sensitivity , schema:PropertyValue ; - schema:value -137 ; - schema:unitCode unit:DecibelReferredToOneMilliwatt . - - a ssn:Property , ssn-system:Accuracy , schema:PropertyValue ; - ssn:forProperty ; - schema:minValue -0.2 ; - schema:maxValue 0.2 ; - schema:unitCode unit:DegreeCelsius . - - a ssn:Property , ssn-system:Resolution , schema:PropertyValue ; - ssn:forProperty ; - schema:value 0.0625 ; - schema:unitCode unit:DegreeCelsius . - - a ssn:Property , ssn-system:Resolution , schema:PropertyValue ; - ssn:forProperty ; - schema:value 3.937e-3 ; - schema:unitCode unit:PERCENT . - - a sosa:Sample ; - rdfs:label "The air at lat 45.75 and long 4.85."@en ; - sosa:isSampleOf ; - ssn:hasProperty . - - a ssn:Property , sosa:ObservableProperty ; - ssn:isPropertyOf . - - a gr:ProductOrService, sosa:Sensor , seas:LoRaCommunicationDevice , ; - gr:hasBrand [ a gr:Brand ; gr:name "Sensing Labs"@en ] ; - geo:alt 100.0 ; - geo:lat 45.75 ; - geo:lon 4.85 ; - ssn:implements ; - ssn:implements ; - ssn:observes ; - ssn:observes . - - a ssn:Deployment ; - ssn:deployedSystem ; - prov:startedAtTime "2017-06-06"^^xsd:date ; - prov:wasAssociatedWith ; - ssn:deployedOnPlatform . - - a sosa:Observation ; - sosa:hasSimpleResult "64.5244681928429 Cel"^^cdt:ucum ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . - - a sosa:Observation ; - sosa:hasSimpleResult "73.2 %"^^cdt:ucum ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex3.1.ttl b/ssn/tests/Observation/2017ex3.1.ttl deleted file mode 100644 index 06ff13f2..00000000 --- a/ssn/tests/Observation/2017ex3.1.ttl +++ /dev/null @@ -1,6 +0,0 @@ -@prefix unit: . -@prefix sosa: . - - a sosa:Observation ; - sosa:hasFeatureOfInterest ; - sosa:hasSimpleResult "-29.9"^^unit:DEG_C . diff --git a/ssn/tests/Observation/2017ex3.ttl b/ssn/tests/Observation/2017ex3.ttl deleted file mode 100644 index 1694bfac..00000000 --- a/ssn/tests/Observation/2017ex3.ttl +++ /dev/null @@ -1,6 +0,0 @@ -@prefix cdt: . -@prefix sosa: . - - a sosa:Observation ; - sosa:hasFeatureOfInterest ; - sosa:hasSimpleResult "-29.9 Cel"^^cdt:ucum . diff --git a/ssn/tests/Observation/2017ex4.ttl b/ssn/tests/Observation/2017ex4.ttl deleted file mode 100644 index 56caa776..00000000 --- a/ssn/tests/Observation/2017ex4.ttl +++ /dev/null @@ -1,15 +0,0 @@ -ex:Temperature a ssn:Property . - - a sosa:FeatureOfInterest; - ssn:hasProperty ex:Temperature . - - a sosa:Observation ; - sosa:observedProperty ex:Temperature ; - sosa:hasFeatureOfInterest . - - a sosa:FeatureOfInterest; - ssn:hasProperty ex:Temperature . - - a sosa:Observation ; - sosa:observedProperty ex:Temperature ; - sosa:hasFeatureOfInterest . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex5.ttl b/ssn/tests/Observation/2017ex5.ttl deleted file mode 100644 index 9930d868..00000000 --- a/ssn/tests/Observation/2017ex5.ttl +++ /dev/null @@ -1,20 +0,0 @@ -ex:Temperature a owl:Class ; - rdfs:subClassOf ssn:Property . - - a sosa:FeatureOfInterest; - ssn:hasProperty . - - a ex:Temperature , ssn:Property . - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasFeatureOfInterest . - - a sosa:FeatureOfInterest; - ssn:hasProperty . - - a ex:Temperature , ssn:Property . - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasFeatureOfInterest . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex8.ttl b/ssn/tests/Observation/2017ex8.ttl deleted file mode 100644 index e6df4fd7..00000000 --- a/ssn/tests/Observation/2017ex8.ttl +++ /dev/null @@ -1,67 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix sosa: . -@prefix geo: . -@prefix qudt: . -@prefix unit: . -@prefix cdt: . -@base . - -# The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 -# observed on June 6 2017 using only the SOSA core for modelling. - -# the atmosphere is sampled at a specific location -# location coordinates are given using GeoSPARQL - - a sosa:FeatureOfInterest ; - rdfs:label "Atmosphere of Earth"@en . - - a sosa:Sample ; - sosa:isSampleOf ; - geo:hasGeometry [ - a geo:Point ; - geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; - ] ; -. - - a sosa:ObservableProperty ; - rdfs:label "Atmospheric pressure"@en . - - -# An iPhone 7 as the Platform that hosts several sensors, -# among others the Bosch Sensortec BMP282 atmospheric pressure sensor. - - a sosa:Platform ; - rdfs:label "IPhone 7 - IMEI 35-207306-844818-0"@en ; - rdfs:comment "IPhone 7 - IMEI 35-207306-844818-0 - John Doe"@en ; - sosa:hosts . - - a sosa:Sensor ; - rdfs:label "Bosch Sensortec BMP282"@en ; - sosa:observes . - - -# An observation made by the BMP282 atmospheric pressure sensor -# using the cdt:ucum custom datatype. - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasFeatureOfInterest ; - sosa:madeBySensor ; - sosa:hasSimpleResult "1021.45 hPa"^^cdt:ucum ; - sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . - - -# Another observation made a second later by the BMP282 atmospheric pressure sensor -# using the QUDT Ontology for the Units of Measurement - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasFeatureOfInterest ; - sosa:madeBySensor ; - sosa:hasResult [ - a qudt:QuantityValue ; - qudt:value "101936"^^xsd:decimal ; - qudt:hasUnit unit:PA ] ; - sosa:resultTime "2017-06-06T12:36:13Z"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/tests/Observation/2017ex9.ttl b/ssn/tests/Observation/2017ex9.ttl deleted file mode 100644 index 20b4a829..00000000 --- a/ssn/tests/Observation/2017ex9.ttl +++ /dev/null @@ -1,51 +0,0 @@ -@prefix rdf: . -@prefix owl: . -@prefix rdfs: . -@prefix sosa: . -@prefix xsd: . -@prefix cdt: . - -@base . - - a sosa:FeatureOfInterest ; - sosa:hasSample ; - rdfs:comment "Coal Oil Point Reserve: UC Santa Barbara Natural Reserve System"@en ; - rdfs:label "Coal Oil Point Reserve"@en . - - a sosa:Sample ; - rdfs:comment "."@en ; - rdfs:label "Air around COPR Station"@en ; - sosa:isSampleOf . - - a sosa:Platform ; - rdfs:comment "Station at Coal Oil Point Reserve, CA (see http://www.geog.ucsb.edu/ideas/COPR.html for details)"@en ; - rdfs:label "Coal Oil Point Reserve Wx Station"@en ; - rdfs:seeAlso ; - sosa:hosts . - - a sosa:Platform ; - rdfs:label "HMP45C-L Temperature and Relative Humidity Probe at Coal Oil Point, UCSB, CA"@en ; - sosa:hosts ; - sosa:isHostedBy . - - a sosa:Sensor ; - rdfs:label "Vaisala HUMICAP H-chip"@en ; - sosa:isHostedBy . - - a sosa:ObservableProperty ; - rdfs:comment "Humidity is a measure of the moisture content of air."@en ; - rdfs:label "Relative Humidity"@en . - - a sosa:Procedure ; - rdfs:comment "... detailed instructions for measuring relative humidity ..."@en ; - . - - a sosa:Observation ; - rdfs:comment "Relative humidity as averaged over 15min at COPR."@en ; - rdfs:label "Relative humidity, AVG, 15min, COPR, 06.02.2017, 3:00 PM"@en ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:hasSimpleResult "92.5 %"^^cdt:ucum ; - sosa:resultTime "2017-06-02-T03:00:00-7:00"^^xsd:dateTime ; - sosa:observedProperty ; - sosa:usedProcedure . \ No newline at end of file diff --git a/ssn/tests/Observation/F1.ttl b/ssn/tests/Observation/F1.ttl new file mode 100644 index 00000000..1d6d167e --- /dev/null +++ b/ssn/tests/Observation/F1.ttl @@ -0,0 +1,29 @@ +@base . +@prefix ex: . +@prefix rdfs: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . + +ex:OF1 a sosa:Observation ; + rdfs:comment "Invalid observation - no result" ; + sosa:usedProcedure ex:T9 ; + sosa:madeBySensor ex:Th3 ; + sosa:phenomenonTime [ + time:hasBeginning [ + time:inXSDDateTime "2020-01-05T04:00:00"^^xsd:dateTime ; + ] ; + time:hasEnd [ + time:inXSDDateTime "2020-01-05T04:30:00"^^xsd:dateTime ; + ] ; + ] ; + sosa:resultTime "2020-01-05T04:31:00"^^xsd:dateTime ; + sosa:observedProperty ex:Temperature ; + sosa:hasFeatureOfInterest ex:apartment134 ; + . + +ex:Temperature a sosa:ObservableProperty . +ex:apartment134 a sosa:FeatureOfInterest . +ex:T9 a sosa:Procedure . +ex:Th3 a sosa:Sensor . \ No newline at end of file diff --git a/ssn/tests/Observation/F2.ttl b/ssn/tests/Observation/F2.ttl new file mode 100644 index 00000000..4dd0d1eb --- /dev/null +++ b/ssn/tests/Observation/F2.ttl @@ -0,0 +1,28 @@ +@base . +@prefix ex: . +@prefix rdfs: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . + +ex:OF2 a sosa:Observation ; + rdfs:comment "Invalid observation - no FoI" ; + sosa:usedProcedure ex:T9 ; + sosa:madeBySensor ex:Th3 ; + sosa:phenomenonTime [ + time:hasBeginning [ + time:inXSDDateTime "2020-01-05T04:00:00"^^xsd:dateTime ; + ] ; + time:hasEnd [ + time:inXSDDateTime "2020-01-05T04:30:00"^^xsd:dateTime ; + ] ; + ] ; + sosa:resultTime "2020-01-05T04:31:00"^^xsd:dateTime ; + sosa:observedProperty ex:Temperature ; + sosa:hasSimpleResult "-29.9"^^unit:DEG_C ; + . + +ex:Temperature a sosa:ObservableProperty . +ex:T9 a sosa:Procedure . +ex:Th3 a sosa:Sensor . \ No newline at end of file diff --git a/ssn/tests/Observation/F3.ttl b/ssn/tests/Observation/F3.ttl new file mode 100644 index 00000000..c9f300e0 --- /dev/null +++ b/ssn/tests/Observation/F3.ttl @@ -0,0 +1,28 @@ +@base . +@prefix ex: . +@prefix rdfs: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . + +ex:OF3 a sosa:Observation ; + rdfs:comment "Invalid observation - no observedProperty" ; + sosa:usedProcedure ex:T9 ; + sosa:madeBySensor ex:Th3 ; + sosa:phenomenonTime [ + time:hasBeginning [ + time:inXSDDateTime "2020-01-05T04:00:00"^^xsd:dateTime ; + ] ; + time:hasEnd [ + time:inXSDDateTime "2020-01-05T04:30:00"^^xsd:dateTime ; + ] ; + ] ; + sosa:resultTime "2020-01-05T04:31:00"^^xsd:dateTime ; + sosa:hasFeatureOfInterest ex:apartment134 ; + sosa:hasSimpleResult "-29.9"^^unit:DEG_C ; + . + +ex:apartment134 a sosa:FeatureOfInterest . +ex:T9 a sosa:Procedure . +ex:Th3 a sosa:Sensor . \ No newline at end of file diff --git a/ssn/tests/Observation/F4.ttl b/ssn/tests/Observation/F4.ttl new file mode 100644 index 00000000..8f43467b --- /dev/null +++ b/ssn/tests/Observation/F4.ttl @@ -0,0 +1,31 @@ +@base . +@prefix ex: . +@prefix rdfs: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . + +ex:OF4 a sosa:Observation ; + rdfs:comment "Invalid observation - two result (simple)" ; + sosa:usedProcedure ex:T9 ; + sosa:madeBySensor ex:Th3 ; + sosa:phenomenonTime [ + time:hasBeginning [ + time:inXSDDateTime "2020-01-05T04:00:00"^^xsd:dateTime ; + ] ; + time:hasEnd [ + time:inXSDDateTime "2020-01-05T04:30:00"^^xsd:dateTime ; + ] ; + ] ; + sosa:resultTime "2020-01-05T04:31:00"^^xsd:dateTime ; + sosa:observedProperty ex:Temperature ; + sosa:hasFeatureOfInterest ex:apartment134 ; + sosa:hasSimpleResult "-29.9"^^unit:DEG_C ; + sosa:hasSimpleResult "-2.9"^^unit:DEG_C ; + . + +ex:Temperature a sosa:ObservableProperty . +ex:apartment134 a sosa:FeatureOfInterest . +ex:T9 a sosa:Procedure . +ex:Th3 a sosa:Sensor . \ No newline at end of file diff --git a/ssn/tests/Observation/F5.ttl b/ssn/tests/Observation/F5.ttl new file mode 100644 index 00000000..414b9a34 --- /dev/null +++ b/ssn/tests/Observation/F5.ttl @@ -0,0 +1,34 @@ +@base . +@prefix ex: . +@prefix rdfs: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . + +ex:OF5 a sosa:Observation ; + rdfs:comment "Invalid observation - two result (mixed)" ; + sosa:usedProcedure ex:T9 ; + sosa:madeBySensor ex:Th3 ; + sosa:phenomenonTime [ + time:hasBeginning [ + time:inXSDDateTime "2020-01-05T04:00:00"^^xsd:dateTime ; + ] ; + time:hasEnd [ + time:inXSDDateTime "2020-01-05T04:30:00"^^xsd:dateTime ; + ] ; + ] ; + sosa:resultTime "2020-01-05T04:31:00"^^xsd:dateTime ; + sosa:observedProperty ex:Temperature ; + sosa:hasFeatureOfInterest ex:apartment134 ; + sosa:hasSimpleResult "-29.9"^^unit:DEG_C ; + sosa:hasResult [ + a qudt:QuantityValue ; + qudt:hasUnit unit:DEG_C ; + qudt:value "-2.9"^^xsd:decimal ] ; + . + +ex:Temperature a sosa:ObservableProperty . +ex:apartment134 a sosa:FeatureOfInterest . +ex:T9 a sosa:Procedure . +ex:Th3 a sosa:Sensor . \ No newline at end of file diff --git a/ssn/tests/Observation/F6.ttl b/ssn/tests/Observation/F6.ttl new file mode 100644 index 00000000..35f22bc4 --- /dev/null +++ b/ssn/tests/Observation/F6.ttl @@ -0,0 +1,36 @@ +@base . +@prefix ex: . +@prefix rdfs: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . + +ex:OF6 a sosa:Observation ; + rdfs:comment "Invalid observation - two result (objects)" ; + sosa:usedProcedure ex:T9 ; + sosa:madeBySensor ex:Th3 ; + sosa:phenomenonTime [ + time:hasBeginning [ + time:inXSDDateTime "2020-01-05T04:00:00"^^xsd:dateTime ; + ] ; + time:hasEnd [ + time:inXSDDateTime "2020-01-05T04:30:00"^^xsd:dateTime ; + ] ; + ] ; + sosa:resultTime "2020-01-05T04:31:00"^^xsd:dateTime ; + sosa:observedProperty ex:Temperature ; + sosa:hasFeatureOfInterest ex:apartment134 ; + sosa:hasResult [ + a qudt:QuantityValue ; + qudt:hasUnit unit:DEG_C ; + qudt:value "-29.9"^^xsd:decimal ] ; + sosa:hasResult [ + a qudt:QuantityValue ; + qudt:hasUnit unit:DEG_C ; + qudt:value "-2.9"^^xsd:decimal ] ; + . +ex:Temperature a sosa:ObservableProperty . +ex:apartment134 a sosa:FeatureOfInterest . +ex:T9 a sosa:Procedure . +ex:Th3 a sosa:Sensor . \ No newline at end of file diff --git a/ssn/tests/Observation/P1.ttl b/ssn/tests/Observation/P1.ttl new file mode 100644 index 00000000..e0facc29 --- /dev/null +++ b/ssn/tests/Observation/P1.ttl @@ -0,0 +1,15 @@ +@base . +@prefix ex: . +@prefix rdfs: . +@prefix sosa: . +@prefix unit: . + +ex:OP1 a sosa:Observation ; + rdfs:comment "Minimal example of an observation with a simple result" ; + sosa:observedProperty ex:Temperature ; + sosa:hasFeatureOfInterest ex:apartment134 ; + sosa:hasSimpleResult "-29.9"^^unit:DEG_C ; + . + +ex:Temperature a sosa:ObservableProperty . +ex:apartment134 a sosa:FeatureOfInterest . \ No newline at end of file diff --git a/ssn/tests/Observation/P2.ttl b/ssn/tests/Observation/P2.ttl new file mode 100644 index 00000000..f55c9c97 --- /dev/null +++ b/ssn/tests/Observation/P2.ttl @@ -0,0 +1,20 @@ +@base . +@prefix ex: . +@prefix qudt: . +@prefix rdfs: . +@prefix sosa: . +@prefix unit: . +@prefix xsd: . + +ex:OP2 a sosa:Observation ; + rdfs:comment "Minimal example of an observation with an object result" ; + sosa:observedProperty ex:Temperature ; + sosa:hasFeatureOfInterest ex:apartment134 ; + sosa:hasResult [ + a qudt:QuantityValue ; + qudt:hasUnit unit:DEG_C ; + qudt:value "-29.9"^^xsd:decimal ] ; + . + +ex:Temperature a sosa:ObservableProperty . +ex:apartment134 a sosa:FeatureOfInterest . \ No newline at end of file diff --git a/ssn/tests/Observation/P3.ttl b/ssn/tests/Observation/P3.ttl new file mode 100644 index 00000000..ea4bc4b1 --- /dev/null +++ b/ssn/tests/Observation/P3.ttl @@ -0,0 +1,30 @@ +@base . +@prefix ex: . +@prefix rdfs: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . + +ex:OP3 a sosa:Observation ; + rdfs:comment "Rich example of an observation with a simple result" ; + sosa:usedProcedure ex:T9 ; + sosa:madeBySensor ex:Th3 ; + sosa:phenomenonTime [ + time:hasBeginning [ + time:inXSDDateTime "2020-01-05T04:00:00"^^xsd:dateTime ; + ] ; + time:hasEnd [ + time:inXSDDateTime "2020-01-05T04:30:00"^^xsd:dateTime ; + ] ; + ] ; + sosa:resultTime "2020-01-05T04:31:00"^^xsd:dateTime ; + sosa:observedProperty ex:Temperature ; + sosa:hasFeatureOfInterest ex:apartment134 ; + sosa:hasSimpleResult "-29.9"^^unit:DEG_C ; +. + +ex:Temperature a sosa:ObservableProperty . +ex:apartment134 a sosa:FeatureOfInterest . +ex:T9 a sosa:Procedure . +ex:Th3 a sosa:Sensor . \ No newline at end of file diff --git a/ssn/tests/Observation/P4.ttl b/ssn/tests/Observation/P4.ttl new file mode 100644 index 00000000..ca62bfa5 --- /dev/null +++ b/ssn/tests/Observation/P4.ttl @@ -0,0 +1,19 @@ +@base . +@prefix ex: . +@prefix owl: . +@prefix qudt: . +@prefix rdfs: . +@prefix sosa: . +@prefix unit: . +@prefix xsd: . + +ex:OP4 a sosa:Observation ; + rdfs:comment "Minimal example of an observation with an object result" ; + sosa:observedProperty ex:Temperature ; + sosa:hasFeatureOfInterest ex:apartment134 ; + sosa:hasResult ex:r1 ; + . + +ex:Temperature a sosa:ObservableProperty . +ex:apartment134 a sosa:FeatureOfInterest . +ex:r1 a owl:Individual . \ No newline at end of file From 7ef5553116815a2202579efdb42986c4f010002e Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 29 Jan 2024 09:58:27 +1100 Subject: [PATCH 14/74] Add QUDT Unit as Datatype in Units of Measure examples --- ssn/index.html | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/ssn/index.html b/ssn/index.html index 2243c429..fa049c25 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -3236,8 +3236,10 @@
    sosa:hasSimpleResult
    Example -
    "23"^^xsd:integer 
    -"true"^^xsd:boolean
    + +
    "23"^^xsd:integer 
    +"true"^^xsd:boolean
    +
    Domain Includes @@ -3275,21 +3277,23 @@
    sosa:resultTime
    - - - + + - - - +"2024"^^xsd:gYear + + + +
    Example
    "2024-01-23T19:26:00+11:00"^^xsd:dateTime
    +              
    Example +
    "2024-01-23T19:26:00+11:00"^^xsd:dateTime
     "2024-01-23"^^xsd:date
     "2024-01"^^xsd:gMonth
    -"2024"^^xsd:gYear
    Domain Includessosa:Actuation, sosa:Observation, sosa:ObservationCollection, sosa:Sampling
    Domain Includessosa:Actuation, sosa:Observation, sosa:ObservationCollection, sosa:Sampling +
    @@ -4369,7 +4373,8 @@
    sosa:ActuationCollection

    IRI: http://www.w3.org/ns/sosa/ActuationCollection

    an OWL Class

    -

    ActuationCollection added in 2024 update.

    This term is non-normative pending further implementation experience

    +

    ActuationCollection added in 2024 update.

    This term is non-normative pending further + implementation experience

    Actuation Collection - @@ -8650,6 +8655,7 @@

    Quantity Values and Unit of Measures

    • With QUDT, a quantitative result would be a qudt:QuantityValue
    • +
    • Alternatively, a QUDT Unit could be used as the Datatype of a simple result
    • With OM 2, a quantitative result would be a om:Measure or om:Point
    • With CDT, the value of sosa:hasSimpleResult may be @@ -8660,6 +8666,7 @@

      Quantity Values and Unit of Measures

      Custom datatypes are not strictly compatible with OWL, which restricts the set of datatypes that can be used. See sec. 5.2 in [[owl2-syntax]] for more details.

      
      +      
      
             
      
             
      
           
    @@ -9355,7 +9362,8 @@

    Changes since W3C Recommendation 19 October 2017 cdt:ucum which encodes the unit-of-measure using UCUM (UCUM, [[UCUM]]) +
    
           
    
           
    
    
    From e24f6c030505f250fa5c78c6ae226a53601585f2 Mon Sep 17 00:00:00 2001
    From: Simon Cox 
    Date: Wed, 6 Mar 2024 18:17:06 +1100
    Subject: [PATCH 16/74] Move Complete Examples annex into separate HTML file
    
    ---
     ssn/frag/CompleteExamples.html | 291 ++++++++++++++++++++++++++++++++
     ssn/index.html                 | 292 +--------------------------------
     2 files changed, 292 insertions(+), 291 deletions(-)
     create mode 100644 ssn/frag/CompleteExamples.html
    
    diff --git a/ssn/frag/CompleteExamples.html b/ssn/frag/CompleteExamples.html
    new file mode 100644
    index 00000000..1184d88a
    --- /dev/null
    +++ b/ssn/frag/CompleteExamples.html
    @@ -0,0 +1,291 @@
    +
    +    

    Complete Examples

    +
    +

    iPhone Barometer

    +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +      
    +
    +
    +

    Coal Oil Point Reserve

    +
    +

    An RDF file containing a graph corresponding to + this example is available.

    +
    
    +      
    +
    +
    +

    apartment 134

    + +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +      
    + + +
    + +
    +

    Tree height measurement

    + + + + +
    + +
    +

    Seismographs

    + + + + +
    + +
    +

    Number of sunspots

    +

    An RDF file containing a graph corresponding to + this example is available.

    +
    
    +    
    + +
    +

    Wind sensor spinning cups

    + +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +      
    + + +
    + +
    +

    Ice Core

    + +
    +

    In order to characterize a thing with a large extent, or which is not directly accessible, the usual + observational strategy is to obtain one or more samples. Observations may then be made more conveniently on + the samples, with the intention of characterizing the larger thing. This intentionality is captured using + the + property sosa:isSampleOf.

    +

    In the following example, the ice core is a sample of the Antarctic ice sheet, and observations are made on + the ice core.

    +

    A convenient side effect of this feature is that all observations related to the larger thing (the ice + sheet) + can be found, and then potentially joined together in a meta-analysis in order to characterize that.

    +

    An RDF file containing a graph corresponding + to + this example is available.

    +
    
    +      
    + + +
    + +
    +

    DHT22 Description

    + +
    +

    An RDF file containing a graph corresponding to + this example is available.

    +
    
    +      
    + + +
    + + +
    +

    DHT22 Deployment

    + +
    +

    This example shows how the conditions (temperature and humidity) in a room may be measured using one or + more sensors. + Each sensor observes the conditions in its immediate vicinity, and the values are then used to characterize + the room.

    +

    In Room 145 one of the walls is external in the building, so there is expected to be a temperature gradient + across the room, and there are two sensors on different walls. In room 245 there is one sensor on the south + wall. + Each of these locations corresponds to a sosa:Sample of the entire room. + The wall also serves as a sosa:Platform on which the sensors are mounted.

    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +      
    + +
    +
    +

    IP68 Smart Sensor

    +
    +

    This example describes the IP68 Smart Sensor that and some of its capabilities and operating ranges. + A specific IP68 Smart Sensor observes the air temperature, and its own battery state.

    +

    An RDF file containing a graph corresponding to + this example is available.

    +
    
    +      
    +
    + diff --git a/ssn/index.html b/ssn/index.html index 47ce096d..d65293a3 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -672,297 +672,7 @@

    Wide review

    href="https://www.w3.org/2015/spatial/wiki/Wide_Review">summarized here.

    -
    -

    Complete Examples

    -
    -

    iPhone Barometer

    -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    -
    -
    -

    Coal Oil Point Reserve

    -
    -

    An RDF file containing a graph corresponding to - this example is available.

    -
    
    -      
    -
    -
    -

    apartment 134

    - -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - - -
    - -
    -

    Tree height measurement

    - - - - -
    - -
    -

    Seismographs

    - - - - -
    - -
    -

    Number of sunspots

    -

    An RDF file containing a graph corresponding to - this example is available.

    -
    
    -    
    - -
    -

    Wind sensor spinning cups

    - -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - - -
    - -
    -

    Ice Core

    - -
    -

    In order to characterize a thing with a large extent, or which is not directly accessible, the usual - observational strategy is to obtain one or more samples. Observations may then be made more conveniently on - the samples, with the intention of characterizing the larger thing. This intentionality is captured using - the - property sosa:isSampleOf.

    -

    In the following example, the ice core is a sample of the Antarctic ice sheet, and observations are made on - the ice core.

    -

    A convenient side effect of this feature is that all observations related to the larger thing (the ice - sheet) - can be found, and then potentially joined together in a meta-analysis in order to characterize that.

    -

    An RDF file containing a graph corresponding - to - this example is available.

    -
    
    -      
    - - -
    - -
    -

    DHT22 Description

    - -
    -

    An RDF file containing a graph corresponding to - this example is available.

    -
    
    -      
    - - -
    - - -
    -

    DHT22 Deployment

    - -
    -

    This example shows how the conditions (temperature and humidity) in a room may be measured using one or - more sensors. - Each sensor observes the conditions in its immediate vicinity, and the values are then used to characterize - the room.

    -

    In Room 145 one of the walls is external in the building, so there is expected to be a temperature gradient - across the room, and there are two sensors on different walls. In room 245 there is one sensor on the south - wall. - Each of these locations corresponds to a sosa:Sample of the entire room. - The wall also serves as a sosa:Platform on which the sensors are mounted.

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - -
    -
    -

    IP68 Smart Sensor

    -
    -

    This example describes the IP68 Smart Sensor that and some of its capabilities and operating ranges. - A specific IP68 Smart Sensor observes the air temperature, and its own battery state.

    -

    An RDF file containing a graph corresponding to - this example is available.

    -
    
    -      
    -
    -
    +

    Acknowledgments

    From d296229934e465f070b6b197d3389c2b5cf383d5 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 4 Jun 2024 17:36:44 +1000 Subject: [PATCH 17/74] Clean up header and imports --- ssn/rdf/ontology/extensions/ssn-system.ttl | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ssn/rdf/ontology/extensions/ssn-system.ttl b/ssn/rdf/ontology/extensions/ssn-system.ttl index c404917c..d42e4dff 100644 --- a/ssn/rdf/ontology/extensions/ssn-system.ttl +++ b/ssn/rdf/ontology/extensions/ssn-system.ttl @@ -11,12 +11,8 @@ @prefix sosa: . @prefix sosa-common: . -@prefix sosa-act: . -@prefix sosa-obs: . @prefix ssn: . -@prefix ssn-act: . @prefix ssn-dep: . -@prefix ssn-obs: . @prefix ssn-system: . @@ -39,15 +35,16 @@ ssn-system: a owl:Ontology , voaf:Vocabulary ; dcterms:title "System capabilities, operating ranges, and survival ranges ontology"@en ; dcterms:description "This ontology describes system capabilities, operating ranges, and survival ranges."@en ; dcterms:creator [ a foaf:Agent ; foaf:name "W3C/OGC Spatial Data on the Web Working Group"@en ] ; - dcterms:rights "Copyright 2017 W3C/OGC." ; + dcterms:rights "Copyright 2017 , 2024 W3C/OGC." ; dcterms:license ; dcterms:license ; rdfs:comment "Please report any errors to the W3C Spatial Data on the Web Working Group via the SDW WG Public List public-sdw-wg@w3.org"@en ; rdfs:seeAlso ; dcterms:created "2017-05-14"^^xsd:date ; + dcterms:modified "2024-06-04"^^xsd:date ; vann:preferredNamespacePrefix "ssn-system" ; vann:preferredNamespaceUri "http://www.w3.org/ns/ssn/systems/" ; - owl:imports ssn-act: , ssn-obs: , ssn-dep: . + owl:imports ssn: . # Quality of Observation From dd2572fc4e05f87c7e93f20dc1cfae5da93ffe8c Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 4 Jun 2024 17:39:30 +1000 Subject: [PATCH 18/74] move OperatingRange to the System --- ssn/rdf/examples/dht22.ttl | 82 +++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 37 deletions(-) diff --git a/ssn/rdf/examples/dht22.ttl b/ssn/rdf/examples/dht22.ttl index 6da9f0a4..a737a4c9 100644 --- a/ssn/rdf/examples/dht22.ttl +++ b/ssn/rdf/examples/dht22.ttl @@ -1,3 +1,6 @@ +# baseURI: http://example.org/data/ + +@prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @@ -8,12 +11,16 @@ @prefix sosa: . @prefix ssn-system: . +@prefix system: . @prefix rdfp: . @base . + a owl:Ontology ; + owl:imports ssn-system: . + a sosa:Procedure ; sosa:hasOutput . @@ -28,79 +35,80 @@ a sosa:System ; rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; rdfs:seeAlso ; - sosa:hasSubSystem , . - - - - a sosa:Sensor , sosa:System ; - rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en ; - ssn-system:hasOperatingRange ; - ssn-system:hasSystemCapability ; - sosa:implements . - - a sosa:Sensor , sosa:System ; - rdfs:comment "The embedded humidity sensor, a specific instance of humidity sensor."@en ; - ssn-system:hasOperatingRange ; - sosa:implements . - + sosa:hasSubSystem , ; + system:hasOperatingRange . - a ssn-system:OperatingRange ; - rdfs:comment "The conditions in which the DHT22 temperature sensor is expected to operate."@en ; - ssn-system:inCondition , . - a ssn-system:OperatingRange ; - rdfs:comment "The conditions in which the DHT22 humidity sensor is expected to operate."@en ; - ssn-system:inCondition , . + a system:OperatingRange ; + rdfs:comment "The conditions in which the DHT22 system is expected to operate."@en ; + system:inCondition , ; + system:hasOperatingProperty . - - - a ssn-system:Condition , schema:PropertyValue ; + a schema:PropertyValue ; rdfs:comment "A temperature range of -40 to 80 Celsius."@en ; schema:minValue -40.0 ; schema:maxValue 80.0 ; schema:unitCode unit:DegreeCelsius . - a ssn-system:Condition , schema:PropertyValue ; - rdfs:comment "A relative humidity range of 5 to 85 %."@en ; - schema:minValue 5.0 ; - schema:maxValue 85.0 ; + a schema:PropertyValue ; + rdfs:comment "A relative humidity range of 0 to 100 %."@en ; + schema:minValue 0.0 ; + schema:maxValue 100.0 ; schema:unitCode unit:PERCENT . + a system:OperatingPowerRange , schema:PropertyValue ; + rdfs:comment "DC power of 3.3 to 6 volts."@en ; + schema:minValue 3.3 ; + schema:maxValue 6.0 ; + schema:unitCode unit:V . + + + + a sosa:Sensor , sosa:System ; + rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en ; + system:hasSystemCapability ; + sosa:implements . + + a sosa:Sensor , sosa:System ; + rdfs:comment "The embedded humidity sensor, a specific instance of humidity sensor."@en ; + sosa:implements . + - a sosa:Property , ssn-system:SystemCapability , schema:PropertyValue ; + a system:SystemCapability ; rdfs:comment "The capabilities of the temperature sensor in normal temperature and humidity conditions." ; - ssn-system:inCondition , ; - ssn-system:hasSystemProperty , , , . + system:inCondition , ; + system:hasSystemProperty , , , . - a sosa:Property , ssn-system:Accuracy , schema:PropertyValue ; + a system:Accuracy , schema:PropertyValue ; rdfs:comment "The accuracy of the temperature sensor is +-0.5 °C in normal temperature and humidity conditions."@en ; schema:minValue -0.5 ; schema:maxValue 0.5 ; schema:unitCode unit:DegreeCelsius . - a sosa:Property , ssn-system:Sensitivity , ssn-system:Resolution , schema:PropertyValue ; + a system:Sensitivity , system:Resolution , schema:PropertyValue ; rdfs:comment "The sensitivity and resolution of the temperature sensor is 0.1 °C in normal temperature and humidity conditions."@en ; schema:value 0.1 ; schema:unitCode unit:DegreeCelsius . - a sosa:Property , ssn-system:Precision , schema:PropertyValue ; + a system:Repeatability , schema:PropertyValue ; rdfs:comment "The precision (= repeatability) of the temperature sensor is +-0.2 °C in normal temperature and humidity conditions."@en ; schema:minValue 0.2 ; schema:maxValue 0.2 ; schema:unitCode unit:DegreeCelsius . - a sosa:Property , ssn-system:Frequency , schema:PropertyValue ; + a system:Frequency , schema:PropertyValue ; rdfs:comment "The smallest possible time between one observation and the next is 2 s on average."@en ; schema:value 2 ; schema:unitCode unit:Second . rdf:type sosa:Observation ; + sosa:observedProperty ; sosa:madeBySensor ; sosa:usedProcedure ; - sosa:resultQuality ; + sosa:resultQuality . # one may classify the quality of observation using some class: @@ -110,7 +118,7 @@ # one may use some other ontology to further qualify this quality. - + ex:evaluatedBy ; ex:confidenceValue "6"^^xsd:integer ; rdfs:comment """Tom gave a confidence value of 6 out of 10 on this observation."""@en . From ac1338e7f79e61786681ee415bca6876b73f1f1f Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 4 Jun 2024 18:29:21 +1000 Subject: [PATCH 19/74] Correct QUDT terms --- ssn/rdf/examples/dht22.ttl | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ssn/rdf/examples/dht22.ttl b/ssn/rdf/examples/dht22.ttl index a737a4c9..3a34e0c1 100644 --- a/ssn/rdf/examples/dht22.ttl +++ b/ssn/rdf/examples/dht22.ttl @@ -24,7 +24,7 @@ a sosa:Procedure ; sosa:hasOutput . - a sosa:Output , rdfp:GraphDescription ; + a rdfp:GraphDescription ; rdfs:comment "The output is a RDF Graph that describes both the temperature and the humidity. It can be validated by a SHACL shapes graph."@en ; rdfp:presentedBy [ a rdfp:GraphDescription ; @@ -49,7 +49,7 @@ rdfs:comment "A temperature range of -40 to 80 Celsius."@en ; schema:minValue -40.0 ; schema:maxValue 80.0 ; - schema:unitCode unit:DegreeCelsius . + schema:unitCode unit:DEG_C . a schema:PropertyValue ; rdfs:comment "A relative humidity range of 0 to 100 %."@en ; @@ -85,18 +85,18 @@ rdfs:comment "The accuracy of the temperature sensor is +-0.5 °C in normal temperature and humidity conditions."@en ; schema:minValue -0.5 ; schema:maxValue 0.5 ; - schema:unitCode unit:DegreeCelsius . + schema:unitCode unit:DEG_C . a system:Sensitivity , system:Resolution , schema:PropertyValue ; rdfs:comment "The sensitivity and resolution of the temperature sensor is 0.1 °C in normal temperature and humidity conditions."@en ; schema:value 0.1 ; - schema:unitCode unit:DegreeCelsius . + schema:unitCode unit:DEG_C . a system:Repeatability , schema:PropertyValue ; rdfs:comment "The precision (= repeatability) of the temperature sensor is +-0.2 °C in normal temperature and humidity conditions."@en ; schema:minValue 0.2 ; schema:maxValue 0.2 ; - schema:unitCode unit:DegreeCelsius . + schema:unitCode unit:DEG_C . a system:Frequency , schema:PropertyValue ; rdfs:comment "The smallest possible time between one observation and the next is 2 s on average."@en ; @@ -105,10 +105,11 @@ rdf:type sosa:Observation ; - sosa:observedProperty ; + sosa:observedProperty ; sosa:madeBySensor ; sosa:usedProcedure ; - sosa:resultQuality . + sosa:resultQuality ; + sosa:hasSimpleResult "21.4"^^unit:DEG_C . # one may classify the quality of observation using some class: From 7bda809ac2a179acd1d398306bc468b1005e56ea Mon Sep 17 00:00:00 2001 From: Rob Atkinson Date: Mon, 30 Sep 2024 19:02:18 +1000 Subject: [PATCH 20/74] fix minor syntax glitch --- ssn/rdf/examples/dht22.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssn/rdf/examples/dht22.ttl b/ssn/rdf/examples/dht22.ttl index 6da9f0a4..ea8b0654 100644 --- a/ssn/rdf/examples/dht22.ttl +++ b/ssn/rdf/examples/dht22.ttl @@ -101,7 +101,7 @@ sosa:madeBySensor ; sosa:usedProcedure ; sosa:resultQuality ; - +. # one may classify the quality of observation using some class: From a9bf43184af5390ad256ee421dcc9005568c78c7 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Sun, 13 Oct 2024 10:40:21 +0200 Subject: [PATCH 21/74] Add namespace prefix declarations --- ssn/rdf/examples/01-observation-collection.ttl | 2 +- ssn/rdf/examples/2017ex4.ttl | 3 +++ ssn/rdf/examples/2017ex5.ttl | 3 +++ ssn/rdf/examples/2017ex6.ttl | 4 ++++ ssn/rdf/examples/2017ex7.ttl | 6 ++++++ ssn/rdf/examples/2017ex9.ttl | 2 +- 6 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ssn/rdf/examples/01-observation-collection.ttl b/ssn/rdf/examples/01-observation-collection.ttl index 2709a607..b60c1001 100644 --- a/ssn/rdf/examples/01-observation-collection.ttl +++ b/ssn/rdf/examples/01-observation-collection.ttl @@ -9,7 +9,7 @@ @prefix sosa: . @prefix xsd: . -ex:examples-collection-obs-2 +eg:OC1 a owl:Ontology ; owl:imports ; dcterms:created "2023-11-04"^^xsd:date ; diff --git a/ssn/rdf/examples/2017ex4.ttl b/ssn/rdf/examples/2017ex4.ttl index 0ae4259c..de5f30e3 100644 --- a/ssn/rdf/examples/2017ex4.ttl +++ b/ssn/rdf/examples/2017ex4.ttl @@ -1,3 +1,6 @@ +@prefix ex: . +@prefix sosa: . + ex:Temperature a sosa:Property . a sosa:FeatureOfInterest; diff --git a/ssn/rdf/examples/2017ex5.ttl b/ssn/rdf/examples/2017ex5.ttl index 6fbcf582..109cfbc3 100644 --- a/ssn/rdf/examples/2017ex5.ttl +++ b/ssn/rdf/examples/2017ex5.ttl @@ -1,3 +1,6 @@ +@prefix ex: . +@prefix sosa: . + ex:Temperature a owl:Class ; rdfs:subClassOf sosa:Property . diff --git a/ssn/rdf/examples/2017ex6.ttl b/ssn/rdf/examples/2017ex6.ttl index 62208434..47aad04a 100644 --- a/ssn/rdf/examples/2017ex6.ttl +++ b/ssn/rdf/examples/2017ex6.ttl @@ -1,3 +1,7 @@ +@prefix ex: . +@prefix ssn-system: . +@prefix sosa: . + ex:TemperatureSensor a sosa:System . a sosa:Observation ; diff --git a/ssn/rdf/examples/2017ex7.ttl b/ssn/rdf/examples/2017ex7.ttl index 968e89d7..ce86cbe4 100644 --- a/ssn/rdf/examples/2017ex7.ttl +++ b/ssn/rdf/examples/2017ex7.ttl @@ -1,3 +1,9 @@ +@prefix ex: . +@prefix owl: . +@prefix rdfs: . +@prefix ssn-system: . +@prefix sosa: . + ex:TemperatureSensor a owl:Class ; rdfs:subClassOf sosa:System . diff --git a/ssn/rdf/examples/2017ex9.ttl b/ssn/rdf/examples/2017ex9.ttl index 536e5c40..25189612 100644 --- a/ssn/rdf/examples/2017ex9.ttl +++ b/ssn/rdf/examples/2017ex9.ttl @@ -8,7 +8,7 @@ @base . a sosa:FeatureOfInterest ; - sosa:hasSample ; + sosa:hasSample ; rdfs:comment "Coal Oil Point Reserve: UC Santa Barbara Natural Reserve System"@en ; rdfs:label "Coal Oil Point Reserve"@en . From 928f79e51547a6d6c5350017807f84834aef66f1 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 14 Oct 2024 11:43:46 +0200 Subject: [PATCH 22/74] ssn:hasProperty --> sosa:hasProperty --- ssn-extensions/rdf/examples/ssn-ext-OA1.ttl | 2 +- ssn-extensions/rdf/examples/ssn-ext-OA2.ttl | 4 ++-- ssn-extensions/rdf/examples/ssn-ext-OA3.ttl | 4 ++-- ssn-extensions/rdf/examples/ssn-ext-SA1.ttl | 2 +- ssn-extensions/rdf/examples/ssn-ext-SA2.ttl | 4 ++-- ssn-extensions/rdf/examples/ssn-ext-SA3.ttl | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ssn-extensions/rdf/examples/ssn-ext-OA1.ttl b/ssn-extensions/rdf/examples/ssn-ext-OA1.ttl index 305073c4..b7c72a24 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-OA1.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-OA1.ttl @@ -16,7 +16,7 @@ . ex:F1 a sosa:FeatureOfInterest ; - ssn:hasProperty ex:OP1 ; + sosa:hasProperty ex:OP1 ; . ex:OA1 a sosa:Observation ; diff --git a/ssn-extensions/rdf/examples/ssn-ext-OA2.ttl b/ssn-extensions/rdf/examples/ssn-ext-OA2.ttl index 579a7c1d..2ce21981 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-OA2.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-OA2.ttl @@ -16,7 +16,7 @@ . ex:F2 a sosa:FeatureOfInterest ; - ssn:hasProperty ex:OP2 ; + sosa:hasProperty ex:OP2 ; . ex:OA2 a sosa:Observation ; @@ -38,5 +38,5 @@ ex:R2 ex:S2 a sosa:Sample ; sosa:isSampleOf ex:F2 ; - ssn:hasProperty ex:OP2 ; + sosa:hasProperty ex:OP2 ; . diff --git a/ssn-extensions/rdf/examples/ssn-ext-OA3.ttl b/ssn-extensions/rdf/examples/ssn-ext-OA3.ttl index a9085037..9f9008f4 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-OA3.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-OA3.ttl @@ -16,7 +16,7 @@ . ex:F3 a sosa:FeatureOfInterest ; - ssn:hasProperty ex:OP3 ; + sosa:hasProperty ex:OP3 ; . ex:OA3 a sosa:Observation ; @@ -40,7 +40,7 @@ ex:S31 sosa:hasOriginalSample ex:S32 ; sosa:isSampleOf ex:S32 ; sosa:hasSampledFeature ex:F3 ; - ssn:hasProperty ex:OP3 ; + sosa:hasProperty ex:OP3 ; . ex:S32 a sosa:Sample ; diff --git a/ssn-extensions/rdf/examples/ssn-ext-SA1.ttl b/ssn-extensions/rdf/examples/ssn-ext-SA1.ttl index b685d625..f96436a6 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-SA1.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-SA1.ttl @@ -16,7 +16,7 @@ . ex:F1 a sosa:FeatureOfInterest ; - ssn:hasProperty ex:OP1 ; + sosa:hasProperty ex:OP1 ; . ex:S1 a sosa:Sample ; diff --git a/ssn-extensions/rdf/examples/ssn-ext-SA2.ttl b/ssn-extensions/rdf/examples/ssn-ext-SA2.ttl index 9685270c..38bb0c23 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-SA2.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-SA2.ttl @@ -16,7 +16,7 @@ . ex:F2 a sosa:FeatureOfInterest ; - ssn:hasProperty ex:OP2 ; + sosa:hasProperty ex:OP2 ; . ex:OP2 a sosa:ObservableProperty ; @@ -33,7 +33,7 @@ ex:S21 ex:S22 a sosa:Sample ; sosa:isSampleOf ex:F2 ; - ssn:hasProperty ex:OP2 ; + sosa:hasProperty ex:OP2 ; . ex:SA2 a sosa:Sampling ; diff --git a/ssn-extensions/rdf/examples/ssn-ext-SA3.ttl b/ssn-extensions/rdf/examples/ssn-ext-SA3.ttl index c79fb007..9916c1ef 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-SA3.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-SA3.ttl @@ -16,7 +16,7 @@ . ex:F3 a sosa:FeatureOfInterest ; - ssn:hasProperty ex:OP3 ; + sosa:hasProperty ex:OP3 ; . ex:OP3 a sosa:ObservableProperty ; @@ -33,7 +33,7 @@ ex:S31 ex:S32 a sosa:Sample ; sosa:isSampleOf ex:S33 ; - ssn:hasProperty ex:OP3 ; + sosa:hasProperty ex:OP3 ; . ex:S33 a sosa:Sample ; From 312bab7de58857577a325f02d09a1ce575abc6a1 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 11 Nov 2024 11:35:31 +1100 Subject: [PATCH 23/74] Working to simplify/update examples - incomplete --- ssn/rdf/examples/house134.ttl | 58 ++++++++-------------- ssn/rdf/examples/ice-core-sosa.ttl | 28 +++++++---- ssn/rdf/examples/iphone_barometer-sosa.ttl | 31 ++++++------ ssn/rdf/examples/seismograph-sosa.ttl | 5 +- ssn/rdf/examples/seismograph.ttl | 17 ++----- ssn/rdf/examples/sosa-core_examples.ttl | 48 +++++++++--------- ssn/rdf/examples/spinning-cups-sosa.ttl | 10 ++-- ssn/rdf/examples/spinning-cups.ttl | 2 +- 8 files changed, 90 insertions(+), 109 deletions(-) diff --git a/ssn/rdf/examples/house134.ttl b/ssn/rdf/examples/house134.ttl index f129024d..83a9f64f 100644 --- a/ssn/rdf/examples/house134.ttl +++ b/ssn/rdf/examples/house134.ttl @@ -9,9 +9,12 @@ @prefix rdfp: . @prefix time: . @prefix schema: . -@prefix qudt: . -@prefix qudt: . +@prefix qudt: . +@prefix qk: . @prefix unit: . +@prefix cdt: . +@prefix dcterms: . +@prefix ex: . @base . @@ -25,12 +28,12 @@ rdfs:comment "The insulation material in the roof of house #134."@en . # the window opening state is a Property. -# SSN allows to explicitly say that is a property of +# SSN allows to explicitly say that is a property of a sosa:FeatureOfInterest ; - sosa:hasProperty . + sosa:hasProperty . - a sosa:Property ; + a sosa:Property ; sosa:isActedOnBy . a sosa:Sample, sosa:Platform ; @@ -42,29 +45,6 @@ a sosa:Sample ; sosa:isSampleOf . - rdfs:subClassOf sosa:Property . - - rdfs:subClassOf . - - a sosa:Property, qudt:QuantityKind ; - rdfs:label "Thermodynamic Temperature"@en . - - a sosa:Property, sosa:Property, qudt:QuantityKind, ; - qudt:generalization ; - sosa:isPropertyOf , . - - a sosa:Property, qudt:QuantityKind ; - qudt:generalization . - - a sosa:Property, qudt:QuantityKind ; - qudt:generalization . - - a sosa:Property, qudt:QuantityKind ; - qudt:generalization . - - a sosa:Property, qudt:QuantityKind ; - qudt:generalization . - a sosa:Platform ; rdfs:label "3rd gen Nest Learning Thermostat D1AA22A8211"@en ; rdfs:comment "Nest Thermostat in bedroom of house #134"@en ; @@ -72,7 +52,7 @@ a sosa:Sensor ; rdfs:label "Nest temperature sensor #1"@en ; - sosa:observes ; + sosa:observes qk:Temperature ; sosa:madeObservation , , . a sosa:System ; @@ -109,7 +89,7 @@ rdfs:comment "Deployment of PCB Board 1 and 2 in the kitchen for the purpose of observing the temperature."@en ; sosa:deployedOnPlatform ; sosa:deployedSystem , ; - sosa:forProperty . + sosa:forProperty qk:Temperature . a sosa:Sensor ; sosa:implements . @@ -125,7 +105,7 @@ a sosa:Observation ; sosa:hasFeatureOfInterest ; - sosa:observedProperty ; + sosa:observedProperty qk:Temperature ; sosa:madeBySensor ; sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp ; sosa:phenomenonTime [ @@ -140,16 +120,18 @@ ] ] . -# The air temperature in the kitchen of house #134 was 23.9°C. +# The air temperature in the kitchen of house #134 was 23.9°C +# an hour later it had cooled one degree. a sosa:Observation ; sosa:resultTime "2017-11-15T14:35:13Z"^^xsd:dateTime ; - sosa:hasSimpleResult "23.9 DEG"^^cdt:temperature . + sosa:hasSimpleResult "23.9"^^unit:DEG_C . a sosa:Observation ; + sosa:resultTime "2017-11-15T15:35:13Z"^^xsd:dateTime ; sosa:hasResult [ a qudt:QuantityValue ; - qudt:hasUnit unit:DegreeCelsius ; + qudt:hasUnit unit:DEG_C ; qudt:numericValue "22.9"^^xsd:double ] . @@ -160,14 +142,14 @@ sosa:hasFeatureOfInterest ; sosa:observedProperty ; sosa:madeBySensor ; - sosa:hasSimpleResult "22.4 kWh"^^cdt:ucum ; + sosa:hasSimpleResult "22.4"^^unit:KiloW-HR ; sosa:hasResult . # The air temperature in the kitchen of house #134 was observed by the DHT22 #4578 embedded temperature sensor. a sosa:Observation ; sosa:hasFeatureOfInterest ; - sosa:observedProperty ; + sosa:observedProperty qk:Temperature ; sosa:madeBySensor . a sosa:Observation ; @@ -214,12 +196,12 @@ rdf:type sosa:Actuator ; sosa:madeActuation ; - sosa:forProperty . + sosa:forProperty . # Actuation #188 acted on the state of window #104 and returned 'true'. a sosa:Actuation ; - sosa:actsOnProperty ; + sosa:actsOnProperty ; sosa:actuationMadeBy ; sosa:hasFeatureOfInterest ; sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp ; diff --git a/ssn/rdf/examples/ice-core-sosa.ttl b/ssn/rdf/examples/ice-core-sosa.ttl index d7e4b9fe..9a376ee0 100644 --- a/ssn/rdf/examples/ice-core-sosa.ttl +++ b/ssn/rdf/examples/ice-core-sosa.ttl @@ -1,21 +1,30 @@ +@prefix dcterms: . +@prefix < . +@prefix owl: . +@prefix qudt: . +@prefix qk: . @prefix rdf: . -@prefix time: . +@prefix rdfs: . +@prefix skos: . @prefix sosa: . +@prefix time: . +@prefix unit: . @prefix xsd: . -@prefix geo: . -@base . +@base . # The CO2 level observed in an ice core is 240 parts per million. # the ice core is a sample of the polar ice sheet of Antarctica. a sosa:FeatureOfInterest ; - sosa:hasSample , , . + sosa:hasSample rdf:type sosa:Sample ; + a sosa:Sample ; sosa:isSampleOf ; sosa:isResultOf ; - sosa:madeBySampler . + sosa:isResultOfMadeBySampler . + + a sosa:Sampler . a sosa:Sampling ; geo:lat -73.35 ; @@ -25,8 +34,9 @@ sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; sosa:hasFeatureOfInterest . - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasSimpleResult 240 . + a sosa:Observation ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:hasSimpleResult "240"^^unit:PPM . \ No newline at end of file diff --git a/ssn/rdf/examples/iphone_barometer-sosa.ttl b/ssn/rdf/examples/iphone_barometer-sosa.ttl index 1697c1e6..e5d2e346 100644 --- a/ssn/rdf/examples/iphone_barometer-sosa.ttl +++ b/ssn/rdf/examples/iphone_barometer-sosa.ttl @@ -1,19 +1,21 @@ +@prefix dcterms: . +@prefix < . +@prefix owl: . +@prefix qudt: . +@prefix qk: . @prefix rdf: . @prefix rdfs: . -@prefix xsd: . +@prefix skos: . @prefix sosa: . @prefix time: . -@prefix qudt: . @prefix unit: . -@prefix cdt: . -@base . - -# The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 observed on June 6 2017 -# using only the SOSA core. - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "Atmosphere of Earth"@en . +@prefix xsd: . +@base . + a owl:Ontology ; + dcterms:description "The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 observed on June 6 2017 using only the SOSA core."@en ; + owl:imports ; + . # An iPhone 7 as the Platform that hosts several sensors, among others the Bosch Sensortec BMP282 atmospheric pressure sensor. @@ -24,24 +26,23 @@ rdf:type sosa:Sensor ; rdfs:label "Bosch Sensortec BMP282"@en ; - sosa:observes . + sosa:observes qk:AtmosphericPressure . # An observation made by the Bosch Sensortec BMP282 atmospheric pressure sensor. rdf:type sosa:Observation ; - sosa:observedProperty ; + sosa:observedProperty qk:AtmosphericPressure ; sosa:hasFeatureOfInterest ; sosa:madeBySensor ; - sosa:hasSimpleResult "1021.45 hPa"^^cdt:ucum ; + sosa:hasSimpleResult "1021.45"^^unit:HectoPA ; sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . # Another observation made a second later by the Bosch Sensortec BMP282 atmospheric pressure sensor -# using the QUDT Ontology for the Units of Measurement and the Time Ontology for the instant. rdf:type sosa:Observation ; - sosa:observedProperty ; + sosa:observedProperty qk:AtmosphericPressure ; sosa:hasFeatureOfInterest ; sosa:madeBySensor ; sosa:hasResult [ diff --git a/ssn/rdf/examples/seismograph-sosa.ttl b/ssn/rdf/examples/seismograph-sosa.ttl index fadfae5c..20351598 100644 --- a/ssn/rdf/examples/seismograph-sosa.ttl +++ b/ssn/rdf/examples/seismograph-sosa.ttl @@ -11,15 +11,12 @@ # a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific # Daylight Time. - rdf:type sosa:FeatureOfInterest ; - rdfs:label "earth"@en . - rdf:type sosa:Sensor ; rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; rdfs:seeAlso ; sosa:observes . - rdf:type sosa:FeatureOfInterest ; + a sosa:Sample ; rdfs:label "location of VCAB-DP1-BP-40"@en ; geo:lat 35.8648067 ; geo:long -120.6195831 ; diff --git a/ssn/rdf/examples/seismograph.ttl b/ssn/rdf/examples/seismograph.ttl index a6dc7c39..54ca5cc5 100644 --- a/ssn/rdf/examples/seismograph.ttl +++ b/ssn/rdf/examples/seismograph.ttl @@ -11,35 +11,28 @@ # a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific # Daylight Time. - rdf:type sosa:FeatureOfInterest ; - rdfs:label "earth"@en . - - rdf:type sosa:Sensor ; + a sosa:Sensor ; rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; rdfs:seeAlso ; sosa:observes . - rdf:type sosa:FeatureOfInterest ; + a sosa:Sample ; rdfs:label "location of VCAB-DP1-BP-40"@en ; geo:lat 35.8648067 ; geo:long -120.6195831 ; geo:alt 12.75 ; sosa:isSampleOf . - rdf:type sosa:Property ; + a sosa:Property ; rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; sosa:isObservedBy . - rdf:type sosa:Observation ; + a sosa:Observation ; sosa:madeBySensor ; sosa:hasFeatureOfInterest ; - sosa:observedProperty ; + sosa:observedProperty ; sosa:hasResult [ rdf:type qudt:QuantityValue ; qudt:numericValue "5e-4"^^xsd:double ; qudt:hasUnit unit:CentiM-PER-SEC ] ; sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . - -# Using SSN one can explicitly state that is the property of . - - sosa:hasProperty . diff --git a/ssn/rdf/examples/sosa-core_examples.ttl b/ssn/rdf/examples/sosa-core_examples.ttl index 8c84ab50..4cc70818 100644 --- a/ssn/rdf/examples/sosa-core_examples.ttl +++ b/ssn/rdf/examples/sosa-core_examples.ttl @@ -1,26 +1,28 @@ -# baseURI: http://www.w3.org/ns/sosa/examples -# imports: http://www.w3.org/ns/sosa - -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @prefix xsd: . +@base . - - rdf:type owl:Ontology ; + rdf:type owl:Ontology ; owl:imports ; . - + + rdf:type sosa:FeatureOfInterest ; + sosa:hasSample <4830EH_UCSB> ; + rdfs:comment "In our example we would like to study the average room temperature of offices at UCSB. Hence, UCSB is the feature of interest. We will only observe the temperature at some offices that will act as samples."^^xsd:string ; + rdfs:label "University of California, Santa Barbara"^^xsd:string ; +. +<4830EH_UCSB> rdf:type sosa:Sample ; rdfs:comment "Instead of measuring temperature at every single office, we select room 4830 Ellison Hall, UCSB as a sample and thereby assume that the temperature observed there is a good proxy for the temperatures in other offices."^^xsd:string ; rdfs:label "4830 Ellison Hall"^^xsd:string ; - sosa:isSampleOf ex:UCSB ; + sosa:isSampleOf ; . ex:RoomTemperature rdf:type sosa:Procedure ; - rdfs:comment "How is this linked to platform & sensor?--> It s not explicitly linked (see also the comment for ex:TempObservation1) One could add a back-pointing relation to the observation here but in reality one would not do so as this would crate millions of triples as part of each procedure, thereby cluttering a procedure repository. This is/can be handled via UNION queries in SPARQL pr simply an inverse property (path) in your query."^^xsd:string ; rdfs:comment "This is a procedure for measuring room temperatures. To ensure a meaningful interpretation of results and interoperability, all room temperature observations need to follow the same procedure. (1) The sensor should be put at least 1m above ground. (2) The sensor should be shielded from direct sun light and circulating air, e.g., via an open window. Other heat sources such as computers should be avoided as well. (3) The sensor should not be moved during observations. (4) Room temperature observations are only comparable if they were taken during comparable outside conditions and with closed windows and doors. (5)...."^^xsd:string ; . ex:SamsungGalaxyS4_23 @@ -29,21 +31,22 @@ ex:SamsungGalaxyS4_23 rdfs:label "Samsung Galaxy S4"^^xsd:string ; sosa:hosts ex:TempSensorS4_23 ; . +ex:TempSensorS4_23 + rdf:type sosa:Sensor ; + rdfs:label "The temperature sensor mounted on the S4 platform with the ID 23."^^xsd:string ; + sosa:hostedBy ex:SamsungGalaxyS4_23 ; + sosa:implements ex:RoomTemperature ; +. ex:TempObservation1 rdf:type sosa:Observation ; rdfs:comment "A temperature observation created using the SamsungGalaxyS4_23."^^xsd:string ; - rdfs:comment "Not yet linked through to the platform or sensor. ---> (kj). Yes, this will be 'linked' via SPARQL queries and possible via future axioms outside of SOSA-core. There is no need to habve explicit relations between anything and everything. Also, keep in mind that this is all under the OWA."^^xsd:string ; rdfs:label "Temperature observation 1."^^xsd:string ; sosa:madeBySensor ex:TempSensorS4_23; - sosa:hasFeatureOfInterest ; + sosa:usedProcedure ex:RoomTemperature ; + sosa:hasFeatureOfInterest <4830EH_UCSB> ; + sosa:hasUltimateFeatureOfInterest ; sosa:hasResult ex:TempObservationResult1 ; sosa:resultTime "2016-08-10T08:30:00"^^xsd:dateTime ; - sosa:usedProcedure ex:RoomTemperature ; -. -ex:TempSensorS4_23 - rdf:type sosa:Sensor ; - rdfs:label "The temperature sensor mounted on the S4 platform with the ID 23."^^xsd:string ; - sosa:hostedBy ex:SamsungGalaxyS4_23 ; . ex:TempObservationResult1 rdf:type sosa:Result ; @@ -56,10 +59,11 @@ ex:TempObservation2 rdfs:comment "A temperature observation created using the SamsungGalaxyS4_23."^^xsd:string ; rdfs:label "Temperature observation 2. We usue this here to demonstrate that all room temperature observations use the same procedure."^^xsd:string ; sosa:madeBySensor ex:TempSensorS4_23; - sosa:hasFeatureOfInterest ex:4830EH_UCSB ; + sosa:usedProcedure ex:RoomTemperature ; + sosa:hasFeatureOfInterest <4830EH_UCSB> ; + sosa:hasUltimateFeatureOfInterest ; sosa:hasResult [ rdf:value 23.8 ] ; sosa:resultTime "2016-08-10T09:33:00"^^xsd:dateTime ; - sosa:usedProcedure ex:RoomTemperature ; . ex:TempObservationResult2 rdf:type sosa:Result ; @@ -67,9 +71,3 @@ ex:TempObservationResult2 rdfs:label "Result of temperature observation 2."^^xsd:string ; sosa:hasValue "24.3"^^xsd:double ; . -ex:UCSB - rdf:type sosa:FeatureOfInterest ; - sosa:hasSample ex:4830EH_UCSB ; - rdfs:comment "In our example we would like to study the average room temperature of offices at UCSB. Hence, UCSB is the feature of interest. We will only observe the temperature at some offices that will act as samples."^^xsd:string ; - rdfs:label "University of California, Santa Barbara"^^xsd:string ; -. diff --git a/ssn/rdf/examples/spinning-cups-sosa.ttl b/ssn/rdf/examples/spinning-cups-sosa.ttl index f7179e1f..d29d8a02 100644 --- a/ssn/rdf/examples/spinning-cups-sosa.ttl +++ b/ssn/rdf/examples/spinning-cups-sosa.ttl @@ -9,11 +9,6 @@ rdf:type sosa:Sensor ; sosa:observes . -# wind sensor #14 made observations #147 and #148. - - rdf:type sosa:Sensor ; - sosa:madeObservation , . - # the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. rdf:type sosa:Observation ; @@ -28,3 +23,8 @@ sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; sosa:hasSimpleResult "43 km/h"^^ . +# wind sensor #14 made observations #147 and #148. + + + sosa:madeObservation , . + diff --git a/ssn/rdf/examples/spinning-cups.ttl b/ssn/rdf/examples/spinning-cups.ttl index 74824f92..68e80826 100644 --- a/ssn/rdf/examples/spinning-cups.ttl +++ b/ssn/rdf/examples/spinning-cups.ttl @@ -1,7 +1,7 @@ @prefix rdf: . @prefix sosa: . @prefix xsd: . -@base . +@base . # movements of spinning cups on wind sensor #14 serves as proxies for the wind speed # at the location of the wind sensor. From 6b6c8a7e886535b6c25d5b92654fcf4239de1cbf Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 13 Nov 2024 21:49:27 +1100 Subject: [PATCH 24/74] Continuing cleanup --- ssn/rdf/examples/2017ex1.ttl | 6 +-- ssn/rdf/examples/2017ex10.ttl | 1 + ssn/rdf/examples/2017ex6.ttl | 2 +- ssn/rdf/examples/2017ex7.ttl | 6 +-- ssn/rdf/examples/2017ex8.ttl | 18 --------- ssn/rdf/examples/2017ex9.ttl | 8 ++-- ssn/rdf/examples/IDEAS.ttl | 2 +- ssn/rdf/examples/apartment-134-sosa.ttl | 4 +- .../examples/examples-shared-resources.ttl | 39 +++++++++++++++++++ 9 files changed, 54 insertions(+), 32 deletions(-) create mode 100644 ssn/rdf/examples/examples-shared-resources.ttl diff --git a/ssn/rdf/examples/2017ex1.ttl b/ssn/rdf/examples/2017ex1.ttl index e4dec16d..77c1e811 100644 --- a/ssn/rdf/examples/2017ex1.ttl +++ b/ssn/rdf/examples/2017ex1.ttl @@ -4,8 +4,8 @@ @prefix unit: . a sosa:Observation ; - rdfs:comment "Observation of the difference between the outside temperature and the inside temperature."@en ; - sosa:hasFeatureOfInterest ; + rdfs:comment "Observation of the temperature outside apartment #134."@en ; + sosa:hasFeatureOfInterest ; sosa:hasResult [ a qudt:QuantityValue ; qudt:hasUnit unit:DEG_C ; @@ -13,7 +13,7 @@ a sosa:Observation ; rdfs:comment "Observation of the temperature inside apartment #134."@en ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ; sosa:hasResult [ a qudt:QuantityValue ; qudt:hasUnit unit:DEG_C ; diff --git a/ssn/rdf/examples/2017ex10.ttl b/ssn/rdf/examples/2017ex10.ttl index 87067beb..d4add3c2 100644 --- a/ssn/rdf/examples/2017ex10.ttl +++ b/ssn/rdf/examples/2017ex10.ttl @@ -51,6 +51,7 @@ # observed by Sensor #926 rdf:type sosa:Property ; + sosa:isPropertyOf ; sosa:isObservedBy . diff --git a/ssn/rdf/examples/2017ex6.ttl b/ssn/rdf/examples/2017ex6.ttl index 47aad04a..81493a3f 100644 --- a/ssn/rdf/examples/2017ex6.ttl +++ b/ssn/rdf/examples/2017ex6.ttl @@ -2,7 +2,7 @@ @prefix ssn-system: . @prefix sosa: . -ex:TemperatureSensor a sosa:System . +ex:TemperatureSensor a sosa:Sensor . a sosa:Observation ; sosa:madeBySensor ex:TemperatureSensor . diff --git a/ssn/rdf/examples/2017ex7.ttl b/ssn/rdf/examples/2017ex7.ttl index ce86cbe4..9127b91a 100644 --- a/ssn/rdf/examples/2017ex7.ttl +++ b/ssn/rdf/examples/2017ex7.ttl @@ -5,14 +5,14 @@ @prefix sosa: . ex:TemperatureSensor a owl:Class ; - rdfs:subClassOf sosa:System . + rdfs:subClassOf sosa:Sensor . - a ex:TemperatureSensor , sosa:System . + a ex:TemperatureSensor , sosa:Sensor . a sosa:Observation ; sosa:madeBySensor . - a ex:TemperatureSensor , sosa:System . + a ex:TemperatureSensor , sosa:Sensor . a sosa:Observation ; sosa:madeBySensor . diff --git a/ssn/rdf/examples/2017ex8.ttl b/ssn/rdf/examples/2017ex8.ttl index 6e17a0f3..8ed78e9c 100644 --- a/ssn/rdf/examples/2017ex8.ttl +++ b/ssn/rdf/examples/2017ex8.ttl @@ -11,24 +11,6 @@ # The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 # observed on June 6 2017 using only the SOSA core for modelling. -# the atmosphere is sampled at a specific location -# location coordinates are given using GeoSPARQL - - a sosa:FeatureOfInterest ; - rdfs:label "Atmosphere of Earth"@en . - - a sosa:Sample ; - sosa:isSampleOf ; - geo:hasGeometry [ - a geo:Point ; - geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; - ] ; -. - - a sosa:Property ; - rdfs:label "Atmospheric pressure"@en . - - # An iPhone 7 as the Platform that hosts several sensors, # among others the Bosch Sensortec BMP282 atmospheric pressure sensor. diff --git a/ssn/rdf/examples/2017ex9.ttl b/ssn/rdf/examples/2017ex9.ttl index 25189612..749862ac 100644 --- a/ssn/rdf/examples/2017ex9.ttl +++ b/ssn/rdf/examples/2017ex9.ttl @@ -3,11 +3,11 @@ @prefix rdfs: . @prefix sosa: . @prefix xsd: . -@prefix cdt: . +@prefix unit: . -@base . +@base . - a sosa:FeatureOfInterest ; + a sosa:FeatureOfInterest ; sosa:hasSample ; rdfs:comment "Coal Oil Point Reserve: UC Santa Barbara Natural Reserve System"@en ; rdfs:label "Coal Oil Point Reserve"@en . @@ -45,7 +45,7 @@ rdfs:label "Relative humidity, AVG, 15min, COPR, 06.02.2017, 3:00 PM"@en ; sosa:madeBySensor ; sosa:hasFeatureOfInterest ; - sosa:hasSimpleResult "92.5 %"^^cdt:ucum ; + sosa:hasSimpleResult "92.5"^^unit:PERCENT ; sosa:resultTime "2017-06-02-T03:00:00-7:00"^^xsd:dateTime ; sosa:observedProperty ; sosa:usedProcedure . \ No newline at end of file diff --git a/ssn/rdf/examples/IDEAS.ttl b/ssn/rdf/examples/IDEAS.ttl index 64d56be3..ed3c5a41 100644 --- a/ssn/rdf/examples/IDEAS.ttl +++ b/ssn/rdf/examples/IDEAS.ttl @@ -5,7 +5,7 @@ @prefix xsd: . @prefix cdt: . -@base . +@base . a owl:Ontology ; owl:imports . diff --git a/ssn/rdf/examples/apartment-134-sosa.ttl b/ssn/rdf/examples/apartment-134-sosa.ttl index ff7a917a..59f3a6e5 100644 --- a/ssn/rdf/examples/apartment-134-sosa.ttl +++ b/ssn/rdf/examples/apartment-134-sosa.ttl @@ -31,7 +31,7 @@ # it made some observations. rdf:type sosa:Sensor ; - sosa:observes ; + sosa:observes ; sosa:madeObservation , , . # mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know @@ -50,7 +50,7 @@ # This is equivalent to saying that the electric consumption of appartment #134 is # observed by Sensor #926 - rdf:type sosa:Property ; + rdf:type sosa:Property ; sosa:isObservedBy . diff --git a/ssn/rdf/examples/examples-shared-resources.ttl b/ssn/rdf/examples/examples-shared-resources.ttl new file mode 100644 index 00000000..c4d2f5fa --- /dev/null +++ b/ssn/rdf/examples/examples-shared-resources.ttl @@ -0,0 +1,39 @@ +@prefix dcterms: . +@prefix owl: . +@prefix qudt: . +@prefix qk: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . +@base . + + a owl:Ontology ; + dcterms:title "Shared Resources for the SOSA/SSN Examples"@en ; + dcterms:description "This ontology contains shared resources for the SOSA/SSN examples."@en ; + dcterms:creator ; + dcterms:created "2024-11-10"^^xsd:date ; + dcterms:license ; + owl:imports , . + + a sosa:FeatureOfInterest ; + owl:sameAs ; + rdfs:label "Earth"@en . + + a sosa:FeatureOfInterest ; + owl:sameAs ; + rdfs:label "Atmosphere of Earth"@en . + + a sosa:Sample ; + sosa:isSampleOf a sosa:FeatureOfInterest ; +. \ No newline at end of file From 69253db9c3597ce6333435c257d5bd0f097de183 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Sat, 16 Nov 2024 17:52:39 +1100 Subject: [PATCH 25/74] Move 2017 examples to subdirectory --- .gitignore | 1 + ssn/rdf/examples/{ => 2017}/2017ex1.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex10.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex11.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex12.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex13.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex14.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex15.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex16.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex17.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex18.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex19.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex2.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex20.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex21.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex22.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex23.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex24.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex25.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex3.1.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex3.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex4.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex5.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex6.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex7.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex8.ttl | 0 ssn/rdf/examples/{ => 2017}/2017ex9.ttl | 0 27 files changed, 1 insertion(+) create mode 100644 .gitignore rename ssn/rdf/examples/{ => 2017}/2017ex1.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex10.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex11.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex12.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex13.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex14.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex15.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex16.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex17.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex18.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex19.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex2.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex20.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex21.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex22.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex23.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex24.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex25.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex3.1.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex3.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex4.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex5.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex6.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex7.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex8.ttl (100%) rename ssn/rdf/examples/{ => 2017}/2017ex9.ttl (100%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..a1363379 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pdf diff --git a/ssn/rdf/examples/2017ex1.ttl b/ssn/rdf/examples/2017/2017ex1.ttl similarity index 100% rename from ssn/rdf/examples/2017ex1.ttl rename to ssn/rdf/examples/2017/2017ex1.ttl diff --git a/ssn/rdf/examples/2017ex10.ttl b/ssn/rdf/examples/2017/2017ex10.ttl similarity index 100% rename from ssn/rdf/examples/2017ex10.ttl rename to ssn/rdf/examples/2017/2017ex10.ttl diff --git a/ssn/rdf/examples/2017ex11.ttl b/ssn/rdf/examples/2017/2017ex11.ttl similarity index 100% rename from ssn/rdf/examples/2017ex11.ttl rename to ssn/rdf/examples/2017/2017ex11.ttl diff --git a/ssn/rdf/examples/2017ex12.ttl b/ssn/rdf/examples/2017/2017ex12.ttl similarity index 100% rename from ssn/rdf/examples/2017ex12.ttl rename to ssn/rdf/examples/2017/2017ex12.ttl diff --git a/ssn/rdf/examples/2017ex13.ttl b/ssn/rdf/examples/2017/2017ex13.ttl similarity index 100% rename from ssn/rdf/examples/2017ex13.ttl rename to ssn/rdf/examples/2017/2017ex13.ttl diff --git a/ssn/rdf/examples/2017ex14.ttl b/ssn/rdf/examples/2017/2017ex14.ttl similarity index 100% rename from ssn/rdf/examples/2017ex14.ttl rename to ssn/rdf/examples/2017/2017ex14.ttl diff --git a/ssn/rdf/examples/2017ex15.ttl b/ssn/rdf/examples/2017/2017ex15.ttl similarity index 100% rename from ssn/rdf/examples/2017ex15.ttl rename to ssn/rdf/examples/2017/2017ex15.ttl diff --git a/ssn/rdf/examples/2017ex16.ttl b/ssn/rdf/examples/2017/2017ex16.ttl similarity index 100% rename from ssn/rdf/examples/2017ex16.ttl rename to ssn/rdf/examples/2017/2017ex16.ttl diff --git a/ssn/rdf/examples/2017ex17.ttl b/ssn/rdf/examples/2017/2017ex17.ttl similarity index 100% rename from ssn/rdf/examples/2017ex17.ttl rename to ssn/rdf/examples/2017/2017ex17.ttl diff --git a/ssn/rdf/examples/2017ex18.ttl b/ssn/rdf/examples/2017/2017ex18.ttl similarity index 100% rename from ssn/rdf/examples/2017ex18.ttl rename to ssn/rdf/examples/2017/2017ex18.ttl diff --git a/ssn/rdf/examples/2017ex19.ttl b/ssn/rdf/examples/2017/2017ex19.ttl similarity index 100% rename from ssn/rdf/examples/2017ex19.ttl rename to ssn/rdf/examples/2017/2017ex19.ttl diff --git a/ssn/rdf/examples/2017ex2.ttl b/ssn/rdf/examples/2017/2017ex2.ttl similarity index 100% rename from ssn/rdf/examples/2017ex2.ttl rename to ssn/rdf/examples/2017/2017ex2.ttl diff --git a/ssn/rdf/examples/2017ex20.ttl b/ssn/rdf/examples/2017/2017ex20.ttl similarity index 100% rename from ssn/rdf/examples/2017ex20.ttl rename to ssn/rdf/examples/2017/2017ex20.ttl diff --git a/ssn/rdf/examples/2017ex21.ttl b/ssn/rdf/examples/2017/2017ex21.ttl similarity index 100% rename from ssn/rdf/examples/2017ex21.ttl rename to ssn/rdf/examples/2017/2017ex21.ttl diff --git a/ssn/rdf/examples/2017ex22.ttl b/ssn/rdf/examples/2017/2017ex22.ttl similarity index 100% rename from ssn/rdf/examples/2017ex22.ttl rename to ssn/rdf/examples/2017/2017ex22.ttl diff --git a/ssn/rdf/examples/2017ex23.ttl b/ssn/rdf/examples/2017/2017ex23.ttl similarity index 100% rename from ssn/rdf/examples/2017ex23.ttl rename to ssn/rdf/examples/2017/2017ex23.ttl diff --git a/ssn/rdf/examples/2017ex24.ttl b/ssn/rdf/examples/2017/2017ex24.ttl similarity index 100% rename from ssn/rdf/examples/2017ex24.ttl rename to ssn/rdf/examples/2017/2017ex24.ttl diff --git a/ssn/rdf/examples/2017ex25.ttl b/ssn/rdf/examples/2017/2017ex25.ttl similarity index 100% rename from ssn/rdf/examples/2017ex25.ttl rename to ssn/rdf/examples/2017/2017ex25.ttl diff --git a/ssn/rdf/examples/2017ex3.1.ttl b/ssn/rdf/examples/2017/2017ex3.1.ttl similarity index 100% rename from ssn/rdf/examples/2017ex3.1.ttl rename to ssn/rdf/examples/2017/2017ex3.1.ttl diff --git a/ssn/rdf/examples/2017ex3.ttl b/ssn/rdf/examples/2017/2017ex3.ttl similarity index 100% rename from ssn/rdf/examples/2017ex3.ttl rename to ssn/rdf/examples/2017/2017ex3.ttl diff --git a/ssn/rdf/examples/2017ex4.ttl b/ssn/rdf/examples/2017/2017ex4.ttl similarity index 100% rename from ssn/rdf/examples/2017ex4.ttl rename to ssn/rdf/examples/2017/2017ex4.ttl diff --git a/ssn/rdf/examples/2017ex5.ttl b/ssn/rdf/examples/2017/2017ex5.ttl similarity index 100% rename from ssn/rdf/examples/2017ex5.ttl rename to ssn/rdf/examples/2017/2017ex5.ttl diff --git a/ssn/rdf/examples/2017ex6.ttl b/ssn/rdf/examples/2017/2017ex6.ttl similarity index 100% rename from ssn/rdf/examples/2017ex6.ttl rename to ssn/rdf/examples/2017/2017ex6.ttl diff --git a/ssn/rdf/examples/2017ex7.ttl b/ssn/rdf/examples/2017/2017ex7.ttl similarity index 100% rename from ssn/rdf/examples/2017ex7.ttl rename to ssn/rdf/examples/2017/2017ex7.ttl diff --git a/ssn/rdf/examples/2017ex8.ttl b/ssn/rdf/examples/2017/2017ex8.ttl similarity index 100% rename from ssn/rdf/examples/2017ex8.ttl rename to ssn/rdf/examples/2017/2017ex8.ttl diff --git a/ssn/rdf/examples/2017ex9.ttl b/ssn/rdf/examples/2017/2017ex9.ttl similarity index 100% rename from ssn/rdf/examples/2017ex9.ttl rename to ssn/rdf/examples/2017/2017ex9.ttl From d8bd1186c08d0d8d50fe4d6f3b27cf5336db7cd5 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Thu, 21 Nov 2024 19:14:01 +1100 Subject: [PATCH 26/74] Fix ex: to https://example.org/data/ everywhere Add smiley.ttl --- .../examples/02-homo-vs-summar-collection.ttl | 2 +- ssn/rdf/examples/2017/2017ex21.ttl | 2 +- ssn/rdf/examples/2017/2017ex9.ttl | 2 +- ssn/rdf/examples/IBS-TH2-PLUS-brief.ttl | 2 +- ssn/rdf/examples/IBS-TH2-PLUS.ttl | 2 +- ssn/rdf/examples/IDEAS.ttl | 2 +- ssn/rdf/examples/SC1.ttl | 2 +- ssn/rdf/examples/Thermometer.ttl | 2 +- ssn/rdf/examples/dht22.ttl | 2 +- .../examples/examples-shared-resources.ttl | 2 +- ssn/rdf/examples/house134.ttl | 2 +- ssn/rdf/examples/ice-core-sosa.ttl | 4 +- ssn/rdf/examples/iphone_barometer-sosa.ttl | 4 +- ssn/rdf/examples/smiley.ttl | 67 +++++++++++++++++++ ssn/rdf/examples/sosa-core_examples.ttl | 4 +- ssn/rdf/examples/spinning-cups.ttl | 2 +- ssn/rdf/examples/vistavital-a-sdo.ttl | 2 +- ssn/rdf/tests/ObservationCollection/OC1.ttl | 2 +- ssn/rdf/tests/Procedure/2017ex21.ttl | 2 +- ssn/rdf/tests/SampleCollection/SC1.ttl | 2 +- ssn/rdf/tests/System/2017ex21.ttl | 2 +- 21 files changed, 90 insertions(+), 23 deletions(-) create mode 100644 ssn/rdf/examples/smiley.ttl diff --git a/ssn/rdf/examples/02-homo-vs-summar-collection.ttl b/ssn/rdf/examples/02-homo-vs-summar-collection.ttl index 7786729a..5d2b243b 100644 --- a/ssn/rdf/examples/02-homo-vs-summar-collection.ttl +++ b/ssn/rdf/examples/02-homo-vs-summar-collection.ttl @@ -9,7 +9,7 @@ @prefix time: . @prefix xsd: . -@prefix ex: . +@prefix ex: . ex:OC1 a sosa:ObservationCollection ; diff --git a/ssn/rdf/examples/2017/2017ex21.ttl b/ssn/rdf/examples/2017/2017ex21.ttl index 082ee50b..761a1084 100644 --- a/ssn/rdf/examples/2017/2017ex21.ttl +++ b/ssn/rdf/examples/2017/2017ex21.ttl @@ -5,7 +5,7 @@ @prefix unit: . @prefix schema: . -@prefix ex: . +@prefix ex: . @prefix sosa: . @prefix ssn-system: . diff --git a/ssn/rdf/examples/2017/2017ex9.ttl b/ssn/rdf/examples/2017/2017ex9.ttl index 749862ac..1f2681bd 100644 --- a/ssn/rdf/examples/2017/2017ex9.ttl +++ b/ssn/rdf/examples/2017/2017ex9.ttl @@ -5,7 +5,7 @@ @prefix xsd: . @prefix unit: . -@base . +@base . a sosa:FeatureOfInterest ; sosa:hasSample ; diff --git a/ssn/rdf/examples/IBS-TH2-PLUS-brief.ttl b/ssn/rdf/examples/IBS-TH2-PLUS-brief.ttl index 6949cac9..7b6efe8c 100644 --- a/ssn/rdf/examples/IBS-TH2-PLUS-brief.ttl +++ b/ssn/rdf/examples/IBS-TH2-PLUS-brief.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix prov: . @prefix qk: . diff --git a/ssn/rdf/examples/IBS-TH2-PLUS.ttl b/ssn/rdf/examples/IBS-TH2-PLUS.ttl index e0284a57..33c5a582 100644 --- a/ssn/rdf/examples/IBS-TH2-PLUS.ttl +++ b/ssn/rdf/examples/IBS-TH2-PLUS.ttl @@ -1,5 +1,5 @@ @prefix dcterms: . -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix prov: . @prefix qk: . diff --git a/ssn/rdf/examples/IDEAS.ttl b/ssn/rdf/examples/IDEAS.ttl index ed3c5a41..64d56be3 100644 --- a/ssn/rdf/examples/IDEAS.ttl +++ b/ssn/rdf/examples/IDEAS.ttl @@ -5,7 +5,7 @@ @prefix xsd: . @prefix cdt: . -@base . +@base . a owl:Ontology ; owl:imports . diff --git a/ssn/rdf/examples/SC1.ttl b/ssn/rdf/examples/SC1.ttl index b624fee6..f8193db2 100644 --- a/ssn/rdf/examples/SC1.ttl +++ b/ssn/rdf/examples/SC1.ttl @@ -10,7 +10,7 @@ @prefix time: . @prefix xsd: . -@prefix ex: . +@prefix ex: . ex:SC1 a sosa:SampleCollection ; diff --git a/ssn/rdf/examples/Thermometer.ttl b/ssn/rdf/examples/Thermometer.ttl index abb70e98..a818ba3d 100644 --- a/ssn/rdf/examples/Thermometer.ttl +++ b/ssn/rdf/examples/Thermometer.ttl @@ -1,7 +1,7 @@ # baseURI: file:///C:/dev/W3C/sdw-sosa-ssn/ssn/rdf/examples/Thermometer.ttl @prefix dcterms: . -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix prov: . @prefix qk: . diff --git a/ssn/rdf/examples/dht22.ttl b/ssn/rdf/examples/dht22.ttl index e9384c2a..c8512573 100644 --- a/ssn/rdf/examples/dht22.ttl +++ b/ssn/rdf/examples/dht22.ttl @@ -7,7 +7,7 @@ @prefix qudt: . @prefix unit: . @prefix schema: . -@prefix ex: . +@prefix ex: . @prefix sosa: . @prefix ssn-system: . diff --git a/ssn/rdf/examples/examples-shared-resources.ttl b/ssn/rdf/examples/examples-shared-resources.ttl index c4d2f5fa..f93e6499 100644 --- a/ssn/rdf/examples/examples-shared-resources.ttl +++ b/ssn/rdf/examples/examples-shared-resources.ttl @@ -9,7 +9,7 @@ @prefix time: . @prefix unit: . @prefix xsd: . -@base . +@base . a owl:Ontology ; dcterms:title "Shared Resources for the SOSA/SSN Examples"@en ; diff --git a/ssn/rdf/examples/house134.ttl b/ssn/rdf/examples/house134.ttl index e5bdb2bc..5bacf215 100644 --- a/ssn/rdf/examples/house134.ttl +++ b/ssn/rdf/examples/house134.ttl @@ -15,7 +15,7 @@ @prefix cdt: . @prefix dcterms: . @prefix ex: . -@base . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/examples/ice-core-sosa.ttl b/ssn/rdf/examples/ice-core-sosa.ttl index 9a376ee0..2c23e6bf 100644 --- a/ssn/rdf/examples/ice-core-sosa.ttl +++ b/ssn/rdf/examples/ice-core-sosa.ttl @@ -1,5 +1,5 @@ @prefix dcterms: . -@prefix < . +@prefix < . @prefix owl: . @prefix qudt: . @prefix qk: . @@ -10,7 +10,7 @@ @prefix time: . @prefix unit: . @prefix xsd: . -@base . +@base . # The CO2 level observed in an ice core is 240 parts per million. diff --git a/ssn/rdf/examples/iphone_barometer-sosa.ttl b/ssn/rdf/examples/iphone_barometer-sosa.ttl index e5d2e346..3dd8cd05 100644 --- a/ssn/rdf/examples/iphone_barometer-sosa.ttl +++ b/ssn/rdf/examples/iphone_barometer-sosa.ttl @@ -1,5 +1,5 @@ @prefix dcterms: . -@prefix < . +@prefix < . @prefix owl: . @prefix qudt: . @prefix qk: . @@ -10,7 +10,7 @@ @prefix time: . @prefix unit: . @prefix xsd: . -@base . +@base . a owl:Ontology ; dcterms:description "The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 observed on June 6 2017 using only the SOSA core."@en ; diff --git a/ssn/rdf/examples/smiley.ttl b/ssn/rdf/examples/smiley.ttl new file mode 100644 index 00000000..3138e7c4 --- /dev/null +++ b/ssn/rdf/examples/smiley.ttl @@ -0,0 +1,67 @@ +@prefix rdfs: . +@prefix rdf: . +@prefix time: . +@prefix sosa: . +@prefix xsd: . +@base . + +# Determing the color of a smiley face sticker, including sampling from a population of smiley stickers + +# First setting up all the basics: FeatureOfInterest, Property, Procedure, Sensor, Platform + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "Smiley face sticker"@en ; + sosa:hasProperty . + + rdf:type sosa:Property; + rdfs:label "The color of a sticker"@en . + + rdf:type sosa:Procedure ; + rdfs:label "Procedure for determining the color of a sticker"@en ; + sosa:forProperty . + + rdf:type sosa:Sensor; + rdfs:label "Sensor for determining the color of a sticker"@en ; + sosa:observes . + + rdf:type sosa:Platform; + rdfs:label "Assay office for determining the color of a sticker"@en ; + sosa:hosts . + +# Adding an Observation + + rdf:type sosa:Observation ; + sosa:hasFeatureOfInterest ; + sosa:observedProperty ; + sosa:madeBySensor ; + sosa:usedProcedure ; + + sosa:hasSimpleResult "Yellow"^^xsd:string ; + sosa:phenomenonTime [ + rdf:type time:Instant ; + time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; + sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . + +# Sampling of the SmileySticker from a wider population of smiley face stickers + +# First setting up all the basics: FeatureOfInterest, Sampler, Procedure + + rdf:type sosa:FeatureOfInterest ; + rdfs:label "A population of smiley face stickers"@en ; + sosa:hasProperty . + + rdf:type sosa:Procedure ; + rdfs:label "Procedure for sampling smiley stickers"@en . + + rdf:type sosa:Sampler ; + rdfs:label "Smiley sticker sampler"@en ; + sosa:implements . + +# Adding a Sampling act + + rdf:type sosa:Sampling ; + rdfs:label "Sampling of a representative Smiley Sticker from a Collection of Smiley Stickers"@en ; + sosa:hasFeatureOfInterest ; + sosa:usedProcedure ; + sosa:madeBySampler ; + sosa:hasResult . diff --git a/ssn/rdf/examples/sosa-core_examples.ttl b/ssn/rdf/examples/sosa-core_examples.ttl index 4cc70818..cb8a655b 100644 --- a/ssn/rdf/examples/sosa-core_examples.ttl +++ b/ssn/rdf/examples/sosa-core_examples.ttl @@ -1,10 +1,10 @@ -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @prefix xsd: . -@base . +@base . rdf:type owl:Ontology ; owl:imports ; diff --git a/ssn/rdf/examples/spinning-cups.ttl b/ssn/rdf/examples/spinning-cups.ttl index 68e80826..74824f92 100644 --- a/ssn/rdf/examples/spinning-cups.ttl +++ b/ssn/rdf/examples/spinning-cups.ttl @@ -1,7 +1,7 @@ @prefix rdf: . @prefix sosa: . @prefix xsd: . -@base . +@base . # movements of spinning cups on wind sensor #14 serves as proxies for the wind speed # at the location of the wind sensor. diff --git a/ssn/rdf/examples/vistavital-a-sdo.ttl b/ssn/rdf/examples/vistavital-a-sdo.ttl index 27641ced..0672e057 100644 --- a/ssn/rdf/examples/vistavital-a-sdo.ttl +++ b/ssn/rdf/examples/vistavital-a-sdo.ttl @@ -6,7 +6,7 @@ # prefix: vistavital-a @prefix dcterms: . -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix prov: . @prefix rdf: . diff --git a/ssn/rdf/tests/ObservationCollection/OC1.ttl b/ssn/rdf/tests/ObservationCollection/OC1.ttl index 6b55561b..6d1ff443 100644 --- a/ssn/rdf/tests/ObservationCollection/OC1.ttl +++ b/ssn/rdf/tests/ObservationCollection/OC1.ttl @@ -9,7 +9,7 @@ @prefix time: . @prefix xsd: . -@prefix ex: . +@prefix ex: . ex:OC1 a sosa:ObservationCollection ; diff --git a/ssn/rdf/tests/Procedure/2017ex21.ttl b/ssn/rdf/tests/Procedure/2017ex21.ttl index da23d0ad..46db6046 100644 --- a/ssn/rdf/tests/Procedure/2017ex21.ttl +++ b/ssn/rdf/tests/Procedure/2017ex21.ttl @@ -5,7 +5,7 @@ @prefix unit: . @prefix schema: . -@prefix ex: . +@prefix ex: . @prefix sosa: . @prefix ssn: . @prefix ssn-system: . diff --git a/ssn/rdf/tests/SampleCollection/SC1.ttl b/ssn/rdf/tests/SampleCollection/SC1.ttl index b624fee6..f8193db2 100644 --- a/ssn/rdf/tests/SampleCollection/SC1.ttl +++ b/ssn/rdf/tests/SampleCollection/SC1.ttl @@ -10,7 +10,7 @@ @prefix time: . @prefix xsd: . -@prefix ex: . +@prefix ex: . ex:SC1 a sosa:SampleCollection ; diff --git a/ssn/rdf/tests/System/2017ex21.ttl b/ssn/rdf/tests/System/2017ex21.ttl index da23d0ad..46db6046 100644 --- a/ssn/rdf/tests/System/2017ex21.ttl +++ b/ssn/rdf/tests/System/2017ex21.ttl @@ -5,7 +5,7 @@ @prefix unit: . @prefix schema: . -@prefix ex: . +@prefix ex: . @prefix sosa: . @prefix ssn: . @prefix ssn-system: . From ec291e5b4870829a38b1174d7eb9037b40ba59aa Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Fri, 13 Dec 2024 14:16:09 +1100 Subject: [PATCH 27/74] Updating Patterns and links from specification TBC --- ssn/chapters/Actuation.html | 12 +- ssn/chapters/Common.html | 114 ++++-- ...ance.html => ModelPropertyDefinition.html} | 2 +- ssn/chapters/ModelQuantity.html | 2 +- .../{ModelForecast.html => ModelTimes.html} | 8 +- ssn/chapters/Observation.html | 374 +++++++++--------- ssn/chapters/Sampling.html | 10 +- ssn/images/FeatureOfInterest.png | Bin 22260 -> 21391 bytes ssn/images/SSN-core-packages.png | Bin 119274 -> 116925 bytes ssn/index.html | 4 +- 10 files changed, 280 insertions(+), 246 deletions(-) rename ssn/chapters/{ModelPropertyInstance.html => ModelPropertyDefinition.html} (98%) rename ssn/chapters/{ModelForecast.html => ModelTimes.html} (92%) diff --git a/ssn/chapters/Actuation.html b/ssn/chapters/Actuation.html index a0298606..0c1a5ac3 100644 --- a/ssn/chapters/Actuation.html +++ b/ssn/chapters/Actuation.html @@ -344,11 +344,15 @@
    sosa:ActuationCollection
    sosa:Actuator

    IRI: http://www.w3.org/ns/sosa/Actuator

    an OWL Class

    +

    + Actuator - + A device or system that is used by, or implements, an (Actuation) Procedure that changes the value of a Property
    +

    +

    A Actuator may have a geographic location. See Location and Geometry for + patterns to describe this.

    - Actuator - - A device or system that is used by, or implements, an (Actuation) Procedure that changes the value of a Property
    diff --git a/ssn/chapters/Common.html b/ssn/chapters/Common.html index 65e98447..322c48ba 100644 --- a/ssn/chapters/Common.html +++ b/ssn/chapters/Common.html @@ -142,10 +142,18 @@
    sosa:Property
    sosa:Property should be used instead.

    - Property - - An identifiable quality of a FeatureOfInterest that can be observed or - acted upon. A property can apply to different features of interest. +

    + Property - + An identifiable quality of a FeatureOfInterest that can be observed or + acted upon. A property can apply to different features of interest. +

    + +

    The SSN Ontology does not provide a model for the description of observable and actuatable + properties. + See Property definitions for links to some external resources that + address this.

    +
    @@ -1478,30 +1486,38 @@
    sosa:hasResult

    IRI: http://www.w3.org/ns/sosa/hasResult

    an OWL Object Property

    - has result - - Relation linking an Execution - (i.e. Actuation - or Observation or act of Sampling) to its - result or Sample. -

    - In the case of an Actuation, the result is the expected value - of the Property following the execution of - the Procedure by the Actuator. -

    - In the case of an Observation, the result is the value of - the Property produced by the execution of - the Procedure by the Sensor. -

    - In the case of a Sampling, the result is the Sample produced by the execution of the Procedure by the Sampler. -

    - An Execution has a single result, therefore sosa:hasResult is Functional. -

    -
    -
    +

    + has result - + Relation linking an Execution + (i.e. Actuation + or Observation or act of Sampling) to its + result or Sample. +

    + In the case of an Actuation, the result is the expected value + of the Property following the execution of + the Procedure by the Actuator. +

    + In the case of an Observation, the result is the value of + the Property produced by the execution of + the Procedure by the Sensor. +

    + In the case of a Sampling, the result is the Sample produced by the execution of the Procedure by the Sampler. +

    + An Execution has a single result, therefore sosa:hasResult is Functional. +

    +
    +

    + +

    The result of an actuation or observation may be a quantity. + See Quantity Values and Units of Measure for patterns to describe this.

    + +

    The result of an observation may be a geometry. + See Location and Geometry for patterns to describe this.

    +
    @@ -2372,11 +2388,18 @@
    sosa:Deployment

    IRI: http://www.w3.org/ns/sosa/Deployment

    an OWL Class

    - Deployment - - A Deployment of one or more assets (Systems or sosa:Platforms) to execute procedures - with respect to designated features-of-interest. - Deployment may be done on a Platform. +

    + Deployment - + A Deployment of one or more assets (Systems or sosa:Platforms) to execute + procedures + with respect to designated features-of-interest. + Deployment may be done on a Platform. +

    +

    A Deployment may have a geographic location. See Location and + Geometry for patterns to describe this.

    +
    @@ -2454,6 +2477,7 @@
    sosa:Platform

    IRI: http://www.w3.org/ns/sosa/Platform

    an OWL Class

    + Platform - A Platform is an entity that hosts other entities, particularly Sensors, @@ -2462,6 +2486,10 @@
    sosa:Platform
    The INSPIRE 'Environmental Monitoring Facility' may be implemented using SOSA by the OWL/RDFS class 'Platform'.
    + +

    A Platform may have a geographic location. See Location and Geometry + for patterns to describe this.

    +
    @@ -2521,16 +2549,18 @@
    sosa:Platform
    sosa:System

    IRI: http://www.w3.org/ns/sosa/System

    an OWL Class

    +

    + System - + + A piece of infrastructure that implements a Procedure. -

    See this pattern for guidance on describing system types vs. - individuals.

    - - System - - - A piece of infrastructure that implements a Procedure. - - A System may have components, its sub-systems, which are other systems. - + A System may have components, its sub-systems, which are other systems. + +

    +

    See Systems types and individuals for guidance on describing types + vs. individuals.

    +

    A System may have a geographic location. See Location and Geometry + for patterns to describe this.

    diff --git a/ssn/chapters/ModelPropertyInstance.html b/ssn/chapters/ModelPropertyDefinition.html similarity index 98% rename from ssn/chapters/ModelPropertyInstance.html rename to ssn/chapters/ModelPropertyDefinition.html index 4c0d04ba..79fb08e7 100644 --- a/ssn/chapters/ModelPropertyInstance.html +++ b/ssn/chapters/ModelPropertyDefinition.html @@ -1,4 +1,4 @@ -

    Generic or Specific Instances of sosa:Property

    +

    Property definitions

    The SSN Ontology does not provide a general pattern for describing observable or actuatable properties. A number of existing catalogues of properties are available, diff --git a/ssn/chapters/ModelQuantity.html b/ssn/chapters/ModelQuantity.html index 88283b2c..aada047f 100644 --- a/ssn/chapters/ModelQuantity.html +++ b/ssn/chapters/ModelQuantity.html @@ -1,4 +1,4 @@ -

    Quantity Values and Unit of Measures

    +

    Quantity Values and Units of Measure

    The result of an sosa:Observation or an sosa:Actuation can be a quantity value with a numeric value and a unit diff --git a/ssn/chapters/ModelForecast.html b/ssn/chapters/ModelTimes.html similarity index 92% rename from ssn/chapters/ModelForecast.html rename to ssn/chapters/ModelTimes.html index 6ee1cad5..e860c686 100644 --- a/ssn/chapters/ModelForecast.html +++ b/ssn/chapters/ModelTimes.html @@ -1,11 +1,15 @@ -

    Forecasts

    +

    Result- and Phenomenon-Time

    + +

    + Two key properties of ............ +

    +

    Forecast

    A forecast may be represented as an observation where the value of sosa:phenomenonTime is later in time than the sosa:resultTime. This means that: The time when the Observation execution was completed is before the time that the Result of the observation applies to the FeatureOfInterest.

    -

    Forecast

    Serialised in Turtle
    
     
    diff --git a/ssn/chapters/Observation.html b/ssn/chapters/Observation.html
    index 19447f10..5a098ba9 100644
    --- a/ssn/chapters/Observation.html
    +++ b/ssn/chapters/Observation.html
    @@ -54,205 +54,190 @@ 

    Specification

    sosa:Observation

    IRI: http://www.w3.org/ns/sosa/Observation

    an OWL Class

    - - Observation - - Act of carrying out an (Observation) - Procedure to estimate or calculate a value of a property of a - FeatureOfInterest. - Links to a Sensor to describe what made the - Observation and how; links to an - Property to describe what the result is an - estimate of, and to a - FeatureOfInterest to detail what that property was - associated with. -
    -
    - An Observation concerns a single - Property of a single - FeatureOfInterest. - Observations of multiple properties, or other combinations of Observations, may be described in an - ObservationCollection. -
    -
    - Alternatively, applications may choose to encapsulate complexity by defining a complex property with - multiple individual components, and a corresponding complex result (e.g. a vector). This approach is not - prohibited by the SSN Ontology, but the details are beyond the scope of SSN.
    -
    -
    - An +

    + Observation - + Act of carrying out an (Observation) + Procedure to estimate or calculate a value of a property of a + FeatureOfInterest. + Links to a Sensor to describe what made the + Observation and how; links to an + Property to describe what the result is an + estimate of, and to a + FeatureOfInterest to detail what that property was + associated with. +

    +

    + An Observation concerns a single + Property of a single + FeatureOfInterest. + Observations of multiple properties, or other combinations of Observations, may be described in an + ObservationCollection. +
    +
    + Alternatively, applications may choose to encapsulate complexity by defining a complex property with + multiple individual components, and a corresponding complex result (e.g. a vector). This approach is not + prohibited by the SSN Ontology, but the details are beyond the scope of SSN.
    +

    +

    + When the FeatureOfInterest cannot be observed directly, a Sample of it might be used in Observations as a proxy. In such a case the Sample is the proximate FeatureOfInterest of the Observation, while the (ultimate) FeatureOfInterest of the act of Sampling (i.e. the entity that the Sample is ultimately isSampleOf) is the ultimate FeatureOfInterest of the Observation. + href="#SOSAFeatureOfInterest">FeatureOfInterest of the Observation. +

    -
    -
    - - - - - - - - - - - - - - - - - - -
    Example - The activity of estimating the intensity of an Earthquake - using - the Mercalli intensity scale is an Observation - as is measuring the moment magnitude, i.e., the energy released by said - earthquake. -
    Sub class of - sosa:Execution -
    Restrictions - - - sosa:madeBySensor - EXACTLY 1 -
    - - - sosa:madeBySensor - ONLY sosa:Sensor -
    - - - sosa:usedProcedure - ONLY sosa:Procedure -
    - - - sosa:hasFeatureOfInterest - EXACTLY 1 -
    - - - sosa:hasFeatureOfInterest - ONLY sosa:FeatureOfInterest -
    - - - sosa:hasUltimateFeatureOfInterest - EXACTLY 1 -
    - - - sosa:hasUltimateFeatureOfInterest - ONLY sosa:FeatureOfInterest -
    - - - sosa:observedProperty - EXACTLY 1 -
    - - - sosa:observedProperty - ONLY sosa:Property -
    - - - sosa:wasOriginatedBy - EXACTLY 1 -
    - - - sosa:wasOriginatedBy - ONLY sosa:Stimulus -
    - - - sosa:phenomenonTime - EXACTLY 1 -
    - - - sosa:hasResult - EXACTLY 1 -
    is Defined By - http://www.w3.org/ns/sosa/observation/ -
    - +

    The different time-properties on a sosa:Observation allow an + instance to describe forecasts and predictions as well as observations relating to various historical + scenarios. + See Result- and Phenomenon-Time for patterns related to these.

    + + + + + + + + + + + + + + + + + + + + + +
    Example + The activity of estimating the intensity of an Earthquake + using + the Mercalli intensity scale is an Observation + as is measuring the moment magnitude, i.e., the energy released by said + earthquake. +
    Sub class of + sosa:Execution +
    Restrictions + + + sosa:madeBySensor + EXACTLY 1 +
    + + + sosa:madeBySensor + ONLY sosa:Sensor +
    + + + sosa:usedProcedure + ONLY sosa:Procedure +
    + + + sosa:hasFeatureOfInterest + EXACTLY 1 +
    + + + sosa:hasFeatureOfInterest + ONLY sosa:FeatureOfInterest +
    + + + sosa:hasUltimateFeatureOfInterest + EXACTLY 1 +
    + + + sosa:hasUltimateFeatureOfInterest + ONLY sosa:FeatureOfInterest +
    + + + sosa:observedProperty + EXACTLY 1 +
    + + + sosa:observedProperty + ONLY sosa:Property +
    + + + sosa:wasOriginatedBy + EXACTLY 1 +
    + + + sosa:wasOriginatedBy + ONLY sosa:Stimulus +
    + + + sosa:phenomenonTime + EXACTLY 1 +
    + + + sosa:hasResult + EXACTLY 1 +
    is Defined By + http://www.w3.org/ns/sosa/observation/ +
    +
    sosa:ObservationCollection

    An instance of ObservationCollection represents a container for a set of data derived from observations. - This broadly corresponds with the class dcat:Dataset + This broadly corresponds with the class dcat:Dataset from the Data Catalog Vocabulary [[DCAT]].

    @@ -456,6 +442,10 @@

    sosa:Sensor
    Results of prior Observations

    + +

    A Sensor may have a geographic location. See Location and Geometry for + patterns to describe this.

    + diff --git a/ssn/chapters/Sampling.html b/ssn/chapters/Sampling.html index c447cc4a..c9f4f37b 100644 --- a/ssn/chapters/Sampling.html +++ b/ssn/chapters/Sampling.html @@ -118,13 +118,16 @@
    sosa:Sample
    Feature which is intended to be representative of a FeatureOfInterest on which Observations may be made.
    -

    In the previous edition Sample was axiomatized as a sub-class of +

    + In the previous edition Sample was axiomatized as a sub-class of FeatureOfInterest. The subclass relationship is removed in this edition. The relationship between types and FeatureOfInterest is explained further below.

    -

    + +

    A Sample may have a geographic location. See Location and Geometry for patterns to describe this.

    +
    @@ -383,6 +386,9 @@
    sosa:Sampler
    A device that implements a (Sampling) Procedure to create or transform one or more samples.
    + +

    A Sampler may have a geographic location. See Location and Geometry for patterns to describe this.

    +
    diff --git a/ssn/images/FeatureOfInterest.png b/ssn/images/FeatureOfInterest.png index bb59608bfd967a83266bf625a8b775eedc927fb1..1c20ea608fa88bc5c2e665d381d80967b36d6c73 100644 GIT binary patch literal 21391 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 Cx~9MY literal 22260 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 ZC6Gw^dkrz^O6k{iu}7lM)LRE6`~}v!Mpys< diff --git a/ssn/images/SSN-core-packages.png b/ssn/images/SSN-core-packages.png index 26fd961a77cdd01012f24c28351b30ac30a09379..d77346d12ea095a946f7df3ae71b0298ce8eca87 100644 GIT binary patch literal 116925 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

    9)?UvniP7Bnseh%IPAXtC&Q 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 Z!qwxqzoQfLtc~uUqqBasVCA+i{|#O`uT1~| literal 119274 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

    -usk^x-xZK4^Pi|#`|20bD$}&@?T)3M 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 Modeling Questions

    -
    +
    -
    +
    From 018de7274d53d517627667fe63642a594615b7fb Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 7 Jan 2025 19:48:29 +1100 Subject: [PATCH 28/74] Tidy up RDF examples for location and time --- ssn/chapters/ModelLocation.html | 21 +++++- ssn/chapters/ModelTimes.html | 36 +++++++++- ssn/rdf/examples/SampleLocation.ttl | 6 +- ssn/rdf/examples/diet.ttl | 36 ++++++++++ ssn/rdf/examples/forecast.jsonld | 2 +- ssn/rdf/examples/forecast.ttl | 7 +- ssn/rdf/examples/ice-core.ttl | 106 ++++++++++++++++++++-------- 7 files changed, 171 insertions(+), 43 deletions(-) create mode 100644 ssn/rdf/examples/diet.ttl diff --git a/ssn/chapters/ModelLocation.html b/ssn/chapters/ModelLocation.html index c7825cd4..2df3e59c 100644 --- a/ssn/chapters/ModelLocation.html +++ b/ssn/chapters/ModelLocation.html @@ -25,12 +25,27 @@

    Location

    
     

    - Note that, even though earthAtmosphere_StE is not explicitly typed geo:Feature, the + Note that, even though EarthAtmosphere_StE is not explicitly typed geo:Feature, the property geo:hasGeometry has a global domain constraint which entails that any resource carrying this property SHALL be inferred to be a geo:Feature. - Thus earthAtmosphere_StE is both a sosa:Sample and a geo:Feature. + Thus EarthAtmosphere_StE is both a sosa:Sample and a geo:Feature. +

    +

    Relative locations

    +

    + The location of the System (Actuator, Sensor, Sampler) responsible for making an Execution (Actuation, Observation, Sampling) may also be of interest. + In particular, the relative locations of the Sensor (or its Deployment) and the feature of interest, along with the phenomenon- and result-time, fall into distinct patterns for different Observation modes as follows: +

    +
    +
    in situ monitoring
    +
    location of sensor and feature of interest are the same
    +
    remote sensing
    +
    location of sensor is remote from the feature of interest
    +
    ex situ observation (e.g. lab measurements)
    +
    location of sensor and location of the ultimate feature of interest are different; result-time later than phenomenon-time
    +
    +

    + Note that in the case of ex situ measurements, there will usually be a Sample and thus an act of Sampling involved, whose properties determine the location and phenomenon-time, though all the details of the sampling may not be explicitly recorded.

    -

    Geometry

    Geometry may appear in other contexts than as an explicit property of a geo:Feature. diff --git a/ssn/chapters/ModelTimes.html b/ssn/chapters/ModelTimes.html index e860c686..41ff8a96 100644 --- a/ssn/chapters/ModelTimes.html +++ b/ssn/chapters/ModelTimes.html @@ -1,13 +1,22 @@

    Result- and Phenomenon-Time

    - Two key properties of ............ + Multiple times are associated with an Execution. + Trivially, since an Execution is a time-bounded activity, there is a startTime and endTime. + In the case of Observation and Sampling the end of the Execution is the time that the result is generated so it is called resultTime + In the case of Actuation and Observation the phenomenonTime is the interval when the change or result applies to the actuated- or observed-property.

    +

    + In the simplest case, an Execution is instantaneous and all these times are the same. + More commonly, these times are different. + Different kinds of executions have different relationships between these times. +

    +

    Forecast

    A forecast may be represented as an observation where the value of sosa:phenomenonTime is later in time than the sosa:resultTime. - This means that: The time when the Observation execution was completed is before the time that the Result of the + The time when the Observation execution was completed is before the time that the Result of the observation applies to the FeatureOfInterest.

    Serialised in Turtle
    @@ -26,3 +35,26 @@
    Serialised in JSON-LD
    Describing a plan for some actuation or observation in the future is not covered by this specification.

    + +

    Historical observations

    +

    + Observations in historical sciences, including geology and archeology, may be made to determine the state of the world in the remote past. + For example: + +

    +
      +
    • + the diet of past inhabitants can be determined by examination of middens and other archaeological features +
    • +
    • + the concentration of CO2 can be measured in bubbles in ice-cores that are assumed to sample the atmosphere at some past time +
    • +
    • + the pressure and temperature conditions at which a metamorphic rock was formed can be determined from its mineralogy +
    • +
    +

    + In each of these cases the phenomenonTime is far in the past, while the resultTime is contemporary. +

    +
    
    +
    
    diff --git a/ssn/rdf/examples/SampleLocation.ttl b/ssn/rdf/examples/SampleLocation.ttl
    index b122ddfd..8285a7f6 100644
    --- a/ssn/rdf/examples/SampleLocation.ttl
    +++ b/ssn/rdf/examples/SampleLocation.ttl
    @@ -4,13 +4,13 @@
     @prefix rdf:   .
     @prefix sosa:  .
     
    -ex:earthAtmosphere_StE a sosa:Sample ;
    -  sosa:isSampleOf ex:earthAtmosphere ;
    +ex:EarthAtmosphere_StE a sosa:Sample ;
    +  sosa:isSampleOf ex:EarthAtmosphere ;
       geo:hasGeometry [ 
         a geo:Point ;
         geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ;
       ] ;
     .
    -ex:earthAtmosphere a sosa:FeatureOfInterest ;
    +ex:EarthAtmosphere a sosa:FeatureOfInterest ;
       owl:sameAs  ;
       . 
    \ No newline at end of file
    diff --git a/ssn/rdf/examples/diet.ttl b/ssn/rdf/examples/diet.ttl
    new file mode 100644
    index 00000000..d1f629fc
    --- /dev/null
    +++ b/ssn/rdf/examples/diet.ttl
    @@ -0,0 +1,36 @@
    +@prefix ex:  .
    +@prefix owl:  .
    +@prefix rdf:  .
    +@prefix rdfs:  .
    +@prefix skos:  .
    +@prefix sosa:  .
    +@prefix time:  .
    +@prefix xsd:  .
    +
    +ex:d77 
    +  a ex:diet ;
    +  rdfs:comment "mainly seafood" ;
    +.
    +ex:BP
    +  a time:TRS ;
    +  skos:definition "Years before 1950, positive backwards" ;
    +.
    +ex:O299877
    +  a sosa:Observation ;
    +  sosa:hasFeatureOfInterest ex:Community2998 ;
    +  sosa:hasResult ex:d77 ;
    +  sosa:observedProperty ex:diet ;
    +  sosa:phenomenonTime [
    +      time:hasBeginning [
    +          time:inTimePosition [
    +              time:hasTRS ex:BP ;
    +              time:numericPosition 12000 ;
    +            ] ;
    +        ] ;
    +      time:hasDuration [
    +          time:numericDuration 500 ;
    +          time:unitType time:unitYear ;
    +        ] ;
    +    ] ;
    +  sosa:resultTime "2015-06-06T12:00:00+10:00"^^xsd:dateTime ;
    +.
    diff --git a/ssn/rdf/examples/forecast.jsonld b/ssn/rdf/examples/forecast.jsonld
    index 48cdad24..5a246ca2 100644
    --- a/ssn/rdf/examples/forecast.jsonld
    +++ b/ssn/rdf/examples/forecast.jsonld
    @@ -3,7 +3,7 @@
         {
           "@id": "Observation/299876",
           "@type": "sosa:Observation",
    -      "hasFeatureOfInterest": "feature/earthAtmosphere",
    +      "hasFeatureOfInterest": "feature/EarthAtmosphere",
           "hasResult": "grid/299876",
           "observedProperty": "https://si-digital-framework.org/quantities/TEMC",
           "phenomenonTime": {
    diff --git a/ssn/rdf/examples/forecast.ttl b/ssn/rdf/examples/forecast.ttl
    index ea77e52f..7eff3a2a 100644
    --- a/ssn/rdf/examples/forecast.ttl
    +++ b/ssn/rdf/examples/forecast.ttl
    @@ -1,3 +1,4 @@
    +@prefix ex:  .
     @prefix owl:  .
     @prefix rdf:  .
     @prefix rdfs:  .
    @@ -6,9 +7,9 @@
     @prefix xsd:  .
     @base  .
     
    -
    +ex:Observation299876
       a sosa:Observation ;
    -  sosa:hasFeatureOfInterest  ;
    +  sosa:hasFeatureOfInterest  ;
       sosa:hasResult  ;
       sosa:observedProperty  ;
       sosa:phenomenonTime [
    @@ -16,7 +17,7 @@
           time:inXSDDateTime "2024-03-09T11:00:00+10:00"^^xsd:dateTime ;
         ];
         time:hasEnd [  
    -            time:inXSDDateTime "2024-03-09T12:00:00+10:00"^^xsd:dateTime ;
    +      time:inXSDDateTime "2024-03-09T12:00:00+10:00"^^xsd:dateTime ;
         ];
       ];
       sosa:resultTime "2024-03-06T12:00:00+10:00"^^xsd:dateTime ;
    diff --git a/ssn/rdf/examples/ice-core.ttl b/ssn/rdf/examples/ice-core.ttl
    index 6400bff2..4fbc0c9a 100644
    --- a/ssn/rdf/examples/ice-core.ttl
    +++ b/ssn/rdf/examples/ice-core.ttl
    @@ -1,35 +1,79 @@
    +@prefix ex:  .
    +@prefix geo:  .
    +@prefix orcid:  .
    +@prefix owl:  .
     @prefix rdf:   .
    -@prefix time: .
    +@prefix skos:  .
     @prefix sosa:  .
    +@prefix time: .
    +@prefix unit:  .
     @prefix xsd:   .
    -@prefix geo: .
    -@base  .
    -
    -
    -# The CO2 level observed in an ice core is 240 parts per million.
    -# the ice core is a sample of the polar ice sheet of Antarctica. 
    -
    - a sosa:FeatureOfInterest ;
    -  sosa:hasSample , ,  .
    -
    - rdf:type sosa:Sample ;
    -  sosa:isSampleOf  ;
    -  sosa:isResultOf  ;
    -  sosa:madeBySampler  .
    -
    -   a sosa:Sampling ;
    -    geo:lat -73.35 ; 
    -    geo:long 9.32 ;
    -    sosa:hasResult  ;
    -    sosa:madeBySampler  ;
    -    sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ;
    -    sosa:hasFeatureOfInterest  .
    -
    - a sosa:Observation ;
    -  sosa:observedProperty  ;
    -  sosa:hasSimpleResult 240 .
    -
    -# using SSN one can explicitly state that  is the property of  .
     
    - sosa:isPropertyOf  .
    -  
    \ No newline at end of file
    +ex:BP
    +  a time:TRS ;
    +  skos:definition "Years before 1950, positive backwards" ;
    +.
    +ex:Antarctic_ice_sheet a sosa:FeatureOfInterest ;
    +  owl:sameAs  ;
    +. 
    +ex:EarthAtmosphere a sosa:FeatureOfInterest ;
    +  owl:sameAs  ;
    +  . 
    + a sosa:Property ;
    +  skos:definition "The age of an object determined by radiocarbon dating expressed relative to a datum of AD 1950." ;
    +  skos:prefLabel "14C age" ;
    +.
    + a sosa:Property ;
    +  skos:prefLabel "concentration of carbon dioxide in air" ;
    +. 
    +ex:WellDrilling4578 a sosa:Sampling ;
    +  geo:hasGeometry [ 
    +    a geo:Point ;
    +    geo:asWKT "POINT (9.32 -73.35)"^^geo:WktLiteral ;
    +  ] ;
    +  sosa:hasResult ex:IceCore12 ;
    +  sosa:madeBySampler ex:thermalDrill2 ;
    +  sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ;
    +  sosa:hasFeatureOfInterest ex:Antarctic_ice_sheet ;
    +.
    +ex:CoreEx1923 a sosa:Sampling ;
    +  ex:offset "15.2"^^unit:M ;
    +  sosa:hasResult ex:Bubble873 ;
    +  sosa:madeBySampler orcid:0000-0002-3884-3420 ;
    +  sosa:resultTime "2018-01-09T14:12:00Z"^^xsd:dateTime ;
    +  sosa:hasFeatureOfInterest ex:IceCore12 ;
    +.
    +ex:IceCore12 a sosa:Sample ;
    +  sosa:isSampleOf ex:Antarctic_ice_sheet ;
    +  sosa:isResultOf ex:WellDrilling4578 ;
    +.
    +ex:Bubble873 a sosa:Sample ;
    +  sosa:isSampleOf ex:IceCore12 , ex:EarthAtmosphere;
    +  sosa:hasSampledFeature ex:Antarctic_ice_sheet ;
    +  sosa:isResultOf ex:CoreEx1923 ;
    +.
    +ex:Ob873t2 a sosa:Observation ;
    +  sosa:observedProperty  ;
    +  sosa:hasFeatureOfInterest ex:Bubble873 ;
    +  sosa:hasResult "7530"^^unit:YR ;
    +  sosa:resultTime "2018-01-09T14:15:00Z"^^xsd:dateTime ;
    +.
    +ex:Ob873c4 a sosa:Observation ;
    +  sosa:observedProperty  ;
    +  sosa:hasFeatureOfInterest ex:Bubble873 ;
    +  sosa:hasResult "240"^^unit:PPM ;
    +  sosa:resultTime "2018-01-09T14:16:00Z"^^xsd:dateTime ;
    +.
    +ex:Oatc349 a sosa:Observation ;
    +  sosa:observedProperty  ;
    +  sosa:hasFeatureOfInterest ex:EarthAtmosphere ;
    +  sosa:hasResult "240"^^unit:PPM ;
    +  sosa:phenomenonTime [ 
    +    time:inTimePosition [
    +      time:hasTRS ex:BP ;
    +      time:numericPosition 7455 ;
    +    ] ;
    +  ] ;   
    +  sosa:resultTime "2018-01-09T14:16:00Z"^^xsd:dateTime ;
    +  sosa:hasInputValue ex:Ob873t2 , ex:Ob873c4 ;
    +.
    
    From af0c1c3b4596a72aa9812b53c9e5d5f013d80278 Mon Sep 17 00:00:00 2001
    From: Simon Cox 
    Date: Tue, 7 Jan 2025 19:49:26 +1100
    Subject: [PATCH 29/74] Improve formatting in Common section
    
    ---
     ssn/chapters/Common.html              | 97 ++++++++++++++-------------
     ssn/rdf/ontology/core/sosa-common.ttl |  2 +-
     2 files changed, 52 insertions(+), 47 deletions(-)
    
    diff --git a/ssn/chapters/Common.html b/ssn/chapters/Common.html
    index 322c48ba..d9ee5052 100644
    --- a/ssn/chapters/Common.html
    +++ b/ssn/chapters/Common.html
    @@ -40,10 +40,6 @@ 
    Overview
    -

    - The relationship between sosa:FeatureOfInterest, and types or classes - defined in a domain model is explained below in Common Modeling Questions -

    Specification
    @@ -65,13 +61,20 @@
    Specification
    sosa:FeatureOfInterest

    IRI: http://www.w3.org/ns/sosa/FeatureOfInterest

    an OWL Class

    - - Feature Of Interest - - The thing that is the target of the Execution, - i.e. whose property is being estimated or - calculated in the course of an Observation to arrive at a - result, or whose property is being manipulated by an Actuator, - or which is being sampled or transformed in an act of Sampling. +

    + Feature Of Interest - + The thing that is the target of the Execution, + i.e. whose property is being estimated or + calculated in the course of an Observation to arrive at a + result, or whose property is being manipulated by an Actuator, + or which is being sampled or transformed in an act of Sampling. +

    +

    + The relationship between sosa:FeatureOfInterest, and types or + classes + defined in a domain model is explained below in Common Modeling Questions +

    @@ -149,10 +152,11 @@
    sosa:Property
    acted upon. A property can apply to different features of interest.

    -

    The SSN Ontology does not provide a model for the description of observable and actuatable - properties. +

    + The SSN Ontology does not provide a model for the description of observable and actuatable properties. See Property definitions for links to some external resources that - address this.

    + address this. +

    @@ -217,10 +221,11 @@
    sosa:Property
    sosa:forProperty

    IRI: http://www.w3.org/ns/sosa/forProperty

    an OWL Object Property

    - - for property - - A relation between some entity and a Property.
    +

    + for property - + A relation between some entity and a Property.
    +

    @@ -279,10 +284,12 @@
    sosa:forProperty
    sosa:hasProperty

    IRI: http://www.w3.org/ns/sosa/hasProperty

    an OWL Object Property

    - - has property - - Relation between an entity and a Property of - that entity. +

    + has property - + Relation between an entity and a Property + of + that entity. +

    @@ -326,15 +333,17 @@
    sosa:hasProperty
    sosa:isFeatureOfInterestOf

    IRI: http://www.w3.org/ns/sosa/isFeatureOfInterestOf

    an OWL Object Property

    - - is feature of interest of - - A relation between a FeatureOfInterest - and an Execution concerning it. -
    -
    - A relation between a specific FeatureOfInterest and a Deployment operating on it. -

    +

    + is feature of interest of - + A relation between a FeatureOfInterest + and an Execution concerning it. +
    +
    + A relation between a specific FeatureOfInterest and a Deployment operating on it. +
    +

    @@ -384,9 +393,11 @@
    sosa:isFeatureOfInterestOf
    sosa:isPropertyOf

    IRI: http://www.w3.org/ns/sosa/isPropertyOf

    an OWL Object Property

    - is property of - - Relation between a Property and - the entity that it belongs to. +

    + is property of - + Relation between a Property and + the FeatureOfInterest that it belongs to. +

    @@ -429,10 +440,11 @@
    sosa:isPropertyOf
    sosa:propertyFor

    IRI: http://www.w3.org/ns/sosa/propertyFor

    an OWL Object Property

    - - property for - - A relation between a Property and some - entity.
    +

    + property for - + A relation between a Property and some + entity. +

    @@ -488,19 +500,12 @@
    sosa:isUltimateFeatureOfInteres This term is non-normative, pending further implementation experience

    is ultimate feature of interest of - - A relation between an ultimate entity whose property + A relation between an ultimate FeatureOfInterest whose property was modified, observed, or that was sampled, and the Execution that executed it.

    - - - -
    Note - This is useful when the proximate feature of interest is a sample - of the ultimate feature of interest, directly or transitively. -
    Domain Includes diff --git a/ssn/rdf/ontology/core/sosa-common.ttl b/ssn/rdf/ontology/core/sosa-common.ttl index 7e1d3072..862fa8a9 100644 --- a/ssn/rdf/ontology/core/sosa-common.ttl +++ b/ssn/rdf/ontology/core/sosa-common.ttl @@ -97,7 +97,7 @@ sosa:isPropertyOf a owl:ObjectProperty ; rdfs:label "is property of"@en ; skos:definition """ - Relation between a Property and the entity that it belongs to. + Relation between a Property and the FeatureOfInterest that it belongs to. """@en ; schema:domainIncludes sosa:Property ; schema:rangeIncludes sosa:FeatureOfInterest ; From 621250ccc5c19b4d3beac08c2a465ea34ec8bf41 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 7 Jan 2025 19:50:38 +1100 Subject: [PATCH 30/74] Fix case in names of objects --- ssn/rdf/examples/2017ex8.ttl | 10 +++++----- ssn/rdf/examples/2023ex-location.jsonld | 4 ++-- ssn/rdf/examples/2023ex-location.ttl | 4 ++-- ssn/rdf/examples/2023ex1.ttl | 4 ++-- ssn/rdf/examples/iphone_barometer-sosa.ttl | 6 +++--- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ssn/rdf/examples/2017ex8.ttl b/ssn/rdf/examples/2017ex8.ttl index 6e17a0f3..c1a31db0 100644 --- a/ssn/rdf/examples/2017ex8.ttl +++ b/ssn/rdf/examples/2017ex8.ttl @@ -14,11 +14,11 @@ # the atmosphere is sampled at a specific location # location coordinates are given using GeoSPARQL - a sosa:FeatureOfInterest ; + a sosa:FeatureOfInterest ; rdfs:label "Atmosphere of Earth"@en . - a sosa:Sample ; - sosa:isSampleOf ; + a sosa:Sample ; + sosa:isSampleOf ; geo:hasGeometry [ a geo:Point ; geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; @@ -47,7 +47,7 @@ a sosa:Observation ; sosa:observedProperty ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ; sosa:madeBySensor ; sosa:hasSimpleResult "1021.45 hPa"^^cdt:ucum ; sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . @@ -58,7 +58,7 @@ a sosa:Observation ; sosa:observedProperty ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ; sosa:madeBySensor ; sosa:hasResult [ a qudt:QuantityValue ; diff --git a/ssn/rdf/examples/2023ex-location.jsonld b/ssn/rdf/examples/2023ex-location.jsonld index ff591e69..6816e908 100644 --- a/ssn/rdf/examples/2023ex-location.jsonld +++ b/ssn/rdf/examples/2023ex-location.jsonld @@ -1,13 +1,13 @@ { "@graph": [ { - "@id": "feature/earthAtmosphere_StE", + "@id": "feature/EarthAtmosphere_StE", "@type": "sosa:Sample", "hasGeometry": { "@type": "geo:Point", "asWKT": "POINT (4.387611 45.437772)" }, - "isSampleOf": "feature/earthAtmosphere" + "isSampleOf": "feature/EarthAtmosphere" } ], "@context": { diff --git a/ssn/rdf/examples/2023ex-location.ttl b/ssn/rdf/examples/2023ex-location.ttl index 146e26ed..3aef87ee 100644 --- a/ssn/rdf/examples/2023ex-location.ttl +++ b/ssn/rdf/examples/2023ex-location.ttl @@ -3,8 +3,8 @@ @prefix geo: . @base . - a sosa:Sample ; - sosa:isSampleOf ; + a sosa:Sample ; + sosa:isSampleOf ; geo:hasGeometry [ a geo:Point ; geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; diff --git a/ssn/rdf/examples/2023ex1.ttl b/ssn/rdf/examples/2023ex1.ttl index 146e26ed..3aef87ee 100644 --- a/ssn/rdf/examples/2023ex1.ttl +++ b/ssn/rdf/examples/2023ex1.ttl @@ -3,8 +3,8 @@ @prefix geo: . @base . - a sosa:Sample ; - sosa:isSampleOf ; + a sosa:Sample ; + sosa:isSampleOf ; geo:hasGeometry [ a geo:Point ; geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; diff --git a/ssn/rdf/examples/iphone_barometer-sosa.ttl b/ssn/rdf/examples/iphone_barometer-sosa.ttl index 7e0115e1..71a8e543 100644 --- a/ssn/rdf/examples/iphone_barometer-sosa.ttl +++ b/ssn/rdf/examples/iphone_barometer-sosa.ttl @@ -11,7 +11,7 @@ # The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 observed on June 6 2017 # using only the SOSA core. - rdf:type sosa:FeatureOfInterest ; + rdf:type sosa:FeatureOfInterest ; rdfs:label "Atmosphere of Earth"@en . @@ -31,7 +31,7 @@ rdf:type sosa:Observation ; sosa:observedProperty ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ; sosa:madeBySensor ; sosa:hasSimpleResult "1021.45 hPa"^^cdt:ucum ; sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . @@ -42,7 +42,7 @@ rdf:type sosa:Observation ; sosa:observedProperty ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ; sosa:madeBySensor ; sosa:hasResult [ rdf:type qudt:QuantityValue ; From b705bda91c5a0e8d61f6d2c1e8b0764196a1e6d0 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 7 Jan 2025 19:52:03 +1100 Subject: [PATCH 31/74] Fix heading --- ssn/chapters/ModelTimes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssn/chapters/ModelTimes.html b/ssn/chapters/ModelTimes.html index 41ff8a96..a77472c4 100644 --- a/ssn/chapters/ModelTimes.html +++ b/ssn/chapters/ModelTimes.html @@ -1,4 +1,4 @@ -

    Result- and Phenomenon-Time

    +

    Temporal properties

    Multiple times are associated with an Execution. From 74f2c09eb8379dbf219c4a5d856547ff5b025fca Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 8 Jan 2025 19:07:22 +1100 Subject: [PATCH 32/74] Better links to patterns --- ssn/chapters/Actuation.html | 71 +++++---- ssn/chapters/Common.html | 270 +++++++++++++++++--------------- ssn/chapters/ModelLocation.html | 2 +- ssn/chapters/ModelTimes.html | 2 +- ssn/chapters/Observation.html | 7 +- ssn/chapters/Sampling.html | 31 ++-- ssn/index.html | 5 +- ssn/rdf/examples/ice-core.ttl | 76 ++++----- 8 files changed, 253 insertions(+), 211 deletions(-) diff --git a/ssn/chapters/Actuation.html b/ssn/chapters/Actuation.html index 0c1a5ac3..3b4c907d 100644 --- a/ssn/chapters/Actuation.html +++ b/ssn/chapters/Actuation.html @@ -38,41 +38,48 @@

    Specification

    sosa:Actuation

    IRI: http://www.w3.org/ns/sosa/Actuation

    an OWL Class

    - - Actuation - - An Actuation carries out an - (Actuation) Procedure to change the value of a Property using an Actuator. -
    -
    - In this context, -
    - - hasResult shall indicate the expected value of the Property at the completion of the Actuation -
    -
    -
    - relatedObservation SHOULD be - used to link to an associated Observation or ObservationCollection that monitors the actuated - property to verify that the result value has been obtained -
    -
    - An Actuation concerns a single Property of a single FeatureOfInterest. - Changes to multiple properties, or other combinations of Actuations, may be described in an - ActuationCollection. -
    -
    +

    + Actuation - + An Actuation carries out an + (Actuation) Procedure to change the value of a Property using an Actuator. +
    +
    + In this context, +
    + - hasResult shall indicate the expected value of the Property at the completion of the Actuation +
    +

    +

    + relatedObservation SHOULD be + used to link to an associated Observation or ObservationCollection that monitors the actuated + property to verify that the result value has been obtained +

    +

    + An Actuation concerns a single Property of a single FeatureOfInterest. + Changes to multiple properties, or other combinations of Actuations, may be described in an + ActuationCollection. +

    +

    Alternatively, applications may choose to encapsulate complexity by defining a complex property with multiple individual components, and a corresponding complex result (e.g. a vector). This approach is not prohibited by the SSN Ontology, but the details are beyond the scope of SSN. -
    - relatedObservation SHOULD be used - to link to an associated Observation or ObservationCollection that monitors the actuated - property to verify that the result value has been obtained.. - +

    +

    + relatedObservation SHOULD be used + to link to an associated Observation or ObservationCollection that monitors the actuated + property to verify that the result value has been obtained.. + +

    +

    The different time-properties on a sosa:Actuation support + the description of plans, forecasts and predictions as well as descriptions of various historical + scenarios. + See Temporal properties for patterns related to these.

    diff --git a/ssn/chapters/Common.html b/ssn/chapters/Common.html index d9ee5052..a76238b1 100644 --- a/ssn/chapters/Common.html +++ b/ssn/chapters/Common.html @@ -153,7 +153,8 @@
    sosa:Property

    - The SSN Ontology does not provide a model for the description of observable and actuatable properties. + A specific model for the description of observable and actuatable Properties is outside the scope of the + SSN Ontology. See Property definitions for links to some external resources that address this.

    @@ -500,7 +501,8 @@
    sosa:isUltimateFeatureOfInteres This term is non-normative, pending further implementation experience

    is ultimate feature of interest of - - A relation between an ultimate FeatureOfInterest whose property + A relation between an ultimate FeatureOfInterest whose property was modified, observed, or that was sampled, and the Execution that executed it.

    @@ -597,16 +599,21 @@
    Specification
    sosa:Procedure

    IRI: http://www.w3.org/ns/sosa/Procedure

    an OWL Class

    - - Procedure - - A workflow, protocol, plan, algorithm, or computational method - specifying how make a change to the state of the world (through an Actuation) or to make an Observation, or - create a Sample. - A Procedure is re-usable, and might be involved in many Actuations, or Observations, or Samplings. - It explains the steps to be carried out to arrive at reproducible results.
    +

    + Procedure - + A workflow, protocol, plan, algorithm, or computational method + specifying how make a change to the state of the world (through an Actuation) or to make an Observation, + or + create a Sample. + A Procedure is re-usable, and might be involved in many Actuations, or Observations, or Samplings. + It explains the steps to be carried out to arrive at reproducible results. +

    +

    + A specific model for the description of execution Procedures is outside the scope of the SSN Ontology. +

    @@ -685,10 +692,11 @@
    sosa:Procedure
    sosa:hasInput

    IRI: http://www.w3.org/ns/sosa/hasInput

    an OWL Object Property

    - - has Input - - Relation between a Procedure and - an input required for its execution. +

    + has Input - + Relation between a Procedure and + an input required for its execution. +

    @@ -735,10 +743,11 @@
    sosa:hasInput
    sosa:hasOutput

    IRI: http://www.w3.org/ns/sosa/hasOutput

    an OWL Object Property

    - - has Output - - Relation between a Procedure and - an output or result of its execution. +

    + has Output - + Relation between a Procedure and + an output or result of its execution. +

    @@ -782,10 +791,11 @@
    sosa:hasProcedure

    hasProcedure added in the 2024 Update. This term is non-normative, pending further implementation experience

    - - has Procedure - - Relation between a Property and a Procedure that can observe or act on it. +

    + has Procedure - + Relation between a Property and a Procedure that can observe or act on it. +

    @@ -1077,8 +1087,11 @@
    sosa:Execution
    Execution - Act of carrying out a Procedure. -

    +

    The different time-properties on a sosa:Execution support + the description of plans, forecasts and predictions as well as descriptions of various historical + scenarios. + See Temporal properties for patterns related to these.

    @@ -2002,45 +2015,54 @@
    sosa:phenomenonOccurred
    sosa:phenomenonTime

    IRI: http://www.w3.org/ns/sosa/phenomenonTime

    an OWL Object Property

    +

    + phenomenon time - + The time that the result of an + Execution + (i.e. Actuation + , Observation + , or Sampling) + applies to the FeatureOfInterest. + It may be an interval or an instant, or some other compound temporal entity [[!owl-time]]. +

    +

    + The sosa:phenomenonTime is not + necessarily + the same as the sosa:endTime or sosa:resultTime. +
    +
    + In the case of sosa:Actuation, sosa:phenomenonTime SHOULD indicate the time during which the sosa:Actuator was active. +
    +
    + In the case of sosa:Observation, the sosa:phenomenonTime MAY be distant from the sosa:resultTime. + For example in the case of forecasts the sosa:phenomenonTime is + after + the sosa:resultTime. + In historical, geological and cosmological investigations the sosa:phenomenonTime can be far in the past, while + the sosa:resultTime is contemporary. +
    +
    + In the case of sosa:Sampling the sosa:phenomenonTime SHOULD indicate the time during which the + sampling sosa:Procedure was active. + The sosa:resultTime can indicate when the sample comes into the + possession + of + the + operator. .
    +

    +

    The different time-properties on a sosa:Execution support + the description of plans, forecasts and predictions as well as descriptions of various historical + scenarios. + See Temporal properties for patterns related to these.

    + - phenomenon time - - The time that the result of an - Execution - (i.e. Actuation - , Observation - , or Sampling) - applies to the FeatureOfInterest. - It may be an interval or an instant, or some other compound temporal entity [[!owl-time]]. -
    -
    - The sosa:phenomenonTime is not necessarily - the same as the sosa:endTime or sosa:resultTime. -
    -
    - In the case of sosa:Actuation, sosa:phenomenonTime SHOULD indicate the time during which the sosa:Actuator was active. -
    -
    - In the case of sosa:Observation, the sosa:phenomenonTime MAY be distant from the sosa:resultTime. - For example in the case of forecasts the sosa:phenomenonTime is after - the sosa:resultTime. - In historical, geological and cosmological investigations the sosa:phenomenonTime can be far in the past, while - the sosa:resultTime is contemporary. -
    -
    - In the case of sosa:Sampling the sosa:phenomenonTime SHOULD indicate the time during which the - sampling sosa:Procedure was active. - The sosa:resultTime can indicate when the sample comes into the possession - of - the - operator. .
    -
    @@ -2092,73 +2114,77 @@
    sosa:phenomenonTime
    sosa:resultTime

    IRI: http://www.w3.org/ns/sosa/resultTime

    an OWL Datatype Property

    +

    + result time - + The instant of time when the + Observation + or Sampling was completed +
    + The value would usually be encoded using xsd:dateTime xsd:date xsd:gYearMonth xsd:gYear. +

    +

    The different time-properties on a sosa:Execution support + the description of plans, forecasts and predictions as well as descriptions of various historical + scenarios. + See Temporal properties for patterns related to these.

    - result time - - The instant of time when the - Observation - or Sampling was completed -
    - The value would usually be encoded using xsd:dateTime xsd:date xsd:gYearMonth xsd:gYear. -
    - -
    - - - - - + + + + + + + + +
    Example -
    +            
    +                
    +                    
    +                    
    +                        
    +                        
    -                        
    -                        
    -                            
    -                            
    -                        
    -                        
    +                            
    +                    
    +                    
    +                        
    -                        
    -                        
    -                            
    -                            
    -                        
    -                    
    -                
    Example +
         "2024-01-23T19:26:00+11:00"^^xsd:dateTime
         "2024-01-23"^^xsd:date
         "2024-01"^^xsd:gMonth
         "2024"^^xsd:gYear
         
    -
    Sub property of - sosa:endTime -
    Domain Includes
    Sub property of - sosa:Observation - , sosa:ObservationCollection - , sosa:Sampling - , sosa:SamplingCollection + sosa:endTime
    is Defined By - http://www.w3.org/ns/sosa/common/ -
    - +
    Domain Includes + sosa:Observation + , sosa:ObservationCollection + , sosa:Sampling + , sosa:SamplingCollection +
    is Defined By + http://www.w3.org/ns/sosa/common/ +
    +
    Relative locations
    location of sensor and location of the ultimate feature of interest are different; result-time later than phenomenon-time

    - Note that in the case of ex situ measurements, there will usually be a Sample and thus an act of Sampling involved, whose properties determine the location and phenomenon-time, though all the details of the sampling may not be explicitly recorded. + Note that in the case of ex situ measurements, there will usually be a Sample and thus an act of Sampling involved, whose properties determine the location and phenomenon-time.

    Geometry

    diff --git a/ssn/chapters/ModelTimes.html b/ssn/chapters/ModelTimes.html index a77472c4..4a81659f 100644 --- a/ssn/chapters/ModelTimes.html +++ b/ssn/chapters/ModelTimes.html @@ -3,7 +3,7 @@

    Temporal properties

    Multiple times are associated with an Execution. Trivially, since an Execution is a time-bounded activity, there is a startTime and endTime. - In the case of Observation and Sampling the end of the Execution is the time that the result is generated so it is called resultTime + In the case of Observation and Sampling the end of the Execution is the time that the result is generated so it is called resultTime. In the case of Actuation and Observation the phenomenonTime is the interval when the change or result applies to the actuated- or observed-property.

    diff --git a/ssn/chapters/Observation.html b/ssn/chapters/Observation.html index 5a098ba9..d4b96629 100644 --- a/ssn/chapters/Observation.html +++ b/ssn/chapters/Observation.html @@ -90,10 +90,9 @@

    sosa:Observation

    -

    The different time-properties on a sosa:Observation allow an - instance to describe forecasts and predictions as well as observations relating to various historical - scenarios. - See Result- and Phenomenon-Time for patterns related to these.

    +

    The different time-properties on a sosa:Observation support the + description of forecasts and predictions as well as observations relating to various historical scenarios. + See Temporal properties for patterns related to these.

    diff --git a/ssn/chapters/Sampling.html b/ssn/chapters/Sampling.html index c9f4f37b..356ea63a 100644 --- a/ssn/chapters/Sampling.html +++ b/ssn/chapters/Sampling.html @@ -114,10 +114,12 @@
    sosa:MaterialSample
    sosa:Sample

    IRI: http://www.w3.org/ns/sosa/Sample

    an OWL Class

    - Sample - - Feature which is intended to be representative of a - FeatureOfInterest on which - Observations may be made.
    +

    + Sample - + Feature which is intended to be representative of a + FeatureOfInterest on which + Observations may be made. +

    In the previous edition Sample was axiomatized as a sub-class of FeatureOfInterest. @@ -126,7 +128,8 @@

    sosa:Sample
    is explained further below.

    -

    A Sample may have a geographic location. See Location and Geometry for patterns to describe this.

    +

    A Sample may have a geographic location. See Location and Geometry for + patterns to describe this.

    @@ -387,7 +390,8 @@
    sosa:Sampler
    create or transform one or more samples.
    -

    A Sampler may have a geographic location. See Location and Geometry for patterns to describe this.

    +

    A Sampler may have a geographic location. See Location and Geometry for + patterns to describe this.

    @@ -462,11 +466,16 @@
    sosa:Sampler
    sosa:Sampling

    IRI: http://www.w3.org/ns/sosa/Sampling

    an OWL Class

    - - Sampling - - An act of Sampling carries out a - (Sampling) Procedure to create one or more Samples. +

    + Sampling - + An act of Sampling carries out a + (Sampling) Procedure to create one or more Samples. +

    +

    The different time-properties on a sosa:Sampling support + the description of plans, forecasts and predictions as well as descriptions of various historical + scenarios. + See Temporal properties for patterns related to these.

    diff --git a/ssn/index.html b/ssn/index.html index ec8cdc76..892faaad 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -207,10 +207,9 @@

    Alignments

    -

    Common Modeling Questions

    +

    Common Modeling Patterns

    - This section discusses how to handle common modeling questions such as locations, forecasts, and - quantity values with a unit of measure. + This section discusses how to handle some common modeling questions.

    diff --git a/ssn/rdf/examples/ice-core.ttl b/ssn/rdf/examples/ice-core.ttl index 4fbc0c9a..0abdce06 100644 --- a/ssn/rdf/examples/ice-core.ttl +++ b/ssn/rdf/examples/ice-core.ttl @@ -9,40 +9,6 @@ @prefix unit: . @prefix xsd: . -ex:BP - a time:TRS ; - skos:definition "Years before 1950, positive backwards" ; -. -ex:Antarctic_ice_sheet a sosa:FeatureOfInterest ; - owl:sameAs ; -. -ex:EarthAtmosphere a sosa:FeatureOfInterest ; - owl:sameAs ; - . - a sosa:Property ; - skos:definition "The age of an object determined by radiocarbon dating expressed relative to a datum of AD 1950." ; - skos:prefLabel "14C age" ; -. - a sosa:Property ; - skos:prefLabel "concentration of carbon dioxide in air" ; -. -ex:WellDrilling4578 a sosa:Sampling ; - geo:hasGeometry [ - a geo:Point ; - geo:asWKT "POINT (9.32 -73.35)"^^geo:WktLiteral ; - ] ; - sosa:hasResult ex:IceCore12 ; - sosa:madeBySampler ex:thermalDrill2 ; - sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; - sosa:hasFeatureOfInterest ex:Antarctic_ice_sheet ; -. -ex:CoreEx1923 a sosa:Sampling ; - ex:offset "15.2"^^unit:M ; - sosa:hasResult ex:Bubble873 ; - sosa:madeBySampler orcid:0000-0002-3884-3420 ; - sosa:resultTime "2018-01-09T14:12:00Z"^^xsd:dateTime ; - sosa:hasFeatureOfInterest ex:IceCore12 ; -. ex:IceCore12 a sosa:Sample ; sosa:isSampleOf ex:Antarctic_ice_sheet ; sosa:isResultOf ex:WellDrilling4578 ; @@ -53,19 +19,19 @@ ex:Bubble873 a sosa:Sample ; sosa:isResultOf ex:CoreEx1923 ; . ex:Ob873t2 a sosa:Observation ; - sosa:observedProperty ; + sosa:observedProperty ex:C14-Age ; sosa:hasFeatureOfInterest ex:Bubble873 ; sosa:hasResult "7530"^^unit:YR ; sosa:resultTime "2018-01-09T14:15:00Z"^^xsd:dateTime ; . ex:Ob873c4 a sosa:Observation ; - sosa:observedProperty ; + sosa:observedProperty ex:CO2-Concentration ; sosa:hasFeatureOfInterest ex:Bubble873 ; sosa:hasResult "240"^^unit:PPM ; sosa:resultTime "2018-01-09T14:16:00Z"^^xsd:dateTime ; . ex:Oatc349 a sosa:Observation ; - sosa:observedProperty ; + sosa:observedProperty ex:CO2-Concentration ; sosa:hasFeatureOfInterest ex:EarthAtmosphere ; sosa:hasResult "240"^^unit:PPM ; sosa:phenomenonTime [ @@ -77,3 +43,39 @@ ex:Oatc349 a sosa:Observation ; sosa:resultTime "2018-01-09T14:16:00Z"^^xsd:dateTime ; sosa:hasInputValue ex:Ob873t2 , ex:Ob873c4 ; . +ex:WellDrilling4578 a sosa:Sampling ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (9.32 -73.35)"^^geo:WktLiteral ; + ] ; + sosa:hasResult ex:IceCore12 ; + sosa:madeBySampler ex:thermalDrill2 ; + sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest ex:Antarctic_ice_sheet ; +. +ex:CoreEx1923 a sosa:Sampling ; + ex:offset "15.202"^^unit:M ; + sosa:hasResult ex:Bubble873 ; + sosa:madeBySampler orcid:0000-0002-3884-3420 ; + sosa:resultTime "2018-01-09T14:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest ex:IceCore12 ; +. +ex:BP + a time:TRS ; + skos:definition "Years before 1950, positive backwards" ; +. +ex:Antarctic_ice_sheet a sosa:FeatureOfInterest ; + owl:sameAs ; +. +ex:EarthAtmosphere a sosa:FeatureOfInterest ; + owl:sameAs ; + . +ex:C14-Age a sosa:Property ; + owl:sameAs ; + skos:definition "The age of an object determined by radiocarbon dating expressed relative to a datum of AD 1950." ; + skos:prefLabel "14C age" ; +. +ex:CO2-Concentration a sosa:Property ; + owl:sameAs ; + skos:prefLabel "concentration of carbon dioxide in air" ; +. From b66f63bfb898f9dff482036318dfc8b976e35866 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 8 Jan 2025 21:57:14 +1100 Subject: [PATCH 33/74] formatting, typo --- ssn/chapters/Common.html | 391 +++++++++++++++++--------------- ssn/chapters/ModelQuantity.html | 2 +- 2 files changed, 211 insertions(+), 182 deletions(-) diff --git a/ssn/chapters/Common.html b/ssn/chapters/Common.html index a76238b1..c4041d0d 100644 --- a/ssn/chapters/Common.html +++ b/ssn/chapters/Common.html @@ -838,11 +838,12 @@
    sosa:hasProcedure
    sosa:implementedBy

    IRI: http://www.w3.org/ns/sosa/implementedBy

    an OWL Object Property

    - - implemented by - - Relation between a Procedure (an - algorithm, procedure or method) and an entity - that implements that Procedure in some executable way. +

    + implemented by - + Relation between a Procedure (an + algorithm, procedure or method) and an entity + that implements that Procedure in some executable way. +

    @@ -886,10 +887,12 @@
    sosa:inputFor

    inputFor added in 2024 update. This term is non-normative, pending further implementation experience

    - - input for - - Relation between an input and a Procedure that - uses it. +

    + input for - + Relation between an input and a Procedure + that + uses it. +

    @@ -927,11 +930,12 @@
    sosa:outputFor

    outputFor added in 2024 update. This term is non-normative, pending further implementation experience

    - - output for - - Relation between an output or result and a Procedure - that generates it in an execution. +

    + output for - + Relation between an output or result and a Procedure + that generates it in an execution. +

    @@ -967,12 +971,12 @@
    sosa:outputFor
    sosa:usedForExecution

    IRI: http://www.w3.org/ns/sosa/usedForExecution

    an OWL Object Property

    - - used for execution - - A relation from a re-usable - Procedure to an - Execution made using it. -
    +

    + used for execution - + A relation from a re-usable + Procedure to an + Execution made using it. +

    @@ -1216,7 +1220,8 @@
    sosa:ExecutionCollection
    href="#SOSAExecution">Execution (direct or transitive) MUST have a value for that property that matches or falls within one of those ranges or intervals. -
    +

    +

    The members of a collection (set) do not necessarily share a common value for any property.

    @@ -1294,61 +1299,61 @@
    sosa:endTime

    endTime added in the 2024 Update. This term is non-normative, pending further implementation experience

    - - end time - - The instant of time when the - Execution - or Deployment - was ended or completed -
    +

    + end time - + The instant of time when the + Execution + or Deployment + was ended or completed +

    +

    The value would usually be encoded using xsd:dateTime xsd:date xsd:gYearMonth xsd:gYear. -
    - -

    - - - - - + +
    Example -
    +            

    + + + + + + - - + + + + + + + - - - - - - -
    Example +
     "2024-01-23T19:26:00+11:00"^^xsd:dateTime
     "2024-01-23"^^xsd:date
     "2024-01"^^xsd:gMonth
     "2024"^^xsd:gYear
     
    -
    Domain Includes
    Domain Includes + sosa:Execution + , sosa:ExecutionCollection + , sosa:Actuation + , sosa:ActuationCollection + , sosa:Deployment +
    is Defined By - sosa:Execution - , sosa:ExecutionCollection - , sosa:Actuation - , sosa:ActuationCollection - , sosa:Deployment + http://www.w3.org/ns/sosa/common/
    is Defined By - http://www.w3.org/ns/sosa/common/ -
    - +
    +
    sosa:endTime
    sosa:hasFeatureOfInterest

    IRI: http://www.w3.org/ns/sosa/hasFeatureOfInterest

    an OWL Object Property

    - - has feature of interest - - A relation between an - Execution and its target entity - i.e. an Actuation and the entity whose property was modified, - or an Observation and the entity whose quality was observed, - or an act of Sampling and the entity that was sampled. -
    -
    - A relation between a Deployment and its specific target entity. -
    +

    + has feature of interest - + A relation between an + Execution and its target entity + i.e. an Actuation and the entity whose property was modified, + or an Observation and the entity whose quality was observed, + or an act of Sampling and the entity that was sampled. +
    +
    + A relation between a Deployment and its specific target entity. +
    +

    @@ -1611,24 +1617,24 @@
    sosa:hasResult
    sosa:hasSimpleResult

    IRI: http://www.w3.org/ns/sosa/hasSimpleResult

    an OWL Datatype Property

    - - has simple result - - The simple value of an Actuation - or - Observation . - - In the case of an sosa:Actuation, the result is the intended value - of the - sosa:Property following the - execution of the Procedure by the Actuator. - - In the case of an Observation, the result is the - value - produced - by the execution of the Procedure by the Sensor. - - -
    +

    + has simple result - + The simple value of an Actuation + or + Observation . + + In the case of an sosa:Actuation, the result is the intended value + of the + sosa:Property following the + execution of the Procedure by the Actuator. + + In the case of an Observation, the result is the + value + produced + by the execution of the Procedure by the Sensor. + +

    @@ -1816,11 +1822,12 @@
    sosa:inputValueForExecution
    sosa:isResultOf

    IRI: http://www.w3.org/ns/sosa/isResultOf

    an OWL Object Property

    - - is result of - - Relation linking a result to the Execution - that created or caused it (i.e. the Actuation or Observation or act of Sampling.
    +

    + is result of - + Relation linking a result to the Execution + that created or caused it (i.e. the Actuation or Observation or act of Sampling. +

    @@ -1877,7 +1884,7 @@
    sosa:madeBySystem
    Relation linking an Execution to the System that made it. -
    +

    @@ -1955,15 +1962,15 @@
    sosa:madeBySystem
    sosa:phenomenonOccurred

    IRI: http://www.w3.org/ns/sosa/phenomenonOccurred

    an OWL Object Property

    - - phenomenon occurred - - The result of an - Execution - (i.e. Actuation - , Observation - , or Sampling) - that this time applies to. -
    +

    + phenomenon occurred - + The result of an + Execution + (i.e. Actuation + , Observation + , or Sampling) + that this time applies to. +

    @@ -2260,15 +2267,15 @@
    sosa:startTime
    sosa:usedProcedure

    IRI: http://www.w3.org/ns/sosa/usedProcedure

    an OWL Object Property

    - - used procedure - - A relation from an - Execution, i.e. an - Actuation, an - Observation, or a - Sampling to a re-usable - Procedure used to make it. -
    +

    + used procedure - + A relation from an + Execution, i.e. an + Actuation, an + Observation, or a + Sampling to a re-usable + Procedure used to make it. +

    @@ -2508,15 +2515,18 @@
    sosa:Platform

    IRI: http://www.w3.org/ns/sosa/Platform

    an OWL Class

    - - Platform - - A Platform is an entity that hosts other entities, particularly Sensors, - Actuators, Samplers, and other Platforms.
    - The INSPIRE 'Environmental Monitoring Facility' may be implemented - using - SOSA by the OWL/RDFS class 'Platform'.
    +

    + Platform - + A Platform is an entity that hosts other entities, particularly Sensors, + Actuators, Samplers, and other Platforms. +

    +

    + The INSPIRE 'Environmental Monitoring Facility' may be implemented + using + SOSA by the OWL/RDFS class 'Platform'. +

    A Platform may have a geographic location. See Location and Geometry for patterns to describe this.

    @@ -2717,10 +2727,12 @@
    sosa:deployedAsset

    deployedAsset added in 2024 update. This term is non-normative, pending further implementation experience

    - - deployed asset - - Relation between a Deployment - and a deployed asset (System or Platform). +

    + deployed asset - + Relation between a Deployment + and a deployed asset (System or Platform). +

    @@ -2761,11 +2773,11 @@
    sosa:deployedAsset
    sosa:deployedOnPlatform

    IRI: http://www.w3.org/ns/sosa/deployedOnPlatform

    an OWL Object Property

    - - deployed on platform - - Relation between a Deployment - and the Platform on which the Systems are deployed. -
    +

    + deployed on platform - + Relation between a Deployment + and the Platform on which the Systems are deployed. +

    @@ -2806,10 +2818,11 @@
    sosa:deployedOnPlatform
    sosa:deployedSystem

    IRI: http://www.w3.org/ns/sosa/deployedSystem

    an OWL Object Property

    - - deployed system - - Relation between a Deployment - and a deployed System. +

    + deployed system - + Relation between a Deployment + and a deployed System. +

    @@ -2850,12 +2863,13 @@
    sosa:deployedSystem
    sosa:hasDeployment

    IRI: http://www.w3.org/ns/sosa/hasDeployment

    an OWL Object Property

    - - has deployment - - Relation between a System and a Deployment, recording that the System - is - deployed in that Deployment. +

    + has deployment - + Relation between a System and a Deployment, recording that the System + is + deployed in that Deployment. +

    @@ -2898,10 +2912,11 @@
    sosa:hasSubSystem

    an OWL Object Property

    See this pattern for guidance on describing complex systems.

    - - has subsystem - - Relation between a System and its - component parts. +

    + has subsystem - + Relation between a System and its + component parts. +

    @@ -2942,14 +2957,15 @@
    sosa:hasSubSystem
    sosa:hosts

    IRI: http://www.w3.org/ns/sosa/hosts

    an OWL Object Property

    - - hosts - - Relation between a Platform and a - System ( - Sensor, - Actuator, - Sampler), or Platform, - hosted or mounted on it.
    +

    + hosts - + Relation between a Platform and a + System ( + Sensor, + Actuator, + Sampler), or Platform, + hosted or mounted on it. +

    @@ -3017,11 +3033,12 @@
    sosa:hosts
    sosa:implements

    IRI: http://www.w3.org/ns/sosa/implements

    an OWL Object Property

    - - implements - - Relation between an entity that implements a Procedure in some executable way and the Procedure (an algorithm, procedure or method). +

    + implements - + Relation between an entity that implements a Procedure in some executable way and the Procedure (an algorithm, procedure or method). +

    @@ -3062,13 +3079,15 @@
    sosa:implements
    sosa:inDeployment

    IRI: http://www.w3.org/ns/sosa/inDeployment

    an OWL Object Property

    - - in deployment - - Relation between a Platform and a - Deployment, meaning that the - deployedSystems of - the - Deployment are hosted on the Platform. +

    + in deployment - + Relation between a Platform and a + Deployment, meaning that the + deployedSystems of + the + Deployment are hosted on the Platform. +

    @@ -3116,14 +3135,14 @@
    sosa:inDeployment
    sosa:isHostedBy

    IRI: http://www.w3.org/ns/sosa/isHostedBy

    an OWL Object Property

    - - is hosted by - - Relation between an Actuator, or - Sensor, or Sampler, or Platform, and the Platform that it is - mounted - on or hosted by. -
    +

    + is hosted by - + Relation between an Actuator, or + Sensor, or Sampler, or Platform, and the Platform that it is + mounted + on or hosted by. +

    @@ -3174,10 +3193,11 @@
    sosa:isSubSystemOf

    isSubSystemOf added in 2024 update. This term is non-normative, pending further implementation experience

    - - is subsystem of - - Relation between component parts and a System - they belong to. +

    + is subsystem of - + Relation between component parts and a System + they belong to. +

    @@ -3229,6 +3249,7 @@
    sosa:madeExecution
    System and an Execution it has made. +

    @@ -3399,8 +3420,12 @@
    sosa:hasMember
    or collection of Samples ) within a collection. +

    +

    rules for the consistency of values of properties of collections and properties of their members are given for each collection type. +

    +

    Note that there is a single `member` property. OWL or SHACL constraints may limit the range depending on the context of different collection types.

    @@ -3500,8 +3525,12 @@
    sosa:memberOf
    or collection of Samples ) to a collection it belongs to. +

    +

    rules for the consistency of values of properties of collections and properties of their members are given for each collection type. +

    +

    Note that there is a single `member` property. OWL or SHACL constraints may limit the range depending on the context of different collection types. diff --git a/ssn/chapters/ModelQuantity.html b/ssn/chapters/ModelQuantity.html index aada047f..426fec7f 100644 --- a/ssn/chapters/ModelQuantity.html +++ b/ssn/chapters/ModelQuantity.html @@ -35,6 +35,6 @@

    Quantity Values and Units of Measure

    - Custom datatypes are not strictly compatible with OWL, which restricts the set of atatypes that can be used. + Custom datatypes are not strictly compatible with OWL, which restricts the set of datatypes that can be used. See sec. 5.2 in [[owl2-syntax]] for more details.

    \ No newline at end of file From a6d7f834856cc857736e236c4dd0fd9e702f69d2 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 20 Jan 2025 14:13:59 +1100 Subject: [PATCH 34/74] Formatting, Location examples --- ssn/chapters/Actuation.html | 63 +++---- ssn/chapters/Common.html | 18 +- .../{ModeluFOI.html => ModelFOI.html} | 2 +- ssn/chapters/ModelLocation.html | 24 ++- ssn/chapters/Observation.html | 155 ++++++++++-------- ssn/chapters/Sample-Relations.html | 54 +++--- ssn/chapters/Sampling.html | 9 +- ssn/index.html | 10 +- ssn/rdf/examples/InkBird.ttl | 15 +- ssn/rdf/examples/LocatedDeployment.ttl | 26 +++ ssn/rdf/examples/LocatedPlatform.ttl | 21 +++ ssn/rdf/examples/LocatedSensor.ttl | 18 ++ 12 files changed, 269 insertions(+), 146 deletions(-) rename ssn/chapters/{ModeluFOI.html => ModelFOI.html} (97%) create mode 100644 ssn/rdf/examples/LocatedDeployment.ttl create mode 100644 ssn/rdf/examples/LocatedPlatform.ttl create mode 100644 ssn/rdf/examples/LocatedSensor.ttl diff --git a/ssn/chapters/Actuation.html b/ssn/chapters/Actuation.html index 3b4c907d..25a5eace 100644 --- a/ssn/chapters/Actuation.html +++ b/ssn/chapters/Actuation.html @@ -439,11 +439,12 @@
    sosa:actsOn

    an OWL Object Property

    actsOn added in 2024 update. This term is non-normative, pending further implementation experience

    - - acts on - - Relation between an - Actuator and a - Property whose state may be changed by using it.
    +

    + acts on - + Relation between an + Actuator and a + Property whose state may be changed by using it. +

    @@ -496,11 +497,11 @@
    sosa:actsOnProperty
    href="#SOSAactsOnProperty">sosa:actsOnProperty. That specialization of sosa:Property is deprecated in this 2024 edition.

    - - acts on property - - Relation between an Actuation and the - sosa:Property it acted upon. -
    +

    + acts on property - + Relation between an Actuation and the + sosa:Property it acted upon. +

    @@ -559,11 +560,12 @@
    sosa:isActedOnBy
    href="#SOSAisActedOnBy">sosa:isActedOnBy. That specialization of sosa:Property is deprecated in this 2024 edition.

    - - is acted on by - - Relation between a - Property and an - Actuator that may change its state.
    +

    + is acted on by - + Relation between a + Property and an + Actuator that may change its state. +

    @@ -605,10 +607,11 @@
    sosa:isActedOnBy
    sosa:madeActuation

    IRI: http://www.w3.org/ns/sosa/madeActuation

    an OWL Object Property

    - - made actuation - - Relation between an Actuator and an - Actuation made it.
    +

    + made actuation - + Relation between an Actuator and an + Actuation made it. +

    @@ -664,11 +667,11 @@
    sosa:madeActuation
    sosa:madeByActuator

    IRI: http://www.w3.org/ns/sosa/madeByActuator

    an OWL Object Property

    - - made by actuator - - Relation linking an Actuation to the - Actuator that made it. -
    +

    + made by actuator - + Relation linking an Actuation to the + Actuator that made it. +

    @@ -727,12 +730,12 @@
    sosa:wasActedOnBy

    wasActedOnBy added in 2024 update. This term is non-normative, pending further implementation experience

    - - was acted on by - - Relation between a - sosa:Property and an - Actuation that changed its state. -
    +

    + was acted on by - + Relation between a + sosa:Property and an + Actuation that changed its state. +

    diff --git a/ssn/chapters/Common.html b/ssn/chapters/Common.html index c4041d0d..28801f86 100644 --- a/ssn/chapters/Common.html +++ b/ssn/chapters/Common.html @@ -72,8 +72,8 @@
    sosa:FeatureOfInterest

    The relationship between sosa:FeatureOfInterest, and types or - classes - defined in a domain model is explained below in Common Modeling Questions + classes defined in a domain model is explained below in Common Modeling + Questions

    @@ -1373,6 +1373,12 @@
    sosa:hasFeatureOfInterest
    A relation between a Deployment and its specific target entity.

    +

    + The distinction between sosa:hasFeatureOfInterest, and sosa:hasUltimateFeatureOfInterest is explored further in + Common Modeling Questions +

    +
    @@ -1635,6 +1641,9 @@
    sosa:hasSimpleResult
    href="#SOSASensor">Sensor.

    +

    The result of an actuation or observation may be a quantity. + See Quantity Values and Units of Measure for patterns to describe this.

    +
    @@ -1708,6 +1717,11 @@
    sosa:hasUltimateFeatureOfInteres or an act of Sampling and the ultimate entity that was sampled.

    +

    + The distinction between sosa:hasFeatureOfInterest, and sosa:hasUltimateFeatureOfInterest is explored further in + Common Modeling Questions +

    diff --git a/ssn/chapters/ModeluFOI.html b/ssn/chapters/ModelFOI.html similarity index 97% rename from ssn/chapters/ModeluFOI.html rename to ssn/chapters/ModelFOI.html index 1b87e08b..3ae67ef0 100644 --- a/ssn/chapters/ModeluFOI.html +++ b/ssn/chapters/ModelFOI.html @@ -1,4 +1,4 @@ -

    Ultimate feature of interest

    +

    Proximate and Ultimate feature of interest

    The object of the hasFeatureOfInterest property of an act diff --git a/ssn/chapters/ModelLocation.html b/ssn/chapters/ModelLocation.html index 152563c5..3475fb2f 100644 --- a/ssn/chapters/ModelLocation.html +++ b/ssn/chapters/ModelLocation.html @@ -19,9 +19,25 @@

    Location

    In case of classes, e.g., specific features of interests such as rivers, these MAY be defined as subclasses of geo:Feature.

    + +
    Systems, Platforms, Deployments
    +

    + For example, a System, such as a Sensor might be permanently located in a specific location, described as follows: +

    +
    
    +

    + Alternatively, the location may be associated with a Platform, which might also host other Systems: +

    +

    - For example, if observations are made of the atmosphere at a specific location, it might be described as a - Sample using the following pattern: + If this location is not permanent, then it may be characterized as a Deployment: +

    +
    
    +
    +
    Samples, Features
    +

    + Observations of the atmosphere are necessarily made at a specific location. + This might be described as a Sample using the following pattern:

    @@ -30,6 +46,7 @@

    Location

    property SHALL be inferred to be a geo:Feature. Thus EarthAtmosphere_StE is both a sosa:Sample and a geo:Feature.

    +

    Relative locations

    The location of the System (Actuator, Sensor, Sampler) responsible for making an Execution (Actuation, Observation, Sampling) may also be of interest. @@ -46,7 +63,8 @@

    Relative locations

    Note that in the case of ex situ measurements, there will usually be a Sample and thus an act of Sampling involved, whose properties determine the location and phenomenon-time.

    -

    Geometry

    + +

    Geometry results

    Geometry may appear in other contexts than as an explicit property of a geo:Feature. For example, a determination of location using a GPS received can be described as an Observation whose diff --git a/ssn/chapters/Observation.html b/ssn/chapters/Observation.html index d4b96629..f412143e 100644 --- a/ssn/chapters/Observation.html +++ b/ssn/chapters/Observation.html @@ -541,13 +541,14 @@

    sosa:Sensor
    sosa:Stimulus

    IRI: http://www.w3.org/ns/sosa/Stimulus

    an OWL Class

    - - Stimulus - - An event in the real world that 'triggers' the - Sensor. The properties associated to the - Stimulus may be different to the eventual observed - Property. - It is the event, not the object, that triggers the Sensor. +

    + Stimulus - + An event in the real world that 'triggers' the + Sensor. The properties associated to the + Stimulus may be different to the eventual observed + Property. + It is the event, not the object, that triggers the Sensor. +

    @@ -609,13 +610,14 @@
    sosa:Stimulus
    sosa:detects

    IRI: http://www.w3.org/ns/sosa/detects

    an OWL Object Property

    - - detects - - A relation from a Sensor - to the Stimulus that it detects. - The Stimulus itself will be serving as a proxy - (isProxyFor) for some - Property. +

    + detects - + A relation from a Sensor + to the Stimulus that it detects. + The Stimulus itself will be serving as a proxy + (isProxyFor) for some + Property. +

    @@ -658,10 +660,11 @@
    sosa:hasProxy

    hasProxy added in 2024 update. This term is non-normative, pending further implementation experience

    - - has proxy - - A relation from an sosa:Property - to the Stimulus that serves as its proxy. +

    + has proxy - + A relation from an sosa:Property + to the Stimulus that serves as its proxy. +

    @@ -717,13 +720,14 @@
    sosa:isDetectedBy

    isDetectedBy added in 2024 update. This term is non-normative, pending further implementation experience

    - - is detected by - - A relation from a Stimulus to the - Sensor that may detect it. - The Stimulus itself will be serving as a proxy - (isProxyFor) for some - Property. +

    + is detected by - + A relation from a Stimulus to the + Sensor that may detect it. + The Stimulus itself will be serving as a proxy + (isProxyFor) for some + Property. +

    @@ -766,11 +770,11 @@
    sosa:isObservedBy
    href="#SOSAisObservedBy">sosa:isObservedBy. That specialization of sosa:Property is deprecated in this 2024 edition.

    - - is observed by - - Relation between a Property - and the Sensor able to observe it. -
    +

    + is observed by - + Relation between a Property + and the Sensor able to observe it. +

    @@ -814,11 +818,12 @@
    sosa:isProxyFor
    href="#SOSAisProxyFor">sosa:isProxyFor. That specialization of sosa:Property is deprecated in this 2024 edition.

    - - isProxyFor - - A relation from a Stimulus to the Property - that the Stimulus is serving as a proxy for. +

    + isProxyFor - + A relation from a Stimulus to the Property + that the Stimulus is serving as a proxy for. +

    @@ -871,11 +876,12 @@
    sosa:isProxyFor
    sosa:madeBySensor

    IRI: http://www.w3.org/ns/sosa/madeBySensor

    an OWL Object Property

    - - made by Sensor - - Relation between an Observation and - the Sensor - which made the Observations.
    +

    + made by Sensor - + Relation between an Observation and + the Sensor + which made the Observations. +

    @@ -922,10 +928,11 @@
    sosa:madeBySensor
    sosa:madeObservation

    IRI: http://www.w3.org/ns/sosa/madeObservation

    an OWL Object Property

    - - made observation - - Relation between a Sensor - and an Observation made by the Sensor.
    +

    + made observation - + Relation between a Sensor + and an Observation made by the Sensor. +

    @@ -1047,16 +1054,18 @@
    sosa:observedProperty
    More specific terms are used in other contexts for related concepts, such as 'analyte' (chemistry) and 'determinand' (water quality).

    - - observed property - - Relation linking an - Observation or ObservationCollection - to the property that was - observed. - The Property MUST be a property of the - FeatureOfInterest (linked by - hasFeatureOfInterest) of this - Observation. +

    + observed property - + Relation linking an + Observation or ObservationCollection + to the property that was + observed. + The Property MUST be a property of the + FeatureOfInterest (linked by + hasFeatureOfInterest) of this + Observation. +

    @@ -1105,11 +1114,12 @@
    sosa:observes
    href="#SOSAobserves">sosa:observes. That specialization of sosa:Property is deprecated in this 2024 edition.

    - - observes - - Relation between a Sensor - and a Property that it is capable of - sensing.
    +

    + observes - + Relation between a Sensor + and a Property that it is capable of + sensing. +

    @@ -1165,10 +1175,11 @@
    sosa:originated

    originated added in 2024 update. This term is non-normative, pending further implementation experience

    - - originated - - Relation between a Stimulus and the - Observation that was originated by it. +

    + originated - + Relation between a Stimulus and the + Observation that was originated by it. +

    @@ -1381,11 +1392,12 @@
    sosa:wasObservedBy

    wasObservedBy added in 2024 update. This term is non-normative, pending further implementation experience

    +

    + was observed by - + Relation between a Property + and an Observation that observed it. +

    - was observed by - - Relation between a Property - and an Observation that observed it. -
    @@ -1425,10 +1437,11 @@
    sosa:wasObservedBy
    sosa:wasOriginatedBy

    IRI: http://www.w3.org/ns/sosa/wasOriginatedBy

    an OWL Object Property

    - - was originated by - - Relation between an Observation and - the Stimulus that originated it. +

    + was originated by - + Relation between an Observation and + the Stimulus that originated it. +

    diff --git a/ssn/chapters/Sample-Relations.html b/ssn/chapters/Sample-Relations.html index f7ac8c8f..c84ece09 100644 --- a/ssn/chapters/Sample-Relations.html +++ b/ssn/chapters/Sample-Relations.html @@ -53,10 +53,11 @@

    Sample Relationships Specification

    sosa-rel:RelationshipNature

    IRI: http://www.w3.org/ns/sosa/sampling/RelationshipNature

    an OWL Class

    - - Nature of relationship (between samples) - - Members of this class indicate the nature of a relationship - between two Samples. +

    + Nature of relationship (between samples) - + Members of this class indicate the nature of a relationship + between two Samples. +

    @@ -107,10 +108,11 @@
    sosa-rel:RelationshipNature
    sosa-rel:SampleRelationship

    IRI: http://www.w3.org/ns/sosa/sampling/SampleRelationship

    an OWL Class

    - - Sample relationship - - Members of this class represent a relationship between a Sample and another. +

    + Sample relationship - + Members of this class represent a relationship between a Sample and another. +

    @@ -133,12 +135,13 @@
    sosa-rel:SampleRelationship
    sosa-rel:hasSampleRelationship

    IRI: http://www.w3.org/ns/sosa/sampling/hasSampleRelationship

    an OWL Object Property

    +

    + has sample relationship - + Links a sample to a Sample Relationship (which links to a related Sample). +

    - has sample relationship - - Links a sample to a Sample Relationship (which links to a related Sample). -
    @@ -170,14 +173,13 @@
    sosa-rel:hasSampleRelationship
    sosa-rel:natureOfRelationship

    IRI: http://www.w3.org/ns/sosa/sampling/natureOfRelationship

    an OWL Object Property

    +

    + nature of (sample) relationship - + Links a Sample Relationship to an indication of the nature + of the relationship. +

    - nature of (sample) relationship - - Links a Sample Relationship to an indication of the nature - of - the - relationship. -
    @@ -208,12 +210,12 @@
    sosa-rel:natureOfRelationship
    sosa-rel:relatedSample

    IRI: http://www.w3.org/ns/sosa/sampling/relatedSample

    an OWL Object Property

    - - related sample - - Links a Sample Relationship to the related Sample. -
    +

    + related sample - + Links a Sample Relationship to the related Sample. +

    diff --git a/ssn/chapters/Sampling.html b/ssn/chapters/Sampling.html index 356ea63a..8d37c51f 100644 --- a/ssn/chapters/Sampling.html +++ b/ssn/chapters/Sampling.html @@ -1367,10 +1367,11 @@
    sosa:isSampleOf
    sosa:madeBySampler

    IRI: http://www.w3.org/ns/sosa/madeBySampler

    an OWL Object Property

    - - made by sampler - - Relation linking an act of Sampling to - the Sampler (sampling device or entity) that made it.
    +

    + made by sampler - + Relation linking an act of Sampling to + the Sampler (sampling device or entity) that made it. +

    diff --git a/ssn/index.html b/ssn/index.html index 892faaad..57c03480 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -212,13 +212,15 @@

    Common Modeling Patterns

    This section discusses how to handle some common modeling questions.

    -
    +
    -
    +
    + +
    -
    +
    @@ -226,8 +228,6 @@

    Common Modeling Patterns

    -
    -
    diff --git a/ssn/rdf/examples/InkBird.ttl b/ssn/rdf/examples/InkBird.ttl index adbc7b2f..15890e2c 100644 --- a/ssn/rdf/examples/InkBird.ttl +++ b/ssn/rdf/examples/InkBird.ttl @@ -1,13 +1,17 @@ +@prefix ex: . +@prefix gs1: . @prefix qk: . @prefix qudt: . @prefix rdf: . @prefix rdfs: . @prefix schema: . +@prefix skos: . @prefix sosa: . @prefix system: . @prefix unit: . +@prefix xsd: . - rdfs:subClassOf sosa:Sensor ; +ex:IBS-TH2 rdfs:subClassOf sosa:Sensor ; rdfs:comment "The class of IBS-TH2 sensors is a subclass of the general class of sensors" ; gs1:pip ; rdfs:label "Bluetooth Temperature and Humidity Sensor IBS-TH2" ; @@ -52,9 +56,9 @@ ] ; . - - a ; - skos:notation "12gth456a-23190" ; +ex:IBS-TH2-56 + a ex:IBS-TH2 ; + rdfs:label "12gth456a-23190"^^ex:serialNumber ; . qk:RelativeHumidity @@ -67,4 +71,7 @@ qk:Temperature . qudt:QuantityKind rdfs:subClassOf sosa:Property ; +. +ex:serialNumber a rdfs:Datatype ; + rdfs:subClassOf xsd:string ; . \ No newline at end of file diff --git a/ssn/rdf/examples/LocatedDeployment.ttl b/ssn/rdf/examples/LocatedDeployment.ttl new file mode 100644 index 00000000..5cc03e04 --- /dev/null +++ b/ssn/rdf/examples/LocatedDeployment.ttl @@ -0,0 +1,26 @@ +@prefix ex: . +@prefix geo: . +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix xsd: . + +ex:TH2-56-2024 a sosa:Deployment ; + sosa:deployedSystem ex:IBS-TH2-56 ; + sosa:deployedOnPlatform ex:Room31C ; + sosa:startTime "2024-01-01T00:00:00Z"^^xsd:dateTime ; + sosa:endTime "2024-12-31T23:59:59Z"^^xsd:dateTime ; +. +ex:Room31C a sosa:Platform ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (-73.877244 45.511672)"^^geo:WktLiteral ; + ] ; +. +ex:IBS-TH2-56 + a sosa:Sensor ; + rdfs:label "12gth456a-23190"^^ex:serialNumber ; + . +ex:serialNumber a rdfs:Datatype ; + rdfs:subClassOf xsd:string ; +. diff --git a/ssn/rdf/examples/LocatedPlatform.ttl b/ssn/rdf/examples/LocatedPlatform.ttl new file mode 100644 index 00000000..a19da81c --- /dev/null +++ b/ssn/rdf/examples/LocatedPlatform.ttl @@ -0,0 +1,21 @@ +@prefix ex: . +@prefix geo: . +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix xsd: . + +ex:Room31C a sosa:Platform ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (-73.877244 45.511672)"^^geo:WktLiteral ; + ] ; + sosa:hosts ex:IBS-TH2-56 ; +. +ex:IBS-TH2-56 + a sosa:Sensor ; + rdfs:label "12gth456a-23190"^^ex:serialNumber ; + . +ex:serialNumber a rdfs:Datatype ; + rdfs:subClassOf xsd:string ; +. diff --git a/ssn/rdf/examples/LocatedSensor.ttl b/ssn/rdf/examples/LocatedSensor.ttl new file mode 100644 index 00000000..3f6c90b8 --- /dev/null +++ b/ssn/rdf/examples/LocatedSensor.ttl @@ -0,0 +1,18 @@ +@prefix ex: . +@prefix geo: . +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix xsd: . + +ex:IBS-TH2-56 + a sosa:Sensor ; + rdfs:label "12gth456a-23190"^^ex:serialNumber ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (-73.877244 45.511672)"^^geo:WktLiteral ; + ] ; + . +ex:serialNumber a rdfs:Datatype ; + rdfs:subClassOf xsd:string ; +. From 9e92b265d13b26a871523a6f77f485fa23def69b Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 21 Jan 2025 13:17:34 +1100 Subject: [PATCH 35/74] Elaborate sample relationships Elaborate Sample and System locations add diagrams --- ssn/chapters/ModelLocation.html | 19 ++++++++- ssn/chapters/ModelSampleChains.html | 31 ++++++++++---- ssn/chapters/Sampling.html | 9 ++-- ssn/images/SampleLocation.png | Bin 0 -> 26242 bytes ssn/images/SensorLocation.png | Bin 0 -> 38493 bytes ssn/images/bubble-provenance.png | Bin 0 -> 32561 bytes ssn/rdf/examples/Sample-ice-core-bubble.ttl | 44 ++++++++++++++++++++ ssn/rdf/examples/SamplingLocation.ttl | 20 +++++++++ 8 files changed, 110 insertions(+), 13 deletions(-) create mode 100644 ssn/images/SampleLocation.png create mode 100644 ssn/images/SensorLocation.png create mode 100644 ssn/images/bubble-provenance.png create mode 100644 ssn/rdf/examples/Sample-ice-core-bubble.ttl create mode 100644 ssn/rdf/examples/SamplingLocation.ttl diff --git a/ssn/chapters/ModelLocation.html b/ssn/chapters/ModelLocation.html index 3475fb2f..028d625e 100644 --- a/ssn/chapters/ModelLocation.html +++ b/ssn/chapters/ModelLocation.html @@ -30,14 +30,20 @@
    Systems, Platforms, Deployments

    
     

    - If this location is not permanent, then it may be characterized as a Deployment: + If this Sensor location is not permanent, then it may be characterized as a Deployment:

    
     
    +
    + Alternative ways to characterize the location of a Sensor +
    System location - direct and indirect descriptions
    +
    + +
    Samples, Features

    Observations of the atmosphere are necessarily made at a specific location. - This might be described as a Sample using the following pattern: + The location of an air Sample might use the following pattern:

    
     

    @@ -46,6 +52,15 @@

    Samples, Features
    property SHALL be inferred to be a geo:Feature. Thus EarthAtmosphere_StE is both a sosa:Sample and a geo:Feature.

    +

    + The location could also be provided as a parameter to the act of Sampling that generated the Sample: +

    +
    
    +
    +
    + Alternative ways to characterize the location of a Sample +
    Sample location - direct and indirect descriptions
    +

    Relative locations

    diff --git a/ssn/chapters/ModelSampleChains.html b/ssn/chapters/ModelSampleChains.html index e12b47d0..94331b62 100644 --- a/ssn/chapters/ModelSampleChains.html +++ b/ssn/chapters/ModelSampleChains.html @@ -1,13 +1,26 @@ -

    Basis of a chain of samples

    +

    Sample chains

    - Many observation workflows rely on a chain of samples, each making a sub-sample of the predecessor sample. - Knowing either the original sample or the initial feature of interest at the base of the chain is often useful - for both discovery and management purposes. - For example, shows a scenario from geology involving many samples + Many observation workflows rely on a chain of samples, where it is important to understand the provenance of the sample which is the (proximate) feature of interest for observations. + Knowing either the original sample or the initial feature of interest at the base of the chain is useful for both discovery and management purposes.

    +

    + For example, gas bubbles from ice-cores are examined in climate research. + The ice-core is a sample of the ice-sheet, while the bubble taken from the core is a sample of an ancient + atmosphere. + The two samples have different values for the isSampleOf property, reflecting the different hasFeatureOfInterest values for the separate acts of Sampling. + The bubble is also a sample of the atmosphere, which is a feature of interest for the observations. +

    +
    + Provenance of sample from ice core +
    Sequence of two acts of sampling to recover a gas bubble from an ice sheet. +
    +
    +
    
    +

    + shows a more complex scenario involving many samples derived from an initial one, with some relationships that may be useful in processing and discovery of subsequent observations, the intention of which will be to characterize various aspects of the original sample which is representative of an ultimate feature of interest. - This is supported by additional properties for relationships between samples and features of interest at + This is supported by additional properties for relationships between samples and features of interest at specific points in the chain: hasOriginalSample and hasSampledFeature.

    @@ -25,8 +38,10 @@

    Basis of a chain of samples

    - Having a direct indication of an original sample allows multiple results to be combined to describe the sample. - Having a direct indication of the ultimate feature that was sampled allows discovery of many samples that are + Having a direct indication of an original sample allows multiple results to be combined to describe the + sample. + Having a direct indication of the ultimate feature that was sampled allows discovery of many samples that + are intended to be representative of that feature.

    diff --git a/ssn/chapters/Sampling.html b/ssn/chapters/Sampling.html index 8d37c51f..d87d431e 100644 --- a/ssn/chapters/Sampling.html +++ b/ssn/chapters/Sampling.html @@ -908,6 +908,7 @@
    sosa:featureSampledBy
    SampleCollection that is intended to be representative of it - i.e. the end of a chain of hasSample relations.

    +

    Some examples of relationships between samples and features of interest within chains are illustrated in Sample Chains.

    @@ -958,8 +959,8 @@
    sosa:hasOriginalSample
    Relation from a Sample or SampleCollection to the original Sample collected from the ultimate feature of interest. -

    +

    Some examples of relationships between samples and features of interest within chains are illustrated in Sample Chains.

    @@ -1067,8 +1068,9 @@
    sosa:hasSampledFeature
    href="#SOSASampleCollection">SampleCollection to the ultimate FeatureOfInterest that it is intended to be representative - of - i.e. the end of a chain of isSampleOf relations.
    + of - i.e. the end of a chain of isSampleOf relations.

    +

    Some examples of relationships between samples and features of interest within chains are illustrated in Sample Chains.

    @@ -1119,8 +1121,8 @@
    sosa:isOriginalSampleOf
    Relation from the original Sample collected from the ultimate feature of interest to a downstream Sample or SampleCollection. -

    +

    Some examples of relationships between samples and features of interest within chains are illustrated in Sample Chains.

    @@ -1318,6 +1320,7 @@
    sosa:isSampleOf
    href="#SOSAFeatureOfInterest">FeatureOfInterest that it is intended to be representative of.

    +

    Some examples of relationships between samples and features of interest within chains are illustrated in Sample Chains.

    diff --git a/ssn/images/SampleLocation.png b/ssn/images/SampleLocation.png new file mode 100644 index 0000000000000000000000000000000000000000..57e9bd805d56d3bca092516cb33f4ad4fa16c08c GIT binary patch literal 26242 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 . +@prefix geo: . +@prefix orcid: . +@prefix owl: . +@prefix rdf: . +@prefix sosa: . +@prefix unit: . +@prefix xsd: . + +ex:IceCore12 a sosa:Sample , sosa:MaterialSample ; + sosa:isSampleOf ex:Antarctic_ice_sheet ; + sosa:isResultOf ex:WellDrilling4578 ; +. +ex:Bubble873 a sosa:Sample , sosa:MaterialSample ; + sosa:isSampleOf ex:IceCore12 , ex:EarthAtmosphere; + sosa:hasSampledFeature ex:Antarctic_ice_sheet ; + sosa:isResultOf ex:CoreEx1923 ; +. +ex:WellDrilling4578 a sosa:Sampling ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (9.32 -73.35)"^^geo:WktLiteral ; + ] ; + sosa:hasResult ex:IceCore12 ; + sosa:madeBySampler ex:thermalDrill2 ; + sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest ex:Antarctic_ice_sheet ; +. +ex:CoreEx1923 a sosa:Sampling ; + sosa:hasInputValue [ + ex:offset "15.202"^^unit:M ; + ] ; + sosa:hasResult ex:Bubble873 ; + sosa:madeBySampler orcid:0000-0002-3884-3420 ; + sosa:resultTime "2018-01-09T14:12:00Z"^^xsd:dateTime ; + sosa:hasFeatureOfInterest ex:IceCore12 ; + sosa:hasUltimateFeatureOfInterest ex:Antarctic_ice_sheet ; +. +ex:Antarctic_ice_sheet a sosa:FeatureOfInterest ; + owl:sameAs ; +. +ex:EarthAtmosphere a sosa:FeatureOfInterest ; + owl:sameAs ; + . diff --git a/ssn/rdf/examples/SamplingLocation.ttl b/ssn/rdf/examples/SamplingLocation.ttl new file mode 100644 index 00000000..2e7ed435 --- /dev/null +++ b/ssn/rdf/examples/SamplingLocation.ttl @@ -0,0 +1,20 @@ +@prefix ex: . +@prefix geo: . +@prefix owl: . +@prefix rdf: . +@prefix sosa: . + +ex:EarthAtmosphere_StE a sosa:Sample ; + sosa:isSampleOf ex:EarthAtmosphere ; + sosa:isResultOf ex:AirSampling_StE ; +. +ex:AirSampling_StE a sosa:Sampling ; + sosa:hasFeatureOfInterest ex:EarthAtmosphere ; + sosa:hasInputValue [ + a geo:Point ; + geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; + ] ; +. +ex:EarthAtmosphere a sosa:FeatureOfInterest ; + owl:sameAs ; + . \ No newline at end of file From 2bfbb1d2432b777b6d11d161091f289193df2a1e Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 21 Jan 2025 13:34:49 +1100 Subject: [PATCH 36/74] figures before code --- ssn/chapters/ModelLocation.html | 55 +++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 19 deletions(-) diff --git a/ssn/chapters/ModelLocation.html b/ssn/chapters/ModelLocation.html index 028d625e..b8ffaa33 100644 --- a/ssn/chapters/ModelLocation.html +++ b/ssn/chapters/ModelLocation.html @@ -21,28 +21,44 @@

    Location

    Systems, Platforms, Deployments
    +
    +
    + Alternative ways to characterize the location of a Sensor +
    System location - direct and indirect descriptions
    +
    + +

    + For example, a System, such as a Sensor might be permanently in one specific location, + described as follows:

    
     

    - Alternatively, the location may be associated with a Platform, which might also host other Systems: + Alternatively, the location may be associated with a Platform, which then might also host other Systems:

    
     

    - If this Sensor location is not permanent, then it may be characterized as a Deployment: + If this Sensor location is not permanent, then it may be characterized as a Deployment:

    
     
    -
    - Alternative ways to characterize the location of a Sensor -
    System location - direct and indirect descriptions
    -
    -
    Samples, Features
    + +

    Similarly, Location can be associated directly or indirectly with a Sample.

    + +
    + Alternative ways to characterize the location of a Sample +
    Sample location - direct and indirect descriptions
    +
    +

    - Observations of the atmosphere are necessarily made at a specific location. + Observations of the atmosphere are necessarily made at a specific location. The location of an air Sample might use the following pattern:

    
    @@ -57,15 +73,14 @@ 
    Samples, Features

    
     
    -
    - Alternative ways to characterize the location of a Sample -
    Sample location - direct and indirect descriptions
    -
    -

    Relative locations

    - The location of the System (Actuator, Sensor, Sampler) responsible for making an Execution (Actuation, Observation, Sampling) may also be of interest. - In particular, the relative locations of the Sensor (or its Deployment) and the feature of interest, along with the phenomenon- and result-time, fall into distinct patterns for different Observation modes as follows: + The location of the System (Actuator, Sensor, Sampler) responsible for making an Execution (Actuation, Observation, Sampling) may also be of interest. + In particular, the relative locations of the Sensor (or its Deployment) and the feature of interest, along with the phenomenon- and result-time, fall into distinct + patterns for different Observation modes as follows:

    in situ monitoring
    @@ -73,10 +88,12 @@

    Relative locations

    remote sensing
    location of sensor is remote from the feature of interest
    ex situ observation (e.g. lab measurements)
    -
    location of sensor and location of the ultimate feature of interest are different; result-time later than phenomenon-time
    +
    location of sensor and location of the ultimate feature of interest are different; result-time later than + phenomenon-time

    - Note that in the case of ex situ measurements, there will usually be a Sample and thus an act of Sampling involved, whose properties determine the location and phenomenon-time. + Note that in the case of ex situ measurements, there will usually be a Sample and thus an + act of Sampling involved, whose properties determine the location and phenomenon-time.

    Geometry results

    @@ -90,4 +107,4 @@

    Geometry results

    The WKT representation of the result could be encoded directly as a 'simple' (literal) result:

    -
    
    +
    
    \ No newline at end of file
    
    From 5123c28e6938a068985c4f4a055a32f39546c07a Mon Sep 17 00:00:00 2001
    From: Simon Cox 
    Date: Tue, 21 Jan 2025 13:48:35 +1100
    Subject: [PATCH 37/74] Clarify model times examples
    
    ---
     ssn/chapters/ModelTimes.html  | 31 ++++++++++++++++++++-----------
     ssn/rdf/examples/diet.ttl     | 17 ++++++++---------
     ssn/rdf/examples/ice-core.ttl | 29 ++++-------------------------
     3 files changed, 32 insertions(+), 45 deletions(-)
    
    diff --git a/ssn/chapters/ModelTimes.html b/ssn/chapters/ModelTimes.html
    index 4a81659f..5e7753b0 100644
    --- a/ssn/chapters/ModelTimes.html
    +++ b/ssn/chapters/ModelTimes.html
    @@ -1,14 +1,18 @@
     

    Temporal properties

    - Multiple times are associated with an Execution. - Trivially, since an Execution is a time-bounded activity, there is a startTime and endTime. - In the case of Observation and Sampling the end of the Execution is the time that the result is generated so it is called resultTime. - In the case of Actuation and Observation the phenomenonTime is the interval when the change or result applies to the actuated- or observed-property. + Multiple times are associated with an Execution. + Trivially, since an Execution is a time-bounded activity, there is a startTime and endTime. + In the case of Observation and Sampling the end of the + Execution is the time that the result is generated so it is called resultTime. + In the case of Actuation and Observation the phenomenonTime is the interval when the change or result applies to the actuated- + or observed-property.

    - In the simplest case, an Execution is instantaneous and all these times are the same. - More commonly, these times are different. + In the simplest case, an Execution is instantaneous and all these times are the same. + More commonly, these times are different. Different kinds of executions have different relationships between these times.

    @@ -38,7 +42,8 @@
    Serialised in JSON-LD

    Historical observations

    - Observations in historical sciences, including geology and archeology, may be made to determine the state of the world in the remote past. + Observations in historical sciences, including geology and archeology, may be made to determine the state of the + world in the remote past. For example:

    @@ -47,14 +52,18 @@

    Historical observations

    the diet of past inhabitants can be determined by examination of middens and other archaeological features
  • - the concentration of CO2 can be measured in bubbles in ice-cores that are assumed to sample the atmosphere at some past time + the concentration of CO2 can be measured in bubbles in ice-cores that are assumed to sample the + atmosphere at some past time. + The concentration and age are the results of two prior observations, which provide input-values to the final observation.
  • - the pressure and temperature conditions at which a metamorphic rock was formed can be determined from its mineralogy + the pressure and temperature conditions at which a metamorphic rock was formed can be determined from its + mineralogy
  • - In each of these cases the phenomenonTime is far in the past, while the resultTime is contemporary. + In each of these cases the phenomenonTime is far in the past, while the resultTime is contemporary.

    
    -
    
    +
    
    \ No newline at end of file
    diff --git a/ssn/rdf/examples/diet.ttl b/ssn/rdf/examples/diet.ttl
    index d1f629fc..06063dd4 100644
    --- a/ssn/rdf/examples/diet.ttl
    +++ b/ssn/rdf/examples/diet.ttl
    @@ -1,5 +1,4 @@
     @prefix ex:  .
    -@prefix owl:  .
     @prefix rdf:  .
     @prefix rdfs:  .
     @prefix skos:  .
    @@ -7,14 +6,6 @@
     @prefix time:  .
     @prefix xsd:  .
     
    -ex:d77 
    -  a ex:diet ;
    -  rdfs:comment "mainly seafood" ;
    -.
    -ex:BP
    -  a time:TRS ;
    -  skos:definition "Years before 1950, positive backwards" ;
    -.
     ex:O299877
       a sosa:Observation ;
       sosa:hasFeatureOfInterest ex:Community2998 ;
    @@ -34,3 +25,11 @@ ex:O299877
         ] ;
       sosa:resultTime "2015-06-06T12:00:00+10:00"^^xsd:dateTime ;
     .
    +ex:d77 
    +  a ex:diet ;
    +  rdfs:comment "mainly seafood" ;
    +.
    +ex:BP
    +  a time:TRS ;
    +  skos:definition "Years before 1950, positive backwards" ;
    +.
    diff --git a/ssn/rdf/examples/ice-core.ttl b/ssn/rdf/examples/ice-core.ttl
    index 0abdce06..2eaa9ca4 100644
    --- a/ssn/rdf/examples/ice-core.ttl
    +++ b/ssn/rdf/examples/ice-core.ttl
    @@ -1,6 +1,4 @@
     @prefix ex:  .
    -@prefix geo:  .
    -@prefix orcid:  .
     @prefix owl:  .
     @prefix rdf:   .
     @prefix skos:  .
    @@ -9,11 +7,7 @@
     @prefix unit:  .
     @prefix xsd:   .
     
    -ex:IceCore12 a sosa:Sample ;
    -  sosa:isSampleOf ex:Antarctic_ice_sheet ;
    -  sosa:isResultOf ex:WellDrilling4578 ;
    -.
    -ex:Bubble873 a sosa:Sample ;
    +ex:Bubble873 a sosa:Sample , sosa:MaterialSample ;
       sosa:isSampleOf ex:IceCore12 , ex:EarthAtmosphere;
       sosa:hasSampledFeature ex:Antarctic_ice_sheet ;
       sosa:isResultOf ex:CoreEx1923 ;
    @@ -21,12 +15,14 @@ ex:Bubble873 a sosa:Sample ;
     ex:Ob873t2 a sosa:Observation ;
       sosa:observedProperty ex:C14-Age ;
       sosa:hasFeatureOfInterest ex:Bubble873 ;
    +  sosa:hasUltimateFeatureOfInterest ex:EarthAtmosphere ;
       sosa:hasResult "7530"^^unit:YR ;
       sosa:resultTime "2018-01-09T14:15:00Z"^^xsd:dateTime ;
     .
     ex:Ob873c4 a sosa:Observation ;
       sosa:observedProperty ex:CO2-Concentration ;
       sosa:hasFeatureOfInterest ex:Bubble873 ;
    +  sosa:hasUltimateFeatureOfInterest ex:EarthAtmosphere ;
       sosa:hasResult "240"^^unit:PPM ;
       sosa:resultTime "2018-01-09T14:16:00Z"^^xsd:dateTime ;
     .
    @@ -37,29 +33,12 @@ ex:Oatc349 a sosa:Observation ;
       sosa:phenomenonTime [ 
         time:inTimePosition [
           time:hasTRS ex:BP ;
    -      time:numericPosition 7455 ;
    +      time:numericPosition 7530 ;
         ] ;
       ] ;   
       sosa:resultTime "2018-01-09T14:16:00Z"^^xsd:dateTime ;
       sosa:hasInputValue ex:Ob873t2 , ex:Ob873c4 ;
     .
    -ex:WellDrilling4578 a sosa:Sampling ;
    -  geo:hasGeometry [ 
    -    a geo:Point ;
    -    geo:asWKT "POINT (9.32 -73.35)"^^geo:WktLiteral ;
    -  ] ;
    -  sosa:hasResult ex:IceCore12 ;
    -  sosa:madeBySampler ex:thermalDrill2 ;
    -  sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ;
    -  sosa:hasFeatureOfInterest ex:Antarctic_ice_sheet ;
    -.
    -ex:CoreEx1923 a sosa:Sampling ;
    -  ex:offset "15.202"^^unit:M ;
    -  sosa:hasResult ex:Bubble873 ;
    -  sosa:madeBySampler orcid:0000-0002-3884-3420 ;
    -  sosa:resultTime "2018-01-09T14:12:00Z"^^xsd:dateTime ;
    -  sosa:hasFeatureOfInterest ex:IceCore12 ;
    -.
     ex:BP
       a time:TRS ;
       skos:definition "Years before 1950, positive backwards" ;
    
    From 49c940ffbcb2df76bed392f0478c07fa8f6296e5 Mon Sep 17 00:00:00 2001
    From: Simon Cox 
    Date: Tue, 21 Jan 2025 13:52:57 +1100
    Subject: [PATCH 38/74] Move 2017 examples to sub-folder
    
    ---
     ssn/rdf/examples/{ => 2017-examples}/2017ex-uomobject.jsonld | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex-uomobject.ttl    | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex10.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex11.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex12.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex13.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex14.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex15.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex16.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex17.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex18.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex19.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex20.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex21.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex22.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex23.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex24.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex25.ttl            | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex4.ttl             | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex5.ttl             | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex6.ttl             | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex7.ttl             | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex8.ttl             | 0
     ssn/rdf/examples/{ => 2017-examples}/2017ex9.ttl             | 0
     24 files changed, 0 insertions(+), 0 deletions(-)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex-uomobject.jsonld (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex-uomobject.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex10.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex11.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex12.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex13.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex14.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex15.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex16.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex17.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex18.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex19.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex20.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex21.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex22.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex23.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex24.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex25.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex4.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex5.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex6.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex7.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex8.ttl (100%)
     rename ssn/rdf/examples/{ => 2017-examples}/2017ex9.ttl (100%)
    
    diff --git a/ssn/rdf/examples/2017ex-uomobject.jsonld b/ssn/rdf/examples/2017-examples/2017ex-uomobject.jsonld
    similarity index 100%
    rename from ssn/rdf/examples/2017ex-uomobject.jsonld
    rename to ssn/rdf/examples/2017-examples/2017ex-uomobject.jsonld
    diff --git a/ssn/rdf/examples/2017ex-uomobject.ttl b/ssn/rdf/examples/2017-examples/2017ex-uomobject.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex-uomobject.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex-uomobject.ttl
    diff --git a/ssn/rdf/examples/2017ex10.ttl b/ssn/rdf/examples/2017-examples/2017ex10.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex10.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex10.ttl
    diff --git a/ssn/rdf/examples/2017ex11.ttl b/ssn/rdf/examples/2017-examples/2017ex11.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex11.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex11.ttl
    diff --git a/ssn/rdf/examples/2017ex12.ttl b/ssn/rdf/examples/2017-examples/2017ex12.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex12.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex12.ttl
    diff --git a/ssn/rdf/examples/2017ex13.ttl b/ssn/rdf/examples/2017-examples/2017ex13.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex13.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex13.ttl
    diff --git a/ssn/rdf/examples/2017ex14.ttl b/ssn/rdf/examples/2017-examples/2017ex14.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex14.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex14.ttl
    diff --git a/ssn/rdf/examples/2017ex15.ttl b/ssn/rdf/examples/2017-examples/2017ex15.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex15.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex15.ttl
    diff --git a/ssn/rdf/examples/2017ex16.ttl b/ssn/rdf/examples/2017-examples/2017ex16.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex16.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex16.ttl
    diff --git a/ssn/rdf/examples/2017ex17.ttl b/ssn/rdf/examples/2017-examples/2017ex17.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex17.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex17.ttl
    diff --git a/ssn/rdf/examples/2017ex18.ttl b/ssn/rdf/examples/2017-examples/2017ex18.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex18.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex18.ttl
    diff --git a/ssn/rdf/examples/2017ex19.ttl b/ssn/rdf/examples/2017-examples/2017ex19.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex19.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex19.ttl
    diff --git a/ssn/rdf/examples/2017ex20.ttl b/ssn/rdf/examples/2017-examples/2017ex20.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex20.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex20.ttl
    diff --git a/ssn/rdf/examples/2017ex21.ttl b/ssn/rdf/examples/2017-examples/2017ex21.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex21.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex21.ttl
    diff --git a/ssn/rdf/examples/2017ex22.ttl b/ssn/rdf/examples/2017-examples/2017ex22.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex22.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex22.ttl
    diff --git a/ssn/rdf/examples/2017ex23.ttl b/ssn/rdf/examples/2017-examples/2017ex23.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex23.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex23.ttl
    diff --git a/ssn/rdf/examples/2017ex24.ttl b/ssn/rdf/examples/2017-examples/2017ex24.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex24.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex24.ttl
    diff --git a/ssn/rdf/examples/2017ex25.ttl b/ssn/rdf/examples/2017-examples/2017ex25.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex25.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex25.ttl
    diff --git a/ssn/rdf/examples/2017ex4.ttl b/ssn/rdf/examples/2017-examples/2017ex4.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex4.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex4.ttl
    diff --git a/ssn/rdf/examples/2017ex5.ttl b/ssn/rdf/examples/2017-examples/2017ex5.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex5.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex5.ttl
    diff --git a/ssn/rdf/examples/2017ex6.ttl b/ssn/rdf/examples/2017-examples/2017ex6.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex6.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex6.ttl
    diff --git a/ssn/rdf/examples/2017ex7.ttl b/ssn/rdf/examples/2017-examples/2017ex7.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex7.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex7.ttl
    diff --git a/ssn/rdf/examples/2017ex8.ttl b/ssn/rdf/examples/2017-examples/2017ex8.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex8.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex8.ttl
    diff --git a/ssn/rdf/examples/2017ex9.ttl b/ssn/rdf/examples/2017-examples/2017ex9.ttl
    similarity index 100%
    rename from ssn/rdf/examples/2017ex9.ttl
    rename to ssn/rdf/examples/2017-examples/2017ex9.ttl
    
    From c480ccae35bd902d1ebc397ce81f82b2cf6c9d6f Mon Sep 17 00:00:00 2001
    From: Simon Cox 
    Date: Tue, 21 Jan 2025 16:14:14 +1100
    Subject: [PATCH 39/74] Diagrams for paleo observations
    
    ---
     ssn/chapters/ModelTimes.html    |  37 +++++++++++++++++++++-----------
     ssn/images/diet.png             | Bin 0 -> 14061 bytes
     ssn/images/paleo-atmosphere.png | Bin 0 -> 46654 bytes
     3 files changed, 25 insertions(+), 12 deletions(-)
     create mode 100644 ssn/images/diet.png
     create mode 100644 ssn/images/paleo-atmosphere.png
    
    diff --git a/ssn/chapters/ModelTimes.html b/ssn/chapters/ModelTimes.html
    index 5e7753b0..2ef7fc21 100644
    --- a/ssn/chapters/ModelTimes.html
    +++ b/ssn/chapters/ModelTimes.html
    @@ -49,21 +49,34 @@ 

    Historical observations

    • - the diet of past inhabitants can be determined by examination of middens and other archaeological features + the diet of past communities can be determined by examination of middens and other archaeological features + ()
    • the concentration of CO2 can be measured in bubbles in ice-cores that are assumed to sample the - atmosphere at some past time. - The concentration and age are the results of two prior observations, which provide input-values to the final observation. -
    • -
    • - the pressure and temperature conditions at which a metamorphic rock was formed can be determined from its - mineralogy + atmosphere at some past time. + The concentration and age are the results of two initial observations, which provide input-values to the final + observation ().
    -

    - In each of these cases the phenomenonTime is far in the past, while the resultTime is contemporary. -

    + +
    + Observation with phenomemon-time in the deep past - paleo diet +
    Observation with phenomemon-time in the deep past. +
    +
    
    -
    
    \ No newline at end of file
    +
    +
    + Observation with phenomemon-time in the deep past - atmospheric CO2 +
    Observation with phenomemon-time in the deep past, constructed from the output of two primitive + observations. +
    +
    +
    
    +
    +

    + In each of these cases the ultimate phenomenonTime is far in the past, + while the resultTime is contemporary. +

    \ No newline at end of file diff --git a/ssn/images/diet.png b/ssn/images/diet.png new file mode 100644 index 0000000000000000000000000000000000000000..f557b14a1e657f5a2349d36e1d64f27e2c80004c GIT binary patch literal 14061 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 E0^!a#vj6}9 literal 0 HcmV?d00001 diff --git a/ssn/images/paleo-atmosphere.png b/ssn/images/paleo-atmosphere.png new file mode 100644 index 0000000000000000000000000000000000000000..4f2139953e16564957248ebd46de57ba7b113ed2 GIT binary patch literal 46654 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�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 literal 0 HcmV?d00001 From 915ee8f71d324eb90a5dc578002213548e3e73ee Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 21 Jan 2025 16:18:09 +1100 Subject: [PATCH 40/74] HTML formatting --- ssn/chapters/Common.html | 6 ++++-- ssn/chapters/ModelFOI.html | 4 ++-- ssn/chapters/ModelLocation.html | 6 ++---- ssn/chapters/ModelSampleChains.html | 16 ++++++++++------ ssn/chapters/Sampling.html | 17 +++++++++++------ 5 files changed, 29 insertions(+), 20 deletions(-) diff --git a/ssn/chapters/Common.html b/ssn/chapters/Common.html index 28801f86..38f42d9b 100644 --- a/ssn/chapters/Common.html +++ b/ssn/chapters/Common.html @@ -1375,7 +1375,8 @@
    sosa:hasFeatureOfInterest

    The distinction between sosa:hasFeatureOfInterest, and sosa:hasUltimateFeatureOfInterest is explored further in + href="#SOSAhasUltimateFeatureOfInterest">sosa:hasUltimateFeatureOfInterest is explored further + in Common Modeling Questions

    @@ -1719,7 +1720,8 @@
    sosa:hasUltimateFeatureOfInteres

    The distinction between sosa:hasFeatureOfInterest, and sosa:hasUltimateFeatureOfInterest is explored further in + href="#SOSAhasUltimateFeatureOfInterest">sosa:hasUltimateFeatureOfInterest is explored further + in Common Modeling Questions

    - For example, a System, such as a Sensor might be permanently located in a specific location, described as follows: + A number of patterns may be used to characterize the location of a System, depending on + how much detail about Platforms and Deployments is useful. +

    diff --git a/ssn/chapters/ModelFOI.html b/ssn/chapters/ModelFOI.html index 3ae67ef0..c97474bf 100644 --- a/ssn/chapters/ModelFOI.html +++ b/ssn/chapters/ModelFOI.html @@ -16,8 +16,8 @@

    Proximate and Ultimate feature of interest

    property.

    - Some patterns for the relationship of the ultimate feature of interest to observations - () and acts of sampling + Some patterns for the relationship of the ultimate feature of interest to observations + () and acts of sampling (), and within sampling-chains, are illustrated below.

    diff --git a/ssn/chapters/ModelLocation.html b/ssn/chapters/ModelLocation.html index b8ffaa33..66686848 100644 --- a/ssn/chapters/ModelLocation.html +++ b/ssn/chapters/ModelLocation.html @@ -27,8 +27,7 @@
    Systems, Platforms, Deployments
    how much detail about Platforms and Deployments is useful.

    - Alternative ways to characterize the location of a Sensor + Alternative ways to characterize the location of a Sensor
    System location - direct and indirect descriptions
    @@ -52,8 +51,7 @@
    Samples, Features

    Similarly, Location can be associated directly or indirectly with a Sample.

    - Alternative ways to characterize the location of a Sample + Alternative ways to characterize the location of a Sample
    Sample location - direct and indirect descriptions
    diff --git a/ssn/chapters/ModelSampleChains.html b/ssn/chapters/ModelSampleChains.html index 94331b62..eeca4cdc 100644 --- a/ssn/chapters/ModelSampleChains.html +++ b/ssn/chapters/ModelSampleChains.html @@ -1,16 +1,20 @@

    Sample chains

    - Many observation workflows rely on a chain of samples, where it is important to understand the provenance of the sample which is the (proximate) feature of interest for observations. - Knowing either the original sample or the initial feature of interest at the base of the chain is useful for both discovery and management purposes.

    + Many observation workflows rely on a chain of samples, where it is important to understand the provenance of the + sample which is the (proximate) feature of interest for observations. + Knowing either the original sample or the initial feature of interest at the base of the chain is useful for both + discovery and management purposes.

    For example, gas bubbles from ice-cores are examined in climate research. The ice-core is a sample of the ice-sheet, while the bubble taken from the core is a sample of an ancient - atmosphere. - The two samples have different values for the isSampleOf property, reflecting the different hasFeatureOfInterest values for the separate acts of Sampling. + atmosphere. + The two samples have different values for the isSampleOf property, reflecting the + different hasFeatureOfInterest values for the separate acts of Sampling. The bubble is also a sample of the atmosphere, which is a feature of interest for the observations.

    - Provenance of sample from ice core + Provenance of sample from ice core
    Sequence of two acts of sampling to recover a gas bubble from an ice sheet.
    @@ -26,7 +30,7 @@

    Sample chains

    - Sample chain example from geology + Sample chain example from geology
    It is common to generate a chain of samples in a geology exploration scenario, with initial sample retrieval from the field followed by a sequence of sampling steps (pink) to generate a series of sub-samples (light green). diff --git a/ssn/chapters/Sampling.html b/ssn/chapters/Sampling.html index d87d431e..172ce549 100644 --- a/ssn/chapters/Sampling.html +++ b/ssn/chapters/Sampling.html @@ -908,7 +908,8 @@
    sosa:featureSampledBy
    SampleCollection that is intended to be representative of it - i.e. the end of a chain of hasSample relations.

    -

    Some examples of relationships between samples and features of interest within chains are illustrated in Sample Chains.

    +

    Some examples of relationships between samples and features of interest within chains are + illustrated in Sample Chains.

    @@ -960,7 +961,8 @@
    sosa:hasOriginalSample
    href="#SOSASampleCollection">SampleCollection to the original Sample collected from the ultimate feature of interest.

    -

    Some examples of relationships between samples and features of interest within chains are illustrated in Sample Chains.

    +

    Some examples of relationships between samples and features of interest within chains are + illustrated in Sample Chains.

    @@ -1068,9 +1070,10 @@
    sosa:hasSampledFeature
    href="#SOSASampleCollection">SampleCollection to the ultimate FeatureOfInterest that it is intended to be representative - of - i.e. the end of a chain of isSampleOf relations. + of - i.e. the end of a chain of isSampleOf relations.

    -

    Some examples of relationships between samples and features of interest within chains are illustrated in Sample Chains.

    +

    Some examples of relationships between samples and features of interest within chains are + illustrated in Sample Chains.

    @@ -1122,7 +1125,8 @@
    sosa:isOriginalSampleOf
    collected from the ultimate feature of interest to a downstream Sample or SampleCollection.

    -

    Some examples of relationships between samples and features of interest within chains are illustrated in Sample Chains.

    +

    Some examples of relationships between samples and features of interest within chains are + illustrated in Sample Chains.

    @@ -1320,7 +1324,8 @@
    sosa:isSampleOf
    href="#SOSAFeatureOfInterest">FeatureOfInterest that it is intended to be representative of.

    -

    Some examples of relationships between samples and features of interest within chains are illustrated in Sample Chains.

    +

    Some examples of relationships between samples and features of interest within chains are + illustrated in Sample Chains.

    From ff358dea8941b42d28179290633dab0ff01f439b Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 21 Jan 2025 16:33:00 +1100 Subject: [PATCH 41/74] minor resequence of patterns --- ssn/index.html | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/ssn/index.html b/ssn/index.html index 0ceb9931..6c8ed041 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -208,17 +208,20 @@

    Alignments

    Common Modeling Patterns

    +

    This section discusses how to handle some common modeling questions.

    +
    +
    -
    +
    -
    +
    @@ -228,8 +231,6 @@

    Common Modeling Patterns

    -
    -
    @@ -535,19 +536,25 @@

    IP68 Smart Sensor

    InkBird IBS TH2 Sensor

    These examples describe a commercially available platform, the IBS TH2, marketed under the InkBird brand.

    - +

    Recording survival and operating ranges for a sensor

    - -

    In this example we represent the capability of the platform temperature sensor to measure ambient air and the physical - survival limits of its plastic construction. Note that this should apply to the platform as well, but in SOSA/SSN survival ranges only - apply to sensors and systems, not platforms.

    - -

    xsd:minInclusive and xsd:maxInclusive are used to report the maximum and minimum operating and survival ranges for the - sensor. These are simple properties that are not encoded here as ontological restrictions on observation results. Besides the fact that these - ranges apply to the sensor type and not the sensor instance, it is often necessary to report - out-of-range values to record the occurrence of an operating condition leading to failure. It should also be noted that - system lifespan can exceed the specification. The Voyager 2 spacecraft is a well know example: designed to function for 5 - years, it is still partially operational after 43 years.

    + +

    In this example we represent the capability of the platform temperature sensor to measure ambient air and the + physical + survival limits of its plastic construction. Note that this should apply to the platform as well, but in + SOSA/SSN survival ranges only + apply to sensors and systems, not platforms.

    + +

    xsd:minInclusive and xsd:maxInclusive are used to report the maximum and minimum operating and survival + ranges for the + sensor. These are simple properties that are not encoded here as ontological restrictions on observation + results. Besides the fact that these + ranges apply to the sensor type and not the sensor instance, it is often necessary to report + out-of-range values to record the occurrence of an operating condition leading to failure. It should also be + noted that + system lifespan can exceed the specification. The Voyager 2 spacecraft is a well know example: designed to + function for 5 + years, it is still partially operational after 43 years.

    An RDF file containing a graph @@ -558,8 +565,8 @@

    Recording survival and operating ranges for a sensor

    - - + +
    From ae570409deb782e10123d3e464a956bd1287cb87 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 22 Jan 2025 13:24:42 +1100 Subject: [PATCH 42/74] Separate diagrams, names aligned to TTL --- ssn/chapters/ModelLocation.html | 38 ++++++++++++------ ssn/images/LocatedDeployment.png | Bin 0 -> 19553 bytes ssn/images/LocatedPlatform.png | Bin 0 -> 10960 bytes ssn/images/LocatedSample.png | Bin 0 -> 11896 bytes ssn/images/LocatedSampling.png | Bin 0 -> 16857 bytes ssn/images/LocatedSensor.png | Bin 0 -> 8938 bytes ssn/images/SampleLocation.png | Bin 26242 -> 0 bytes ssn/images/SensorLocation.png | Bin 38493 -> 0 bytes ssn/index.html | 2 +- .../{SampleLocation.ttl => LocatedSample.ttl} | 0 ...mplingLocation.ttl => LocatedSampling.ttl} | 0 11 files changed, 27 insertions(+), 13 deletions(-) create mode 100644 ssn/images/LocatedDeployment.png create mode 100644 ssn/images/LocatedPlatform.png create mode 100644 ssn/images/LocatedSample.png create mode 100644 ssn/images/LocatedSampling.png create mode 100644 ssn/images/LocatedSensor.png delete mode 100644 ssn/images/SampleLocation.png delete mode 100644 ssn/images/SensorLocation.png rename ssn/rdf/examples/{SampleLocation.ttl => LocatedSample.ttl} (100%) rename ssn/rdf/examples/{SamplingLocation.ttl => LocatedSampling.ttl} (100%) diff --git a/ssn/chapters/ModelLocation.html b/ssn/chapters/ModelLocation.html index 66686848..3e8c7cdb 100644 --- a/ssn/chapters/ModelLocation.html +++ b/ssn/chapters/ModelLocation.html @@ -26,23 +26,33 @@
    Systems, Platforms, Deployments
    A number of patterns may be used to characterize the location of a
    System, depending on how much detail about Platforms and Deployments is useful.

    -
    - Alternative ways to characterize the location of a Sensor -
    System location - direct and indirect descriptions
    -

    For example, a System, such as a Sensor might be permanently in one specific location, described as follows:

    +
    + sensor location - direct +
    System location - direct description
    +
    
    +
     

    Alternatively, the location may be associated with a Platform, which then might also host other Systems:

    +
    + sensor location - on a platform +
    System location - on Platform
    +
    
    +
     

    If this Sensor location is not permanent, then it may be characterized as a Deployment:

    +
    + sensor location - in a deployment +
    System location - in a Deployment
    +
    
     
     
    @@ -50,26 +60,30 @@ 
    Samples, Features

    Similarly, Location can be associated directly or indirectly with a Sample.

    -
    - Alternative ways to characterize the location of a Sample -
    Sample location - direct and indirect descriptions
    -
    -

    Observations of the atmosphere are necessarily made at a specific location. - The location of an air Sample might use the following pattern: + The location of an air Sample might be recorded directly using the following pattern:

    -
    
    +
    + Location of a Sample +
    Sample location - direct descriptions
    +
    +
    
     

    Note that, even though EarthAtmosphere_StE is not explicitly typed geo:Feature, the property geo:hasGeometry has a global domain constraint which entails that any resource carrying this property SHALL be inferred to be a geo:Feature. Thus EarthAtmosphere_StE is both a sosa:Sample and a geo:Feature.

    +

    The location could also be provided as a parameter to the act of Sampling that generated the Sample:

    -
    
    +
    + Location of a Sampling +
    Sample location - indirect descriptions
    +
    +
    
     
     

    Relative locations

    diff --git a/ssn/images/LocatedDeployment.png b/ssn/images/LocatedDeployment.png new file mode 100644 index 0000000000000000000000000000000000000000..1b6cc6651660645d4834a1f34afea5ed2099205b GIT binary patch literal 19553 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 fLrG?CYH>+oZUJsR|EibP0l+XkKl81oS literal 0 HcmV?d00001 diff --git a/ssn/images/LocatedPlatform.png b/ssn/images/LocatedPlatform.png new file mode 100644 index 0000000000000000000000000000000000000000..887a54d2a759520b3461227030ea6bd54d4f43f9 GIT binary patch literal 10960 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 literal 0 HcmV?d00001 diff --git a/ssn/images/LocatedSampling.png b/ssn/images/LocatedSampling.png new file mode 100644 index 0000000000000000000000000000000000000000..0e26e9bdefde2686ededd97faae0079327d1804c GIT binary patch literal 16857 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 Z4MzAMCw8lJx_`&2B&RM5mwxx@KL9#tt+xOG literal 0 HcmV?d00001 diff --git a/ssn/images/SampleLocation.png b/ssn/images/SampleLocation.png deleted file mode 100644 index 57e9bd805d56d3bca092516cb33f4ad4fa16c08c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26242 zcmdqJbyQr>);5R+0wE9x5?q2i1a}Qif;HA5xVyU~xNC3?5NK%J8VgQv3GUul<8IT* z@80{(JKwA|f6TkSkzRD4bE;2OpQ^oU*RJQ;oA3`R@3An5F%S?Cu;k^W)esPn0q}P& zIx@UuJJQD(exNj#Q&UDj@S;ON2>6PCa0@RAfFdBcav&h=eMUeKOhrH-bjXB!6h=Tm zV*a3{A@lU~1iz=Iw&CL9a&vR*XGfQ_t5-qc4+a+Q!$a8J-QCyFNMSMAq?GjGkx@ev zOBFT1+}r{T2J`arYG`QS=H?z99lgA~l$DiTSXcl60P*qh>FMcPTU(ZvmR((4k&%%< ze*7338d6kLR8UYjKR?&e(Me29Tv=HuEG(Run5e6(>+bH}+uO6Vv)kU@mX?-gV`C#C zB8rQP3k(dLo}T{s^JhRnz}3|i5)x8PO^t+v1THSFS4hg}=2PqV9v(hXPDS_N>K&i3 zw1sovJ3)!y#6m3ttJ3BP_b-XypWuz#jj^pUd_w${%N1csVJAN)0WpDuyo65{pL*xd zBVFuI{SJJuZ{fPn_9hG{rvf}kB?7a zRH&A|LHdvE=HXU3rH@sewF@VUrnWZSv%N+2r7|)y>+9=MQc^`lMUIY+c~yB)>17Fd zb)PI;Q&Lh~U0u_Dqy;AiXJ=uk?-#A@`><0fBrlxE30jy4G{^ktgK8swpg98u_GBT2yn%dpixH3L| zzO^;c(_?3D&c@8FqpqG95pjBYy1cyH*4AcZWRwyeU6!BU-{1f1*DnFE120@x5RDYy zOCyA#lF7j@o;%3tI3pksW&C*~%Da9^f)}E>$ScdB?IPkM;Sk!EvtlD47?a3LOK5n^ zAGU@Ylk{cpgyvi5SPj;{O@L7E&9VeM8yiN&fexPuG3&OBvzVXq5a`Ognr<)MuSE^G57M1$80=Pj8Z+OkI`@JHT*}z zxloswLEaCzUt!AS-Va8aI!pWCC|&HWmi7rj1ACv^QS!Xi_dm63YieEH(xNYA=w99S zlvYD#*d?ILzu^b1g-O4!0Qje9e?_9F((&ut%%^k7xvl@+rN*lmbF9?k(0*lQ7fR~M77 z-?^QV(oe~}`YEC_*Rv0xC%=V`$c3n6Kf4@|O{`{|(*XeQp(1_Dd-}S6yW{~3N3%ag zJ8x~5Sh=Zk@2U84fR;c@y7MK>y{SA3;@cZIrTQuhFwNibUJFs8WlhkZ*ybd~`|hhn zh5Gtz^XY6e7up4JAy`(mk)}2#7$4Ld#V4|7rQz4JOsPK`Tmj-!ZS2bh@j}sdyBCfc z6Zj>$Xpa23Xmv;Ig{UfNU{$ZiA4J!8_ZV8u&n*i2;>!N1FYPn_4qfbKr2qMo9)%<8 z+F?WYQ90*;zs(Byp%u%R`rmPnZ4{HHm*KN_*rJNhe6%avACNv%D`Nx#81bZ?g zVN~E@-w9rutO~iveAxAO-N!j8zb~WIjx5gDMr`wmxh2lZv%mBK@op6gM5Pkw}N?M0{biYa`QWmnnH}&dvz{tuhNn& zU00dOz5-T9%tvdpOk&&Y4=M`q3UV&4)WUY-WgytMebP3#mbO&?4xnH5+QGsorodln zHl{{$JlHG|adlnSpj;PZT6QtoOsW|B&STaRE)6(82i}xZtf&L%am=wfoH{A;vrmhI zdpcTOw%P(ibYLx&0P#L+RO6}C6FOXA;WCzNQKt(}kmnk~CiQn?`sMEi88q*nyidvU zDq3B5sEZ=L?5D=GGXqTD*1!kr9fZpy;Q0G>M3)OKTVwz@om2Kb3E0eKWh7H$25RB` z+_#K^UpSuU;$(bW3fLw1;}$FEQS)-lF$Zx9yEgZ)4MWrX z-aC3zREb^Or!j*7?YM5-BYqoR70z7>LU36wh`~!?K7Vz}hXgz;V z@a?mW&hBoMdoej>C#h8aatMLEVWzG#(j$dFwbV~-A>t7XojidKQ_JUxrTg(Oz)HCS zh<*I@SZhIh5pRR!0a_L#hC8L^&(UAL{}~(}?ku}ULFK}Ekhx8FOrfH5Z)}L2`<}tV zQGhn2EEPgz)oXHWh1*{FO5Ar(@jM_MPn}R|=#8qX@pbTFR;1t0b!th%t{2Ki13iev zCzuP|i0oV5Y#dQheCzmxoC1r?9UqhVCXl51=YGD}o^wteK8WU4HvWwnhJwXvEJ48& zLnWd5VTPT-My)pQ|D<{Scx$i;d9)a)LvjX<>)zpW0YgiQDPcU+K4fz|*C-rgIb}5k*G18Am`;5F$DJ~E|tSSb-6le?M zk>Tx8V59+<$<%ajM)x-UJbfl|9sB)kph`bbb08}D>|Q7M6Jybr;Lqb2I5WU3Oy9M* zjY#b-ZANPn)08S!Sth3Bn+}_hJ7(UVobkici831#PtnQz<{iyOgqummDSR{tXWPt$ zdnloRm1Z`?v&DEW?iOFgnvnu@}*J5>8}%esSH(ZB^S~ zs5jckha{Oe@g*Dbx?9txb@i|M4dfz+`1r)<#bobZ9;Q0Xed>x!c)@F$@P2S`bZ{~% z2Qfh8&E-k(vCyg1j`sKiRXi4rsCh{$Bgy%Ek_B!g-?NK!)-cS2zPMQS7K7(04W4MD zcRIg5bVk%)cT)=v7}Q2F!W!i5=|=T5fX=x*Qlf4BgE{fS(PY19BUN$^2%Kc*&bz2Z zJ(`Bla>}Uv_4v2GciW2l6P=!*qKa;{n+e(ypEgnD=iYx%@PH<{Sj%=`O%Z8P$txq= zBK8vA8U0$pOT?PQeLcoaWN?7yt1`Ye7{1JfKo)e;Bl?{?E#f{?{m#v=3Pw;Ha3X^u z4#-vHXoDg^Fz|47gTg8lkVSJK61YR(RN6P0}!OKT~Ni(|K}4W6%}fZ7yt33 zIZ!??u_BBk0}*jV#_<1-CwMpna?~?^k|kO8%F&V@=}bgxmdh_y7b0I~i|>`j((|w4 z-H)qk`XdH7o7o(c?g>f{)LqSvHd3YRPWN~GW|&xNnV-~le^eyyO zdc-)-E!O#&UHk?Jq_rTQBsSAgR(*PI_s9aZB&fWyly&zMPuS+v)T=krAgQHuAi1|N z+ul&sofOKc9_^e+8=Wn7@0^I8rKboj{QF2xM35lxZP2iCT!xXJ*N$q}WSUqjUbf%4 zqsML4H2t+|eoC^VdYvir)~Lop4e!tkzE=%JA6s~aIw6mKGIb*RK~`NVDPW8!-`x2| z{8Q^*oJJgNijsPp!h1R^?jMUB9XSB_To`tV6?;si7fz8Uwe2`N~j9 z087niq)u;<(~V7dGK7^^JqjEFA3)BJ{u^B)ZIH)D@m>JkV3Ez0l5AU?8^xy5E#K(C zxD2QYG{MsAboshQ zUA8GzC2cFgkmur+GFw)y&brl3b?NtVH36C1l35uoHXYP~3@Y~I!pgpFQ*t--5-Yf)YnfcY9aB1_rPS=3O+^+&zxE- zYkilMxurwLjPz+FN8i>3@lC0UKx&~=g{)l{qUZXhYD#un-4>A;1s{B3$nn!!_L4QV zRTI0DNB;`YhuHD{Pg8vP6cr(qK3EhVJ{FI@V={dV+y5z7sJPfeM5{HDW|n<*box7I z@QuK@DoZj8jiN+2%dfto+2CVM&lJwX7Z)r|t5HcpX+uJBz)>c&we|}C(m%5Y5MR;$ zG7@b>3n*AUtW(TrP$xK3PzA^uQ6cTUUz+b+SKGR<3uBa8v1!{>HVDttnsd^$d~UB%6rYlc$oz(SI-WCl8A{rU!V0~*m=r3F)}x~E z=L+-qJmoky8e~0UlM3D@HJ|ft@ke|Zo2o9mvN_wmx)c5~maMH|oysK|U*!7wHF1Me ziV$UWx&FxcZGjuxQAH_EtkNs?*UXHYd-`2W{S<&nB@)=(kS{>NHGp%dIz8&Vf)TIu}!p_DDuHUyh8l5zd!HRGx*>R=$XYSG%-f{AfTVOMi>4+o z;A^2l;CzI}<&m%!!2LlvM>ve(dTBTEa!n>s~ z7Uzp_hn}Ds4%Tw-s)3$9XBIV2*MyBykHF$O*HCl3V0J*0n#nkIS1G?Q(1a>}cJV9J6&>MSTmb_yAGq%uaqjz8Tl;YUOc(3_NLFN1jQty9ak~XSse17-}9+{8Zef z8E+~PW|%d>NFwHbZ zA>LG#{T8Nd_9>w%p7uyOI^CIX$DL$hJ+N-qO$|?G-looS;emT2k#s6W^mB-g7B{y$ zwf*P^AkVGx*_1Ag%OMJ>v^W6NhL0)F+O$+30G3mAUSC0FRGu^5kg3qxS!z+F-U&iq z@s!*GN;S!PD)- z9rk@+Mqr-=`C_}6oT1E8=Gw#0qLV2mtRj72IqD~im>NvxPXr=ht*#VEf-jeuv&z{tLcsG0t>U zS#QxvIs;r~g+6YC#!QyRvfi%OliNm=VfPrH&=KbSIwbSDP8IVyg);iTU1@r781xmf z%Fk{WWU%8ra$PXXU~$C;mV4Sx+RRD-H4EMKE`g&F2a`NE%mx7W3@@)hb+GDD^bWhw zn5M^~(Sf8CAn@BL$|iw}{kNtOw!W4fqFt}Z=#ZprfkTLs8?PH5skxrj!7i+oY~b{> zROLoofBnq@OvJ^_x78C>=wV!QbD#BPL=Af*?=l#qS)ocaHkD6`Fx+Hz)YM=G%t&=@(%FK`Q#WkHUeoj5P_(%Ihdr_E+nHW z*_!1k4r~T?Vgy^aKku+6R~F~3W|E;-wnBQ6Zb_mqTRI%G(VLbE{JU2+?zr39y)I1} z*dcHSVHNSL)7hk;rVa=5-qV(Z>%E>h*Z%b|3)P@jl*J6@C09#tw7N zMo3lf^cMTB0MtKIbJQ;Ckm7f~KNzEKKZAd9lVYu?3~{RQ{PII4{Tyg9jo;u_{OKDa zj$igg`hw*qHkrFF^A8YhwrkpxW`--zXbrfcLFU>5H;SU%J80*P6>Cm$GP>?D#Qy*A$%YAYPYCHp&hjAgz8_>jS=>n7wni56k|D@IFogd(mQR&9CW9?oGHZ5+`wcW)UIYHV7MJ`YLC~OAh z%XW-Tq5(ZKZOM%e3qc}_3!9#gml8^9su3#zisk7sBhn;H9+0!Q8i3|z>@EI?edyX{ z0ohL4T_>`6Xy+S}kqxrGIj@#C2Eg5F`yr|s=%s=|1)jigvZO?Gq_H{D`>R7Mv*a^h5S=crSACWbiY>4+ z27;|M3P2tDGqW!UiDmXjU1x1K3#dk>9Ch(=HSy_slsbdOJzv54Y7ccD@yxBA&9MD@ zlBFK^eudOHAC=T>yzJ+7H`&H|)#|Z|S$hPD@DZc41$P1dG#T1X-_fSsuq2xEM4c?m%@$&Q@~8}VVhjOR;I!va6TXh{abTF-Q2%l^UaGH^ z*%z-MRT=lVW=6)`VxwNBF|tLnI56y9bJHzX_k#%6!slI%BZ^7~NN=j}5xm_?ZEGIR zS41&c7e;rrOeRkW?2*|}{83XG^Y4!=;Gd4!Axsi-R*E5;?wew&o14iyz0aT(&+xEG z=`{AYEA?%=FZHH%c?kG;P1|SdnKsMDwgqP3mGf0Iy!`yc9J(|^U*xV363^qmx-_@D zI*KQ>_n#QQwxU^lwU@^XTn~&0yYp@CDUB0v;QRqO-KGCB(KT-D($4VG%n6=V>XT9h`r_20s32DRl#Q2GM*_bl;lLLrNjDEy^Z?ePwZcjBPTYoAz)72dcORYW6slQP21VAWMW~> z=%%GkL}JiEh418K>(a0@e|^xD z0DOe+rt(0D+yq6Xay!9jo!c%_AT90v@&=l6XpYUwf>X9=%1pwLO%q|Vw8Z9qs^k?m zDS3ipPBwa&(-P~U4wY6fZ+U{Pk@I^t*n(?j7VCR`?DZpe@6jdyM2|84`wwi*g)+@* zstb>ogspftkcF`ayHK>n;y#+red%lgp=|J_)^f_&)PuP`jcWb0DBm{4qx^|Cw39h&G_g{e!$?{AHF zIZaN^6i2eqN}Pr;qN(jNtau$L&CVPmWPWje?#15TCn-v7lGa}On3^{U1$k9+--h2W zXP07;KqiowOAk}~=Y4^P{HhIn3)RBwS&$Gg?94E62K(H-G4_3~neDCWa_;8o8wi`OrHF=qT=NH5l@z|VG%4;DKW|zZFeDThu zjwT3uSeR05V^^V@+GhqI`fB8zTgSzf7~aIfoTbedk|_k{Q{NGAYoDL|peF+pk&^wg zQA5|n?m`rSXk9TM5vut7f11XJ0~#{Y_3XuQNg&W6{p%0*B&Z^^g`SZ48tJk|qhnA(()E0*&Jp*pq^PgN+RL5k- z#X`aQQ5Gh&SB*OcMeLLb-MDC-l%w)c1im)X0^rhOaRu_AfB=($zaVoxKF zE>9*H#g$9fKIJV*FG?rgFb!+Fy9YZZ=(AFrxdxwqckMyUi=g&sS%R-KR{?mwMK-_!rx;Sd>R%;AxwE_W(+{FS)OA~@aQ*U3x zQ2?T;VeAC??`MD$8p|_)ICehJ{*@4J!!i<7qIMtI`2G4c8j^CDi-`Au+@hCTF6JLp z=byT8vnBI<8qF%`LE!L{L#hTca96_R4y`w#{|Z|J%cb!7 zv_l{A6O*B#8&rW%BLfaz!R09qfaLzMPYi+JcT}Bs20iipNB)IGPz7x2Rs-YvuzSDg z(m?Pz<-{FkUu^#odl@lQ0k7;IqzDHa#aH5wt#dtl|H7pZ^Us7udcHaDFEf2{Vy`zT zM5NqqYx^?(R#*s=s%r(8ZQd`yqN9R z%}_a;T~D}lh3BH_(zzZejvaE}mW2<+I7jWdIy@MB4q+qy4|MtWgfdwW1VKW0i&NH& zO6ir$jF4Xp1k5R&IWHVsD~#wDUF^LpI5De*j zEm1b{?M>P^69b&Qg|}Tu9F#AiXj-#LrUVgX+=f+Z$7wo7J()aPdnFpZ0}34PYIm7f zz3gr><+&;g)uPsuJj`??Ns6+#ShJZ~g_qifJ3hen11(6@7V?VoANXB9$bGDEf2N4tgl7alhyrMG}!Nb#n|#*INRf! zo#?+2v?_h9M0gR#3pCZ9XZSY3STiJKr>`i$e$3HR*M;rm-sA0dL(QD*e8Yu@T&(s< zc))4Pq@UfiDZ!>)-6D~n`2#)?^}I_@vN48#BAtZJqP+62Wdl+A%(yJ3IHMPiQnQR^ z$5QXE({aPD&U}P{#sI-Jh(NWFN%+w zz=+bFMKY??;d-j6Z!eIt*5pLnO997S)$QZ)HT~5Pp1lWwzh=mvNvO@a^Yy+KU|=h8 z3c*hNKDw>~ip!^@Aj}UNbPoPFD;ZV5z%}Z+wG=Ke8u>2KZG{5?LPhU`=dK>roS(E` zt1z_r(8kh~oxktZFZO(gjto$$|N52+jjrl`w=@ANM4;i%h47myX#H(5DYFCM?bl?p zA)I)L0%|1Ow?tHwPIdxRHNrDk@@gUU78I{Cni9M5-_T0WBE8`BF)^u%h*uzND#9qU zm~*4*N;Ywhp6kJN*G-A4Q$JE=3fIxM->Qw%%{EmMqWR9-Gk~ACo%Ab*$_6pyjZ|;< z^S#Dj?~QCUHowp@YnrL&qoop9QSE4%(D|1n5X4Ihb~DBoa}{mMDIR>DYQaSgSnK3q zY&6#uU?;cOcJgdW|=^5)ZJ(LJT86=tKEG!}tGZ#Q#r8?;Hq*Yye2yfKzGWLvM0Y`6r#A z6WzgQr65%CvL+5rN3dtl;Tu@vY83)BSRR}Y>Ok&o3J=FDwMK>CztJg3;xQr=f(Lzu zG)7|H6w`a@gMq;R8qkzL_h1gVu9++ap@<(?5`U<}YCu2;U3a2Hm?bAiK_HD#Y)h3h z`lbm$3y>DiYL7fe;B-UC@50o27YdJKYh8Udqe|2JQvBY1Addi%~g}GUeM2EXj$4B zA**dwRZaFUj$ya~yRX)mz5l&IYA$*5j&~hu4M|{C8_r=&z0Y;otAB!42e>ulaB@%N!^EFBZbc zmKuuecJp9JFpc#JABEEBG-~OC?IK3g@POr%0iqoBG~BiHx>dEAGC+`{`-9#6$La^7 z7%ghp&MDk*PaR_8hX02rxZp!bkPEEB)_{Zje#1magt^!ncA$FO1I2jz>W}9eh{CnF0op$@_CdY<83$hejpx9G*pW5n)Pwvm3^52TSu#^Xr zi=xA4!>t709ojQjSNAl*uV6K+kwvDX9oBbV5jB#}FkQ`CnGSrHOV|bWxhhuD$^=3C z7d=fE5TeTA3jUFZ*FE=tu}NZmJ;!N6Adr>+zUuYZdUcJT`>@CZi&$dWqS0^(VCLmL z1Np2N&UvuiWi!@Z>2_I#!@hw_4vX`fV}LnmD!oRnTx&=EnZBmJjC=5ltmIwSP>mYx zt@XqX?8nc+`+!7ePthJvyIOE98Jv`}#Hek^nBuEa!UIZ_k+9bYT%O-GckG z{rh9chRZ=s$O{BGCz`e+C&Ll6L1kZ0Xa%_t0Ju+UCLHrv*V=MXIUbv^!S!S-$)r*JM+=l*c zV-$kC67Amz&vk3SUFarOP^)OcfPJ+9>&eIwClI*waV1l@QAIbCaPRa~jowir0?ZZx zygcV??QYFI&+@aw-Dq*oSAmmklzA=%pb($w(w2=aInYjsFJIiRnW<`aYN`?*RW=FW z(w2XXq+b33{tUK2UFkP>trq{OShR`e9sN;8<0~FUb}By4*<%T2 zn*huq{!!Or=I%KOfBwamxtZ^uVkRJHp(v%BIjWaF2s^tjS?&h`r2trBWL&NaqKtm#K9mGj*SuvS8x;xlcJAa8_UW zWn~I%S`KgyqrHm#wCRP@Gpt@Vj)m@o4+qE__%OcLu&}6anv`6eWAcE1SrJ;NY4C~3 z(WM`eIQR2F$iD1Li;ImtKzc>@F=lvz+H&t)uYITS!Chz%5@)`~Ru7HarHGf&h`y3_ zPOl5#GM4-Z-;LwTQKt7H-(kTPuxtn99?Z&$`!L9$3Eb0wC983 z{TJ6a@a@0sDMuR;r4tUev@nh|_I8DaKQd+f=T=k%U-5q&)Bo6A$ZRZQ_-8S?F>J`3 z7)RjeC-E^t$lMWc;OBO|F$&0Rj!5|DKXU=jK*1ejF*$~Rd$TJEuE3{Cp4OYYW0%`2 zzOG5^ihnt?z}FA%Vww-A0dJiSMJ^R}N2ES>eD*pcXeLWhSuv|UE)i+%U_hAompA+I zykeG}k_ATuzS~pRh|?J^`S?BS^8%b3mmZr}k4!#%l(jhz|77-@| z<_3>#ML?HwZ-xiLB7DtjUfTO4hR`{-WanBzfnW%=YkG|i4#E<%3&AC zlrR1}t5bK?GxE$&ws_3hD3;gLcoxLZcl=)7K)Df7`7GlV6tgF4_u~;MU*_*4el+|x zxcEBS$a|n4oterqxL8YF_g%|xHZ*l6h65Ch576gKud;IsApRqdn$=$m|8%GQM?d%F zIGjCybEoWl+pIckPW@0Tkad&f>lHeo>bFyv6MoKjkQmEo+I}$+D}B3AkLPnQfBhWh zLwxaEbZG-6I{%5}a@ikr%N+LlZ^vaqdZH6Dp!T|xv8K0#?z$5~@Fv(rFDKJhP$pxE zci(rw)ukS0r6{gMFUolEQkzt| z;4NFBy}K_t)XLvP*uml^DtWTBJxFf1(@xb%^Ta>q*gv*OjIBUfj4Q;)?XAagzvGR) z6reBms>JW47am42Japfy^?)j^xZ@@?Q0N#zo+&8EB{}g%U?8^T;-$!DtgMQos@u88 zUY2`o77h)E;N?rpV`Z;I5QyeH+t}WftvqiWf1Mya-?^DbAi^Y(|`V;KAySKdmrJj5`E)4Z)2Z-^xmO2Z{y z_mhv1ML!7hwlUdE^`UchO>R| z5r+rIQprR&LcHF4RK~~SWuc*k$^gP@ux&H5_#b=q=$B3=NnqN)rf~ih4SSRtrrpBa z872v!>GP4jRd2tB$AL!Y9ov7VP^h#3hsEF?HmN|E$E~qP? zxf?kVzY)qb;-|ru;*nSs5<7N(^vnHg+vUVmSSr&?u(9AHSU-9E+n*6d#*_KxW*rs7 zt3M2F%MvI7kB?vC-fFiK75uxm{%+p2XYx$67n4|j+*z6DaGc}cVFXriuQwkR4n!dt z|BL#MqGcXi7HjscIg`Ox*efQKjd$B8(G`9Co_|a7@3|B553QcHcNt6c&un_1qy=g9 z77sxS>{Au&pY;EOoBTCe?1I#_i z;(E>MGg;Z1(aw)MTKlktfg)b#2OkaKLZsZAAc$hYqy-#Kv7T@lMw*d~{%4 z!QVBbKg{9Ls>_*s7&7lL)iG6bcL2xS(Eu~8=CKWn7X*5KEe|C%b%$ijOG~b#*~g(* z?(R2Z*6vq+>VY2v{)iMiU*EoJ>9;24c=BqAgH^0sw=ri+f_hKTaIsP0DzZ+%N}9{c zUN4kSSIhJq;UE1u_gZ76uhd$9^aZeB!pY3Z5EoY_3j<00GjQ zal(%H%_4ZO{)qa4YT)8vA<(thxsQn{9X15$^O~miW&X; z5{@NC;Qmd|;pk=~Z}b!!h!(;l!v0M*rTh+uIvUMRbTKXiS)sGY{>VPe`fJX?^1`gw z+i5-#2WNX>T;?fS?DUtT!XEby``HaY+^x-PYW7^jaW?|TPgkS>p;Qwdt2FMWHj_+q zW?Qzuwi=tGS?wNt1t=hQ_PE&T^&PIx&0h1aFXzi4&bWlwQRye}h-&~J;^cH-CaOk1SmOy9`7M+(YwCs5U5PuFd7#2y$6}5 zm!Hq^qbr$_f(f1AnafUmF-Ro&%7Lcxu!p7z6VGv_Jtdya>zr%?&+&Qq>mTh|Lj~w$ zS`+I8ubds>satBUwCnOF1dx5?(GfY*_;CwI<)WQAKH$_eI(sJ6Gw zIm7%TpRPvs2)bD>H=^REx|>XbmCz(j9NpHG^?^$Zey5u!S_S4ir*WC8iQpDnRx@HD zg-JQTnD8qB&P+7AC-UvUUpL24LtI&I(OA~m+~2`<3;i$&27wcmh;)+ zza3)D=hjQ;2@JdtS#1S7;!{?H7Tw&4k?V`&ZSDL*oo?z{^X5cbt#4OQTPKawfkY@f!DmY zmAUZpX9o0w*J}OI0;H^{Ov9=wwxHrLsM?K;hS)RPlUeC#XS5!)H{Ts?QDL350qVo1 z5X)^0W{%soeYbUO)rVzk)7*D|-2J79DtST3NA{|lnmVUlQrJP2?I!T&puQm-Iioj| z_9kolo!o%9li2FI<%aIwowt4bRqWN!d)?6%qYS~gt9(8CK#$c=`Y*c?*(s-&dE!6O zI~ho`T2$Sti}9~rA;WWpIv@Ik2Mf@an~B$2`=T4+V2|&WJ8;utDBQu9ay@YEo$KQd zMGsBa=ylnz)x=I*@=AxW5IF|=<7~w^m8Ks_HX8j1G5y7Eu z{lxEhC-=Tvd(ebK`Be@8Si=8m*B5*J{W{DW2g??jse8Wp?ZDl6cU<>UF+K4-a)5cI zQl$`eONBnE{Jig0zG2J5dYmF2;n=H#Xa7(l74+tJp8Cfe-UoV^eG5!VYrlfv72pg#%le=K#y;wRjh4ce0?W4zB<^So<}D?^ zuj(ddG08-hF_BUGta@g_pQ&bltbU**Pt|_W>m)m1X3CwsJ|JHxC&;+)o$}e0<{OA} zeov8_dYQ?`mydm9BoyBGnlr+Wl;l5dNuU%HG+WXpbc0U%hMzb%-Wy^PJ37)9Hsv$) zz2;^Wcx1xrD_6L~SP%RajkYZv3TDtqF!Y3FIKi0J&r4X@*dlO=hlULSA$tTrA5c$z zc5}(R{B<~$tfMQ)5O^%dJ4n2R+f*0T|8ad{U>l{>IveF*JQ9WDlvJsF4VULzzGsGV zv{gzm-kh)+rgiNUN#fG|OwzwYz;5z0R!u#G723q;lRBnZq+jIE?6Syq3Z}Yv;knHA z%_M*W{9s)T7NS6#SmB*WYk%>b0(D~bWM$d%I|bTgEQuuw{k2Cd-s0Q_in7f8)+ZTy zz9^dk4w-oTVr`wTtXyvyaRDX5$wfbdQ_0w>mBPh_!V!$jB3vP_kq^4+t{(gRmAhWd z7cMF8s-Saa-IOst45^A)DKLI#n2Z&BUZjz!M8hxPJRXhrj&O-zLUEkp@S}^IbIr3OrH`r^blGwkfrf-j6ych>2Zq?aE71T$WvgernmZzoMI7 z>Wz4^G+IyC6AXA60A5E~%0_z0{8Ajix&H1K2A@U*@|b2+<69ThP<-TE&@~5}=|5+) z4qlzeFBQFWL9-6>izv4_PdubrFW?PyHhS;0JMxziApm<&_D~~Am?5UDq$x0XixQVe z&;R-2%SrD;&RV4rf(t(8{U=JqP<%98Z(rR6i*qD(2WG=AR|8u zLVj)uq1;bH#4+YXKlbA?ZGJ-x)a+TR3CLtcrpdn zb&(N@3qHxQau2$((`hw)RAK_)m9n3sW4?{I7R&oR(oiHzC9I4eb^Ol$5B7tmO6fY) zhevw+{1IAQ+Kvz>{UOnm3pJ zD>~ys$>3+Ys0n1F8QVJLujPA`0NN?uG;>>^W3?zQW~V%}9?<Q zgt^~0LJmmfLqkkm%2+zd?;9Dt!_cs2e*bGHYTWHNIA@!eE}YhCNZ{1;Vn#E)stk&S zPNpG!#7gs9ns~sG>efphzlY{j88+x9`fYIh?iyq{F7`ce`gO)YQ=jW!gvQZO3>e=3 z_4tEXICg-7>8W%JAA_vEr&krjrlbNc?j~+k;mWT>tM6(SEwpv=Qk+`f<52y1jtH|2 z6a0pgWkUa*Mbh9O#orzaHZd`bur7Z4mRjWFKsL4cTfwhJ2hs{oUtnnopl^)01<;j~ zZ_KjcvMnu>77+mngr^7cCPs9N&K$Rk$Qzr2a(2 z_GEZ1UgyZXITJcC=@s7@GtCR5eC!6epd3#p)lR=zYa8{}6*!$> zK~X*(a^oPzg<2B<)QX=$VJs0>r&l_5Ym7n}-0F_ve;_wULmQ)YtE0m28)K1?2!9}o zp5UsYj29FH_6*4mA>KalA&#mL+#b5VzFAiM~WsY05C zOxN^NO^~w)vG>&OLAT-1N;xYFo9m+|7-Z)k_dybC!Bh+rEC8q4(w#F+|L}6>Qh>qg z<(lE*m7}vCc7A{E@ix_RKnIpPoMizDK{Do^j+TyfK!CSD`P484#Yj|i&PQPAHBLQ+ zdW~TPk2`4EtjlF9!)8gx5eCmjuvLD1zCA6`g&|C zTe8PbiL7SDG&(o`?_esM)4%iHQE zK{5ZOl4e((BI4uwntL2FyH{G}A03a*r+i(5AMAwa(+8zPg8$bf6d>N!xW90j!vAm0 zBJi?mR&qO5gsst+t?1Mis&} zCkmw=%@b*eh&(->TbKLc{h2W8&|qSnU}I~fgb*zEp1BxR`@ zZhs^!R#j3`Dg{f~@c-8YfbHe~>jVIM$4HDC^^|6zI9r|S?=Bs^~{jx@OIq%v!T%&GXz(df$em#4>nz^MqMcw;A{UdMWutSyKaDQ=}xWmlp}%h?+08 zq4Z8T^xz0WAQ$|-79=ajW(>j*4BY-xxp3W?uZHeJeyGg*RCvYE+}nZTfq8{zij5(> z;lkeQy>|uwBCHuv2QtKZB^O6%ATb0rxVhFpw0tv{!EW3mM<0m(k?CzrDu3)X>EQG=P7aK=E6qkEdrn$i z039b$G9$?5IfjM2mx6xPTQ{<73Tr-O>3Q2qYQIy+w5leydWQbV&DW%@`i{%wi@#~@ zAW!wr7Iag_;n~+H9>*gFO>m&XNkm7M_t&0oK|VBz8B0+bMSXbifw!Ym4(Hw1e6~G% z5pdz>j$^)#eLlWpnLGx?;V<))vxZLdY|vxHQ}ibq%+zyWz&vo%_h;WpYJr zrFtCgPJkhWtEbsaQJJ2hcc6P?>&bfVH&Oewt>VHr+j~ldylS?J=tU7nteZabOZ`Zz zV2Z(dk3?>ReF;SmM+_44gE!nYwJ}L$uF0&s8K!*eIe12VIo1K}lb^DoRM{?W)u|!y zRx;tXcw9yJZq_R%z44&ki&T zMM>vl_4~@zI1s!GA*)&0TQ{$-6^OPcd|IO%v8*(gva0(Au5`B&uoUX5{@g@locoWN zp4uV4Dn+{9zs&V(HQj6vxAXQ~c507#ezmk;uKIV$3>x0FcVn`TA~YY)27fbmA6Q<|o}=A-PY7VrJTOG^uovX!VeS15Qe?38YIA(~R94Kwc5SolZ@XJg58#G)Zg z$(h2PcgD@5_$N_Z6j#Q1+a~9u890EGQ;?Y4TPfW$o7rINr?2%p1vhN^OY6; z`rNnEeU!VF4xoFa_`*OQJ;rgbko2;7w)>MB0*(yhH+{6YxFSTlNrWmWWgH_-02l)y zYr^mFi65(*RH%?rBVacc`dAsV^*}|}hu9brYTuz(3Wqyg;>t!^b$^rL$7)5nW+^`6 zjp;ki(BWOq0BIa!C$ZxqG&$!$C6AHT0@yvWI3?N3?)(4+3A>%zqMC0B+y;pvVF^xC z+vsWCAhdBde5=))Vwj1X%w)Sk(uR|HwY+9(<+HZEKFX z(uk_H8HoYy=$Tye4op}~P;H#LdX}x|h{+c{_gEqI?ykeT*lR|0`)^4hnct;WC8U%^ z8()t^DSPaUC+&zN1V-I8@xe7+VyU6Wm_K_0Asl=?m%=0E=cyrK-G1r{Pb^NktxLwF zWyD8utIT+I`L&8FU-DUQWaRV zx004(ayL@Q%j?6Y!cWVowVi=C!8fBY;sQE9PuRS6G>DvXz5ajR^4jX2H8t85DiJ*? z*}mr{F!AUCF^HIK8+eMMuaNJ+yeK_ue>E2p2?2c^_`wh ziVoZjBMWe1A~GfsBFaNV3w*&_Fu(&Yec=py(I5!E;eCjS>QoP$`2Bm=k(Se7Z2NPQ zHoy5VP$sM6UbUJWYGxGZ)ftnPagE@;)q5e74fr{3iafA$DXF5ok6#=E+o4}&SnXFd zQJE2)fdn(`U6ft^Y*CiE0<>bncv(zQk)3^3cuQy&M|72ZuI5 z%1N?&>RA;j#!SmVpCD=w_%;H1K)>>{doQJpE7Rq;2!^9^mAhRd4`eZAc?`!fIZVr1 zn7zM`*wt zLAWxwb6v5Y=_X_a^lVCiz*xFHkAI3SGZ;I14BD3k@jL>^r&xxYrj8P6@;5gd+PoDE9 z0r-&K2PmMND7XuC6uAGwC|a)B+Hn8?lCjAWyWEbSJK-q%epQKt555u>m-)u+81&JH zwk)4lfk+ys^`C$*gokHpc9Q~2vnqX2aSvMZ`Ip=|MLY5j+ua>=T=6}&vT!c7qk@>O zwQ5`XWzzD_*Wsa)tNix0z4pI)=2^?OTsf{#;Mh0}advM8jtf>M3sE1bZ)$mP=j&Nn zKEjr6zscdqXKkHgXJ1;2&g#P$0uDek?KWe8q5t$Rq4ja__8m~AfbX7T;eFFx0TZ_) zjuU6mCiYNud=vSbhAxn~P`@t$Eh+hzx85`1Tlh4ETuJ6N$*3;bT{`NsG+F5R$pN(= z9e*L*TJb_}T8j1ZLr190{R`FW>(WzwzrVuEUZ^4LL7|{~hnO1PeFOxr=Z{?d@TM}` zcgmm#UC)ph{$({95~j0=TTrb1vMH1Ue2_;sY?5N!41WG$b{#MF30|iPCv)T4kLOHn zHj}$o2%n<+)WqyYwK`l+q6H10*K@B z7;W(Mm92|1=zM6~$K&oEN${TE(nG#(&)rIW;Mx4%)Cks65NGSFIHHJQ*!&|N~?ZXVp^VV6L=LlISbz1bPm4Q-jKw( zJSla)zPgT05hXu0L1>+%F)TEHV4?YTd zE_`?BQJ8dAS@F~L9_L1VfmL!_MV-^`YbAevmcxsJdXbHT>(oB`Tg|Ix4q}^kh)G*p z4<&t2L%QtON*7&v-rWxH9d2b~oNmrA-dN|In>polLs@_{1#gko#DJ%e-rNi<FC0%<1f@3$$m3CXZoo1>3Fu<@S%wkrp=dH{+sFS z@3#4;ve|~&aH>{ctb9uK22Z-3pHuppCdGi20pJ~Tlz4jZ@!=2MJ118=*umoxC3ijJ z5s6F|*mpL;^!gLjnQ?r(;s6Q-1Ig|J9q4oi5tIbEGz)SM^6NlcQ zzBVFD6+7*x&j^A!*-hvg?4x%j6VfJ=RfWQ}F`ukH9*X@=wA(SVTlnY+91-kFf0x77 z5s%YI8Nd{4TZHHTG1Tvl+(^M26jqbPjInRC_+?g>w7C(amn4DSLAh=E6`ib~=(BWI zc@DTQsvoDKk{Pb{-8RCERaG#Hv=FYvyQRN;-j8(4PFa>a}p*9=Z!ojeyF! zgtYjkmJgZ|_tQNh>dYy-SzSw+&TidoE(j{1G?bE12|o6{A*E+oEN3TBSnIyZ<5a!g z&vrZUZMPelqKcX7`y1MJyeR`o^&fcH*|o2SNsDKF3fNeJ*Uh;-?r_JdM#}AilM3b@ z@D^Wuk@Y{#4&b*#CAo;$J$=D*y49WffUJu{cX-<@eqSGLN3TVV*&_H?%}= zG!7U6=S=jyOuqD)qpf;;Uq35b3UbCcg}VY1-7@t)ero)c!ZD={Hm3f=wSfMzsG1a^ zAh*=Yo-AjqOXJ%Uu>R`3C$gE^ez5HVHums;LQOnQ&!yjDcU4xov3R$3b^dALN21eN z6)ILH{Sxyp;Kah0$j*r2zb{!<^Q_=_@o9F?o; zQc)zgA)Ult<``OYh zXALI3HhdSz1va)qo>+@Wa?B?Mj)66u{Ga(hyemW0VXZ%tpu_+P5P#_FI}|H_cu;6d`|C z^0$3>9r~hjldSn}+WzGqqXPhq55~LHtlDT_39^9sbeQ>TNvZ%B!g&s53M}`&b}Dq+ z=I}e6Sqk@-jLcfi(H!2scju#Y2OK^@2=qNfo21c9AG+jEvB6E4G>tQxKVXff<;neR z8J`+w%62?aHhN=B8*3Dz4z%eCkP}zQK?<|gQ+`5d`s6a-`K)6Mh&9D;D{>#DVG_%32;0Qyo3M(Mg{prH1sg6uT-koA4jb-O2Bl7>f@C?Fe{G7uJ zz>r3Sbm;?3V7F(r5?xN(VS(&FW+hjRbGWl_C(KEJzA~P!xt}_qC7`-S@{pGhWx{D< zfwyCK+h2#rqLO5hUtlCqT3RI7kkGd6CgSrXS2w?9jg9!I?c?JP412af)b*NsYP5$b zNezkks?sbxePmZF1O;{U+Oj((L`g8MOdd~lDJ&dQlBR`>AvJjOt5;k+1Dwvl5<43# zpAtq+kSS86F^GJrXLCjZMee^LTn&jx^9&NvfLoV|F`TX4enXhe8|iLPLg<{VyDr0U z2J;m0(3}?FLw!o=xz`0x->$zys z$r0lVSlC}g%dAJ(mi#^Ss0Z+%{33E*X0xKM)k)>6`Mp%;{K_Uk4w84CR`Q47<2+a7 zxtsUN$?2ww`#*N&Z%!fk;?t*79pi_&5UDo2SNTFt{Kd}H;_4}^_xS%2w{@}hi5L1C zwC%GK$)Nq6jZmFh{QI>8Snztve62hkUc0{uP9jJD)Yq7R72_!pO@a&Raq2Iq<&1+-RIREJ6?N4I7PD2Nbw#Ko5TRQ)RtY zwxWMUpuzV>z4WGQ$``6X4Pal~q}QwNyw0^4O#GW$OnHG~y(eECe_M9x;1YV#w5_GS z>$Y^Eni!*^G)S##$!IrF!2Zg$ts3m|;Q1RRmCCammn5{^*y-20!^e8bz$W$I0DVH@ zD-%e;UPye?lPyU~A%C9u(mON4yepJakMm%XAhS=2FBd=4;E4LKH+_(UP>3uY?`F|x zRORq$S$zEX&MqrZhSiHd!6-AOZs_uMFxD_ zH(6L`j*EMM71tL8e+En?lLT zk~_)EDukM02`j}j`A+Gbm6T@F8*SXWqIBGG&P_8pI-P2JeUc5h)~-x>GaXCggo zcWFEB$JHBEYDunhXx+^-XSPbS=pfP%{{0tLN^Zg(r_jmE!d-!VN4tHp{Yyb3eyY6U+xoBRihfv5 zJMitM-JC$hAFWqbVIEiGbvToYKd)qxiDFiWNk}!3qAZqneEZwa&Te2}+0@`FC?0n5 zNGVcW<;h*t%y@P_wNW6 z+{?7K=xw}UEe{~NW$r@=3gf=V;Ncmh_KM`X!|wi>ZPe~a*KdR zG{~cxN7Bvz*w3v(7sHD$#kr^v2@EU2$i~L+FO6bz;SuI3vgaBCt^$vIzkW{dl)z;c z(*DIA&8`;T|6Id^^OPK4uQ&U3({dM5vl;Q?h5b;18op!x{3;nue&o}2pr~28j?JXU zfesd7`&*Jz?)}rg8vSa$8u#8yv6>a(^;&i0I++-_2J;;VM?qczt6=IwuJ7;X(&rHO zutbwUo@{K`;~9(^lBX*1EHBnz)_o62$oCf?M$4RMl)+WdUqnW!ubt1wx<+_OUR&1z zLZ;Bbqp_rICwO#2s>OTd@Q&MQ^*=FX*5_HEi8Y%$?jtM#btJ14p^;U;=(nuqZcHS7 zjm)MDY7(eFuY!D&WBi^Z-CQj0oyeQZ<`qIO*}O|(WKaGFMI+M$=&U7FPta-l@KNT)`LusR}17$r(N=7 z!`?g2x_C)_@398?RMWSzz01zi0A$)q&*aqXsO93m!vL%!Gv|s`TSH$1IPe=i*`wG% zi$9(WGG(xbnaupag!fkHBn*EMlLf(F0>pp`#3lI+PsZt+eEQDw0QL8jT=(c4z{CM~ z8gyg#cNEduV~PPfNqu|SbA>2}${$?@oL2!5AD2(N@47`f^~_7%9;F7iASypy7YSO=)uB;>qfa(@}uF|qdR7v(Ft#(Vz-wVmr600`oH@!7Egc9PV} zB!O!~hMVu-O8KUbwSPU_C(R>x@z2_Ji+PKGx%~d$tKimGo~!>@1lOy*n!^5_^dbo+ zIccvM;jSs2{N5YR1>E|-3OG7j+F5)3_XU(L p%S!MC9{p1T*v`?)9cA2uP6{A|Oq=2#8eaARTF;1f+u` z^d3U*B=i7*@P_a2ckVgAbMLwD{o}oBy=&c@wOC;u=9y=nnb~{K-t*Z+Xlf`^ku#A4 z0063&Dhk>F05KK-AT_x`Ot|uEO=pC#3uExd1jgODFwzhu!_z{c6Ub}X! zy1H6UPVVmAyS|}Gh~>-Xp-pO9hRpJg{&}3Jq{3VGz^CGJAqjbUW)8)T!^z3X-rnAA zZEZ$IMrLMa>gwuqb8}w731zKiOJ_@iD}%K3w5Vg0riu`fTqn7%dbnm$wk z83x4#K?k7R5BV${ExM+=K>DC2_*zO~Q_t*iNz=%mg>#?agimoleve~*bs=NZ%A7od zpNqfHF|f|5>Y2h!ncI0Nsp>p<^5Eysp92eUcd&2cK=aJr?ELZk=;oM#fkA$4abQ%K zp0U~Y!VH^tP92k7F{ueE>ROe*f62?szkmP!N9B*G?3UD^ zG)Gv?s3fiS#yK(8t~mPIMAZ6%pEkVSbfgZ#{@DiqnZwG|?{NZd|HYm{Bc}v733$!ODR-N)JCc8~Gg6j4 zfr!wJ|DB(QK^w7~oT?PXJ5j{~3c5yjyT(b!J}A9r;4FS})5n~X>vfu2k-ps>#n_ypuIyoA}kqQjS&Nr(qona^_fM z{^94CQ{s!ka&)-~#k!A&$D#IGr5gPaktQu?Zu0M^UF9Z??U$yDknVJ=oe$66V4}1x z&Dr1LiI#zfot>VD6)E3??5egsGf#$7@{^#27k+U#eP)96i_9QB{Y10(`w;d1OH;b>7QRQH z4-b5h3=O_vY>hV7O6h`agZpGJHu41c^}Euo2Af$Ab-(3K?xoh<%e;7G?|n#Gw@zhYgm+f2 zz4ny7-XhABUa#QudmLTfQfT4LQD(~fkSw;d(TnhPjLS>M*nT)_M5>(G>l0G3w4PD? zHiJ4|_JI`b>g$4sFmOsPg33pNtIN?V_Z|OB`qnJ@rKSy-xLfdymvJpRr-~x094o{K zumVO)dq6xrzUIPH4`!;gL{&BdkO!NtYI^a4QJ800b-$Z@S8BN~v@BY;xVX4P72{mg zr;Wt@k`+44&Peo;4fo3L&$1fhW!V(&BD@NGog>HRMx;Ul%YDa4q52w#5HVlFs3lBz z%&cO}f>2eu3)TLE9??xw;_lh+gCjKTQBqIO#-tj&bI?w6EI&L!SW8JDa;sgD{Gj+= z^WNd{w~pPCjl%OP>OYNlvT+&X=dF|SON-F8XY(<}aT1%;*!v#k&!lMb1;yQT9Q4l6 zR`?31F!bqE-EtKAHP5fqc#R;e&mmzo4cQrk7GpNW&;8d;g?)!E>M468HCZtj%=7kI z=A0*v;!C)pJ4`eEHzmZ%yt+>Zn`;%aaeKSRwq!5$^q;rJ{W7(W$AV*)L*Ck-7Cj z@D`p$9(wcL)`u)VsR#vZ>FYPTEWbTuf;=Ud2A3o=er@hNu4-;k|Iz|ZnESOM?f$Y1 z$xOWfkT2V6+$o#=gg*L<3CUdLUjIa$E#GhHmPdI;2E_=&k%WCR{BV*FxxaziTwf<~ znF^~6Q?gbBdmjF-v!LRJ$X@;)m4e)Sfz2M5f>gf1{@>F7|3>1!v{vz{tC-eFL2k?H z3pkA0=aua1!K8@BgyL$zFLMV~&s(j70%%)I5uA815I40A9`gaTFPe&^rt78O%wk>g zs-A*OXr@yL+{ElF5x+q z+`V?Xyeg%Y&XPsG31IC@1`0GJcx0SRA1f1Tr8vBr1zGX&FZ>e2TBGfX-LH=huFlGI z7@Jnv16SK-ixfQo8P%c@z3B=g7G~chYSe#$=3bfe@%O5G@{R{K=&0I7#`dQFMa?kS zKKsz7*!`0iTY^L{H$!Xp=(|TZBi1eX_#4!(yR?Agz}J;!JQ=9HBoyJPL5&72DVq0@ zN*Q(7{m!SpI9(yew>xao@?M$Vl1O5JHn9gV++O#SE|EL&H7JN)K$JZT=kXs4^_D4% zpt3rbw%Ly#(N>>3ZG}?&1BXpNHV_dZyT5Wiwh>x!dwGl%OTwTX|GxX1P=ASf$bdLT zwL}fVwn}>4gN@6ULa!#Sm!Wz^HNQ3LMf4a&ie(_|VfAmA+3o0$uOAqO_!ntD7?Nm%r@RRq6Ut*+T74+cUs&~~cTxGdr){D^ zv{q^>GtnIDpCrQ}$Q|A;(nXEZ-L)KYwyM@yah)pNH5!Jf#Hgs=zF9issT9hW5>{_$ zmZ`fIG5b#Uh1(r`#Dg!pS%{^N%YVYf2BRaYMT{R+N|p)!c!bX~d-#B_fVYHhKaFQI9~SX+PNAH2Ch`NqpSh z*TpLni;Ii0Hmf_CVV#Ki7`afGsyi?sD+OJ$XVl&((OfhIU=DsRPV$DF>#i}b$M(LZ zGq^===e;7>w9vf!z;1oyk=K2S-!R^aG+}&!_zlun%1IrE-U`;{x=%p%ZOsSC8!m}4 zsh;Swgf#?0v6>Rj#V`K3cwMpBpV!`}|HUU|!^Ma~3-vTXd1@t+ea<_gOyo(2KQ~LH z+xs|6^x1n8P8?TK?is!;nJcP(5e?&wxcTun<<^IXY$^|{m$_~Gvax0E@ySh0T#~Ah zL)MkOTdBfYPBgbgnK)_fh~Q2?1k@rud3{|zkBN7_Xv+#U{54XN@i6Hp=c*-qpYDhE zUgmZCELmg-H7)0p$Oo0O50K`6E;GOt4SFS| zlOCqKHwB!Et=H`1MP)E~>QSi)zutR3Z2sNOMwpk%^i2WVi6HLgr*b0dsqL?ulDVH{ zthZy=Rx==Q(_aPrFmtoeJa@Aye$&uA{>e2&`|y08=UJdkAi4$sWfPHEtXk9d8A@q6 zxAzvujwCN^M6NB^?+%M!w4#EyJqcCB-8Ymx_Xui}O}sdS3`x8mu>KA4`Z4ICnS~b* zl>k22=~zZLJwn$aNd{ECYZhK8t@+18B=rJUEFAynQBqR zgUswNh%W`+Rf(Dw>t$#MltIsHEToZze0UD4QJ6~gZYIR^^*bUH%_oxU0pDmCaYYV$ z50~kqI4XF0Af<17R8MWDi{*~g#-??8`}y~asj|puyM}qsF~g#nKi~L%X4K$7(80^~ z#MItHtdd|pd2js5PsPDob-EP%w9xYE1L|9mpbqb&d-==3HQ;eT6YOa z>@>^i>UgO45cB*(OpWhpjhhlTLgFu-vWEin*}@-Nt8XnLlN=W0 zuO}5E_ zQ@=6fQzG$~e3K1pVC>>Iq@C#5OW^z7dCpImb?)*@UYou1Q3MK@2P>~~8@v1S_d!(R zA4Xf-C^xC(%D!h@C=t?%`d{vP(RE73$79AVdhocGpSJ0Vj;EaIMp>o-Nqi#m4r}ef zQ>t3OXkLFK+d`fXSGunBe(_)HQ(IhvVyY(XbS>*kQ#;@^iqVE147xlV8X zaJclchM)OuP77OJ&s^H)dv5ntc=0PIwP?abdL8}Mf)eE(#%kU!6CG~)v{bzehUT>lipC4tQ4C0=yuF`E_hO-aa_J{j6hu`3O)hJjaBPrB8!XXhF zrYHl$H@A#ur6wBYmE0}BK74mGfH_f}yQbGS-}ZsW=ehj8f8rM&N=Su=H_JXN*LE+! zbZWxVyxv4Ntq=4+9j1Q_a0m@2q2nE59dtRQ9?dzvoS7)@EQr%bv1dR8>6~uryU4dp z8y777oU>qiHIp+`k(!OH*lB2Z;^UNeu!wFr^nF)-Bz`Sat79>rx&6ytqmRY-FPMKAMHg>}z_0%?jn3-+060z{XaU>g}~Ph!kOt zY42>Le0=(BQ=<_*!4%y^mp=BE7v~8xcX4?p^5I%` z{%RmRZ$d)kGNm-J##tyY0!;=g8^=QB$NF@l94Kz3-oTESxcYi3_r7TP39syIoq`*> z2O#-BkLVGzNP|}^tX;^;J>P$+%tZ4xo~TOE|6`ea#jSa*2c*tr?8Jp_%w1ToIUz-N z@^08YbIm z#E?R$za)P*2g2Yx&pzJrIo8fz;S-|UaU-B$YIeEZ74JJ#>-C%SkPwKdP91m$!uCsi zC@8TpaPc&3nx*>z3tv1nOMzWxzLHGI$k2O7HkJhgF~;}K75KH)?(QZ(IB%)G{ncI# z%LgZWoZa>|r(w{*tfsf!jO(KO-8-e#ospcW8)gyeAjuV~wp@pH%9Otavu1OVO+0uI zoUnS}b?;r-JJ$`D2w+D?fGl<=03X`S)#z7AY2F6$5!Zt6KOtE=%O1H<7+*n;g2z@F znJymLdAVH9B2e4tP*#~qFfQUT}K&ox+ z`kx4ncFv7}mn|_}LzjK$2)lfAMjp=T!*8!N7+B!hGfx*wOHQ8wIn)8x?>IGvE3Aym z>$wb!-?WKB1%hRf@juKkZLq@()!aKd#l&_py1ao|`I*u2D8HCq#gNfY9E7bTD@Mhx zo-k8+ElL?xe7lDN^;=vKeIFBBO+k+mR@_tL!SMGkWK;=MH# zg!FADf-gPsHj%(&cwIxf7owB5tI5!6mK=kho7+Y_H)Ib7#16b;8@^|C35?6mjEbt#x zAC&&Airp~ElqvL-pz&Lha!&|4jpX>7(T7!Tu!?THU`c#K=vna~}4ws8>9WP&@10%;TydwKJJ-Ck;5 z@Afh>IcWj)Dlb2Hes6}Y6XjLwwVyiD++OIB3B~P^)=QgtAb#D==YZ5hGFvl36yinTI z*LLS}a_B<(k^u@6c!<(>kHanux5~y)W}L=k{J`l6?`7>A$}MlDL@ECAVeTr&eHq9= z@VK-y59@ebp0MwVbsm74eV_?RGp#Hk=>q)j{!xlR21S5cy&4g8pSq_IQ=rmI5j z9N*C)jNX)aZf7uvW}QuUQz9LrqR8(om)XDYhv7CdY89Yr-Y!kI{F4`tm08@uF2~y= z30AmKd*)jjMni3}E#Yku{ug@Z@lc5J6S=GP7yzBLQ%mriie)EOkNqrrz zx7NGAz^?~+!bo-oI+mR2??@(@;B~Oz7MOPn0zvPNfjdIT=6*P4)&q@Q7V2ray&Y%B z=IYV{WgY91#=mD(FOoO!o$0?B3%1B2?Dw=x&ND52zmJn3skw+V^D{H(pLr;eX1=|a zF(}lzEnnA<0X?_tI1>NVf&mUu!`Cl$@jgqD7j^eYK*tAYarU{Ao@a8(#~VC)WM0t@ z5_OEn46?)sb$792_;Bk78J3A??_pM00nDcc5Yvz_06hn2R2 z@Rhst>(^`{h<+btsPkIsMBvQv9?q+v41?}HY^{yG1)B9LDDA~1<+LJhgB$4?8N$&p z(3A+}!`L;MOG*3p#&1lwqbU8A5e;ME2eFyff7~(=-7^$M1%8X3^ZOd9Ubu82B#PP# zc~7OZPKl`7^!lJzBfJ5M=|^3Pzr&U161EtTUrYKkGQN5DD3f|2pkr@0rLD}cc{n7T zyS`%vIo^bv0kSnskTsS9ZylS6;-fJEGe{&cCb2^lw4S~KUJ~%`27&y;yaS58PZc-E zZ9r$CB%zOS8|p1GQ(?$3356KM81k%3+Oa`-0rWf! z-Yzg^cY8vOxj3sF32e;m|P;tsliS^3M} zy={EaVWY+bB2}s(RC!L6*#L1c=jDxElE8in24ajv(J&un>||~27(I5SX-Y<{Dpp2( z>sl^LVgzZI4r;uGTCsM5Ao9|r<#m*#`>>IzboVmFzLb8 zq?ZA;a|&=eIB%H>yOv3Zr5p@V9T5^%Ez=|+C1sC{!OZ0Q;dA`(ZHzm8B;FTx_K}!? zV^Gnt%w@4K_>|zs&YHDQf?&R^8KnGDyKL(V!}T|m*|i3$P(x{B8&zpWZhQK|(evz`DCT{qa| zvA2|-RzbK}1HIN$8*zh-Iqo12i7icJB>rMltP=)1mO!=F9*eV8`@F{+d!7PQ5dmsN zDH!!=ZSU_785iv5C_(?$7%XU;C3^_*WAfrSykO2DJ!kg`fAiYHrx*>?G9My=~fYr#4|LhrL?CKW5({xY~xJ zP#H<_DHLRF#|gIfVYPq<$EK0S4aS9qDId=*a73ekozzcnZ9Hdtu#I7pxFd(L|IX%w zLvrkO`7lqNUz88mUy=iqE@md;w@goP1w3RdP_J7OAo!OaGUPP+F8EER%Z#7p3BHT@ zfp_o?u@cAxs#@s0>FmDEo zv*so^d|kp#?rk!69LSOP3e&A9n9iP1bPd-?vjK?C`~cc2-)&@MF5g@Y@Aa#_{pKQ> zEJ-{Z)eZcE3VwQb$G3Sh@W_`vQK3;<=7Tv{T7@TmE|y-xRfbjNVR7D-CLugumjVbS zGhb(b>6J?6HEEmR0T0-#Eb@ zS%9xu1kEP}kndJ^H*g8S`$+;>a&K3s?Ry8X{3hGT`91l!--Nl1AS?PS({>7hxV*dP zAE&DO7$jI6$p+vqq+|5}who?dXX@-gj=**VH9&~BxDetkC_=pD9}CUR{?m~x`RR7p zw%K5EbDS2tf>zY!3`tq@Hbh zbgL5NAVfRJJ|l6U;;HvW;H4}gnUwvV|FMzkfWMu?*WV-Ry*EGyR}r(rR!G*G+7+4e ze?R}rBQSU~U#2)xMXZ<#z|0LCqb2nu7rEB1>=`1L9u(cWJA|}_t^sYbAb8o^$ae%C zt4Vsc2E6`%&}Gns5CbD)gU7gCSE*4>=;Aq1&EeZ>wdC%uuCgcvLr2a5GtP}-N+l(9 zRP_5AR9tNXftFZjw41B{01qSXXB+&S;bdzJyUz&wVS~S`s&C^uU}NlY$T8gVROCY< zK1v>&#giJX8O_-EYJ-;LAX(FQL`py4zAiR-<%br2Xhkiv#k}K`_{~t{0Og#{Y;O;% z)vTDvv|e!3xJ1so8)CjgpF_pRn$a#XF)?%5dZ(dg*yP!4*xYcl-`hinlg>0mxh?dX z$Y-|Z$?Z_16zAw@aIZxfV%WzPk8AVebz_rWU>k+!kCsxt@b~*Vf$6;)>-c=fq{sU+UhC_HR&3HV^<0+`AkHc9M>b)muy4lAu&D5+}{Sj;P zQ(wdN83tO8*7)~6*&~w1EVPi^eHYYw0&KQV_A8qw)x^^`e1?knWy(D9pFn=En!5nOo}8 z6@ll>*&EbKG>apB-QnuF2GBEpv4D)Gyj`2f-l$1xN(0_zCdd4L5U7})qX}cLwv7c+Q-G0N1 z%;C@3pqO-uEqs1>)n}rVr&P~oV$kJkh`ETZ1}N-0vLM*hX;pp6B#EV=kk%@POMBuS z6!uVWV>ZqT|9Jn`dlyz96cgWahTF0vLDk%8zx|kN~prDZMIOi8LP?q%;Wxf(W`6S$c#A5rFTNQk$xiL<;%kT&8>kxtOpgG)m zEadIsV_dSICHfAEF#h6*?NWH&8n<=k9LaPYiG_!FX8u5@CC$c+gz3A~ZOqwsc6VwU zuS?q;Itg2iLWH~Xs?pm$#?Y0Yg8It*&>`YYU5JgV=iw}n-yf!{drIsu_vJBg$3 zb$(|lcOyb(-9LTU?A>Q3sguqecb(PSq=(wHD5DU5>xR%2Q_w38a^mdy2>uu#zc$F< zGE;$YuWYKj3>Ck&^7Nme2bAF-j~$jnPd;k=YOo+Y4Zq>ayrAfyqC82W#V{zEZjpUc z)RodBQ2eB}Qyh3Zgy`Z9fyjs)jcI){JlF9UK+na{3X8Ql^WA&yEqp6mAWP!%BA5s45n|3R{ZvSdW#?Ndvp=4M;+} z*Lt5s)sN_(WktO{>%NsQ+ZcCV6msGpx7z&+p7D3Z!7it^Vmcv4t6Jk;nr~W#mA)K0 zyt|?{dM8+l>^l|Y+&|;^Y00^L?cn2vZ5Z+_jSWPKNMC#e)lXgRba?^YzLGzFC)z0k zqvRz?562kFuaVd?zSetecz&Y*UUK)RpaZoxSL;mhl+fcd{vadh(HbT5&C9Y@W4|Qc zvD54At>z`x*6Mnz$E$sCYn5rnk!<$N!rSL283Wd~22VhCyO;G=t=)LfF)^}uO-mo= zfuMu3-&r_acE7{BIX9aO^%kFeWd2h?&Y^T}ydhTREp8QR=p%+NpaXQ!%$2OEpc*(+ zMt|8(@v`*p5wTR`Wi?irlI#t{+N*Li&2?4jnxM;?cW;@R6xO#sYI5Nh%ls2Jd|-S| zv$EzKDA`^jL`HZpeLlP%mn3*HU*^0=YW&?j^fjgLo|nyX2SL3L1yo%Q4!F?pi7G~-qd%1kR8tE9~C3kjvF za-;Kiv0LIFTb^&;f9+kwG+Va@esEZyxvB=;aZuD5B}Wv z>BSy5Khs|E+l8P0X?8wpBA@E?7b7a9sqOv@T5AMKN_KeM4dw>diT^}YRNdI3RoVXw z|HkLO@-w;r4#*gcGu)pSvKjK5Xy{SPcotG;C-}YRnU9I<{rAz=EX8l;Eb_LdJfX3* zuZ&T|ysCUtVDNxp^dz$7l7mdPbeCruo+rTK-(MZ(+Z|bc4X3( zKwWP(>1YhSM;gVBqCjL;beJHOnGB)k5gfiQ)CVgkblz*CDH`53Tvr z#5RuIJ5xu8A_Kt{fnhLgPER!N#3#dJfBKYg6~IE9evHrdlUilW$ zjz`V+29|rCvHX4_@L7XIU|-SuG>c{36yjT#}kmU?Gb=8>xwYdyhY@@eAb+ zz?F2c8SmkkWBfxi(F)3_J{Ra7h(7vv@eXGieRvTVEjvn(IH1$@Y|_7_^}o;zzOLP& z1P$>&@piH#>eu86dg8xm;9pfs_;=n%iRe~^m&?^MxuYc>`AUM412oaQzbr!w+SG6m zS-oN+d@B#01ae3`MmjjB6oau7KJ{8ZrqX zEHg9~z zTU9M_un|&fdE2H${_gqkGgmzVzrx;HHV08Rf>;J{-_pT znOQ7S@*<$kKt?Vns6O%2mg#yb5bK!o`L+)q&)n`}p19+&D3FAiqk>*+jQ{n_Yi@qn z`r}m%y#M`fPczHK;~}P;OY+6=u^bv_>BQwqS{%)^B+i}p3JjL}vt;yixS*7ap?|Lu7PWMs z1z{A?w*B`yQtcy#LnwVi)0h<-omR7(8}tS+VV`1(hg~Aq7IOWzPtFelx?)~TTWTW6 z4#a-KH)(o=g&KUPvXojM#LJr}Iab6A5r$lw^)X&~Io^yxuqkV6b{uTGN zoW!pPdTxL$KLy@`i=W6cmM*EYhYn@2nRpM}V^p*t&c+bmFe zmiDPzKHtzt&T#`3{j68D zK7Gh5eG#wPaZ#gNGue`UWqE!Q+6id{IpNTfj?6Q`I@UJdKl>ug>1wwX@K`{5Ily}4 zCU)wWfONdjHHq}6>pvtOngXq_FDg6be8@#7D@e>tE|fJ2`>sJ!{r|LZ{1*8+8*MgK z$zo>i(^;8X;Fq~VdMzVa_y(u{@f$U)#H(Tv8otHmb`671bLD;kAF3O6#xhn|8g<5n zvVK8%O`RhL%@p>|%cK4*OKmKIibXmZt*eRsq**rte84&e#V>83^)E$?X$S|&E|x{G zwaaIxkkNwj_>|g-CKsS0)?0c`HXJVf1W8e=SZa`MfPufz%zuJxe9l%f8F=F6{-d(x z(QNOt;mhf9TkA3#+ZXjG_smkPjTn9?BcA&Rox6f~!p`SEE}agG3qh5c)^3JaciyQg z!ev_h3>mLu9^Re_?#p!Kx-B)7QZRsU;oW{dZ9FqSjJnGf9syq4u0B7f@>BkRwPb7! zy4-)I#rW_>4Ncls<-!$BXW0^eMuTmXY*u- zZT}$nf)EU1E6hZcR#mSj!cMrtE-d+M+lKtxw^oVYOP!nwTD!iNf*1rCcAUJ8fepDT zhb=%|dIOvd|4h~K@$+*chiqmD+(B4rpJ+tK>D_el=u`y{T@K3GeyKZu*A8ONFkR zWeECoQpKo;*(d_+V5|HVb}>C{_x3XdTH#qRCQ)8|VuKtRc`H+IW|)_SWpbXRiEG*% zhVG?2FLe5Dq7#2uw@hYGz|6y0HK48Y!u{Q$m*U)7O>IS$y=Xi7^o^tQ$>l!(-r4HE zpXNg&dql5J^C>#~x#L@KZX#(xvu}q>r0PbGyQ-{S&4ram(yPrr-G_C(NXT569DbJQ zUB}lVUZK^pxd`HXh^iJuVi&rIXTzAKCP#jhKCi%p2AHFwi9SlDRUnd9%`;2oK1wl5 zq}1b7YP8IAK$ABPqY0Mmey&1AY^^PUZdAygE-cik(7NkHBYb5<8aDUCqQ6+=e2d>V z*gHU2-F_Szt!u>YlPjrrPSJG;WNN$GA$+(hD&EVeq+|~4(R!zMbzbnFHW}~bYqYcq z%ya&ld|+$7T}W`v!WlX~AH~wP|GmX9cQ&XY`TMUQ%%6O_^5fiejb2|J9EhlfM=ypt z*Rg)b5r3pC9}Yg5AHB1edDWs$}x>;%Eeq{~H=B^yVp(x|smEG|9+( z9vPlk%J>X42|6s-{YQVAG%k`jyZ%OReN|sx9nyI``%i~--9HHLbv1eVH?6-|r_nV^aVCWkNTwus>{< zNQJgb3cX%iFPyO>Qd4*#l6=t2O#t{PK3}AQ!dP{{MWQqU)p%Hs= zpMYj;A3ZpH{Y#dJ*i9r`)cPRV;>>`L7MAL56J+dQ^|;-IP2xDde9Z45GImdfIH`YY zJnlio6d$0-Y7q?{GbD5;dBaJ>59sI(P@%P?LJ;#V60yIQ%sV>UJt9(}PgrbY!s^-) z0|az47C3wXxxkGr`4d1cxo`NK{8$R%cKW3`F7;KSIB|Bre|rKUX0p`A1jwaYa{fRr zCk+@TkWum@>2x1_0O zC&F@ot-FQ)&1u+9ZBT(s*PIc6@{Zo~wRXcUTh+uVrk_W?Q!h-8WGDfybXRn( z&*^j_jXON@iz4K42``@M*?o;lRiEw+gdy!-V50CNA88@cNH=fiWi>iTVt;jz&GPys zguN_I@JSSkXfTBHv73I2(xVKH*cLv*CilL+t@f{!do^UXDYw>;`Zba@Ov2|jQ-ue) zJuz9iEv=#E{QeCAK7FKG==r>sT9`C|T zY+yVs_Or|FFPsCP*<(8u)az<^UyXk}{D~&Nj2e9^N6o=Pn^WF{H=iH%d!=#_Q(XrT zE2+$}4}Dim=rHM1X-E~5hGHXY*u~LzAMa!0>db6t@u(;UD%YZM2S%M*>Jr|Z5Ykgh zOZGOIjez>g-8-x$M6Ko)xfUD-?T->wNy>2QDYPBy&GYr^znj+{t!5_M8uZ3-^6lwt z8RPs71XAxf@K;_-*IxQwpu=0h_@G{Y^D~ck1u1~I>n;;q$F;o6;D_dYj*(@S=sCx1 zGsMk@sdVl=M$4Q%_zdWA6hqrueG>(oaV6?`UeDW}%pwVwM(anBgozh0$Q4nW{ZXzX z8B@TS?Lxx{(Te-MGTJw6Mn7o4E?@9n8$t4hNOOUVf_KfNcKH|CVfTZ>yQA&$hX4iv z?bKN+(NFD}cE;_N#WCN5vfq*m4O<~@mP;jzrp=|!_3O#2qmw({X7VZNfVq8N+bzy0 z>LpSs*3A>vEhXLmCk$-;X17l`t3Mb(8q6>kDa-Pz0m0;N4NBOxx$o;X!dOY)LsB?8 zyWuA|%Dx^ZeB|0$4J(KyiSH2^@sn$@lvp}R%| z5HNn5xOPe230^=r~vEY z9fAUg<#9duN3ysIFo6L8h`V_9ynvo z#@?XD0shK-3Dx4kb%50zPj|gp0AFG_ShLs8&PZKI(M9mP0Q33qu=R!(X(=0G>>6>L ze||_g|B_Eay&C;T4|XuPfoP)L>9}n3oS^@RPS4!vGwjt@h~nrn<~*@8{vQk8UW=n^ zGG~3YVo}LQP^iu#I89GN_IiyQqVaTxk9Gd$5a?|YcNC%_RNeRN81Ri^^%j_!4Xuc!#HP+Dfv|_Zd+QHy^ zQ5Ez~(%%fo5k8QuI#c$99qbzIFC}xinF>EVs@ra?@W4wP?`%~ZIvx-F{AU1xO%}_Z z_|2Hp_)*~D5#smAX=d{+5G;T;qh>i@NoWCGsw zWdaiFEv>@wcW#8s9R!(uM!>|ll?7qg#qnJ-Mi!GzYil>R0s{sCb8XB?p@ z-`_v>stZ0{!;`X~zmIl-}xAyVP6Pr5iKU>jH1#Mx^&dJf-^37bMvNd;8kj;ZzW zhm3c!peIC{|4!`IwlAEYw|MXIv0os)&Uc6Wd{;7>l_%Wh*I+Vqc1`vdF*{(xw0k$d z!N}}$F-N{^+X--aoZqz>yzINyz24q<@TddeNP`5Ke zJ@>p`|MG2}2jpG~y3!Pw`=w=KjcsbdSrYU0<+e*&f_T?8wvI41qkX9gBjwc(3QEoAc;YwGSgyMN=u&d7K~_i%dF z(5Ig`Dcn12=oQxT6>oiz5#+T%6~r}wY{zyV56N|RcON%iU<*vU@#E4*@LdUVmzCGI zVotha(Ad*%0#yRGIEV62ZJ+w@i!^aaDPm)R*D`e^FGo`gBsK09x=Q9({L?nSeUx)n90J8>3RCaEHs2(w@_y!6SMeyE*)p zuAF8Bs3;eW(o(xk7`;qB748dkCWgA?o43pV0u!{#lB2b)cT2ALFoou4CHaNw(zN&W|)k$fQHfrJ~C6W8r5VKEveC}hG$;5#;! zjCzcQQ3Cdfa$qLM*#~|hf!j!kOW~Ecbn{|Q{hOLAJfS?MWPF%kK6R*vBNtNdCk6sX zeI03Bw-o{4x~;UIxE2B}W%zG+4|pS>&iy9e-iNwpF4*ICGR#q%^Hy*$cp@6I)QI}v zg>CiY-W#Cywevwer<~gxp+<3J0JUHKC&*Gkk}dbkzd)6LtCsY)HL_RoeeItJXG?ss7LdgVg%RSO6mHZbhsQ}|C(Y`t_(06prppJN01-0dI z(KMCd=)DZC4m^^?fWy3GTHHa;Pj*{8m++}x9>SJ6wB#ScY^jw@B%L(IH$563ZzCoJ}Sk zewm3~I6F1Zgl6Bmn1yW3&EddU){8pKEg2~4d2Q_R47&9Wvm>jv*=1LAgv{_QHta%> z$K8}qw=`mJHI85SI||2~juSuqAc0-k!<08;TBM^Y+OK3Op@-&h4o~>s7(fXu>d*zT zQA5-?w39&?3y&`tM+p>%D=zP`gy7F69U?71@b zJXm--kz)4@L4dO!=AyvAj0OuE^Kd#dmnRhZ>jgCFIM-VADdX{w{bSB`RK~$T(c1n@ zJk@SxtO!9+q($51Rpy4I-sPWK@C%S%?k450`5U>0tY;igI7^9HmDeQW16|5@nghIM zc3a(rWyJ-v<1d)^ZZyfGW|3iVhIGH|8N;wm(?d)F{2~6L26f6>TQhO`Z6NYst+=0n zhAHG^%2(oc?tq%d#FZC}OnnjUH(5}bC!RYqX1I>asOFrCW=a0=E8^{@)<(;Lm_5MJcm|9&wQA>rNvfRbgY6<f4cV325dT>F{Vh1BDA#7`H(%-DB? zYaSmohUNYVM#f@5(%xiPAPXeG>v9n6dW+@I*L5xL`IhN`Bi>rxo)xyfIQqu2I(Di;UV`Z;tDJbx;T&{WNb=gTs~G` z3MA|Z{>I|}+qNPmWwm1N{2UwVK=20r|F{tn)jV&o<;Id*{cXz$05w5z`2TIn)d-B_ zf2RP}sv#ORmt)xU|EIk73}~wD_jH2@sDOYV2uM*ZG%3RJ#%Cv^-$rOynz`THmA{$iuEBd1g1tJ@H=y$Uxj$vc#B-SOUFDWC z*JB3Z{lY2lb!JIW7Yp3{Ps0$K9Y4NVUn%HdY8NM8Pbvslq}wzeky@ckju8cCyk`wA--iZ=DYLVqW>WP7~5AUvcz4-pf?TJUrd_VgP zUI2h#No{0Aw5Zf{62J`(XW4Ji9=)$1Dd04&W~$FI2Eaf&$a)V@t3j6wbN7fryf#ND zBKg7MEFNVk&7R>xlvBo$LY*=*ma#(~W$LSnR z=s;YFqVx$HlMm0vUTHST?B`OX!9K8z6qkMM{jx=^*4-gJA=Y6vL#SWTVLK#b94K>r zqEv1(<_3`je~KC%JFM2*hW<=}8Mfsk1zm_bP*g_p+0H!?(!GQGQ09KtyV0__${D_N zyBLSGDAnB9#d*rc6i(Y{gF0`P@(Zlujds%{xzz^Ih442aU3d#)ThaIU^>YiB#!EN_ z`w4G_Du2_-f$)T0JWiN%8hmCyGgg1UHv$_AHt*E$Ank*?O+(|n(;9NkbtUWDA1F^H z>RzLJ@A0)DD|chv(}bM2u>0}FAi^8A_i`ts)xV^={8lRo5!8!bL3x=dlu!x$WgVYg z)W~*W(#!VTBpG&mZ|dBK*ZH5bDLbWx6y`3)sG)a-l+tKlqJ1@h_n=UT$X=%{2p;Ma z*dp!v1^%~c>A4 zX7{~iAUIGO-jdq>Ky%)W*6m>P!cGFi{@+i6FHNuBp^is%g=hU7&}}J_tWd{i)D-C^ z1)>-){R?eno%(59=Kup!+{@Dai|r&Y`}(0F6^qZeVRhcM+_TP4C;6C*S5YJFfppen zVjfjf8z!95jSPYg6e`~4>E=H#daa&!t&e4J4k3_&IH7`L6>!8oN=>9@X*KI;2};4% z(W{*&>z=2;Q@uEFHmc2mBu$Toq8?k>F6Jdc0l#gj63=S+n?>8ejfQ+4v2Sl++nGi7 zhvVwV-ERcjQDHa~h7bx)A!THX7yRWFIM;02vC*aYU3;@GMquAVA_Q(ha;msUuItP) z$zuSu0QMf%`u1aJb#98z!9oTxOsJKuIzI&dMur_im-N7$q-Xi^lBU*UeJg56rF4mZ z8KqLDp{6t`aJP?gT@qREXb77pQ_K4a|X3TA6Pn*7v8@tffO0m1cUX87V3D7?zP-b(uIwfRj(d2XjJS@ z;X#!7>q`fbOJ{REG21dBa2+J#-ms#%PBk_R*%jn$*X01@X}sL@l*R=ht`rAd{47_n zVtQx1e}lI)ZVX#YggWg}o+2_u!C`kU`3BxS2fcY4m4Iy2THJC-qtQJ zOsM#@Mk^d2mLHjEV;XsGw^rjcoLDwzVP6=OLc4RZ372orziuLL`MVgT)E| zFPdBb&n_&lz-km99RPs_uRLu53&9ouO#~~i@GKwzz{ECp{)`4VsomQKdkIvwvwr)S z#9RLIG4W^p!~MZU?VEjA#JGcNSd4Hr-H!EO1Zr?2oxx70c>u+0>(t z#J*A}pG5#_CG5B+>{5L97M3y6u_-KxCpwZpn4}EF$%OaY_koQFQ{IUO?t8=B5uOiR zluOeFFg}uB`cbpQbicxQ`3L~ePmIQv0V+qhd83a07WR1_*DLNt+-N_x*Ld?)TI*O> zSl=~l54VrgBsJ30X>K?RM%S@Vk!7z8*lF?XIwZ(&k2WN4TzVP*_jhjyn#JSy^Z<*u&j~Ji75FN8OJ#Q?N{|Wmm zbl9C>+{O7#3pJ&XX>-OiO&kd9vvo4Vyb1qe0o6@S4vJQwX(qMshTz}ypm}c7K@b&U z)~rVwJsqpeTY3!S!mV?LkW3 zf*;zJ7Z!oCpMFz+^iNrB%ONihGP{2>e+SHg67r=76wVO?UH4X>i;cw+UJDg@oVcEl zy#Oub*bu$jMeCiI^6*)AY=bZJb!Apnh=iV~7;kIQLsB-M44{Hr!vWPEys|Jo|8CJ= zt}PhXtA%5F>GwF#p0Jm@DBVzdSeb+QF}}W@1Mya#kFaD$-DAmf%CmtlCyiaoOb2L~ zKtLVl_7$M_Dx-gIZEhjA64I{7-Y?L~{19?@#riERi)cLK(#X@MF+BE2ve(ZR<64;% z@X=3Mm69`fIPHHwji-ml0gyTIuw72Yi8~K82mLqu5`hlOVL%1W-28~#Ag9+<^6I*_ zyX9gb)NjGgOwH`RRFLtCzg+KtZzjk6uN0==A2Z%W&M%0f31ocjJKu9lrcwM2`bE5) zr9A)HbJ^s7W6ptYaFgPjkFV6bP!9cI+_SUi+L{E&XT2ldpIP6YQI^-Luaz`@qdIfY zyV{uU2pK5zTesA*%48vy?VtOJJ2#X01Ne>}YtR#w2AAonerR#S(I~8-(){_7nJ?&c zd)5DCLiVd%LD7e-j=L1!Mc!3jBUQm7RyJ*a(O14vzpcCScrdkProv4mdm*|A_ktkT zH(9CW8`+m`g`gJehIb}_eQ8+rHk!ow^s#`-U>Zig_)##Z)~H@1sFcq5)=HNU3H9&+ zfumj99eKXV$c@{~4#I;Y*S7bSo)J4btWt%+wvIJuvN-|&(sIq6s6$~4?30Z|u|6a9 z5#^@nUfE%kpn(5Ny)N9|zH~suja2RPB4*Z@61V!YP4}=q?6J`#bJ`(=Um8QVT$U^X6@4 zV(-P4WEd;FJS|7Hd06|^+8LAs{)(qv!F!!MPtP@(C*{D@?NR?F^-`E5khD6gR@pfv zDOH^%U>6)o5+hVz_c?zq?7c4x9PC~xojmQosRHNM(`%i8LwUp8z)42iZ@kRFTK4HW zbvwaftz{weY9YVyool?;NQ?pXlH*s82M;?^v8gxha%)r!cY-WinO77v2EOxRS$_gi zw?})W7LLx&W~KhleYMDxNmi=g{f~xT{(3d^RZWLiJ~+xKSOxR2KVj=^U44w)H!AKO zF!=kO`~t$lSObnc@UI(JkYicy`B%%jf|XSY_c2`Gs5^$alb@%Hu1*#FP4=w2L3VDzLEnfq_lQ$i6z_ zM@-)Ckolw{K)eCEhsQC+PWrPVN&2NWRr<2NfVm_u>YAL8b%~2>m6hhuitTyiLh}31 zb-j;9W$YOq&am=Q6`ok;mdPC(*9~czPp7Fp-pMGgJRZw95iA=w=dRi)k};ktMd5gQ z7M7Kf67%p7IkDBxm7NV*7dyce9)DIMlz*+L@~NtRZfwe`Kk948c-3fieMR}^q{YXy z_r^BHq>vaA68IQo;pb^|T#%P$hH->nMMlNi1;l_XzZh50>%7mfd+xUW_EMWs>A2r+ z{tVf;MM8Bcr`{2+YH!4WSctP{C#U(y&}D&f9OLdCA?o%>Mx-g?SN+Dl0hg{;CxlP= zh<%ANQqhyCh52qo{S;m`xM5U;-6L-2pe3(Hzai*?@t|rqq3&HXObT?D`}b-ftlk))8;Zq{`+pg0f!$ zhv@dAT4mV#t7|Wez13^tt-fF?i~GBD6#y~7dur!Tg^aEiG?XxgsKdY)Gc5{jy$vh{MY zsv8+JpmPG#5drU+-|1P7srApFn@%^4qUVcw%r-KKcqe8_y_A~Lsb9xQe38~xKs_ZF zT@k>nc<>2-E?U&9VZs%I$(v+VI?Sb@m` zmp`U@!Fd;|x_ce6{u;)f!S(b}!6Uj$yS|Thl>N!i$sMHvGCSi9g{QJ@e?}pwA3zLF z@=Rgw&^*|xf8%w4!XdDP-EN(8f0aL*{)6!Gq6sJoJ!byUG3ZT*t}%p2DHIJHAxv^{OV??#z)rb3AfDA*HgELOl# zK~Kb5%f4DM@7wBmIls&G8f(vzQf)9ZW`*wu0_^oWWxT(qaX*ptqrb>4mv@6QSBvP% zH{Qa3MuVk+bqbjAe{*Al>PY}HOaSaJz7CZxBt!9}r zY^&z06wt?907w7#Yl%@u(}`siUfE>fU0@01s;QqcmS81P+5x2nlF zO@9}n-^lx0n=u>*h@|7~E6yjo0`E9O-#*M#2Wl4Y98%ebZTwE|pP z9op|{N4rmU2=t018}+r}78nYN5(K|HFhHXbnEv^^K^c0%@~Os4&4R;Nr$`j$35u}? zAI;e7&hh z&cTWvO<(i5@GZHy7=V8;p;XzY1k=n&XyZIv`KSY#!aQHHqDIza;qnpc#y-{W?-NZG z&!?m5xMa%L#jwcdF<|^qF|>tfKL5$*&kEMSyKcEexuuz#E1M#+N3IA({G|JOT))Cz z7JNbyv^u|}6Oka?P3j!f#h@QVHAP{98&xx&f~FUo4;t^X=g~n#$Syk3$+0+_it&5M zHwA~+#i?iUGd}1mDRud5rECee-#_?FD`JJCa4L?;+!Dt6)uEO)AkA@Wv0gL}Y_;o<&+$jC7eLJ`ivJh7<___B0PidJ_w-`u+0{3h}mO0%qCzvwRMRmJIEe) z==E(K6S==G7VlnZ6L}R6s{gDm>{=F?FGg$eU!ZBaGV)UN0vo%c4 z;rlx66a2=4O zk5OlT9z$w_T)-mMfg3OCBY(~Z;EC(HN5WhovO8vlm7d(i=b2c7+7h&*iYPmMQkaL8>=_v_q4j$xs9m1*ea-1!7 z`XOBo9^?J$$I~7Oy}8dBcD%BBCij z<^J#ptm(Czzs<0Orf_{ksE@xJ!TO&QL%xUZ(`KR8e}RYv=%?2})9$I>qw_Rw&MtHL zrU@ity46XC4O&}U+}M8JAdg^p^R}I8gWQw9x-oNW~De@YP$gu#a7|XKl~!FO(R#LU^ZGoBQSL*T_$GDa*N@jav9Q%WP#2 zF}K}O>Kcof{?H-Npwz!JeO3gcfXzF7^z$7>9im36JmLuhA$~KJ#&ZiF zI!{uzUYWmmRA>J7MXUQQ_}D!bvYtopQ=z#-o{C4?0uM|^jBdL}=w6?ie>0Iu!f<*& z$+cM^H=QJ(jFRw-%Xxh_r7L9PJDXBA=cIRjdj(_o3(JZ&nsdSSWjE%B=Q1DnDR7u{ zm5Ny}ow1^Do;wvV9qVS_1>N=e(c~~^qM+m{4vu_rHVaSp@}5n>ACTzNWFUCtM&8`t z{l7>ywoknhZQ3AA$9I{xAdx^lJ+~Ciewsh`yubt=CXIUvt zij2F5H)`o_oapaT@yIUT$TO$3^oPF*x%o;H^>v12){{l-K;_bNKk4SPcgPGzl2%WW zZ@ElJ?SPmai#rW{Qp&c13@6uWK?$is-t58WtI!e46=^&DypIi9Sg*OHSbw|=JMr~d z-pQr~!Cvee?6i=O{P)UDrzX<|wene&I_(0t!h<#zg*H^Xys$em`XhS}j(1`LS2_a7 zc3#KL7BYX%9`V3Ow`)vmknb2o{QfN_W67_VRmk}3oc3&|6X6ZBYrVotFTT?!ft>q| zS$~1dK5p4i#=};Iu0`S1+{E^EiNqs{FS-u8ZTj}~{COr{Se=vK z!e=pfyf~b}=K(-V%4|PCBGlIL%zZ!Zz)mua#M3@DG(Z_FsNT5Kp9yzVE&AuX!X8f% z?U5l$^!9wZ`)a@a3qGDrf76s86;CO&8H`t2RC7tHme% zr|%NAMOk^ail`Dz3yN$5zg|HBs`cQjVh*v76tHXGYvwsPzPKo~6C9bCFGsWtpCKlz zOIwFar}#=+{y4P3Aed~Yaq2-w6Fcp{U@z%texj6S5yRZW&zU&0Y}F{hIW-h0>d8pF zn>xWCo?J<_pW;CrdFDRXhgfKTio?9EJot2=@TL;$PW!U#{_UNwYqZc?#unsg*P`?{ zHrKKVH*4_*S;2?$m8WC}mC60szH%cXZl=Gf3X%6j_uHN^e!n+M`o}y+agKe6Y$p zH$RG0EB_uFs0oRE7WVO7SJ;gDgK|D4op!;mLzqWhsit4Pzn1o6Q}I{`086{K?G6hF zV_*M3MUMlvuaqmXwq~T^Lp%C=F~dJkpSk=q-HG;Xf(yMh{!NMk1Pi)*)khd^QIBEF zASL?qB(mNam7xYkj%NKQqJKY>bdlS{g-ntYEMPr1^qy<(A76@>IG!Y-{$q}mBk&F_peDE}qHm(X zXJF>6|EAESLrVa9+4TtmQDWr>Q}o|q38pPAvn{dVWELxIiYV6wN$(Orx1&{5ZgXgePKe#kB!g&TQDnWrT$wJ}0((nGJwlUNteMzx#y~cHoAhR0;RrGV%EF?Wo#JO|)h0_+&u}D9u^pykV(5c3@R=v8Z?n?o`)Lm8skRJ_Y&ZwPGb5|WBtNOK2JJ@;_jEaJ+aBrV0-KQVC|0j(jA2ARoqwr?X5_7&N5Ln%+c|s)sHWY ztM<;#qGO_r)nZz9oF~|i)inmzP2KI)+P)RE;YU)WTBs`Y7~FMZIyA~W4%R&icm2VY z!2EK~A-teRhu8uCw7Vkjo;q09XNpOtP3Q z-P(?sHdPs1^}`m&bxF6OUWM?BTNOEN+OII(ojSVr z=_{4H-6$*B(XUI-TXR8tH=?;+iRS5MWbtU|=w=Wn^I0A=C>_+OP%DBFnxHAbzeFbl znO_IQkXY~MUmeG|Zl^PYd6p|dv&MX1F`_Kzh4o+gdb;i$>H_-ZCv|{QMw)~j&GxX;^D=arzxYYT}idCx0 z%DZTf#4G`pw|bJF-V9L`u!kiEG^m+I3n{lgQ5eX&mw5Uy&RV+dGb9qUhkTsh%v9_1 zLJh*_152_#@e*~Xo{P=QL3QH!4KihdxB5pie$L{;8Gq&>?(;2(oZ+h?@$#WJLzR%F zY7^z(Vk;wCY?UhST;5fuqY6AgzZj<7Q&y8EkzRNAVeZ$V zkOHs1qg;Bln31|3Eo7mmtLrk~Euciq^%nChJ<|DLeB?mTf%6qRhkJwPTG37gS9$RV zcI|Z=KXU;BCQD02DdN}?(}N-P&#%{H3StZCpBR~3&tAGrG{+0iv05FVb@Og9pyTDM=B4svXjq} zpVY%@<}Ol7D$e{#8phf^^{60f_IuwOmP(YddNR3Vrrog_<4LC5ctSb9<@n0Zo)H~C#R+N7vw1x*Dx z?<$X8bLR;!9GAWjLqry@NPnYDY;`x(ExXR(+HoGKzv+tc%6iw{=BZGIw#Q@+IwQkS zxk8QAh_nqM+xBZp=^c`{58B&ZgO(UZyd6#kDMaEPhip-%?s0Yr^&dcRS0 zj~It39XD5LEw&#=@1>LpvsuyLMv51B-zzJNeQhpd0(~1QIU#CKS2NdQ&mzA!UPT18 z6Trrr$*p{{QB?E74vJP+&D-B%&0+~n(C1pc)BjlATyL_dIX?Wuag;;%WVgy zmq5>gLM7)Z|xIR@W3%wB0by^VB$J<{Z|Q~TabmW!>;B*wGz1*OMR zI|!?Bwf*Ktq~F#j(+$koIBDyWbo=s0^8(t|7w@N(4sf3*vA-d0ikMl+AAAjs8H>;` zNhDb4JN-BiA-Wp(sn*y;t#`E45z`VYI?2jHx#Up(p?&tV^_0TL;Sy*6mRjL1+O~j>XYy4j_s410g-CUMP03^kS%v;=VtKP5m_f93^4pCzt!y4|gU{|hl<1`3 z?7O7VIBntvO4V}TM$O0Itakdzp_x5&96bZ8E3b2z1B$p(Y$x7FQmae$o%rYT|{fok#bAE(b*T}Pb25QQbd9}TsB=Dmu1+ZU&`EnOd` zm7Vkv9}x+yt7(8o+eR7e0tc7`50VrM;R^IJ;S>qFK~w7h8guHz)sjSd)8;|*3<2%i{n0#XAg4~Cpws5 zsSbtvug*K+4>O;UUr#MoPc&77)lbbII?M%^%(!nmFI0J7pkd#)>pY)}{MgNHB}Kw4 ztPUDh8TYuP=Hb$~xH%|<^M*grwaa_YIw_z{SD@$Xl2a*)bj-v7E#hYOE<;^k=0Qm{ zOY*8{R!lWTl@hXTyJT8<>g1mpy~OGl0mO_fU)KO*~a#}A=Mnz_r< z0g=UpR@8VD$_|J)R2ADCw|fiNohV1|EXNE$nsRSY+<4-iQPT0M%@mpOWf#s z4NEWM>c~X=Km_W|%ZS)1+o0sU7DQy$GiGyQ=$wxl?2z?xgACosRr9`p#geqvo>_YD zxsdJk0Pn4E!6QdZv8N{j3G+OfZxFiJ@L8S|owlpPmbET&m-D`)Mm|By30*vz4=H4C zg?X=wl5YkP{|}=g$~RkQz1NvE)`Lk>{O4xq&c`kd*U@R{U4eSucYF}o;b%{2Ve0Al zb$cRx#qumQHyh=865^Vl|Fn2!-+RVs5bQK4#-FQK z3o6AB?0fONBD6r#%mz@%H=@j|vsGLbkoi@ZeTtG_%1naDMQhk0*G}$;hSaY{k@d7U zgR9jH)C*6|=yq#3zrb8S5b5*(&m~FZ1{}GJLfkGcR5osPj`J{;Eb0MoX{&!c?36x9`!nB*n8d4 z`nEr|mtVDnkGU{dnU|0*{S7Q}xs5N&b+EFoP(KJ@bGr~f>wu-IzTYuZ z*+%beya!`4sw*xtXHv2)`FOLVsm+`Jf5B{x3z(W^B5#<8HG0bR2v1&~qE`Z3KVW|Cue&0N zV0i1lBuepI^}{P}pUgM98lBn^iFqU)XDGhG8(KY`_!Hq_L@j=}qvt9XQ*-5;HkoC? z%O`O`{t}UUI>y+EEL$GqyGm8WnX&eSL2LG}a+VDq1jmD&O4J(&KTBG%@RMkPWj5O; z)T6(TuZbQSXviWL6u+VQEMor3f7UW61@>+L`!I!+Aec^!16+ztsse8a@Z5vYPak`f zVQ(KFy<<+hM4)}Rlg<&pZ}`WD-9UQ}(~U5})XS9|x3bULGMu}YxK1c$LV^6>c@L4rx8$*79^>lX|54`~h;fWvr@oLjChytqjk8Tbg zR~qV{I@*Bgq5aLvzdh7{fj%$qG+fmm>=*w_RJ(nkd3dSc*pmL&g5!#!nuqthK zevl8?>6HzF^Vu^)0LvKA#SF~;vOLD}PteBG=*sVfzVUb5#uMl~m5u7^`YUte9CN07 zRUcB%(ZKnZcr{^yBRP7r^0iOdSq5{G$-r;hWl3~NA?C1)}V3Ksx66e-e%#-^G!#2_Iqwlx(VFu_R`tS7k|34 z8DC#I`}=jk+P?q>6GN@5p$xp|QyS2UZi1M!iN#H1Y0Dp*M!l}!OU2V{31Kl#uM^1= zcJmp^aQGQeQyWH4Hv>s#8S10!Bc+sz1lRwvZ|DiCG|XiGNd}^CEJ85F4b{R1J9r)q z+#7eUo*u)0c!Km#oX4r1e)+7|DofO?jKsrf$TeYn+m>yT8dJA*fG3W1*?E{&C7Wx= zxB0rYYJF{-x5~!Tk%8U{sk?7#72h}ue|>n)EC#7x?DDo4(bpr_OrSVY(y!hP@-e|& zLs|!L4}*olxl`7*GeW{PC1*hYro(`X##LW<+LEqEeUJM5Y?;tBF1lEeZQsVDzRCiz zhp`g~*%VtZTFtoOgptl!Is-W=Jlgk?MO<}nDlT!fx1G_!f_bt}SbHWQx2$LsTXBy! zBgzG|%Bm^Wd96LC1fWn0b^)^~q04RbD&}LhnbE25%szE+zD^7)ou)Q3a2(TL zd|qwiKv1Pu7EfKadogNR0fs$gDZvw;AkaW=4?G1PtkE2q$Gj%L2C9-yC%t)u<&>lR&3O|k+^H8T zX%!bidki{`DjQc`8Q?{gxs13GI6qt;ao7x5PN?2&sI|dIdZ#GqPJJx#dJ25Ee%f3L zFS2omxat=VIWznMYIXDpKuyr%6J%a@p$Gyom?@jUULW4KahRQO>uhxEU<7vqeU+RV zp*E%LwGabGe~jWesUI9jmT!JJH^G#PS$Q==mkBy(WSiKnsH%IzYJv$apZ%gNiLGr& zT5+EpG(cW>`Dnc&>XPue4gsIxUnR}L#7_XQ1vy$+65XC&kDxYMjIQvI?HlfYHbkkg zTW(i*v(RQ&Ze(ulDPl6Mzky=!`;{)Ag9C_cj#tadG*zZ?S&h^dX^0D#tH~dN!anL)Fsr8_oa6pm~MyOxXvATj=d{K_PaL= z5O^kb25yW}pP9?1HwfWPb8$2@e&aF<<+EekKNK_qvz!e0qxzlSez%J_X$JE%!^AN6 zfw}!fPV{=U)BH~I@L`+0b?;bR6isR$LigIzzz7I*=j^4Fgj)B^Nx$^lxJEMm`yb&z zI`En&eGt&(+rYNy48z9fX4f$OVT0ebtn9}sOdI&VO?>~et5-!CnMd+%)`8 zw;slNr~jLn|D*kj(*wt=-Urum!qz*bHUP z<}<bB|MyCr-#!;u|SmM#maT zhBub|_}KuJzC50832vmxo=6jN>=l~j(VF^%sNPJxSk16$%>7YYD_m{Zi`xli89aGn z1ASS2!FJ-6d;8ooR>{MlwA$8DgtvyMp<=|^0c(1upGL>+Fzo_N=P`lTAJ=4I?bBuqVMtWX~DC!Yg>q<>NI?pLO)`or1QB0Au6lUGxku1ZHmcY zN#`@5TZev7i|1l{t#sUc-hIVVfy~Q0A{)`7ANWS!x_WNYIP|9V2iKRqXXlm6pJ8!q zNV80;u5HlVsqC*@%R~CuI(xdeSCbC<*N^MQ@A{7j)^t+OY~xpXxsRJ(0MUM%qY_U~ z$)4W*Dr)NfCpIC~izihj)w?I-5k?ilo>oyp*t}vkelq9=w2!v%?fj_~$h@@&g2H8d zt!+lyhrIHMP=t`ejFApJPcG?fU;2EiT@kJtx}2tmrq1?^b?}H;FD>n&aY+9$2W%ug zt?7_cRSz-;shD4_Umc`CFV)x|vPrf&pRDtNZ%}(~?lb$ZL>j9Te-;!^UG0x|BQk0D z4%OZV56MlS%6U2to+5WplOVM^2m%x8d1d6`Ln0 zNA6qnLwuU+vszHDe!l9OdIsL@>{ww$-FM1tB;kHCY*!<@q_*}|LxZ{2g<(CwzGWsH z*G2>${}8475!37#Ju)DusoP)w@JHyVB=}#mj|1Gb?VuR!Q5$s?-O?I={ZVA?`>)eRM}}#>RU~xjm{RiSWkEAJm6G{HP~@BT(}~+08N1kBV1{+0a=eb zL@}6bgBs=H7&!l&$+aMRmEaE)<&M98bu7l*bcqCgxxG_;CE=i(G*GU@0lfwReMabm z{&Bb#sv*<=RoZOv@?dt>;ShSsyGEXrxZ;F57%%rih>G`m!xLLmy@2^{vjMzJ%xUua=cE?`WU=FJhmO!96u{OS;l$uvx39Vm(&O4FSuUILNR|U>e zQ0Xo;-1UOS&zDls#@2y< zXZ+{an`>LC^*`VD=ISCuVeBegL$mtT6W)jk7hb5&8O^M|kBwO;g1rlM zur7Eqze)1jg2Kj}tVmL?Lz2M>3z#9(nYKN9&)DM8d*T6X%OsE%r~;)!4P7g0p%BJv zu1odzwj$Py!>VtqPB?&-*ibg%>wM5uL2!dff*tJNPQb@5<$Jw*zQPM!NSgdHP7Ikd@U;+9OYQO)-pht8Lo1Btwz>ls%uUxh|}x_ErzzpvB23Q4H+E z*+c56~82zIW#7GdrZK%+)mo;3WZTAsMsTNCq3 z9rDJKI~5F4HBWL}SsbYq9Q!-o0^j!BExy(cz3r@cBx*ohng~Tk!!Kj%reh7oG3!#s zpQp%rj}udEb|qpi5Wf$|bk#U-O8m1ihazhIX`q-iu-eArcOJ$!Cjn25+hO0$=b>Bk zR`8X*$BXU$pfaw3#L2&}rvM*e(0A;8FJSpT7Z;}U6N!BREa3n2LH?`mayTXSbsBR~ z2uO&5gA_;b*>mB`E%(3r?Es`=1>J7}$@*`XUZi6&)ZXEp;<&=qk_vaD|hD$J??NonCJsTKh49ZW5 zBgtIrzXCAFiG5(f=UL-xg)|<_%K)w*cz{9UEx#_kDq#{REoi|44AAXb6ez7US*6O9N2WL zWjp}DW;Z|_#0QUCbI>qWs+4P73OE{!CPi@xOk>)cjnBeL#DG$# zyav!OeTl{NW20t<9jK}Od&RXv69@GU%LJ-k4y6=6P{RHC^E&Q@!S@A4YVWyB&^PUH zBPs1~cYr``q2IrM?`)`!9E-?PG35$wms0g;b2b5G>IuF0F zGsO-+noxa4u3x1SRwk`ykwVz+of3>19w-%%uY4pgEX`Iqt90}pVuaAcj%?#y ztt};Yj~RE+U_B~F`yEe!FdC{(+7ANJKY8T{tDX}u6pmP1D=bPTQL1-BnMr+V+z3Qi z0iCQB9-em&n&3$O<0%R#>=6KlbT1b%-@hy#QEMoR)XAG14 ztJ$=PR2Vj>Emq&j4)C#$@6dwigO9R3jq~2dHCz$|m=TFbZuSr2fgbsFhlSk)TG9XO zA9`Ei%+yrX3_MWNhi31Zf8Im?(Wu_-7SM-Y@JYFL-!fM0^M73ZkN)+)_wHB9uVyuW z50mUO?7p)31>k4_x7mss@5}?oWjO4nq;mrZ6tHa1o8~>~vq34wT`Xt-^2Kr}eX|;` zef<<9$KL_7KJmkVTrVo_Envr5KdBk;_Va>>n7we$1c9*ERCqln_?Kxw^eI1&_h{1W4Np8Z zyB4~`HC78aC`kjBJhYMlN1a<-zvw208RV`uJ%3QxKz=T0zJAtmJ3cK?bmx7dR&#?1+0NF%T4i_9jV9d&s{<1;6lP#@9wS|+xK z19_t{RS>k#W#B{6eU6j8o69!GW;>QOCbMMlk@|JjaAxZMrd;q5aenWOWhpg6lj zboyJr!e}_VP)QTbBF*e4vzQ2DrxW#|4|`$^Ijc3S4KEGqpE--g*~df~dJ#2!;8#ZG zzCf-_$3#bah@2`SNWXh_k`iyx^y}V5xJ7W<)|eUG^?@GJl%QuWEOU+Sb3AFZ)OGX( z1IvuzhfKJ%nDx)R<1g^Esnk)DH+QvkHriH;hQxFPLTRy3p%sB(9 zuXj=9OdmQ9RFMqNnb)HZnTQt{`K6Ey4mpGOXn5X2kR3?Ax-L3Uw!sT$u;=@go*JPv zCHZ>y&G6AYemCbfu^88|ECHYGJI*MwZVFrf^fp&n93NP`&8W`G@({5UV1I8+ zFGks$>DhGDFigz9W)Rma=l5GWf(z=I-JGMzFKt+DL$o?))jl3*P@=G#sOQ85KH_Bl z5Qrf2-n^i3WHf*EGXAbU#JM##1m?{rW2Z-ZEPO;F;I169YBG)aHFbbWQOJF0E}j)? z7lVs{`@yk7GijYykEYh`yZ3QFU43G3fO7!yll?rcfDi=`p|AsFP#77A^o zqpq83ANLCAx%%J#@tNWO`?=|N!zGa1{l6wpwFoK*-oIYL{x|=t+KM4ErrMWeUpDv& z4E5MaTFdFZp_7TAv4aWl3-p}hInOf=&S%d#)i^i>c?1M`cv(0&1UWc9$~xQqn>*Op yy|*xR|IhERK-CYF*+7i{cmyX48xuz-Lz@r(`F*O1b_lMX;7e&Gsgf7({QnChanges since W3C Recommendation 19 October 2017 ) - -

  • - the concentration of CO2 can be measured in bubbles in ice-cores that are assumed to sample the - atmosphere at some past time. - The concentration and age are the results of two initial observations, which provide input-values to the final - observation (). -
  • - +

    + For example, the diet of past communities can be determined by examination of middens and other archaeological + features + () +

    Observation with phenomemon-time in the deep past - paleo diet @@ -67,6 +58,12 @@

    Historical observations

    
     
    +

    + The concentration of CO2 can be measured in bubbles in ice-cores that are assumed to sample the + atmosphere at some past time. + In this case, the concentration and age are the results of two initial observations. + These provide input-values to the final observation (). +

    Observation with phenomemon-time in the deep past - atmospheric CO2 @@ -74,7 +71,7 @@

    Historical observations

    observations.
    -
    
    +
    
     
     

    In each of these cases the ultimate phenomenonTime is far in the past, diff --git a/ssn/rdf/examples/ice-core.ttl b/ssn/rdf/examples/paleo-atmosphere.ttl similarity index 100% rename from ssn/rdf/examples/ice-core.ttl rename to ssn/rdf/examples/paleo-atmosphere.ttl From 6b3fa954415cfdb0bb345a6658f65c3ae4bfcf87 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 22 Jan 2025 15:40:09 +1100 Subject: [PATCH 44/74] better labeling for paleo-atmosphere --- ssn/chapters/ModelTimes.html | 4 ++-- ssn/images/paleo-atmosphere.png | Bin 46654 -> 44925 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ssn/chapters/ModelTimes.html b/ssn/chapters/ModelTimes.html index 825913bc..881da212 100644 --- a/ssn/chapters/ModelTimes.html +++ b/ssn/chapters/ModelTimes.html @@ -61,8 +61,8 @@

    Historical observations

    The concentration of CO2 can be measured in bubbles in ice-cores that are assumed to sample the atmosphere at some past time. - In this case, the concentration and age are the results of two initial observations. - These provide input-values to the final observation (). + In this case, the concentration and age are the results of two initial observations (at the top of ). + These provide input-values to the final observation (at the bottom of ).

    Observation with phenomemon-time in the deep past - atmospheric CO2xw67B-QCBYpMJZNxt_u%ffxVr{|EE*gZcU#;cSXkWMgS#X+LBiYI`|kS- zZ_e2>JKa6q)nCF4JM27@myF3QWxb#!#r*4Cb$o@8WX`uqE1Vq$DshgV{A|j&M+1cji<}Y8qY;JCrl$5ZtvMw$z_V)I|!^1Z=Hm0SeZEtUj zii*0pxL8DY%gV|sEG%qp zZZ1DR-_gRv2LSkZK0|NsY85zF5 zzFl2i^z`&5CMKbwp+F!oD=UkipMPd%hJ%BHnVETYbyY=0MO<7wBqYSn&aShwlbf46 zA|fI$FR#75y{)ay%ggKh{Jglhcxh=#K|vwvtLM?q@cdLOK0Z!Eb>`krsIU;Xr<+w# zZftyf+SS$T&z~m*1VkMj(6pp4JsrhEL$k55u~k)77Z*>(`Eg=mQrX!hRaMP?eqTgH zM4FnKKC4I{9^Pnb>WvQ6Sej`Aflf?JtT8dkb90*?8E7_^d%{EAw^n=WAQ{tRO%4tY zsi~?m5HgSs7OvuEesTv$L~@hDR=bU5bf`XXoTrL8|@y{L|v%Accj8M<+3{ zaX_H$-25UF6SJnKmXD8*fq_9~C8VXbtv&gQ4JIOR=8CdXfG9+AIoJcLi=3W206>)W z?*}LE8I}SoMD~zZmPS5?BX~p0lRClN2@_j@yp*`6&+7RLsE1jn4+w-IO1ltfBEa*qQXf?Tg0twZbHDFp~a1 zT=~0aXBUgP=jV%U+kan2RW?uXqgLwcU6ODotOS$K<_UkUMeIB(rtHGbw zdOCmql`N+Mgjski2<3z3o(iG?7;(1BLIUON9V>r#SO31mpNrOYGQ|c;HU=W zoB#T(d0Bpr4hL{}2i$Sc#aCVJMg#QHeW9C_tlFt=sf7d7$>)Qv`&_61{qSHE004g) zI#3U3sRaP)obo|2?mivpT5n9pzRA+y|6X;U1c%4r03k^Tdra^Eu|BMZHrT|WtHS^0A%?06qviy!vTf}y8~_lb zf2Z}84t`qgGlKapP)n$JwHpP{yC8;Z(EG!O3SflzU(}@lfbtN!mRL`}s9Ao12Qtun z?C7m2hSr;WPFPc!tAB8Nyn&UTU3QegKoNlFs`rH9dCHd!Yl)!)|i~5rl01L%0jMKSMT*GqlKMo&S)22jpk^$2gRs>>8ARys$n5 zRQ?l!f0gAHn%HA{u}sRS$sYQ zFg5r>cZa1ey$k|CP=V%eS9&(?@BwwrVz@A1|09^D{>uZ)Fk11>K5!xf018Rj%nC*x=iYW59odW5%vLqCWZD*mfq`@QyWy}s)yf% zCxYj(WYA#9>yj2m`zw3wS3YzgjZnRORandVay71D!moj>Me2+TF#QB$nL{zPY{?RL z6yY&Fb?3BJrjTMPnmsbT1{x{=5NDCYZBCced5YAY;ca`suvxUA$ugC21x-fM=fb6r z4W$2&<4!K>@xdlB^y^z|!nJ{H7kQmr*spcxXE@*X3H9J6i4M z-F;UPS3O)>T&8(ZK9KDO04$T~=R9l1WR>SA8at~<5b550qH5)}(c#PZY!F{m4xP23 z@qiyvJF+bD!R{OkNoUSm52>a_P@N?V))CSYr7m&nQ9sT((;`Cy7GSqhOVyZXHQeL{%JxKZ>FU-{wY%BrPgmH3(wWM}^GtS1^Xqg)V-fbE00nI8Lf0Qus_W zr%)oz)GA|j#OFcnr}J^r#kKfZ%I@_G>KY|=S_ThE5el8}j} z-e>oegJ60M_Bn)GRXK|>aGkI-h>6T%bv_>%IET-fIJt7Oc`H=6a&IBbTop~nB|+_9 zuOxA)#lAFEO3rNMRgf(*LM=EFFG5HC6<2+tN$$r;YU*`H;qfHYT%CuR|8Yl)SP;-O zHOPHA8Fuoafq=^2FU!TUv85UQ@y_t)>e@{oA`3vI;+mJ%1Nb>qS#&hb?iTd3NognE+$zFY=+}d9Qsw!Z zH;8Cmp{_?tA4S!&*UGI}EyCxXERoQ?4`o3Y@d$G%le=I%Srh5Zs)sQ6d@G(`f}%H{ z9EG2Dcp6z9SXy*hogIJeczv0)_VjIUjBJs{k%dI_8s2JNp$_ma@??){@VpU53y}gz zcmFQNU`$@M?dR~gVP7?~N;zY>{zKE3RWkKPMUKUtZN7u}x~(Yv^l(Rf4HZ=MR{jk+ zfIaPeu*2-mc62Z&^@=TqyTYyfd<4o>7p)}eG#+84-_&^XQqKT65&ZhYM^XFE44G6bHfJMNlryGBnl#)k7 zpiCy3i=@uV!4UVH;p9f@wZ>!Rm?4DO%{MUZ%m|yfQLW(I z?WqB>4F1$=Hx|s6+~WFs1=@#dUgCLC0m>UUT2Bo~1(7=)P2d6KfYbV$bC~aO`i7n0 zKNc*MsSain-~syZ-R_$;&eUh|s`=5T88;k*4U-Q?rWVYekhx2uN|XrsGB;N;&vUyz z?d&%Sh%3rhR?H?Jttk8-9q?(l)t7jQ?r2P~D^ZZ-%G_FNm!t&MBLd7UTz?!6??U+e zD^5w@{j(;khx*ER@*X~&zzQT2&2N+j9@b){koh2T!9!TBe(5aqQ}wtQQyl%yX#>qH zFfS*ifuM8+s_SK|U{kWbm**vg4JP1EfZq zTko}?ZrT7ysxP-e9GyzExa4e8uTZ=ML6`aaPnK(+SY!y>RcFvZ*s)1c zc+`#GVt#vpEu8=%EH=iD!86crn4%2;YWuxo`paP~xeDeYH+-55(1do09Nox{Wr{lr z-7Z!XI{3)=#HQ~Q0T42n*@%<^EM!9?Y$!O2lIQ(^&aOr1&}JUVLRF?KYQ@VxC%$c~ zYEMO)-WWC}X;6d)nAVfR9T8*pPTWqnB9@guivi2+hT6_3aItfB-ty~x&Ir>0AEi>q zZAFk#Az}8)xT4us75=ECA~%|sQdbzu&Tu!Npc}7rFD~k!Q_rRY(}U`8ZR*3u$pDMJ z&8~;fp>zlFrc2j^EN<~^_Ed^=wuStMNjY*!MB`(lgFZV-Sl?<<#I6k~z3<|Fjju%L z|9HOgQGXbnXYj85oujCnoz$g(TY+p-bMWCp2zNw>jPku8atKnp$b|z=)g0BJ#4)cK zcooNMMDN^uadiHT*0`8O0jPrbQwrIInlkPj)toEVuxd7@CbolUmdWOy)i%zOw=%XQ zbtLLi(0YqxHMvQ*JsWvTIw1`^FPud;S15F@vxwP)@0rY6FHLTGz@mKuU6qVkydc{D z-}1t~P=niQ!pBToTC3E(MK(=CMzzgvq9ogK2I@EIwIFqGlwS{Zxgi>fF%;^z+X}gBc zp74$Fa&8Uu1VDZaa@U`_Zom}55dUoMZFLJ9dEnH#&!i3|wb*iB+gy8pgCq6Xj^JP5R@-A#h& zlGFF$j9^c+_?!OgmRi&hTJcy!u8?wbH5sK>HM3H5fax@Bk@YbzyWbzl)U4wo3#POL zVzd^*`F?av1DF+-EQnw_H^>DdeF-^_0pt^U2rreusCo;*oySEm74OK!-GB{(=x^aO z1@i!0hTHjJKmtDbKyq?&dIpmC{^BZKB5e6}7{^q>UQ>?8;yT<#&;QO0Sem^BSHt>_ zZ{Y04Nl8cC66i2q>w&3cy$c~R1An)dyHKKBO0s9!zePixPv|*o&5k{K&zx(ej)^X}|_ zf6gCyMyKfnocdp!`h}bPddfedTXQyr60N!Pthu~B|H;OMJ#GyQpKI9;YTc$-?J|K_ zt+t-7F-S7i`Jcb|O`iOU+HLZGYap|GAJeP^)9U$JIQX@z(v?>;3>s41**_v|*PQ#c z!~Sm_d~*YZ@90uX;iBZwNHa5Q;-6Gx#~w@r%tem#wOhxO0!$i1{~m?vXA)Lgf9YtO zoSR zVE&S8xqEspUvRqjw-)1@{Yai;Q__q3$-Fr)bCdPK#Z-fsVCK`cG0#wv^Rt2; z;1l`DJ4sTx-!*AaA#y!3qnQT$Vts)ks@0v->N2X?dO7=?62x)zW}+l@Uq-h0eGlfs zu8P8BPAl`NFCr#P^_=w{k!ngNu6fctS5m*#(`*IlE9N`MuI*#d=tb1hZHO=&XT@KC z-A{&Twn)BKEYGb;C87q{R=vJYo|(UMQ;wApOm3h8;Q17q;5LlI*UQUoT)AnorPqtg zju|j|W%aLR8>9{i&D4f;T({>TOGV_cubtc`cL*UYD`TmMuhl28t~QQj1bME5nP3MlDx6CdPP(aGOQAy^COnkiW>L^ zY8qf}dTbMRTbWSt4G=7Bl!&C-EV%_5Q}Oc0qp$b#a5g=45g1Flmz`Gu3}ShH`KiE)t zK5A8}5LSJtq>U?L|0K|oS}<^9ywPP=cs75AI>-3P{*iK4 zMX-6VuYA=$m91ahHaX5#D<=!=6Cp4fV7qWPYrH1Fwp8{uO;!=>Xub_eDx) zj=5X+d;xqE_At*IDqMWuJ_Ocn#8QmG=2G0Jw%2T3b{$y;CS?P7@ z+&;EKO^UMt1zd8Rk*l>hoHRN&2L`%2HF0S0+ktgaK2BLFMkk@l7ZrTf{t@eB=79RE-lF&%d)L>}AgJvqr=;be zj52Ou?vK(QwM4ClNyFg0vv``4O!AxRSY6x^p^@1(v#??tb_2Hr)(Z1}`y&@xE_&2r z0)4e-$h?$}(W2Df?HH#=iLu#duz1%3H0KxswNUamMxGeFnKcKKF3cX{%oN+^7Ewk1 zg^>TP(NjpZXIR5tiKx*HV-1`!d~_4Q@}0a<=CV)oxCvUCsM#wp`aB@Bq_3pBv8G1! zn?9{#xXRXiG~%U+ZndMpgxJ|D4SL5gNt59;RC8)XsNF*xSIe?upe&S`+a=r z_bE>ae{7+CV7S>_lWI5A&>5_lS7pcJ^7-D1e1H}qmAD#B^0MWL8-AJDKT@aCJd9>v zmO$oavdVdKcf=9}Kg!$z4s8 zJWxRW1L+Q!UFu~3#8Ek?AB%0RW!Eqf)WCanWRQxF8c?IYbinJ(d#XJULmifO#tAOp zdo7_JZ-$2t6T<>@q9laXB8a`S^VBz4w5&!MlNOHpTWTx zqq)IZ3|iE-0os3?GP_q_iQL^V#{72wC1STug@sD}aqGx zV%tD`NfJ`j31o-M9<5p1WQ6Frp`53LzmmWwoL+Owh4em_-O2D@*?xm!%v9{Y>}M%{ zLYr)s=*81gwd1G6G_tVBmQCkvePNHy=m9y;3#Yc!_jPE1*MVe}Uf}3Q?)p;yKSvEY zM5&5op|^0#XP9_gAfEz9)@o74e(+5k2Y5(-c;IC$!|lBZTf#=YW=ir8rk5Lc9jn)^ zrg9R2RG?Y(K@N`r#sE{JH2r>26<0k_mD0R7$m37ZVM4S?KjiouQ5y+xhs2hzbjYNL zVISsUTNcM#;{N`RK7sIhQ5H2gM#+VNHL#jDZ7LB>?M-!hC5IwS1_GQ!rbj~1dh-~&GF22;x9q-qZ$2vb-Kad?cbHcE< zd{lM(dR3|fNi24sY=$EMLdF}XxE{4H3f)V+9_@>7#mW4RKek{K6-p1I6FVHw|Qvs zicqa3LHS+|dVFiZD?DA6eQucS?GI&oBv@&WdwNY~b|usCt3J_B)5vWcb+-=g@NrNu zTXp5BS5F3WUKtK0Waa!?FSv}a0VuyAht3YJS8sIOO^~2KxGtZ!7CCA?42eNG{VKc5 z=Jxe7g-)id(^AtPGIU~zN+V=;FE^lY$GzfqPxpR^BX7EnjP^MruAk%<{>BzlP61l>6sNQ^ipKM zS&O;;YqRHhe?ye7efGH8erLXSo0WFaVaLze9ez@CLg+cZ8UyCn6ler3(_P&EN_b6P z?GrWuzW;3+P`E~6XY;VABB*t8G>XOA%{3^f{RWI8HZb`h>Ny~0+IQS{IV)Tno*Yqj z^<{h0}$m4YQuA zg1HSS03libwyM8@qt#k8a0Kkwm6bNu6MXS(caXX(VlAH38%N_`gf5Y|OOe1ZdJpOb z+uW7HrHdflJC-{_NBrIG$_`a`s@j}(|Hb<>(#F63Ueh{U>nDpt~xk*-(&MvycI z_i>1oFzM&`ixR=JS)w>2hJXncpFJ8e)*+kZ?l zu&~NthVohJSJetgsc?#$F$1JR07qiNA3sWJl$5VyN`Vg8pr*=N_S!lvUKy_CVItHJZQFpK#? zD_%a!L?%V%#?P0(O$S%yw(--K#M0l5NzJ-3vjp-WC-^FTT6olBp7IvQoeNo*$HvE- zT0^lZ#90F~ceV&PVAUbQ!j3}?7Th1R!s3$l49qKxD#T>k`{{UWh(I9y>L&gxlD ze9uNi&jq9|zDKZ~D#g!%!+<8E7o)b#eSJhliy`pG0}72!A&RBOnG=gYDf^z4!mAL< zBFAZ%TM!4rIu9ZQfR}~I*js<_y)|qgI)|!>D;;E~+oT;9Qzy)S+Mnr5JdYwjYNHJVL*VQ!lC{GIJB z?865*;7eA)tvtL){J;1l{>ze7olJ{qfTPR3y=p{r;1L^15CTj`@T|RyBwu}5#fEXM zF%TAB$qGdNS8R}2%Ukz!9;)K#<`3IM`rP>IJxtA+0j~vM+c%ERx@&@%id6ps+jjp6 zf||c>ZMB`-19GfLck0?q0Ai93l4Jz;=m6jwdz-`BmiJixMFtehFYo}T-r$2g%GZ4! zsG0MR=?g+Y9g+W2tLo71rAbR5IRG#XcQ*vjg&p#@e(4U;;e#wB>UB%>NvC`TL+qEB zQ8qWssEZ0pOjrXRQDD*b_|jZC2po47+!5t8bfMmfJU6};t-a8i6VQbKZlm(IY4v@m zJ3Qru2fP99FrJa+We{CIc&#nLixKudPD&meHNAsg?-o^&V6b2bHa#KgOuu&UO+)cN z5$vqQel7j4EN{Vr_hAQj4>!LT&;B?_#`ME@-=`&p8#$N)e?d0kEY!qz2Ahc?9GB~7 zvYea*=jK3cfJf#5_l(zbOy`fRzmJcT_%^x=B4eJ}JM3JpYEJU8#N1!uG9<6TM;~oY z+RqOZKGL^~)pu&jjFICCerpw1hGbEj@7D~e?}79F;pd<}uR>YfEimkoBj zja)-2L85#7wKOMVv-Mug2RHt9D8S3(`dVMV(VKbjmCoe;*PQ)d#n(TVBgD~DnAwBe z?3&obZmV-z(QjBPZTjrO*p{$d#-FHDnNn#VO*m*B@%Nj;2%y7S0u48RR3-y07q-kQ zvlGkwr{P!c1eciZoOak-r+lsvs1|#k-%bs^BJz~I^;+!?o~Dbl-;t`)E_aL3a*_%q zXb)E|BR|sB|4cL>-@H=Rl*spCB8vfkpy=D4i_`~#$c34bMCr05t(e?0!a}|+9L=Kx z*siW_E&*3!-QO6FCG51FeA|G)L#3zo+~`rhm=aG_>29c$`rk+zHY@b$w0zX_VO`l~ z1#2>Mc`Zx%wa-~8B}ER2WY)YyU^19EB0F3(1(GvO>u;Sco?kwEKkr0d3zyU{>)LAb zSd`Ea?4+_V1KUc$k3?CbtEoGa*@|x`>(V~@e3OUe24r%6;5CRK?Mt0U+qfAu$}JtR zgg=EGN~?)24Sy_663|CXW~7gFvz0(2Wukj;M2(6UlMraed2s~nQoMPMXMCUBa25rb zR?DBwGG6$++*LEJta_vrs+AC|BPPob+wm!;Gzo*;aZ5Rcm|6+VC^=C=eUM5d$6hou z9+6Q6@hXpA`WLqF_v{%=jL0Rtj$`zk8R+hu@oP&6*5?7yGr5%l18AgswLb`h6KU@; zy2e#XdM%cMIBb5F$_5;d*zDqIT*}m8sbf5PghbmqxSQ-7?$nF zMKq&VmCAcXlk5>$ycv_=fd&8hZhfGi1v`C{W(=+JtRbqV#Upub+*Sw+}9bcS8%fTvxUVlx8NU1Azn z8Dx4+dH3wTO2?d>8)iA}_y)X;pj40r*FH+l8+wlw-R$@&s6J2(w^K#ysB{Ps+gagI zbiS)`M?)NO)e!-_Z0qH;gtozDm&8{+zu%lQpkQ*hEh)^QVVDmxK;o*O)4X;hy_-3U z!=H`Pk_NM6xGyBXO=X<^X=$rFjhqkKI7mU?;M%Nht(PFlEK*~HDJgXHjmctO%1Te3 zeC)U{0Od2DPJ2d=U8kmR5n7O+Z47HK1)(Yk%4bBfoyezX9TD-QkMaHHN9FPa8HFTf z2j%YzB5{WljfN6uQ*j-)+nKH6EjoSQB{1`*d)mkvC&@NULVoGiJFn{L?L4gax_<`+ z8RDJF`IdkZW6cLuz=*y$v*yiia4n?e$6p3>gUW5n#X1phOmJIKKYBFQSZ;wvsqtM_ zS`xjiZL#%|7zNd_Su)A5I6%=}8fH|C>uJ}LV_fkFw1U8{f%jXt1JM?mD05hNdCpqo z#1>qfb1Us!rPMYwthX|!mp+e_`t2=V6~YTpT+RFq_a|GgAGEzpXxlmBw zS13dAA!=;~Zn9woa})gPwwo=Fu@v(Hhl0OW?#Tw0yg3wqn@Z#Wk6gM*sCwX3{wRLu zb4)dH(~X|ItU8H?8ffdQLQmYRT$;;GTeeH}8$(g83E2(+og&}L`b@rm0kG0ZH0>Y~5nuZGyIW)w+V z;8vRyaM(xi>%-CNM3Ou)I}$&w7lZ0YeRK30&Tx+9E*s351Gv0^I^=PCERB8f296sZ=tfi5W$^gm0SOGL!p&67s2F4*xwDfk2`sq_pi-K$0XC^!SyR?lh zYk}AbvCd<)0l~MGkv=ZVq_YGLY)_H)Y#thrWaS?;Kb;wqED7Q;(Lc~&j_d` z+|{COGWKg))OF0!JBg}Rs3+1xvD&zpwTds3WS(!-GnF_kDhs`WZwW8jome?r*z!8+tH z*0)fr(p4Es;?N!M5KvP~bCn&uyQzGK{?_v9Tk(x)O5*;fg6kVA$66<{LUaqXbOjv-%BJvh;DMRa3JKjkgw7vbe_#De-58u6BR@Dl%_A8w{jPtr_?DHdUZC zdEsFy&_sCktc_jzDF5s6@LP!XvJ~Pfh(w#r3wYnzwJu%FT;e^S zBF&J(I1h3bTPhPGJNL5i*-$e$&%XmyiuteJNr%8qTPZiSO-~HYdDqg6`QZ&5&6NB+ zYMJCA(?L+2PQ1<0$!`R=d21^LIzA~pBL8g4vT!_pI|AFgc=dGc_;br&iQmC5CEk@a zJMp&J?2fcr%pTDod%JxG=Gxapu4OTJGt38fZuro&Tri-O(CHB9os8vjk{l4hjzF>QZpxa&-GZ^Xxt_|NwkCF>m-XJ44oeG`o@JnHyE z8enIjN3eHwCxO`}9Tz8$ot!>aqxHg^q&pWbP+>FOr=-Ki-% ztBX5zv-{`!9ZCO7IrHdKnit(YY}^c}GCo2Aw~;J5)$@F=01b79Jrwf3i;-M!|L8|) zp~oA!+YW9MWG#w}Vy_*J=V?{0E0~7nTs~L=FC)8XnWm{O*56G-{}@t(8j637u>WAf ztn>D(n5^NMRgJteaF0c6I)|lDocZy`RGd=F3+0^R#*-kK&!7qfNA2^r7vmCuMVoNaS>3&g60&Wxv zt%+kiwf4ma_1lZiXoh$Li$Fy%scZ}cp8kIRK@m%TmsZ18WU4A}F5FYf>@jz(AVGeR z|2KY4*U=lPGq7ytw#?Dyr_SRlTGQemp8&pQWLKLyue-9p45#6+tm#wpTGlX{Z#k}% z)vE%_I!TOudJaH_(vtTOkCriUe4vd#O)+SQ(TIK8^1Mr$ZDiP#qR%U zKPWIGD!6!4r1I_>t=3&G<$1e!MnYUlAMHmpLDE#!w&>?)5oZJ=N~BLqL&2_|O#3`& z8xCJ*1=i0OdmRhEFM|wQP9ft7p&67aNkVQu@tVEprtXUR@7c%6@M+R)lb>#6tpp)e z6zxk2;ja10W8pm*t*qMl8$CR#4uSI)@Y+SY5Xs`xet=sbGe`r;v5d_x>r+vbKWsMN z_G}R~6cS1J^v9^Y5;b0i6P6`32S`j&^-{c`j-lVmww^jLJ4c`C_kohLi)EdOql9FE zWb&yy$7oF{U3!W}c08B78nm|j+Kl(*+{T+p&vd$v^`prrjH9Iovi(9+ImO4cvmLod z0SFx;7-CB{@%KMvZtk0<)kYzLa3#b?Rp+##6l& zB&)45V&oSod^I3l7)gPtDqz>}`_w>3Gd~Axx!|(%D}`>*Q<*t_`k}Jh6TA0H(P*U1 zyubZ!-Ii;&_!Km05OG^Oy18lHxbnrt@M~ko&0X0Q=KZlhQK==ImHrmw#Q(TLNO?~F z!2Xh%MMAy1j_bWFzvvDMPfqo~C6d#j7Cvyqi&;C|f$wt3{mr5{OPKHA*P>5U{htjY zJuX=@LyBYeO_^--LEJN>YC<+@4qQpow^D~$(}99Bj15kI6^%GFk;1eB?mKTH3t4D8 z$YdQTRja}zE7O47-<(SgbS3$<*y2-E(UPLLiL7>P6ew-Ys3Mk1?hT6}Vg}FpzfJ5C zOWV?*CV`u9SrJzA!r0YgdOL0$*dw~*G5y6~1~PBL)P&y36Og`0b><#@=MyGUeP&Bw z!ivBD5KDTX^z%_gxqwT}iUTZBc12w+WuT0u7mQV9Y7Q;9B5Wq1QCKZbDoIXMlcw9* z>$u4s%Rp<|zajYhqPt5fEmP1omimEjWG^UH6#)t2Zq7BjErHA8nmcybauUm3M;#Ti&nV&#N-1whBZkxG)|%9b>x__Ys*L=t{OK>;m%VdzHR61W??` z;PRRfma+W-Jq;nx{fK&0&N46ahhzO?t_t&%MiV-8O0Dge*s1X?L6**c8gv}gW~mZB zG#E#Nj+m>kZz+#*IH+wfU3FC}qA+@YaPSa1TmuU@!6hJTvLxr$d1$e<5|6vJNqb1EgA4Y(@uN==$RgSJ@vF_c6@0u(DE!Jg#t zn$wSjD#Yflnh3`q{e#V&ud9clIRG@|L*qVk*JM&j=4u88LFz z4>K~JN!gJNXpj(d`30WF2s#_%c2cl*JU+(XP1TV9y=(}@mma@MqG1YpV}y31tbOjb zJN%=L*AUWTsNv=9-M-+IrJHicXjmV{mnmbP6K#mrp0qXNElj)c>59jUb9VGf;*Atu zz^K|d!~6aLO1B2ObHp;4DYIXTo1FG=)w?mNs%2Bll~HU46+<0UT&f(2WROhhc=<89Xu?KkJ|sauHw&_0Vyn@ucj<-s=NES$~Gk4w&~PXcMWCiT!#swU|h>O<--7 z!7qe7^MQPvmThSFn|$$JBZtUcIV>fa!UK|fj|3TNIJ(t){Pp1m&9;HgH8U|4B>hdr zU&8AQU$mjX)}fP8o<(tx7TsUm?kKf7*?f6ml$wLl4Zkc+iEQpr?Q&aj%hi`Bo4)5vUsJZ_r^cW8 zaU5M$mm|=k{xU#CW6bDEwQ|w+Hb${tK9k(cmy6Yz^?e>5IWgN>>o6Wh(s8^JWO`RE zKcexySk_reiIDTJ3(X$SiMI;-`|rOQ#iOlQV`$0imXNV9Z)7|M*a!qVg4>kY)4G!? zKmG4wCAWPqL*&TbE5LqQh#URRWxEWw-yZq zQ}Yzvd(U)ZTq;Z06QRg?Y`qG$u@Qy@=>cb!G~`x7n;`-_B+M!#c4eG^hgKeqn%y-@%tHZKC)u0{?l=&BAvu7+i$!5*v7u2J0zHBZnc&|_@;84 z`CKVWpGsOUMQtGinN;tyEY7&a_LZ+}wP)Z$LdxE!?GVl>B6Pk(?i8KdiD-%gX|f;( zx_$kIvJ9Q>b-V`rdcrE6t_2;yAMDaOUH{C6gJ_zEyum&#$MVd{&yFPCs$ zOp2uj0@-7FoD4!TaTvCHjVi}|g;y?9m}jX7N{^i5IBog<%bWvJSvgW~BcW1(aB`_k zsJ?xUHlj?ir|Fq!Ra*#Zvx^mp)GbwFg{S_xJoWAgvuL zRjYs0gMOKx>I>7dT2Ha)B0IL5=YHxV=U=e34sz5y`{1597vUb$;Y|Hu-pT0OYELNU zrgPbKkZX@(FHhk(YKJ-CtQ0Kwu>`g12cmK@fA(mBvQP)AEA~X($7OL7-X5QsZ(aJW zY1by5i&7Ma9%xJN@KrO>%ZaM$f^1TmoXjWo*c!1Gn>1y}i~Q=?+LjZ2=f0m3Zoe@Q zU!s@X3UXHY5Y9y(MJ|*4%=#Klr=Lqm5ZC-&S&7lO0%WFdx$|+7Ij3^P+MQ9HZsdypanp2v&(eh*ksEPMmgn$2Dy~CrgsIGIP?0PXlC5w5SRA(8Fe~LGum5|*s%@2nT=}R;UZw0$ z;gFUr-9#cQENSO~SL#V^^RCvk(L=ZZ;a)H%liNyBnQMT74aV_(>BOSy=;`nosVX@- zOqp<^MH>fejt)BAcCeYqM2ARwh9;T5pQldeVXm@bt+Yp%*M@Y-g*&!`!q)6)W;p|` z=qm5A5u~cH@piF!Tjej*{sV#Dcgc0f9)@Qpl`&;mwf0E6!7N`CaZ;^-wFH-@U_<~j zbi5fkMGtw1UBX)rSL;*3DAnjV%E;*yP4LwCd4}8v#7L?s>4}yOQWmzIjlD+)SpxE% zTOWG)Z%Pc;j3qaa^$#`+UZvLWHE=K&45#V$Ugqi>I!prUO~ShF!Sf{$KJR$@%bh2bb<~I zZl+^i&~S9@Cw0?KKANWBvu*fPD zSU$nRcbz)mR`*gXJc|Lbv{uQ1M$JnW?Y7O3kHc*(o|YvRLP z!iht@@RmslDAzVkGtruuKvOz!%nzs0jjp9CdOfXz&wY@8iPKyd;o;9Q!HvZrI+BKN z)DNII4dq&K8bm>o(&>azvoS+@i7>eTW%6LPtr4{WFL`J~9anjM0az#>mpKdN0Qs7S zGD(+g{WcdV6g^$z{+gGkT<0^-yRC+)m}#l-@@3_!-ii^72hLc~!FPH@YYD4i`y26; zGjQu_!)dK+X)9Pl2iBU3{hL^3wJ?a=|9E6({)Ss^0Nf!1&%!oFSLAlPLTX6ahRPe| zlF>|}dm;2^UH$Je#}df`S7Jn1&Hy(yJ3$>8%x(2GUS9zgLi~U+c6ycbQUZp@w8DyG zQ85hE$U3uJ%p8rf?XH<)DCnN)SwS@|)GddHWy($vIpW~=dbjNgpeG4j;lE<%nR)sM zIsic9AAK|ToyqK&-2<8RBa`$w$7n+`(Y>-XA@?6XjD(TdXI~@V;id`M;B*Y+2c*Ui zBWUX-ZF*3kw-NKkKI&ifEppXoCs>*@C;7LxoeH(JaRQ?*=2NshhlyO2^XuoKq@t1|1Sf#`yN+xd7gbHCry1Ln?DT)l@> zhmn=)X|pbIb)^{#j99CH#Max1op5gVi>3Y|Qy*j!nY&D2);dk>m7LC z>8gD8IHd7}-Dz3U2FVirDhc`iVmNKyz58 z8hRP}`wNUT*l||-mS{omK;m%NNwUSnCGHu# zuTiDx>u!}2*bF2hVK5+^)z;fj#~5H|10H|usBJ<*b5#t7(k+?)4^L+u7gf;xe-se~ z0ck`)sil@~mQcDDq`Nz%yQG)y?(XhXx;vz$8>DmLcYU7c`}_0W*W9_oa^~EbbI#{I zmCLf)HU~Tro2yw^6dPk2qj^`F*FpHVp8ZH%E+ z1N$pTXIR(Bp?ziTES=7G<8B*F2-Wpq`Uq5k0luko#L@<1Uh1;>@(?of1c-6Bxef@w z(j}@m8M|4zGPR)7=A}HySeFq0l~l}q)Zh1eeBF?XThDaA>NV2{r$f+fZDwF)XybQe zXy-TQVZOi>OZLacs&Og{?Ioe&eB0^9sX0V=8B+n#ZCYDh9V$DlRnnzuW`03st*h*V zVjzaZz?W8(f@#|875A`F>jtxy<|w#^+4mIetoTMteq*wenw8C z^re&udFmTo&L^7_ab*oU|CrEvo3k)>b!A0fJv=TAy!PFz6a{|$S@l+>nnB^4#Qh3l zG0Q&K(A`T9di$1k?3C%E-8j^1jqLq_oe!ikF^3nH)@^4u)$pS44=Pm)OT?;OJ$NhM z=f4~6Ts7C3rX`RDndCynDLiW@Yj&dslx(AXOthLDCU%ku!2Wpd^D@U5O{kR z{Q6eeSSz!8N?$7cWkf?16J^OrOo*Z-?E?-A#Z+&Amy7JsYCZVdc)zB0V)1GV2Pk<+ zQj4PQg=aglwWY*1TaavSV#5~8UJ@1YLXEfzb1*?;^_;LR_hSg zeY`y|y6VGqlvPh&oA{rhq`sxR942>HQygWzcv-9IPAf(Aw=9%a!PXF$)dgF=u&EA3 zOD!qozO26Dp}EXxOD_~%UEVl;#UYcYB%K2*9gS9LuJYrD<_?aaH3%$v*%ag16>F3_X+HN^sOmMo4knUt?YOEhBq1 zpjvmTIN38#iMH^RB43WKKV+~ZPqpf;S5JtQ_=Dh~o!T#PB3o-xEve_U03nVNewobx z+DI{xGSO1Us~V!$DB`qmWl_4t$omFwq^v{-6Z+{2oAvt$>*H1aPm#|S&yF&$-x>Y* zX(PYjU)-;p6fd*Ot_-z2?IPBw+xhGmSCFVNtyigO7^R`w7T>o%GmKNHH7l3Yr+SU; z^Km-8UK%3k=;;n=4N^yw0_q;v5PshOQZG=^Tw5K>eD3x;W7}*HRReMd7&$YI zM6~?({q+=eMm$N2FKvXX684qm8^>c@rmpkf#Ueh6`*Hjmrgo;6M&I)yqLt3@=gCg7 z2P+*!0v6Tb%Y#D*k!&Y3pl+Q1RwZ)@S=+ayui6F@04IZPU>pyAuroC9Y{Ge0XNZ6i2Dkl#Du(VEuS%S2#?Xfrl$ zhj*-8J0etZGsxN`F-z$+5272ldYBm9t!fxn5unvwhYFuuu-;A_8X#lS{QA?BHUc3h zcW&-k)o*n$sXuRzi?)}i{j+)o^U%tM9SS|42TORZUdJO;(QxFzU?E+UkkZ6czP7*H z%iO#H8jUi0DyAx4u1rH{ue-P3qO%&)fH_otbO=QF@zcH@4GvRs^#9n_VpQzy| zQ;>)&yq%*Nu|-H&4`#EqYS-Ac#};bQMydHugfB-=IJ9DO=Zw(c?^kc0lNUJRuz4Mw zF--xag?T;82KryCR9S*36f{ zpV!%8Ut3oWOUv*pK`IprTzB>C=RUXnLYFn>gb0)@d=_sZ3&KZ!@650h__7K!3l@&J zY5X>V0pF`BeD>3qk6*Aq?h@>CbDEs~kr&*^c$)UVL*qbatG1Pi&ZvC{NhG5+5$}6J zj{vnyAmJL!*qCON@j{{x)I3r#cj;@UkhE&-O;L`%QTT6pqEuIkLP_< z!&vin!9ZId+`Ujx!anzAtd_KDD(e4kM1))t&EU4814X)Y6XZ}LIkzzyJe`*RUNb^x zmU(!;KVb0ys2AY*bdWDFB%oiu%rDMU>TVI6b!R0Fo7zjSQ{MbUxpW^K)=0~k?nC=c zyEZ}BTS68d?|uAsLKs0gYc0j)H_*P(hl^cEep;ALx*NJigV3F`2BZd^tZVSbZ#W?r z<4Oy!bw=e;)ZhFR-D?E>8`|hSGM-R>eGNEu!axkFFYwo;GyfC!2Q#|^7pI*En$re@ zd6-(UXMYIs+DEmF(}C(4v@}Dqe$f`x#EvX)^AST#-$*LG#fgOI?q-RA*BO z=`uO#ocwVc`4#Yn0?`3=jq7m#P{hl4Sy4c3w;U}+oJ?)6&+ACiJEQW;q-bQyd_Ze2 zQHI>85zdUjbkGU%?LCVZVzADdniLM>bxV?{3n1@`{%w`#9vy}-CGa8gwRv=%#7`o5 zIgN+~9Hoq;2>t5I+fPc4Y#ZGh6ej8)g{nz#hbhc*$bFM79sIF<)PN$H{?(Kzdplbr zVz?{_(IYycM%<_vG7(BA?C05Wl@jE{T70296W_UFVmWBFnh=XoZ z_9#YVaIEp9u3rtx9KRU+qb$3nEhWjF97wt8%yVuaw9JJ#g5nM913d{AAwxo;vweuvCOTj;Bdsx;# zj}}$QEEr!ZW%Nde{NbtW>8zOP{8c+#OKLU$f~~ss=s1IoyIExTy@(h!rv|UenN_!c zO(}Whd)}2`-jz7}iv7ahdWY5DL>D)0r|K0>#RX|+qCK<84P3CW^w(FzSz<`dE?l`s zdS-7+1>n=2Ic=`@9znHQ$P+!;Kkdc4lJfgy?#5}@?N329^OAR&IWm6f(6W+h%TNP7 zO#x*GL)VP`Uu_|59B@h2{jcgc$d|56SSmY}PazEn>}AJG1_i$~4^ncr0XOd9S@oCD&U1bzfi0GnA@pRwlvu6omIs?;-|jBAL*EkAd^%Wu)yj!A`Hrt; z?N-os0<0pkx|rkN`zqKxa)u{A#!Fb~hl6fP(E>N`$_eJolj+8G=QL{E6@5%VpPeh< zJQJDGtHAf;UFmt%mFK-e1+k$Dx|`xi6}!#RJu*~E>VtpTY!CM%K{6GoCF#Yy)8CXI z$-LpbYrJYjG<&2X85P9@<{^^N5V`udcleVnhF|fpKZo#d_8XrjGeFgB3`ms4vMYp7T;KxEiNSTq;CPofzY-te{P5boCw z&W7g+W+Wfds_j-d<>d;avaQEc3}D@BSv^Dew+?v7p!7aJ1ZCG_)yCMElXD)l%*}Z6MfKNS!x3##n4_ z*mkc{M*eYfEs4LEC?!km#v*}Kl9%4q@Ob-5QSVr)$=VQ4Vrru(u2Mtf(j@wvMFc$( zB0q^kALX@k?kg#=o%78xflW@%n1{FpL{c7?F%7-Hh>p3Qtn?o0T=Lqn*wizxE`-{;1~293e8I$c)3W#tTym>ULMi`SpG_ z%m^iwI>b7etTfx2^EH$AlU3&3_$0qbx*EWpUc$IrP_8vTQoUVR&&C&20m}s}w~g;& z&ix{~poTwD2hM%2W2}AOQT^09uGtR@Yc+W3-!`OTD`RM`ESmq^X0_Sfo(qI0Tv61r zJVPXLtq4U7dsFuWqSEjY$6TlvN+m^SmA{ialgTv;nKqZH_+IZtmKt*kV&7?T<#jEa zSm}rwT=s0Rqk5h#YU=Gwe=4<&zDNq7XHMqQ$E3!c&~fUWg|=*Qy2KvLW|%9{N)>N-Y$yIWQ9|wP$jP({VlQth(V({EcQ^4j4nMP+Q8;U+VK>4s@Vy-_-T0gpd;%Xh&F99(U7NS{)CdLUpZ(>lsMS5{7(+%XQ)ukjFReCp9l z)w8-;ssl}(rj^%+?yyd>BTI_lILBV`Q&zHlq4@qG#-<7_eSo#t3E?3BVkML!*(pL<_rQT|eXt`mDv8I%i8{|V*d zFYm;btMDc35xm3u>#JU12EC*ioGAEH^D09qvgRI9t%#+d6KU9qh|zvPK&q(E^j+DPsfY z61N*s@;IZBjZdMwlvbLO1IEbei#C7MP>p%B8DDau5SwU8Irt*&54eHnl?h&O3QgHJ zbW{)&sV=2JiH(-#izG2Q&C=jY28w8e=!Y6hwW*eH^@8BkG9dDL5esk~ErYMhU#vkJ zyhhzW*~VV^P!H>hzvg(~41{EZLB41W}htU^~gn;}9g?Vm$aJ~ZF-YDAjpRZC;x+r6xs?j*kzPs~~1 zDjN;>X@o~8uxkf?WYO%;A$($-UzgVu==3181%dE;6TzEJw2^D=4=ZF@FiycKdme3- zcc1nhk2EP?kM`-MtD}7)V@fflkW-qjp@VLr771L1fj~<5qh=cu8%L;!&^A(c6V0U7 z;m)dC@ybm=jV@AGHppc;bXeI^LcI&N_#EEz8`Xt%mTlNn4k^V&j(0R4Epq^=20U8^ zLT4E3pq}VSwRiBaYdy9|Lgt^c__Ke6Y*Fs96&jHA@uRH!ScIwmPZ4BZrP&Ty)cjQ7 zC*jBaipxxiv23A^{R;p#Cgx24GV#cp*Y!1`ve4|ElQf%DlEQ<2mgPYa!45Cuo(Rn~AssIr`+d=c zh$CEjEF3JsCyVW;`Es<`l`#IR#guSGaCyL_xgx+I$^i5=N<)`vv86=S5NA`m(ic|d zQuwtCDs4^2Z^eRkVwbj4!q9dPT}24>NBlxKEOI>SL3l98+>AoaCW~z=TrRI@nc*CJ z9)r!+5iBu2sVVul>Ee%{bI7buVC^x6dn-%TEme>^bo}tMM40L?GF<3X-1+w@2R03C zVrP~swoT_4_UJj*JRhmrj*G>eYBnHZV*CTd(KX48CaYCJcfBjgr&;!zEzK&k>gnUo zP1$B@;dBQ%<yuByLx*ld2PhYs$p|$K?s0U+4#@2d+SfI{gQu9 zr+sBh%g|}BF0J!@=Jdv*AUkR-_0%IB)W?#TF9$suzaP`3a35 z^pL9J_y#rQO~uc=-AC6`pp!}EWmglEMvxbT9lD(Eth~?Z2Vi1->9~3L?>PIt7vNl$ zwU)PD&ey#{AdAX|#=lX{&Q3eOmHOk?-u)A?8tcNlJ8u#JhDm|~>zl*1E;Ecf^Xsug zFV-Jxm4W}3z8~s>+T0(qGCt@8#C%tuI>);kEp+T`_P*OG1yrP_0omK&ibJm(j4`RZ z(gh#nBht0S=Cjh8H4px6PG@rdI_~$*udSHsT(6<4r`jtoR@-^v+Q8tdAbf^;I#=OT zeXE<$tMp%%fy$A^u!ofeZgLD)9^Yv^*1YqItQgA$ z*p)&VqrbQ}M*o=qx%X49cCtP`(PkK|ijZelU~~`Y=yHDj3J7rYbeu)eJZUU>n)7a@ zL-85J!jPB%v9oW}g>(gYFsps5LHSXT0bLh}njqPl)Mf&&^qY1YX?jPQ`H85(bLE{~ z!#`CaT`U|%D znRwkQU=OXWo&?V)^hy0wpYA=5(_7XuEXWXiKBR=Vb^ry>zR(!Ag*@@>fjGMY^hMi| zP%ZUY$&_;w0hmd?mcLo3{UmqkZW@{bjis)nQr_J>WtiIq+e@M|t{S z{?nUoI=4Eq*)5)f_K4b>yG4j&=Y%j*sM@ogg z1SV8l{}WIJ{<0(_u6--99K$vG68@d3B@0HH97zr-v`TvGmIy7+aoMO+)uvDyHQ$)% z+xpJ~L@8m%(Wqdv2ACI4C`etMlo+104MpGXeY^PPazT1Tn8lzYXT-J^rkN05%4<5~ zOrm~-2dE7(E#K5&ZDYPoBTpf~v1T^Q=}p;7y>^rBF$m6H{eIYu4d=p>RUhG|Pci($ zQ3UgRy$M4DNQ$YX<*v=#9|Jx_g6)F0oTg z2^LkUH^#DX3DXpK^!Bl_I8azg1P!ZatgE-Bg7a^M=EdwwJ&H1=^UOGEUYwB6orGhLX4Ow&tT*?fSn}&0P;oD5n!F8^`zA06v<36xXDuu>k zX(ddFvRBX7D+hAm@c=5!^sGTbM@I-Vorg(8As1VVxSSc4OimZMoy9M_Ncf>oH=A5F zYkZMoZc1>9N7fC|C*6(<9E}a*qykH>`?^43x zny?VABbx>wo?z9vxdI5JKAE;Lk)AF{_879|`jMlj5nxZSqU_?~t@nh{y=L1p#fg17 z0|40KL{3~w-de@pxyLtcu|PypD%MstId9jUw=x+lI@R;Jo*0jPj(e+{lP{OkuV%=JFG@y#?UW}q7)x(A6dvggaigxG9C! z>fDK7nRMn7rb&c=!1O=(G2kC|r2YwFaW4VkkLiZ`2X#Oue1lq%v+HOJxSag?W|}6Q zDjdG~9)O^q+fb>Ox^IhqVR!Q&`&9lcvosHYFn0keLheym|MRu>68;Ny06P68V6Nxv z_I*cx6yW8#0dcOy^QO0OPVi~ZzZ(m{jndPb&Icxq5G$RxrWgSFV02=m%A?c0zfjzm zfCZSVLBD#_@4V>2a%_e`?2B@0*xL2CAs;frzXbOpDSPPBl8nS&QEwn)_iu?F-+BW9 zW;&e!Sg|0)me{%Gn?R_|I{`P{fAod9CT&A$B&-WdMGaxyE&7HKS1=N;n5F?oqF64N z#o~UO)-FK{1AY!a0jNnf`N+MiW9Tu}Ki|zYN4Vw4)0^p!yOLR;Vu=n_PiZd2WuP3% zCB@>srj43K;f)b0RljiPec;Ptx*TNia6|Y~O*ny-Cv(KJKOl2H04&jl>hz7&RW*ZV z0@^gi)FdiiGL#-q9b9dRx|5Gf#4aa?ZTP4(e}cyFIv4OA%oK*&)fMcd(Z=nIDQC!R zsXKO(#|#+71XnbztzgTj^78c^;Z2|d2MYW}?GTMg{r#Pt#j1Y$TKJ;_LnZxo5rzE# zL6{2?t-6NDb7nEM!MeR6+(+6~orL`OUbF&*Of8rG92+-)e0M_<{6o@;nQ;(xUgkSU zbk|?qf0k#0Ztb+Ah|IXrN86``Yo$j{hO35a6Eee4K6-}3SuJ?|eV+#Y2@jP&R6fGP zYMFbev2ImlaX_)+Ne9xuNbDr0ZOnv;o0#ZsEW)m@`pPtoS|X>Y`E%&gHs5=V>SJeI zpTi#@r`X`IdQ~F1{JPr@7uH>+XOmH%;NRO;rbSZMUvdGJr#8oZFFREcqPkDb} z#2D?kD8f;WoNF<6yC0ogCn(MSp$(u37^V8s>G7JoR>ECqc6l52bO^cf{)Uu3b2??r ziQ1|ynM8!BR%UQQH0S^3Oz2$=dHsWNAXvH~IcB5vn(JK6eI8$F3^AZ6tc{Prc zG{Qlw?}`454)*d860SNjTs!K#zfK}FYOnY>DAWifn3c30*6}35wxq*G$_#<(B|AAv8eazZ#HbYPpd?6~%2xh)ZnFciPbRVVM5D?JvB`@D;#oZ_-W(gM?B<_l1L8StLE(B<*(h zwD2ggYK}yj**F)IY!EFB`#zXe%9h~oDhS3;ej{Tg-LKD~F4LaYhfK=fxt-o@A$U7w z#ePHj#syg+*NsMvw<9WHGZ2gZNR{Wi*ds;O`KI!Ah>E+`oD?sCjRTOF*yJc;NsCF> z?GjgEL!oh-QWcS#!XY=5w9atH#EXSb22QAZpgb6m)@uqQ-$?*AnzD%Q4Y3x*C^XIx zNx|{tZ{`ikyd=akVk;Zq&`-uP;_idb85D9E(&1<_BTZy?19~7ap<3BY%iajDVi2os z#UGEb1^TR1AeHk`HEE@$_p%jO3fYc=A(8o&V6V>YBfQ@sORxU{C-?8h__jrF=xQ|p zHkR=O+rQ6v_V(e*UoSH!R5E%Eu}=2M#f7gjJv?d#a3Bsn{jegGWb^x$z$I`1WIqSg!j#(Cyb&V=jz}Qe;}FBKZJxbW@>vJ4Ix9Oiz>lE&@7ogA zxLTjVBer?d+8Fx3Tf>GcsDB*89G5E{l}D_9(E45>0%q^TRv)%ES6lGFUaJw6gE%+- zVXj-1@j8pb*7HWHRs(&hgPZ9U6D#JWKOasYLMj3Pp*KzNDwXW4>_Gl}(uU`x%j%T$ z-|Gk9nnb2AX=O_5zMK}`aew01bfMnF-glIMJ}s-Xuomy_?BqQ9?uSN^O9T3QXKiE? zgAwa}CeN9k+zY8@?YVsdn(8b@T_>r;{anzAR)wMTv?Q}2qMHzRE7B8mcP|%oUJ|X4 z%gmOEL{n|?#ba>Y@^pD&*?k!JS90FC>3(%9hAk>&WOUkPJvT+IPVi#c6O3Jt`C+Us z{8?(XXIiy-Ab*{>mk)}#zG6H&87a)7q2M&)S`tt>SP$>`3=2?k zd_3!~N2dsKy;$--mtAyS3F4%KWrbcUVi&%C&xpq8+hIS^FEE75-5s`PJ)r<4TAAZ9 z6?Ae}{pP&%`%@%xVyoCHx^bh!kB*8{P3$f|Ns?d6x^fvq6R(9RqCeJZ{G5tIXKkMB zx6(l~#k#jd#%EiCfQ=j99RnE(;p9krd5lIMdfiAW*LRG~C_r=bZ!gC(k58Tgo_5QQ zEnYzFG~N{~S?Toe&=@!Bs$znBf4MwTZJr4bMgo9CtO*K;LHFl)y=MgP30<{7_{xGd z^-Y|>Jb<*#BX+XJVAw%V*|4eNpX2C`joFF~;6Sh;Hw2SN30va^r$hDD=@B^fqPRb5 zjM+vTIHGbZlb;7LwIVGe9CmV&Jiql4Z-k*X1M59MJ`$oXA8yqo(ytqSoE5XMB$xB@ zu%*1P=+$}I@nfRSg9vZl9v{M}4F@01{yY1)Hx|!^)?U4v$@ksP$3@1COhN2azjxgi_YwA6n{OVF zYo~3#r^`Um=GTUvpA=;I;9+h~OiSoy8+)YmFm-2=)JD(8W>=sq_s9EVgUGR^G4H#2 zogRSz3XZ<~S^Vm2)xnV%FEMcb^j{rHMB68OxH+9Xav!==Ejh?u0!KqrF8*Qj(*W-f?&XyZJ=Q9^YKU z=lXF2sK$wq@vgk^w&ms^SMreZahJR~8;XK4abl4-$q?UuXyylZsqS% zYY0dtjY$%toy4aIVc@p*!^&VVu+t;Kg*Hxc`kQ62XjVdaXVoER{Dbk7+eJ#zgNqwb(5+6S2UN zUuVuLOLLuC{>PWmT4(yjy4Gf=PTERWs2i?RE+@5w$3d|Prt=9Qn)hd)-v9(rrXo%j zn@oPYDWE?U>0a*VG{tfnNz6-bTJ)J`AJKQkNbZB%)tJcvu7sxCb@5p3=S8pvBRlpF zY8@xcS*JEdX)xg5J57H^-0U^p9r;-T?K~ePOGd1XeUIH!~ylnKaFb56Qv2+#Q9&(5U?W=WV#k z&sq&hV&2ki=K69u&-tGCIcJ#+OO2?--9f|sMvM`|+LR)zmJyb2AASLJi8-QcF9Rw{ z`w4x{-v#6y>@58(<<8sHil3(MCFFKB(J@J(d>1&7?&xzN>>ragVv+R)F>Wz1f{Ci6 z1|lIAvOyGFg&DcpZu$pgCGCx`W^C%?jr8)V+jk734k7Vw6;=}FshOp-3YBJP2KlkG@+CsNSXx7IeZ6k`~kxYVbC zW^ZQVV&qLsg{Y-AvTcL~mN(pbjmbuhY@C&TJ0f;&t+;JWfSEl7WC`V%BFXZuHh}6! zH)S36u@?w|cSZ;^)RRR=_n#NmO_|*dYq=$uUxW|TTN;rWr}ZZ7LE);O^>BkCL_oMf z^xs@x*wY?bF)$XVF4m*F97PkhkW22IiRa*t+B|CD*jN9ScdfQcU!>^VOHk5B)5fZ& z7Q~wWY0NGMD;5ihv-_RAEw}XJt%wFV=7W&>ZB6l9V^rXMi9xKS>|nTZvgpBJGCosb zAX&SIu#~pC(>GQ&z78Ul=Tk;EY!h#NP!JVkJ-tHecD{AEc0IkgR@U*jF5N;IXa`H! zsea4|>o}btaW;hJfxa}rD|{XAz^TkuEnhu8L%qc>>p-Uuxjr`y&$AF@UH%MHiVrn? zHF3{-t@P4$hWzG8$(=*pV_vacz@Ka<& z7R<``OgN0H0yb){FNl(~LlMNyU7wxXsF$HZ{E+e8W3_U*pzDxaXXPLC-=xn zhDk}274|ZvL`kFw|KOIQGa&gZWFTwa>%hXzR9W^kb}RYx&UTmMs}~s%%IkXJvs^_(3Zu$7>@bCiouqr;lrXOh$remuDeOVu_I55GtH* zHM8(K9dQ#z=X<59{OYjUN9M=fSgG$ltaR#x6T!#q8@`DW5J&&d1*$H|aL7+*ZOq%T zEQ2~=E*I?IR4Onhi0OFUZP#0<)>i%?K;0v(o!z`cElukioXqbW_RYxm(_zR}DBG?ya7JE=Q$1nZ+C^GaIaQ?CN;H6D8s2 z`I#T)@9%WlCD#V=wOPh9z0Q!}m$RG|Jo_pF76YHW@52{fK0JQR`~7_{v`H;^tZqcjnE7Jom@R9v#kNm|Z_eo#e?SB4x*ivG4O+il@Pz{L^)X4R4_y zR&Mi~0-hsrS{}#s^Ow2vPgIqB#WS&$?Z#|pqx~h=850@yr23V7qMrM#w{`uW49Ks} z)Hmlz9_}n6RVvTZxX<@2D)$R2`KbCc40IkxGw~aC$-j48FUzih2@jAX`Dr6F-L0xO zqK>@~Q~EnkOgNim*aG6F`bv~`&x^q|mnr#)>Z%uB7FCr|!t`9C$J#R(UZhw9*Xy<8 zRhYLSUKJ}liI=el6rOv@CcXZwCIawKo%YL|rup%XqEEc=(8M8?hXqE-{#)FYBYclP z;rKd_3ksFI4_JdIbc_coo>#plcQdknu6b zt06{hx6R^GmliWwD@v$lmhx{(=;IysW$DGMR4)f*hkdn-{>o@R=b6HfxsN0XqHS@PhGs6x!Cx5s5Z}$yEu|L5bT^BdKyTzKg zDy(nQqNTY#qvcICROrI+j-;jf=VVY1$Ihp6eo$@xNCBRM;`p-^)4QpTV+rV#hmq zc{aR}e|yJR8S@}he%dAuT?kFNHC-3$q@fkd;mC)1D-iFz=%Et7@v@i04v&E^r&0TY z9{sn%g-@ww1S1~rsd}69V6wp*aDR%k`5iEp$jV<>W)!HyEQRs?%0fpP{*YMNBtPG)X_^QIG4u(}ed_jBhT+i&79D?gL_7g2+NIl2ufTMoc#=!zk~<&bqz7 z3f}n=G*CN z)=qgs%lN*q++57RGN>!g6u9>vNE4qPerByXKv`2;a*&M^3hpdG7Qnr8^S2VROD&$Q z^d2+6#(omh@GyMybkAJFQ@q=+y0sdYs8{b1fx%}sGD!950hV@6q!C#OPq7k@o=wa& zIJ}q?D;l+!Us;;DptHg+dH8BII-u!>uR6VYmo0Edw1}&$BzJ|Pu>X_Z3D*JbTg_Bmm>SB zd>2!pl~LVKT^E(Xf7_`ONmFheuH-9I65Te@%5%pxNnrqhSw;T`d&vPao}FZ-`w4e+ zP9_2Lv6%ThgaFlS8(aU+nY|U$Q%@bOU>}8dq?Gvms2B-;v3u8>-Qi`??=;XoIg(0` zg|?yLWnslCuH*TQ&(CT7U>$~KBg({!RFSsb4;G5Y$93>^u*3*nW*ObCnBjEv-$7ca za?D^3)PXm9-9xQDR$5?{K6LS{hRhgOM$MOD8zEFy>E?<=D#25>r>o$N1E_Qu*{Iyp zbYn{MgR_?s6q)H@T!%hC5Up+3B;%59bFO3Txr0`DYg~2Ga9&}&<9;J_yp!}^O#Ok) zBFD*FN3NIJI2(p_

    T8``dra+|Zisj@BAP8P&~LBsLMSv%YUcQXgXFUTC8$$!I{ zV_kP~hMFRNaFvJINhR_zlWkFPx`%2zGg0J=4nw9*su;H>JeGiPA39jHTH9Yz6* zL%%3-veoGX=P@cqG`fO*CAUc2Szd*E=MrUk1Ugn0z_21*uT}2jGn&g_j33gy8urr5 zm+9E6@0u>m!3D59##j5JxxEM^Z?Vzd;ngUaZltoGJ;12v)(GTE%{InG-erP&j^zv% zt1;l}+|mQpDT(2;clP{-(u(o}iKUZJuK+<_Z}la2Y)JJtA-#RQMW?r1C18sVSq~Bs zitOC_M13j3s@M^)O018OBn55e)gMS5dLbmycY86T0}r7mf@)zBAFyLoAWp$VDZdd^ zdeaN_sqiy8KQC~{lwUk5h?H!U^5VIC#nxf;FvTlLl*}$kjbl_^%fLs?XEj$fBct29 zsKi6l0rFTP-rsS$?hmA)mi#AeSe%iN+BfZw=h!uk?`v8>bMLzP%@;3$En0_ixn}_mexHciD#d3zb0qH{XUKx3hg5?xou8V+2%d~dp^vGkUN=aP>Izu?;N8bfLWPvg z*qV!)Q_V$KWYUWfv5-<~_Osnca9~IF^W9xO(u~uMdr5HbfdtOG4DqW677@s$#8{6n z4qxg($N<<7#_`Fs;R3AW((nJIGWR?~bx+QEqKaDms_o@tFWBb4-Wlg6D!OaeTjIQT zGF%0PbI}l_JyN(seR;8+YsY(*Poq$ALe_b9P|DcO!hWPOuz;#!wsDw7c-KbDb{0^0 zunD^y>ZHxM62Zm~hs?80?oH!5ZNw(BMR$KDs(K2)of-dNtB_BioN{XsyFkyJz^U`# zdX*Pk%`4ZZN>ZFD%5n=bu}ItuGX5!V*HpPaxHacgl>Humf$eNy`)5!uI(;jZV$>(84b1J?Iwwtq!3!-;ka9Z(d~muJgB6Qd;cterHm{^d?_)*`ygBgFUV~Z!bsrE(1)Gr9&y}5AaR&B@f_WIOIsX~^wBxsx4oJ)N`HyORhK(a>0P*Dx>(dVR3O-)<14g9Ng{TiRGV zbGhlMeUUndLbR3HDJcOii`elfb+$v|H)qlh(KG>8ZE0e3gL8Q}z4AEOFe&@1<&MIk zU6R<shrM59j(TSnL zjwGkdAh)vYXP(mmcAgGY^kv{1gQfL1;m13!@(hVf1%}SQ1vER~iqHkz zmf2impFA~bh2z@44U4%lNZ;k%_PhM9%bT!vygFltaBkD&t*(0lhuiPX?Ja*d^ z=tCa1A@&~bbYXoWOtCj#oJ}=y1OIIishoUv=Zaw>T506vutKAhYnYea@^s#Ds-BL* zC8}i_-R78vbfbB|6|hUZGS_ErjPxBZG?ob+9OD*PsyKhIqF2D~H^xMM(pG<2Szw9$ zI}8*NA%P_F>Sjzv+HK6n!*l}ExHr8qKBAnj>Zco6L$;n|SdZ_M$?ji8#j~b>N+bf7 z)hvo?0}Dm^8tb(N1&zi?zw!82>JP|#3`j5TrT#@rQoNpd>O1T)iYreop~#u_813$M z9SgvL&%okeZP5ApH6tvN_gr<U>6Fq~4{`Khsh z#g5^roa9J|^jAx@FaB%Fknzrm%L4#1t(5F0G*QD|}b;C+1Zks0yCgs;; zUwWCV{M*gdu2-kHR*QNIIOIUe@3DttUjn*Ne}19loiEd8uw|$7GNp+ZD6rW{?fkij zxD-*wSH%k<3gqWIx)>9p)jtW9G{!ee;gZC}cv3>$K^2oZAmdUD z*|VA;y%IB{_|gAAKB->Sf-J5&o4M=$1!DCXVec!fe428b;~}0HIXs3*zxJ*!onT1g z+oPWNV`1adB>U!dfyBBZShM;fY3*J9jiJ6!5`iSK)t)v_jUw|tu0htrOajvg7E zoSyi4(luUf!b&5l@RnQn_{|bWt@&aKW;&oS)NYmRbPVp>X_*(4&fe2@&=2ek@p8tsIqo^%yM1dHT~M5PPt${m}(FPkTWW6PBWX6=j> zf<+E>v7$dOs1vg4h|CR4X{?2duZTtuDY0Sp){?PT#~i2@$U<|{&}BkIw6#{^%k4bX zP4^T3dWr;Y3hyUg+Q-+bec)E>IVR4(`aM1W$M~7#cH0{23nJ2D*>yH*r_fGrEyka`l6!9<+rx^ zIDPP2WNb9E>`ZKW4N^64ZC6Vc+A9Y^V#5@!Z9aXI5SAJp>*T}{rIZBXxWIz8z<#o3 zae4Gw16~t|+s=N2qj@YZTzY!#%glmycqYdaosw?4EyE28`A6Nac5lfP*eI|uCBsuc z8eiTS*H3(BsHiDlvK@lzJ)TKOqMMn4g}}?9M1Qvxc??sglJqoV`NW=*w%GS5@njR~ zWa>122~7YwV7XBJY0QnJ(4>{^a>Gu@TY;!3_w)Z(< zr^R0akuCZKCx0bLkESTbpzut^f8cV+4}V8gfTdG_9>&K_`-(NPa!_Hpc+jv*EN5R%$fXWOKfltTP}#eHX3Q(L$0 zq6ne_n_dK>Nbl05gAzIjC{k5=2azI?5~>2BN-s+9N)f4ofJ&2I4MK!S??j3O2#~wN z-us;IKF>M#@8u5Dvv#0O;$c)C>?c*Ua_1)}x-%#ateBcW9%AMuM#TnI!B6cRrov(Xvo_ zn9$GHHN4K|d8B5`as6yNNse8)&^1|CPdp1n*Le8UnFqdLPB}7Fa%Tu151kv$ecTE^ zS()^J933s}H7LXPkGCq)(IaXn<0Z<8Q*RRV6KEnIlhXmNdL>~sn^|b7c#Pe;R>`SOloncb_o2J?$9)JrAUq|PE6I3%7@qh&1 zQS_TRNaSVE%gm{V>l#`GocSXAJyto-sN;e;C1jIc8Vvu^s}4POTVAhukXlNy@@Z>s z9)egci@hGPC;$Euf2(eORLio$@wklW39-N42eyC%w>U&=mI$qp$7Fk=39t!S22GP7efyPtCJbY4SQ|(!u{hq0LbYP+r zes)!+VmSz@;0Q!?w=H^kwD3GRnkI>Fu5xgrl|9oP^BYJeZjh<2IH3kR-6uQMKNh1a76{#Fx8J9FIyuc#{*aZO>TV|j(iV`$ z-TC{G`^dv-9H>q^T=8udAVyKf++Nf` zazPw*rCuI_gm~&`W*JEl5h4#32+C|;qnfezE$SSVrLO@UijGjG3refcM6itBLR0rI zBI>EY&tzoTlt#XX%6;RYrwP&X-tf)rpE)QF(P2X}){p~kWE;9(9~*;iPH==7xdY~N zAiaGr2iPpvbHjJCW4J7a1aLy!?ORZh^n~1I0OWeM#yhr`yr}Qc!G>s}16 zBYQ0)NGZ>wb~S<%m?_|^f8KK6a;S2$vz4UCiDX1C-tM|l-_mw`P16!sOwEUp`HBa8 zlHkexGwg--EmEE)^fdg_fKOU$E!`>i)&R`s(@fU41qOr8s<1!Vp-+9DcfDwjgp^dS zxIcH5^jxTRZE#%yVt&AwCqe*|>*@o!g2if{1u3_RwvJ`PIDMI&IGe%>cihb{{sA*m z&LC+2jja|Knxjwp11f0aHVVuvWH5NRzdwAYUnp-*TW|D9F+-S(hA^z@KctKg=4h1? zLmtF$|5X3pmjh<|n0)qJ-8mG^M^LurHtr~HP=Z4WqdJ5lUyv#p+3MM@|NEohX6AZ~o!_h-FSCejsg#0KtQI-t(FyhvM zxi4!PHN3|Ihm3()86+JdEijV82wXvw=IA!fNT+PmI;)S{aY=a>m{4YRi{d z_?K3zM17pmo$p!<7yQl-p7I+jUz{!vrAv`N%R_iSosbGEG5U2e*$iw&Je{uPEgV*L zmAPl|evsx@nU9_t+{P)A`;6z#ElB1a81h5AJ%nfIcKK0H#|G<2)SG}ubo!anIelx8 z+@jHY0-r_%TB-`8H|0oRhG0Tbs)Ygcz2Xmnj6(sY1nC3sr2t8TCoLbN13%332$Y#y z*sZbz+&s83W2*erD^=ci{rzfJ{OpoUIi#o_X>1g~!8d0uoJqD=22bW5^2XbBIyBcPBoIRtDWZY!beTatm zd{+Oc%8!&@2sGF3DLC$TVbQBoAv4!5_oTxB^Fu($B@_AjG++DrPcLXFg_9gcpQ580 zC=d^q3YGS4XYLI+iP@?Md)!Zp6%r}HD1K3fai(LBX13OF7U-x1F8n=2vj zTNx*oy>f|EPze zGfSt>;7Wg1$BdoKWbG9fv zE+L3_?=7pVHQf6;LFG$HyGydvr^P9{npM@t{kp$hGNW$@-i)L33SGGKpbJP*a;=Qp z>fsvu%8IxbF(y-DvSj76CFxv}T4S`7xU{6rdFRVBS?FckRus7UG?>Z0e+<35%&^tf z9j?RMHv)2OJS1<Qf;}tn%u!B!hSllyp z>gKY^V5+-6U2KXmuLKB8F}At^g3mn+3J$jez6fA`DlyTqLad~y-)Gy+hbH}XBp#8G zZm5-@E7iVSfLx5ucGwNNFJa2Z?zz~t>NfN0{*u_WNSmSy8&)h;2f7tJWnXXB_@r3Y zU4#oGpN)G<)qO&{T9iun;#^)DMzR-1X=;+9qHkP+s;761&b+W28tl!rr>kPTiCmw% z7tLw*LN>UXO?obt$3>0O+kZ29;Jf+8qmM<3WJ2Cx@%iYT_KPMcbvj!r`&vr=!9~bS zBIBLhy)as7^{ZN)bK6Qz7A4aC-%;_%H zJ?tIf+^BJv%QCnXw5cU&9&n&X$=3iLVLQBRbkP^Iff;`z%k#X$a%{`{eOIedC?Tog zk??JSC_ROy7ZJO5HriznwKj(22bnbz%cGr4RJS!8PO4oL#fjK5vu(n}Xk)8hzSGm- zf9XM7?Iis@v5ST|w^PheZ*VJ|XEx*!-@I|ipKPX%w=9pXSs%}IHW$=b4Lc7iipUka zt=GkfI+W`5$kV{c!oe8*vm039(?J3%QZUa^%GA+47@7wrxD&EMhwbrpu{S#_!GA7~ z5(MG(r(16d;A028q*);62RNqw%!Cd`#ie%j{_93cFk8KYb$$ra7K}M-g(*F3Iz>U? zzlVChj|X74wN5|4w&A;mrz$su*kIDp&%NGl>0gutnMDRlz%zwNOlAQCwwmwPY41`t zcH3)1|ME_YM(KL6a+~Okqy^e@v}teF-4J?(=gAF1s%!Vc5awO9j@LoMJ;>u(?m&Zp zyIIfMW!^V^`S@c=m>#B-sJ4kZd;ZxR?A#|S$p$;iFxs4r!~`9No?)L@hcQb3(nx2x ztAh^k2tLu8I#et~K-Pnmjt(1h(`=^xy4;>^T`d zU8g;uc$X!;KM}A<+>S@~EK;}Q=XyL6E#d86Rmx|tB$K-Ts$U7j+KzUjqqW;8^+*A? zB!?b4lg>M^s?7HQLW1 zh_lqm_7z3Qm+{{UX<24invHAxr~oYbo$EY~%`-D>vmd6!<-If8O1%p4dW$~$m5jX# z(f{Pn(LbACr zDX0%wbi7!oUur7>BDK`pY5c$RJY}~7!_+p3fD3WMupnIP7!vn_j8YlgS1tQU>Q3RH z$s)J=`$ti7 zTs6Ei&kywkJNJEY*-FXg!tvd>jxoup%u>?XB1y zT16=>6y}x_1k^q~#}g~6+<#oqZI-*+@Om)Q05?PqL*t@!4nFPm&R}C3f}UGO3k4mH z2CSdqbQt%Yai?T}PnOj25OxCR(HelAwP^otbC}btlXZwh#R$v%NxX-dSrU(il(j$t z`x44lIjjHdZa?~iFz!l7YvwxyT^iX64qLxQ$rBOZeIj8$5967DVDqn?-GW0WhXuXZ z>%u>FcS?_cCX|tGSzw*B-?qS%=XlLs(bug%wZ!H}F<%C(ICNI#KNTu92V=7vXZ`dU z-z0fWVU>AKIV=73cksE4F_!|lME5M7B@Ae|OU(vsgtx4d-0KR!j3x{! zgazk3(6mb}r4V=^egS58o!D4&1}AD{HmE-eMLsQxBtGt)Nl@aB!>P2wFtd-`X=g=|-~rd4mfW`q z!Gg<6IL-)2IXar*hzf!7+Bj+@(IN!~Y-P13E*($^YaFlj)JdZQ%uAK73vSM~c+?sj zK7V-@++rY7tG&lN-L#PSS$}l^WT8KWY0W8>p%4S){%A$RF98L~Y9Y%cf7VLZ&ytja z!EY7FLkX25U|P9K_aKQ;&R+sd_$f%+JJQ%$d@-(jqt9E4rGxy_7kAu~>akj~7+23v zr2$QDe_G#h?>sss{<)@6fPhVr!m*EMvR;674_S7-O?y2{tOK2;<`*ym92_a3s+X!q z@ZCca+U2QxZH!;Bv*LyE5SOk`bt&b)QTiVtEOL@$1)oZ`v4siF6cbBco}jS=2CS!= zYOn0KmUg0+L}ou$Z;xdaLz4Wep z=_R9GEfxL~YQ+dlTj{{taqQuR?V8xE$&^H$y)hjpS%P0JE5rgzlM$z6Y75Y}@N91t zdmZ2T-fIj}eu72081abJ86IH|eC?Mz+RlZ~KsEp38N zuwK@VVBs9FXLi?I$v!c_#E{gq<>T~+7W|h0$#e|I*0GAttUS+Xgs_%p&{4&h>+-0Y z_VC$$RkOvg)Jc;4reE_FWM&nm26EMkIhcx!Ec6e@Ve*(H4 z-;2AyHi=<|9Mk!I)rgTD_u2JOZpMF+*BSDS;2{R%RqvWK#`K_F5k_A!LgmW8UMdmP z^EW}2+1P)0Oa2w7ZSUT`a;|Hrddc1UCmfEhIpf&LE5Z7eJtvDIX}y2di3W=G0$5f` zmi0r;_u|GpRfi1@3%l&ng7tNM*dDB){*&cOe3jGu<3BS>&HmVlv%=}K*6Fj;X;^^c z%hMim2HfS%>Mf;etVGo)@@#rL`}Gzif#7thy3RXqtr>3h!ylsBm0@`P;B=~z7GblV zv+(J&8LCZ8*g>T#NDM$0ZVNj|U)aA>`^@DbTB@e4{c6^8^RtNWzLUYbj6ak)Zfsv6 z>tWMlvvfj|>wPL8mUqPqC>^>igrrB1OcxW5UfkQ!x0Z)U>gstrrmIrHLUlE=IT-i^ zqFZRo=WI_8&g#+prV$NNm$GDX3EjcUhPc1WTpeNzIXDL#_xx1KgYmV)O87f)*$iQ@ zD4U|2u4PD-5ZDKT16(w9y}y^`@iF+uU<`h?+ULzMnL4J!E z3n+J2dP$lq(O(8_k1Q7OD@$$>BDTS^gz#jzCW_f9onR%{PFwMlOK!tdwi=dKwCR=c z#DaohzF>eP9oJ^>>WKa2qmU})|4yEwkST-jk3CARUMnavmEm^F73pmS?l5vmVW-B| zUsox$X_axCI+~nL$#Y%V)o(C?E)KfcKWAsw9vU?Nvnf_Tu83|2K6vz|b#GdCEV)5B zIR-RL;7h|t#stf;Cfk0)&T6gThP(0ckOKalu*_;X$FlIyb1zud<7Itq0M0JZ7**Sd zKAv7R{{1Hpy7R8uaE`W42gUmRx}IId@hz|1w^HnltO1DBYBO6GCi+f_cd3%$LQs#(MZX4*zH2o42(J7`yCw;S?y`C^3To|>H0BL zR`MtCEwl>P{CU&}!otBRE>L<64O~yxSd!yAtn~SpR)MeP2$}kE-eLuende z_~Le;0NEE`mw9L51Fz=JBV@4xJ-A%vix%aG!d46W&80xZIQ6h-G?*g|j-tvDv82VN zUOtS1Xn0xbzD?VW*(StO{1NsaiKG?JObRL_|(lwYQZ{J;McIx0tlyJ9={o z!Ns}!LHm)_f6kPR{f}C0f(~~Q+Fu79D=MBw1cwt4Ij+^7G$3co_L!Ly8P1m5g zZDaKw)H>Los-7LbbF{8)dl*l@je^u2z#q`H4R`*)-LZ&XPk5$xa@+%Hw=xvU^};E$ z>YZd=ed{2#vnTq*bdDAn@rW;ZxDwv)s$I)BD*~Gu)Z*02L^clBjhyCy3DV)mw9^w&QSW))Vmhl_k+3tiq>Ggi zWQtO28G?sb16niHwCBi!JYfhJvJB+TIy_?2a3lZ}8&;SR$lQS2+lY`gFCz_#5mGG`{2-o7BtV3?+ z;_by2_4BKN+D6OVLr$&P;KsS8+U33KI4+k|oZ-W{%q*wFd0cs^rH;tZEwrJsveQd9 z0(%P?@G#WO%)fD}NkZ#xqUmA%@x1(K^RPo4ueR@eBl>%8&?$MeZZeM-HGQx%5(XL# z;3=XIZzcy~Y(i`&l952dt zMR?9>G+2YTZVpT6FGscqwPf~Y&veHdAOEX7eC8I5S71` z9k}c=50TL$zsU%&=6h!`mp|S16l7qm@XLDp%b_~><+XU$p{^tAG#>5E;vxdOj9zm_EhiX)ZU|=-z{kT zPLD^BiBvHOdNA;~RhRZ;`D$~MXem|YC9j4r25VVhU6(}r?UG&HWT>{Vjli)0M_kg& zEO8AJ3eM3tKlj5M@PC2WIe51c@hy&Y{qeESwS#xtO$|hN>#rtCJgWbwK*m^Rgvz<~ zJ6FGowvz_rFAW`$0+C)uzSPl-iSCj}rFzfRL_x}XROg&=FUcT|f~^-5 ziDaaY-1$l>5}Wf&jbuJ_L3QgcMhFy0w?SNP+TBlL?VKP#8WtRTP8k*d@AbldVC$N^ z{3~KE8#TY-whSLLH)N($eBuIxhCUz%=h=*n#`?#CAH!?ryIo&CV*}OaDrsiXJgHsr zi%iT&R6)}>zk#o58M<%26@QDq7g|X1%@(Oa{Ddx=zqc@YQ5hxR@vCo|U~~>FiGh&c z_I$6%F1Bhe#V_oQ%=3N6?_M|7sf2CvCG`Dtq-t~`inEdX#tPD`ao~Qv`&*$ibINKM zJRcD=F*Id`ABXm@JKYhYg^Q3eUH9(1s1aN{kHJ>=7D`gwK3!g093?s zbFMhI3^S74v@J|%&$Cly6kzUuf@n4M9er`n&yMsS_I3kLZ()aOir{0@e@re(6eqBi ztnHBh?z_GuNR2BKN8mQIl^E=z?b1zgjpOI*wsgnxdz)UYKP` zfbWjbwCO-LLsjpm*~WL5^>Pn==eS@XEA=-vUvGF;jSa8iqP{v}Ayz2&g(wxj+UR1` z52`^^mMIZ#yIK-qcbVT67bJ3IYCyn;UhXc5!nvYwXw+UDm1dxE0d(0U<#Gl1NctkV_i9ui}Pvk`5G#_^E1_08;lAbpS z*D$NlF%c8gAvkdTd=hYg1RRI}vuJMr{q^D~Rdm47BKNp3kST~J4-pgk3*xk#g;DN@vw-<=PWzt9|tWY05kKnC69(QZ+YK?5{SB+P&7=(C7pjVpOFh@tP()y zQc>i&%Fwgb<5=5fi1GMUd>qTKL$e2lX|CN2wL&K4 zjJ!#LF&uY0pAKj?5Hpw+Wmi0`>Wau#TSmWNkdk=I$d`V6g8}RX|2kfw=K3SK3~y6; zeqvcFsd*;P^8Od~6OCo;TXx~&xjEl1fdFC!i^hPohTuaUW3#;C0UF_~S3wABT?&c( z-tQFqhUt(V0SJPpiwzDjfl}%t)&9TFC|uaT{Zs8 z>9Rt1gg$O7+p1-MyI837Dy+m|MbEs*wpo|I?QLN@Dq=Hnr5ypM*%;-=XZ^|8Awim~-d-6oC+ zs^Bs~RsFt~nJ~{5OX>=VY^# z0-4Nab5LtowL<&)3pEjeT^}O#6pOu*Asr=F136E+1Io)l!nOw{>ZJt}Xf1N3EoT~V4 zxRjQcGF5+fRdQO7dc)O;gv|I&nOE`m*7zh0=}?Jt&?h{Kx^H5s-#bNk{<33otRc|p zxY~QCK4m2WNf%57Gj)}SK$e|mNf;FXkm*$!96*5o$4~gt5O`n?0^;D=A^3cN(LeM& z7Xg3)q!tItK#ns&(5}Hc4I0pcqoh(t2Erp|1XO8V45dsi`%!h8>^d#`? z11h-9Sjul5;70MEJpIT<3IJD<6@9by6C=TSNxMw=hKK>cO7g?qIv!4HasYS%C(NkQ zMZ_aV0?2*KCU+3Bzn?&R{HC94K- z8$Y{oj3t#7&-Z_EyN&=t`~s!L2zCXS0qZ$I(*Vf5IQ0XKjhRv-DyWBG2jbh9Q}}|; z)JP3M;LomLBHevsg6Amv4(Q#Ak$ZsW>{E`GcR)b;zW@~w$@|+tsYJeSa{*D7ev>i- zG9V+4Ay5$vch@(7f{Q?gR>j1v^O;)jnV~SUKwbwIx`9xJj4IlKu>m8_|JtqpHkSn3 z287TOaH~9my#vZXS~~!k_!r6f?;EF|LmEH`RVWx^0(`f@wE_aKa=|xAN-W_50JxkV z^lxFW0weCyd>Vfq+;2ao0^iwHj=?GvHcsH^tQO;%0745e^jTip;R43&Qu|oKcWSip zlYpsxS7)mn{O^TE^erKTX(Kft78wDy;2Y~iPfFFu?B39tpHv5Q3@aAzm!tKS@jH7< zqATL2XmGoz<&O)r29I_%LZ2D*|Dr~Vq2UKJOm@sJ8wSquzp3rO%DA)qDufS*)M38= zP{9u;;-wW!sPEs~^CK?Hn#}!r&|t}2LRXH5+D4ES0vD%@!lQjSC0DIWt;bdo^^AnmtIc_}bFjZ!F31s1~9a6Lr0z!@|z={L< zNNj>Oe6L0MZ0B_!Eq6KY5&v_ZLoob6M;W9Iw}*r8hO}0#r{l6taogeDBEwhdhi^14 z2cNj5@nm^w=D3==%r{Eee#nebjk*Acy^dHI>NK&;kew*z>C*|cR5*qgBigH-3+7%| z5A1og9i=_k-{29Y0>8%33as(+bknD&^MZv4<&!yFwI102v=!1$Xn?u{lhWgoPh<_= z!STnPG>>km65hM?<%J<--O}N}s_4UA6LfIzd1q40*|*AfY}?9`3XrRWc^_t_L6d6v zvrofETdEg#n7pMD!v$y~jvkNicflhFaJ-V9>k#Bp?e7+kpp(Q1>R>MRliRyqZHupZ znG~uH?dNRuo#!#nM{4}3K&|AK)D2&O^b?wL2I3ghjLr_HCe49h?9__#h%FUQ@R2=8 zrJNsX2|s$aCSR>VI|o{!<&nVHrN|Fn*cJOXi+dorR`C3!W!lMl?ds%;{P>#dIJDCg z07XZMN#nsgmW*cV;FFxLZwmP&mdHIuQKxxo`UhsO3Go*A%-!A%9~Z;tTF~&l1;{`x zCI~;6pnNua)Fl@7O(`em*X1nDKoU7nvTQF{Qft$< zAIpXC5d#jiCbh}rUofeCpdSY+4IXD7t)uNd_pt+cDqvOe?;>)-`O9kp{s_t$?LQvy zb+H^!D7m8uPUr;?<^l4^Ku`xziTm4G4k7`X_0FMLz~|z*+>@Tmy$V5~T?qLsfYkq> zC*D5+4NVGo=mn~X_l2TL9t0%qKP2h=;OZ5q3l;u{i#O4U27yW$Tfx7X{&`Xjdf3@X zOuidlwV2}x4kTdnVX8#TzG{GR7*W@s=74HAc8k(AfIJC&l>aY3BQp44dUZ4QA9>e$ z!3A*psG0iMS^L<_*?QT7zW{MDaVcT3o5JGaMq-k361U`}Bn8F9mK yyN8{#gWvytK|ROy4e$cK|GI;Zv%9^wkG1>L|NWZz%YYx;6E3_24H5{81$Tmbki|oA7I$}dSsVhvU4y&3ySoH;ch{f+0^H5-fA2Z( zH+biqJw4Ms-BVp%{Zv&~ZKyn091R&C82|vFNlJ(+0s!zp002$~2^Lzz55A3r7NkZJ zin0KJ2Q>iT_X7ZUf>!w*0RS#60Kkbp0Kl6J0N~oEw<_=f0Pi~GWt6|Yy}j-4?>99y z-QV9&PENA3vwL`Wq^71`TwD|v7ptkMt*)*oh#K*_? z_xD4`x3#qu6&1a`y~V@Bo0*wuXlVHU{rl$TWgwtO;{$h} zb}PFpv2n4d_NN?u9Qj1}Ht#pHs%> zCIJBfv$M0=+1WNWHiw6Y6B84qrFD&s-472BOG`^25J**3wYIjluDH0nzP_iY2MrAk z4i1iwk55QQXkcI5m8oFmY*FdARtg*UoQ{-Habvg zY@kZ}nR0!pE70F*Yo)uoJb7xY-rCwaF)?v{eZ91_G&3`EetsSTfpBneWTXUFl_s5@ zo^EVxZnb8rj{jeEq6Za07(;1sQ9uYhkp%SNy}g8n699mh_U{KH=@O6t ztweN|l>LTy41*2F%Q;KG<^bIm07+3{Ww({{m(VPV#iYYvn3T{pIyQO=zi=TyNC-L4 zHyjNeN)ipb71!vB6zzUGoHCwooCCkg*Giiy#qn1e`K{U|YQ>VQqtA&OjF*Wuh{L_K zgC+}Q?{{y=$DTW#JyVG7uH7Eotlw}u57!7#VgQ)ZaOCfPKl==SCQS+l#5|5WUA9OU zyn~YW|HI{%uB4+G#;>It#=8BQxS{CO;7irm#e4C(U*1Ik=>DrwI&U~x+JFbV&^u@3 zRC`u4dj2`M(S<<&PM$Z(V-JSr{vsF~<}*PDSX(brA;tPl%=%4g;@+D*t&8Z^;V;q-gH1BXo0+UR@301O;s^K`sa z(ULCMs{gvGe*^$_%;_slyh#9n81$vEqfs;fAoYZieSl>(4lo`r#oWR5t>T)D# zt86L+2ihB8sBx$E0~-e5SMqOUjAU3tSJf{D-vBu9+^p{tuxrw>0RxC&8H8H$9Z^6S zdU`SzJy%^PETH?WI}`xGfT4K@5Q0ljMwT|$g3C_s4z;L`$m9WFVR5sfEfiZ#fH_ZB z0RS1)^kf7sW#$VN^^bnJFf@gI$mK{vWZ!|a004@c&~tlxyT${SmB<3oI@l0FN->UwDu3 zbI{=&VbhaYOS{OSB!c~b?4~J;{DIgo!|&}454ytudq~`@h;XVuuwaG>xmj_mv44L9 z#PHi2f@4(sk8l9Bh^L@Kgt>H>e`I&NFc|F+Lg~|3*Yt;yC?q_l(E}wvdui(;47$Jo zmU$>gpmhA3L`Ysm$bLC=hmz47^3X#&6<3n~H-8~9{SVM33-JS@^h+&p0lIf!X>fwi z|1G4@Xm@B}PxgK}bbuLnFazq?|L9Kb4u#J}rhgan#ojQdx#m6ej?Uh&N8Nzl*3_E- zzyN*NCZ#6_!;w;L^}nliWQR(gzQK1Ol#Bnw5m3#|kYfWS>|N3{J0bueve0Zb5m{~r z)wqt|PpZ_lDomlW4TwR(Y|OQoKeV598B6ag0|2BX^#|@Kk*z`wTxgbzu#Kfo-+wHw z+7EF(%cj^81qfMwre~s2P}Xs-1m%FhJd9+!vRWLsvxU_jAHo;}r~yJ2F{;|q`J~d# ziy2d&iU^~3dRwpN*wsQ*&-B}dVxV8-9&{x)AXkB$Hdgh57VAXogv(0sBMWyS1SfE` z&l zg#l!vD{)8J!?l&~BW>bnt6U&=S-eMnF>Y8SWz}@XnfJ3XxZyOG!p3>(<=l6faj)fI zY9RBX(A8F2C~+wt&N2Rqw28T^G71CG_mKc`>dUZ5rBH4=ZS$Rk$d zwkWlB3=W%0y*WBdax9>W@)!O|cw8;5#de>t=>7wq#{cX)5H~jQ*wX=Y#-<`&i10NB zA5AB`bhsi+HDy2{Tlk>7>@|Yuqp5PUio#;R>S**{YawXb`CMUbVqDUBN&aR(_0-Vee(|XRWX}e6|Je zC#>{DCr2(Z2w*(9mf?2#?KkE(l&Iylb4OG5Mo#Oe^Ojc57FXQOD21hJ@+zGBxa?;w zz&m z?hbdr?)AeAr4l}&L~7C{*trUj-?NtS#~;J@;QsvQ06oN`sVZ#o;@?~nLso^q60@zGnT@HWdV-~bs z+}d5PpRaCoKs>kZC&pe@S&<1;_vU+jtP~QU$N_FXDLIiVJ{e>S0(Opl*AKuX1utf| z+Jj{1;?IrsmuvS}R}9?dmbD@em5ACkym=i&8gB_0kHYR_knGmX@|r}8I^ z5sun-ofvtdm&7va-6�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 From e136403088eb4d9870ae6615832e821f1a873911 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 22 Jan 2025 17:37:55 +1100 Subject: [PATCH 45/74] Tidy up x-refs --- ssn/chapters/Actuation.html | 2 +- ssn/chapters/Common.html | 34 +++++++++++++++++++------------ ssn/chapters/ModelLocation.html | 19 +++++++++-------- ssn/chapters/ModelSystemType.html | 2 +- ssn/chapters/Observation.html | 4 ++-- ssn/chapters/Sampling.html | 18 ++++++++-------- ssn/index.html | 8 ++++---- 7 files changed, 48 insertions(+), 39 deletions(-) diff --git a/ssn/chapters/Actuation.html b/ssn/chapters/Actuation.html index 25a5eace..1b02315b 100644 --- a/ssn/chapters/Actuation.html +++ b/ssn/chapters/Actuation.html @@ -357,7 +357,7 @@
    sosa:Actuator
    href="#SOSAProcedure">Procedure that changes the value of a Property

    -

    A Actuator may have a geographic location. See Location and Geometry for +

    An Actuator may have a geographic location. See Location and Geometry for patterns to describe this.

    diff --git a/ssn/chapters/Common.html b/ssn/chapters/Common.html index 38f42d9b..41411024 100644 --- a/ssn/chapters/Common.html +++ b/ssn/chapters/Common.html @@ -72,9 +72,11 @@
    sosa:FeatureOfInterest

    The relationship between sosa:FeatureOfInterest, and types or - classes defined in a domain model is explained below in Common Modeling - Questions + classes defined in a domain model is explained below in Common Patterns

    +

    A Feature of Interest may have a geographic location. + See Location and Geometry for patterns to describe this.

    +
    @@ -1377,7 +1379,7 @@
    sosa:hasFeatureOfInterest
    The distinction between sosa:hasFeatureOfInterest, and sosa:hasUltimateFeatureOfInterest is explored further in - Common Modeling Questions + Common Patterns

    @@ -1547,7 +1549,7 @@
    sosa:hasResult
    See Quantity Values and Units of Measure for patterns to describe this.

    The result of an observation may be a geometry. - See Location and Geometry for patterns to describe this.

    + See Location and Geometry for patterns to describe this.

    @@ -1722,7 +1724,7 @@
    sosa:hasUltimateFeatureOfInteres The distinction between sosa:hasFeatureOfInterest, and sosa:hasUltimateFeatureOfInterest is explored further in - Common Modeling Questions + Common Patterns

    @@ -2451,7 +2453,8 @@
    sosa:Deployment
    Deployment may be done on a Platform.

    -

    A Deployment may have a geographic location. See Location and +

    A Deployment may have a geographic location. See Location and Geometry for patterns to describe this.

    @@ -2544,7 +2547,8 @@
    sosa:Platform
    SOSA by the OWL/RDFS class 'Platform'.

    -

    A Platform may have a geographic location. See Location and Geometry +

    A Platform may have a geographic location. See Location and Geometry for patterns to describe this.

    @@ -2610,14 +2614,17 @@
    sosa:System
    System - A piece of infrastructure that implements a Procedure. - +

    A System may have components, its sub-systems, which are other systems.

    -

    See Systems types and individuals for guidance on describing types +

    + See Systems Types and Individuals for guidance on describing types vs. individuals.

    -

    A System may have a geographic location. See Location and Geometry - for patterns to describe this.

    +

    + A System may have a geographic location. + See Location and Geometry for patterns to describe this. +

    @@ -2641,7 +2648,7 @@
    sosa:System
    systems, corresponding with the information typically found in a data-sheet. Individual system instances are members of this class or its sub-classes. - See this elaboration of the pattern. + See Common Patterns for guidance.

    @@ -2926,7 +2933,8 @@
    sosa:hasDeployment
    sosa:hasSubSystem

    IRI: http://www.w3.org/ns/sosa/hasSubSystem

    an OWL Object Property

    -

    See this pattern for guidance on describing complex systems. +

    + See Common Patterns for guidance on describing complex systems.

    has subsystem - diff --git a/ssn/chapters/ModelLocation.html b/ssn/chapters/ModelLocation.html index 3e8c7cdb..5ccc364b 100644 --- a/ssn/chapters/ModelLocation.html +++ b/ssn/chapters/ModelLocation.html @@ -85,13 +85,14 @@

    Samples, Features
    
     
    -

    Relative locations

    +

    Relative location patterns

    - The location of the System (Actuator, Sensor, Sampler) responsible for making an Execution (Actuation, Observation, Sampling) may also be of interest. - In particular, the relative locations of the Sensor (or its Deployment) and the feature of interest, along with the phenomenon- and result-time, fall into distinct + In general, the locations of the System and + FeatureOfInterest for an Execution are different. + For example, the relative locations of the Sensor + (or its Platform or Deployment) and the feature of + interest (or Sample), along with the phenomenon- and + result-time, fall into distinct patterns for different Observation modes as follows:

    @@ -110,9 +111,9 @@

    Relative locations

    Geometry results

    - Geometry may appear in other contexts than as an explicit property of a geo:Feature. - For example, a determination of location using a GPS received can be described as an Observation whose - sosa:hasResult is a geometry value. + Geometry may appear in other contexts. + For example, a determination of location using a GPS receiver can be described as an + Observation whose hasResult value is a geometry. The following example illustrates this pattern, with the result being a GeoSPARQL Geometry object:

    
    diff --git a/ssn/chapters/ModelSystemType.html b/ssn/chapters/ModelSystemType.html
    index 8415dc17..68bd5f1a 100644
    --- a/ssn/chapters/ModelSystemType.html
    +++ b/ssn/chapters/ModelSystemType.html
    @@ -1,4 +1,4 @@
    -

    Systems types and individuals

    +

    Systems Types and Individuals

    sosa:System is the class of systems, i.e. devices or entities that implements procedures to make actuations, observations, or samplings. diff --git a/ssn/chapters/Observation.html b/ssn/chapters/Observation.html index f412143e..047a26e0 100644 --- a/ssn/chapters/Observation.html +++ b/ssn/chapters/Observation.html @@ -442,8 +442,8 @@

    sosa:Sensor

    -

    A Sensor may have a geographic location. See Location and Geometry for - patterns to describe this.

    +

    A Sensor may have a geographic location. + See Location and Geometry for patterns to describe this.

    diff --git a/ssn/chapters/Sampling.html b/ssn/chapters/Sampling.html index 172ce549..b4c51e84 100644 --- a/ssn/chapters/Sampling.html +++ b/ssn/chapters/Sampling.html @@ -128,8 +128,8 @@
    sosa:Sample
    is explained further below.

    -

    A Sample may have a geographic location. See Location and Geometry for - patterns to describe this.

    +

    A Sample may have a geographic location. + See Location and Geometry for patterns to describe this.

    @@ -390,8 +390,8 @@
    sosa:Sampler
    create or transform one or more samples.
    -

    A Sampler may have a geographic location. See Location and Geometry for - patterns to describe this.

    +

    A Sampler may have a geographic location. + See Location and Geometry for patterns to describe this.

    @@ -909,7 +909,7 @@
    sosa:featureSampledBy
    representative of it - i.e. the end of a chain of hasSample relations.

    Some examples of relationships between samples and features of interest within chains are - illustrated in Sample Chains.

    + illustrated in Common Patterns.

    @@ -962,7 +962,7 @@
    sosa:hasOriginalSample
    collected from the ultimate feature of interest.

    Some examples of relationships between samples and features of interest within chains are - illustrated in Sample Chains.

    + illustrated in Common Patterns.

    @@ -1073,7 +1073,7 @@
    sosa:hasSampledFeature
    of - i.e. the end of a chain of isSampleOf relations.

    Some examples of relationships between samples and features of interest within chains are - illustrated in Sample Chains.

    + illustrated in Common Patterns.

    @@ -1126,7 +1126,7 @@
    sosa:isOriginalSampleOf
    href="#SOSASampleCollection">SampleCollection.

    Some examples of relationships between samples and features of interest within chains are - illustrated in Sample Chains.

    + illustrated in Common Patterns.

    @@ -1325,7 +1325,7 @@
    sosa:isSampleOf
    representative of.

    Some examples of relationships between samples and features of interest within chains are - illustrated in Sample Chains.

    + illustrated in Common Patterns.

    diff --git a/ssn/index.html b/ssn/index.html index e2c23d6e..98fca786 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -207,7 +207,7 @@

    Alignments

    -

    Common Modeling Patterns

    +

    Common Patterns

    This section discusses how to handle some common modeling questions. @@ -221,15 +221,15 @@

    Common Modeling Patterns

    -
    +
    -
    +
    -
    +
    From 55e6bda31b6cf7757c411ca74c8d8d4dab3bba14 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 28 Jan 2025 17:50:33 +1100 Subject: [PATCH 46/74] Simple actuation example --- ssn/chapters/ModelFOI.html | 27 ++++++++++++++++++++------- ssn/images/open-window.png | Bin 0 -> 19211 bytes ssn/images/paleo-atmosphere.png | Bin 44925 -> 229266 bytes ssn/rdf/examples/open-window.ttl | 23 +++++++++++++++++++++++ 4 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 ssn/images/open-window.png create mode 100644 ssn/rdf/examples/open-window.ttl diff --git a/ssn/chapters/ModelFOI.html b/ssn/chapters/ModelFOI.html index c97474bf..7ca038fa 100644 --- a/ssn/chapters/ModelFOI.html +++ b/ssn/chapters/ModelFOI.html @@ -1,13 +1,26 @@

    Proximate and Ultimate feature of interest

    The object of the - hasFeatureOfInterest property of an act - of observation, sampling, or actuation is the immediate or proximate - FeatureOfInterest. - In some cases this is not the the ultimate thing that the act of observation, sampling, or actuation is concerned - with, but is an intermediate thing, often a sample of the ultimate feature of interest, or perhaps a sample - of a sample, etc. - There will often be a specifiable relationship between the proximate and ultimate feature of interest, such as a + hasFeatureOfInterest property of an Execution (i.e Actuation, Observation, + or Sampling) is the immediate or proximate FeatureOfInterest. + For example, shows a description of a simple actuation to open a window. +

    +
    + Observation feature-of-interest patterns 1 +
    + Simple Actuation to open a window. +
    + Explanation of the notation used in class diagrams. +
    +
    +
    
    +
    +

    + In some cases the feature-of-interest of the execution is not the the ultimate thing that the act of observation, + sampling, or actuation is concerned with, but is an intermediate thing. + This is often a sample of the ultimate feature of interest, or perhaps a sample of a sample, etc. + There may be a specified relationship between the proximate and ultimate feature of interest, such as a sampling-chain. If this relationship is recorded, then an ultimate feature of interest might be inferred. Nevertheless, particularly for discovery purposes, it is usually the ultimate feature of interest that really diff --git a/ssn/images/open-window.png b/ssn/images/open-window.png new file mode 100644 index 0000000000000000000000000000000000000000..19471d21fcf862dd991aff2145315f5b84687664 GIT binary patch literal 19211 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

    AS$aIA&whxK?~{MDRjS4 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 K8Bq0HWB&y|BE1Iy literal 0 HcmV?d00001 diff --git a/ssn/images/paleo-atmosphere.png b/ssn/images/paleo-atmosphere.png index dea90db9ea549167eab2adde2f85af6b790f3ba8..e2a5cdc9f69ad94ecdb5cd31e0bcbbda61e10f82 100644 GIT binary patch literal 229266 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 P5a&+G$t0c7_56PTpOEmC literal 44925 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 . +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix xsd: . +@base . + +ex:window98 rdf:type sosa:FeatureOfInterest ; + sosa:hasProperty ex:openState . + +ex:openState rdf:type sosa:Property . + +ex:closer-987 rdf:type ex:WindowCloser , sosa:Actuator . + +ex:WindowCloser rdfs:subClassOf sosa:Actuator . + +ex:A188 rdf:type sosa:Actuation ; + sosa:hasFeatureOfInterest ex:window98 ; + sosa:actsOnProperty ex:openState ; + sosa:madeByActuator ex:closer-987 ; + sosa:hasSimpleResult true ; + sosa:startTime "2017-04-18T17:23:00+02:00"^^xsd:dateTimeStamp ; + sosa:endTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . From 8c62da94649e43d72106bbf1aceb561c010a2d14 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 28 Jan 2025 18:35:16 +1100 Subject: [PATCH 47/74] Clarify type designators for UOM patterns --- ssn/chapters/Actuation.html | 5 +++-- ssn/chapters/ModelQuantity.html | 25 +++++++++++-------------- ssn/rdf/examples/UOM-cdt.ttl | 3 +++ ssn/rdf/examples/UOM-qudt-datatype.ttl | 5 ++--- ssn/rdf/examples/UOM-qudt-object.ttl | 3 +++ 5 files changed, 22 insertions(+), 19 deletions(-) diff --git a/ssn/chapters/Actuation.html b/ssn/chapters/Actuation.html index 1b02315b..12d805cc 100644 --- a/ssn/chapters/Actuation.html +++ b/ssn/chapters/Actuation.html @@ -76,7 +76,7 @@ property to verify that the result value has been obtained..

    -

    The different time-properties on a sosa:Actuation support +

    The different time-properties on a sosa:Actuation support the description of plans, forecasts and predictions as well as descriptions of various historical scenarios. See Temporal properties for patterns related to these.

    @@ -357,7 +357,8 @@
    sosa:Actuator
    href="#SOSAProcedure">Procedure that changes the value of a Property

    -

    An Actuator may have a geographic location. See Location and Geometry for +

    An Actuator may have a geographic location. See Location and Geometry for patterns to describe this.

    sosa:Actuation

    diff --git a/ssn/chapters/ModelQuantity.html b/ssn/chapters/ModelQuantity.html index 426fec7f..185ffc39 100644 --- a/ssn/chapters/ModelQuantity.html +++ b/ssn/chapters/ModelQuantity.html @@ -5,34 +5,31 @@

    Quantity Values and Units of Measure

    of measure.

    - It out of the scope of this specification to recommend a particular way of representing quantitative results. + It is out of the scope of this specification to recommend a particular way of representing quantitative results. Several external vocabularies are available for expressing quantities as OWL individuals, or as datatypes. Examples include the Quantities, Units, Dimensions and Data Types Ontologies (QUDT, [[QUDT]]) - , and the St Etienne School of Mines Custom Datatypes (CDT, [[CDT]]).

    - With QUDT, a quantitative result can be a qudt:QuantityValue + With QUDT, a quantitative result can be a qudt:QuantityValue. + Its unit of measure unit:DEG_C is an individual from the QUDT + catalogue of units of measure.

    
     

    - Alternatively, an IRI from the QUDT catalogue of units of measure can be used as the - type designator of a sosa:hasSimpleResult + Alternatively, an IRI from the QUDT catalogue of units of measure might be used as the + type designator of a sosa:hasSimpleResult. + For this usage the resource unit:DEG_C is an rdfs:Datatype.

    
     

    - With CDT, the value of sosa:hasSimpleResult can be structured to - match an amount with a cdt:ucum code indicating - the unit of measurement [[UCUM]] + With CDT, the value of sosa:hasSimpleResult is a literal structured + as space-separated quantiy-value using the UCUM code for the unit of measurement [[UCUM]]. + The type designator is + cdt:ucum taken from [[CDT]].

    
    -
    -
     
     

    Custom datatypes are not strictly compatible with OWL, which restricts the set of datatypes that can be used. diff --git a/ssn/rdf/examples/UOM-cdt.ttl b/ssn/rdf/examples/UOM-cdt.ttl index 16bcfeb2..5af0ffcd 100644 --- a/ssn/rdf/examples/UOM-cdt.ttl +++ b/ssn/rdf/examples/UOM-cdt.ttl @@ -8,3 +8,6 @@ ex:Obs234534 sosa:hasFeatureOfInterest ex:apt134 ; sosa:hasSimpleResult "-29.9 Cel"^^cdt:ucum ; . +cdt:ucum + a rdfs:Datatype ; +. diff --git a/ssn/rdf/examples/UOM-qudt-datatype.ttl b/ssn/rdf/examples/UOM-qudt-datatype.ttl index 62a4badb..63468afc 100644 --- a/ssn/rdf/examples/UOM-qudt-datatype.ttl +++ b/ssn/rdf/examples/UOM-qudt-datatype.ttl @@ -11,7 +11,6 @@ ex:Obs234534 sosa:hasFeatureOfInterest ex:apt134 ; sosa:hasSimpleResult "-29.9"^^unit:DEG_C ; . -unit:DEG_C - a qudt:Unit ; - rdfs:subClassOf xsd:decimal ; +unit:DEG_C + a rdfs:Datatype ; . diff --git a/ssn/rdf/examples/UOM-qudt-object.ttl b/ssn/rdf/examples/UOM-qudt-object.ttl index 34ebc9f8..e47b6101 100644 --- a/ssn/rdf/examples/UOM-qudt-object.ttl +++ b/ssn/rdf/examples/UOM-qudt-object.ttl @@ -22,3 +22,6 @@ ex:Obs83985 qudt:value 22.4 ; ] ; . +unit:DEG_C + a qudt:Unit ; +. From d9cebdae6391c25320b694944a6d4c782d507659 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 28 Jan 2025 19:45:27 +1100 Subject: [PATCH 48/74] Responding to https://github.com/w3c/sdw-sosa-ssn/issues/234#issuecomment-2618226541 --- ssn/chapters/ModelFOI.html | 15 ++++++++------- ssn/rdf/examples/Sample-ice-core-bubble.ttl | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/ssn/chapters/ModelFOI.html b/ssn/chapters/ModelFOI.html index 7ca038fa..b84c3b01 100644 --- a/ssn/chapters/ModelFOI.html +++ b/ssn/chapters/ModelFOI.html @@ -1,7 +1,8 @@

    Proximate and Ultimate feature of interest

    The object of the - hasFeatureOfInterest property of an Execution (i.e Actuation, Observation, + hasFeatureOfInterest property of an Execution + (i.e Actuation, Observation, or Sampling) is the immediate or proximate FeatureOfInterest. For example, shows a description of a simple actuation to open a window. @@ -17,14 +18,14 @@

    Proximate and Ultimate feature of interest

    
     
     

    - In some cases the feature-of-interest of the execution is not the the ultimate thing that the act of observation, - sampling, or actuation is concerned with, but is an intermediate thing. - This is often a sample of the ultimate feature of interest, or perhaps a sample of a sample, etc. - There may be a specified relationship between the proximate and ultimate feature of interest, such as a + In some cases the feature-of-interest of the execution is not the the ultimate thing that the act of actuation, + observation, or sampling is concerned with, but is an intermediate thing. + This might be a sample of the ultimate feature of interest, or perhaps a sample of a sample, etc. + The relationship between the proximate and ultimate feature of interest might be specified, such as a sampling-chain. If this relationship is recorded, then an ultimate feature of interest might be inferred. - Nevertheless, particularly for discovery purposes, it is usually the ultimate feature of interest that really - matters to the data user. + Nevertheless it is often the ultimate feature of interest that really matters to the data user, particularly for + discovery purposes. This requirement is met using the hasUltimateFeatureOfInterest property.

    diff --git a/ssn/rdf/examples/Sample-ice-core-bubble.ttl b/ssn/rdf/examples/Sample-ice-core-bubble.ttl index 36b16d99..b047edfb 100644 --- a/ssn/rdf/examples/Sample-ice-core-bubble.ttl +++ b/ssn/rdf/examples/Sample-ice-core-bubble.ttl @@ -22,7 +22,7 @@ ex:WellDrilling4578 a sosa:Sampling ; geo:asWKT "POINT (9.32 -73.35)"^^geo:WktLiteral ; ] ; sosa:hasResult ex:IceCore12 ; - sosa:madeBySampler ex:thermalDrill2 ; + sosa:madeBySampler ex:ThermalDrill2 ; sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; sosa:hasFeatureOfInterest ex:Antarctic_ice_sheet ; . From 66f2eb4993730bc078dc685f027a8f4d119789b7 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 29 Jan 2025 10:05:23 +1100 Subject: [PATCH 49/74] A couple of missing ns declarations --- .../2017-examples/2017ex-uomobject.jsonld | 40 ------ .../2017-examples/2017ex-uomobject.ttl | 13 -- ssn/rdf/examples/2017-examples/2017ex10.ttl | 96 ------------- ssn/rdf/examples/2017-examples/2017ex11.ttl | 91 ------------- ssn/rdf/examples/2017-examples/2017ex12.ttl | 56 -------- ssn/rdf/examples/2017-examples/2017ex13.ttl | 48 ------- ssn/rdf/examples/2017-examples/2017ex14.ttl | 45 ------- ssn/rdf/examples/2017-examples/2017ex15.ttl | 41 ------ ssn/rdf/examples/2017-examples/2017ex16.ttl | 16 --- ssn/rdf/examples/2017-examples/2017ex17.ttl | 40 ------ ssn/rdf/examples/2017-examples/2017ex18.ttl | 29 ---- ssn/rdf/examples/2017-examples/2017ex19.ttl | 34 ----- ssn/rdf/examples/2017-examples/2017ex20.ttl | 30 ----- ssn/rdf/examples/2017-examples/2017ex21.ttl | 127 ------------------ ssn/rdf/examples/2017-examples/2017ex22.ttl | 30 ----- ssn/rdf/examples/2017-examples/2017ex23.ttl | 89 ------------ ssn/rdf/examples/2017-examples/2017ex24.ttl | 66 --------- ssn/rdf/examples/2017-examples/2017ex25.ttl | 104 -------------- ssn/rdf/examples/2017-examples/2017ex4.ttl | 18 --- ssn/rdf/examples/2017-examples/2017ex5.ttl | 23 ---- ssn/rdf/examples/2017-examples/2017ex6.ttl | 15 --- ssn/rdf/examples/2017-examples/2017ex7.ttl | 26 ---- ssn/rdf/examples/2017-examples/2017ex8.ttl | 67 --------- ssn/rdf/examples/2017-examples/2017ex9.ttl | 51 ------- ssn/rdf/examples/UOM-cdt.ttl | 1 + ssn/rdf/examples/ip68.ttl | 1 + 26 files changed, 2 insertions(+), 1195 deletions(-) delete mode 100644 ssn/rdf/examples/2017-examples/2017ex-uomobject.jsonld delete mode 100644 ssn/rdf/examples/2017-examples/2017ex-uomobject.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex10.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex11.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex12.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex13.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex14.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex15.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex16.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex17.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex18.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex19.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex20.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex21.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex22.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex23.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex24.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex25.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex4.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex5.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex6.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex7.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex8.ttl delete mode 100644 ssn/rdf/examples/2017-examples/2017ex9.ttl diff --git a/ssn/rdf/examples/2017-examples/2017ex-uomobject.jsonld b/ssn/rdf/examples/2017-examples/2017ex-uomobject.jsonld deleted file mode 100644 index 3fe7e755..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex-uomobject.jsonld +++ /dev/null @@ -1,40 +0,0 @@ -{ - "@graph": [ - { - "@id": "http://example.org/data/Observation/234534", - "@type": "sosa:Observation", - "hasFeatureOfInterest": "http://example.org/data/apartment/134", - "hasResult": { - "@type": "qudt:QuantityValue", - "hasUnit": "unit:DEG_C", - "value": 19.9 - } - } - ], - "@context": { - "value": { - "@id": "http://qudt.org/schema/qudt/value", - "@type": "http://www.w3.org/2001/XMLSchema#decimal" - }, - "hasUnit": { - "@id": "http://qudt.org/schema/qudt/hasUnit", - "@type": "@id" - }, - "hasResult": { - "@id": "http://www.w3.org/ns/sosa/hasResult", - "@type": "@id" - }, - "hasFeatureOfInterest": { - "@id": "http://www.w3.org/ns/sosa/hasFeatureOfInterest", - "@type": "@id" - }, - "comment": { - "@id": "http://www.w3.org/2000/01/rdf-schema#comment" - }, - "qudt": "http://qudt.org/schema/qudt/", - "unit": "http://qudt.org/vocab/unit/", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "sosa": "http://www.w3.org/ns/sosa/" - } -} \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex-uomobject.ttl b/ssn/rdf/examples/2017-examples/2017ex-uomobject.ttl deleted file mode 100644 index c848d758..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex-uomobject.ttl +++ /dev/null @@ -1,13 +0,0 @@ -@prefix rdfs: . -@prefix sosa: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - - a sosa:Observation ; - sosa:hasFeatureOfInterest ; - sosa:hasResult [ - a qudt:QuantityValue ; - qudt:hasUnit unit:DEG_C ; - qudt:value "19.9"^^xsd:decimal ] . diff --git a/ssn/rdf/examples/2017-examples/2017ex10.ttl b/ssn/rdf/examples/2017-examples/2017ex10.ttl deleted file mode 100644 index d4add3c2..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex10.ttl +++ /dev/null @@ -1,96 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as -# observed by sensor #926. The result was available 12 seconds later. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "22.4"^^xsd:double ; - qudt:hasUnit unit:KiloW-HR ] ; - sosa:phenomenonTime [ - rdf:type time:Interval ; - time:hasBeginning [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; - time:hasEnd [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; - sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . - - -# Sensor #926 observes the electric consumption of apartment #134, and we know that -# it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - -# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know -# that it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - - -# Sensor #926 observes the electric consumption of apartment #134 - - rdf:type sosa:Sensor ; - sosa:observes . - -# This is equivalent to saying that the electric consumption of apartment #134 is -# observed by Sensor #926 - - rdf:type sosa:Property ; - sosa:isPropertyOf ; - sosa:isObservedBy . - - -# Sensor #926 made observations identified by and . - - rdf:type sosa:Sensor ; - sosa:madeObservation , . - -# This is equivalent to saying that these observations have been made by sensor #926. - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - -# the window opening state is a Property. -# SSN allows to explicitly say that is a property of - - rdf:type sosa:FeatureOfInterest ; - sosa:hasProperty . - - rdf:type sosa:Property ; - sosa:isActedOnBy . - - -# WindowCloser #987 made actuation #188 -# SSN allows to explicitly say that is designed to automatically open and close window #104. - - rdf:type sosa:Actuator ; - sosa:madeActuation ; - sosa:forProperty . - - -# Actuation #188 acted on the state of window #104 and returned 'true'. - - rdf:type sosa:Actuation ; - sosa:actsOnProperty ; - sosa:actuationMadeBy ; - sosa:hasSimplResult true ; - sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex11.ttl b/ssn/rdf/examples/2017-examples/2017ex11.ttl deleted file mode 100644 index 5543bf06..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex11.ttl +++ /dev/null @@ -1,91 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as -# observed by sensor #926. The result was available 12 seconds later. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "22.4"^^xsd:double ; - qudt:hasUnit unit:KiloW-HR ] ; - sosa:phenomenonTime [ - rdf:type time:Interval ; - time:hasBeginning [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; - time:hasEnd [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; - sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . - - -# Sensor #926 observes the electric consumption of apartment #134, and we know that -# it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - -# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know -# that it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - - -# Sensor #926 observes the electric consumption of apartment #134 - - rdf:type sosa:Sensor ; - sosa:observes . - -# This is equivalent to saying that the electric consumption of apartment #134 is -# observed by Sensor #926 - - rdf:type sosa:Property ; - sosa:isObservedBy . - - -# Sensor #926 made observations identified by and . - - rdf:type sosa:Sensor ; - sosa:madeObservation , . - -# This is equivalent to saying that these observations have been made by sensor #926. - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - -# the window opening state is a Property. - - rdf:type sosa:FeatureOfInterest . - - rdf:type sosa:Property ; - sosa:isActedOnBy . - - -# WindowCloser #987 made actuation #188 - - rdf:type sosa:Actuator ; - sosa:madeActuation . - - -# Actuation #188 acted on the state of window #104 and returned 'true'. - - rdf:type sosa:Actuation ; - sosa:actsOnProperty ; - sosa:actuationMadeBy ; - sosa:hasSimplResult true ; - sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex12.ttl b/ssn/rdf/examples/2017-examples/2017ex12.ttl deleted file mode 100644 index 52168b01..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex12.ttl +++ /dev/null @@ -1,56 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix sosa: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# rangefinder #30 is a laser range finder sensor that was used -# to observe the height of tree #124 and #125. - - rdf:type sosa:Sensor ; - rdfs:label "rangefinder #30"@en ; - rdfs:comment "rangefinder #30 is a laser range finder sensor."@en . - -# rangefinder #30 made observation #1087 of the height of tree #124. - - rdf:type sosa:Observation ; - rdfs:label "observation #1087"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:hasUnit unit:M ; - qudt:numericalValue "15.3"^^xsd:double ] . - -# using SSN, one can explicitly link a property and its feature of interest. - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #124"@en ; - sosa:hasProperty . - - rdf:type sosa:Property , sosa:Property ; - rdfs:label "the height of tree #124"@en ; - sosa:isPropertyOf . - -# rangefinder #30 made observation #1088 of the height of tree #125. - - rdf:type sosa:Observation ; - rdfs:label "observation #1088"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:numericValue "23.0"^^xsd:double ; - qudt:hasUnit unit:M ] . - -# using SSN, one can explicitly link a property and its feature of interest. - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #125"@en ; - sosa:hasProperty . - - rdf:type sosa:Property , sosa:Property ; - rdfs:label "the height of tree #125"@en ; - ssn:isPropertyOf . diff --git a/ssn/rdf/examples/2017-examples/2017ex13.ttl b/ssn/rdf/examples/2017-examples/2017ex13.ttl deleted file mode 100644 index 9dc17716..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex13.ttl +++ /dev/null @@ -1,48 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix sosa: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# rangefinder #30 is a laser range finder sensor that was used -# to observe the height of tree #124 and #125. - - rdf:type sosa:Sensor ; - rdfs:label "rangefinder #30"@en ; - rdfs:comment "rangefinder #30 is a laser range finder sensor."@en . - -# rangefinder #30 made observation #1087 of the height of tree #124. - - rdf:type sosa:Observation ; - rdfs:label "observation #1087"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:hasUnit unit:M ; - qudt:numericalValue "15.3"^^xsd:double ] . - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #124"@en . - - rdf:type sosa:Property ; - rdfs:label "the height of tree #124"@en . - -# rangefinder #30 made observation #1088 of the height of tree #125. - - rdf:type sosa:Observation ; - rdfs:label "observation #1088"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:numericValue "23.0"^^xsd:double ; - qudt:hasUnit qunit:M ] . - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #125"@en . - - rdf:type sosa:Property ; - rdfs:label "the height of tree #125"@en . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex14.ttl b/ssn/rdf/examples/2017-examples/2017ex14.ttl deleted file mode 100644 index 4a7d3cd5..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex14.ttl +++ /dev/null @@ -1,45 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix sosa: . -@prefix geo: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured -# a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific -# Daylight Time. - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "earth"@en . - - rdf:type sosa:Sensor ; - rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; - rdfs:seeAlso ; - sosa:observes . - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "location of VCAB-DP1-BP-40"@en ; - geo:lat 35.8648067 ; - geo:long -120.6195831 ; - geo:alt 12.75 ; - sosa:isSampleOf . - - rdf:type sosa:Property ; - rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; - sosa:isObservedBy . - - rdf:type sosa:Observation ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "5e-4"^^xsd:double ; - qudt:hasUnit unit:CentiM-PER-SEC ] ; - sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . - -# using SSN one can explicitly state that is the property of . - - sosa:hasProperty . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex15.ttl b/ssn/rdf/examples/2017-examples/2017ex15.ttl deleted file mode 100644 index 0b38f4e6..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex15.ttl +++ /dev/null @@ -1,41 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix sosa: . -@prefix geo: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured -# a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific -# Daylight Time. - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "earth"@en . - - rdf:type sosa:Sensor ; - rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; - rdfs:seeAlso ; - sosa:observes . - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "location of VCAB-DP1-BP-40"@en ; - geo:lat 35.8648067 ; - geo:long -120.6195831 ; - geo:alt 12.75 ; - sosa:isSampleOf . - - rdf:type sosa:Property ; - rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; - sosa:isObservedBy . - - rdf:type sosa:Observation ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "5e-4"^^xsd:double ; - qudt:hasUnit unit:CentiM-PER-SEC ] ; - sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex16.ttl b/ssn/rdf/examples/2017-examples/2017ex16.ttl deleted file mode 100644 index c7960411..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex16.ttl +++ /dev/null @@ -1,16 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix xsd: . -@base . - -# The result of an observation of the sunspot number is available a few minutes -# after the phenomenon time, due to the light travel duration. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:hasSimpleResult 66 ; - sosa:phenomenonTime [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-03-31T11:51:42+00:00"^^xsd:dateTimeStamp ] ; - sosa:resultTime "2017-03-31T12:00:00+00:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex17.ttl b/ssn/rdf/examples/2017-examples/2017ex17.ttl deleted file mode 100644 index 74824f92..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex17.ttl +++ /dev/null @@ -1,40 +0,0 @@ -@prefix rdf: . -@prefix sosa: . -@prefix xsd: . -@base . - -# movements of spinning cups on wind sensor #14 serves as proxies for the wind speed -# at the location of the wind sensor. - - rdf:type sosa:Sensor ; - sosa:observes . - -# wind sensor #14 detected some movement of spinning cups, from which originated the -# observations #147 and #148. - - rdf:type sosa:Sensor ; - sosa:madeObservation , ; - sosa:detects , . - -# observation #147 was originated by the movement of the spinning cups of sensor #14. -# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:wasOriginatedBy ; - sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "47 km/h"^^ . - - rdf:type sosa:Stimulus ; - sosa:isProxyFor . - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:wasOriginatedBy ; - sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "43 km/h"^^ . - - rdf:type sosa:Stimulus ; - sosa:isProxyFor . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex18.ttl b/ssn/rdf/examples/2017-examples/2017ex18.ttl deleted file mode 100644 index 42b6bf25..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex18.ttl +++ /dev/null @@ -1,29 +0,0 @@ -@prefix rdf: . -@prefix sosa: . -@prefix xsd: . -@base . - -# movements of spinning cups on wind sensor #14 serves as proxies for the wind speed -# at the location of the wind sensor. - - rdf:type sosa:Sensor ; - sosa:observes . - -# wind sensor #14 made observations #147 and #148. - - rdf:type sosa:Sensor ; - sosa:madeObservation , . - -# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "47 km/h"^^ . - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "43 km/h"^^ . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex19.ttl b/ssn/rdf/examples/2017-examples/2017ex19.ttl deleted file mode 100644 index 5b769926..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex19.ttl +++ /dev/null @@ -1,34 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix xsd: . -@prefix geo: . -@base . - - -# The CO2 level observed in an ice core is 240 parts per million. -# the ice core is a sample of the polar ice sheet of Antarctica. - - a sosa:FeatureOfInterest ; - sosa:hasSample , , . - - rdf:type sosa:Sample ; - sosa:isSampleOf ; - sosa:isResultOf ; - sosa:madeBySampler . - - a sosa:Sampling ; - geo:lat -73.35 ; - geo:long 9.32 ; - sosa:hasResult ; - sosa:madeBySampler ; - sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; - sosa:hasFeatureOfInterest . - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasSimpleResult 240 . - -# using SSN one can explicitly state that is the property of . - - sosa:isPropertyOf . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex20.ttl b/ssn/rdf/examples/2017-examples/2017ex20.ttl deleted file mode 100644 index b1edf1bc..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex20.ttl +++ /dev/null @@ -1,30 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix xsd: . -@prefix geo: . -@base . - - -# The CO2 level observed in an ice core is 240 parts per million. -# the ice core is a sample of the polar ice sheet of Antarctica. - - a sosa:FeatureOfInterest ; - sosa:hasSample , , . - - rdf:type sosa:Sample ; - sosa:isSampleOf ; - sosa:isResultOf ; - sosa:madeBySampler . - - a sosa:Sampling ; - geo:lat -73.35 ; - geo:long 9.32 ; - sosa:hasResult ; - sosa:madeBySampler ; - sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; - sosa:hasFeatureOfInterest . - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasSimpleResult 240 . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex21.ttl b/ssn/rdf/examples/2017-examples/2017ex21.ttl deleted file mode 100644 index bb7ab75b..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex21.ttl +++ /dev/null @@ -1,127 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@prefix schema: . - -@prefix ex: . -@prefix sosa: . -@prefix ssn-system: . - -@prefix rdfp: . - -@base . - - - a sosa:Procedure ; - sosa:hasOutput . - - a sosa:Output , rdfp:GraphDescription ; - rdfs:comment "The output is a RDF Graph that describes both the temperature and the humidity. It can be validated by a SHACL shapes graph."@en ; - rdfp:presentedBy [ - a rdfp:GraphDescription ; - rdfp:validationRule ; - ] . - - - a sosa:System ; - rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; - rdfs:seeAlso ; - sosa:hasSubSystem , . - - - - a sosa:Sensor , sosa:System ; - rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en ; - ssn-system:hasOperatingRange ; - ssn-system:hasSystemCapability ; - sosa:implements . - - a sosa:Sensor , sosa:System ; - rdfs:comment "The embedded humidity sensor, a specific instance of humidity sensor."@en ; - ssn-system:hasOperatingRange ; - sosa:implements . - - - - a ssn-system:OperatingRange ; - rdfs:comment "The conditions in which the DHT22 temperature sensor is expected to operate."@en ; - ssn-system:inCondition , . - - a ssn-system:OperatingRange ; - rdfs:comment "The conditions in which the DHT22 humidity sensor is expected to operate."@en ; - ssn-system:inCondition , . - - - - a ssn-system:Condition , schema:PropertyValue ; - rdfs:comment "A temperature range of -40 to 80 Celsius."@en ; - xsd:minInclusive -40.0 ; - xsd:maxInclusive 80.0 ; - qudt:unit unit:DegreeCelsius . - - a ssn-system:Condition , schema:PropertyValue ; - rdfs:comment "A relative humidity range of 5 to 85 %."@en ; - xsd:minInclusive 5.0 ; - xsd:maxInclusive 85.0 ; - qudt:unit unit:PERCENT . - - - - a sosa:Property , ssn-system:SystemCapability , schema:PropertyValue ; - rdfs:comment "The capabilities of the temperature sensor in normal temperature and humidity conditions." ; - ssn-system:inCondition , ; - ssn-system:hasSystemProperty , , , . - - a sosa:Property , ssn-system:Accuracy , schema:PropertyValue ; - rdfs:comment "The accuracy of the temperature sensor is +-0.5 °C in normal temperature and humidity conditions."@en ; - xsd:minInclusive -0.5 ; - xsd:maxInclusive 0.5 ; - qudt:unit unit:DegreeCelsius . - - a sosa:Property , ssn-system:Sensitivity , ssn-system:Resolution , schema:PropertyValue ; - rdfs:comment "The sensitivity and resolution of the temperature sensor is 0.1 °C in normal temperature and humidity conditions."@en ; - schema:value 0.1 ; - qudt:unit unit:DegreeCelsius . - - a sosa:Property , ssn-system:Precision , schema:PropertyValue ; - rdfs:comment "The precision (= repeatability) of the temperature sensor is +-0.2 °C in normal temperature and humidity conditions."@en ; - xsd:minInclusive 0.2 ; - xsd:maxInclusive 0.2 ; - qudt:unit unit:DegreeCelsius . - - a sosa:Property , ssn-system:Frequency , schema:PropertyValue ; - rdfs:comment "The smallest possible time between one observation and the next is 2 s on average."@en ; - schema:value 2 ; - qudt:unit unit:Second . - - - rdf:type sosa:Observation ; - sosa:madeBySensor ; - sosa:usedProcedure ; - ssn-system:qualityOfObservation . - - -# one may classify the quality of observation using some class: - - rdf:type ex:FairQuality . - - -# one may use some other ontology to further qualify this quality. - - - ex:evaluatedBy ; - ex:confidenceValue "6"^^xsd:integer; - rdfs:comment """Tom gave a confidence value of 6 out of 10 on this observation."""@en . - -# one may use some quantity ontology. - -@prefix qudt: . -@prefix unit: . - - rdf:type qudt:Quantity ; - qudt:quantityValue [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "98.4"^^xsd:double ; - qudt:hasUnit unit:PERCENT ] . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex22.ttl b/ssn/rdf/examples/2017-examples/2017ex22.ttl deleted file mode 100644 index 6a645523..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex22.ttl +++ /dev/null @@ -1,30 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@prefix schema: . - -@prefix sosa: . -@prefix ssn-system: . - -@prefix rdfp: . - -@base . - - - a sosa:Procedure . - - a sosa:Platform ; - rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; - rdfs:seeAlso . - - - a sosa:Sensor ; - sosa:isHostedBy ; - rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en . - - - a sosa:Observation ; - sosa:madeBySensor ; - sosa:usedProcedure . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex23.ttl b/ssn/rdf/examples/2017-examples/2017ex23.ttl deleted file mode 100644 index 3089de6b..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex23.ttl +++ /dev/null @@ -1,89 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@prefix schema: . - -@prefix sosa: . -@prefix ssn-system: . - -@base . - - - a sosa:FeatureOfInterest ; - rdfs:label "Room #145"@en ; - sosa:hasSample ; - sosa:hasSample . - - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "East wall of room #145."@en ; - rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; - sosa:hosts . - - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "South wall of room #145."@en ; - rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; - sosa:hosts . - - - a sosa:FeatureOfInterest ; - rdfs:label "Room #245"@en ; - sosa:hasProperty , ; - sosa:hasSample . - - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "South wall of room #245."@en ; - sosa:hosts . - - - - - - a sosa:System , sosa:Platform ; - rdfs:label "PCB Board 1"@en ; - rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently, one can say it has it as one of its subsystems."@en ; - sosa:hosts ; - sosa:hasSubSystem . - - a sosa:System ; - rdfs:label "DHT22 sensor #4578"@en ; - sosa:isHostedBy . - - - a sosa:System , sosa:Platform ; - rdfs:label "PCB Board 2"@en ; - rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanently, one can say it has it as one of its subsystems."@en ; - sosa:hosts ; - sosa:hasSubSystem . - - a sosa:System ; - rdfs:label "DHT22 sensor #4579."@en ; - sosa:isHostedBy . - - - a sosa:System , sosa:Platform ; - rdfs:label "PCB Board 3"@en ; - rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently, one can say it has it as one of its subsystems."@en ; - sosa:hosts ; - sosa:hasSubSystem . - - a sosa:System ; - rdfs:label "DHT22 sensor #4580."@en ; - sosa:isHostedBy . - - - - - a sosa:Deployment ; - rdfs:comment "Deployment of PCB Board 3 on the south wall of room #245 for the purpose of observing the temperature and humidity of room #245."@en ; - sosa:deployedOnPlatform ; - sosa:deployedSystem ; - sosa:forProperty , . - - - a sosa:Deployment ; - rdfs:comment "Deployment of PCB Board 1 and 2 on the east and south wall of room #145, respectively, for the purpose of observing the temperature and humidity of room #145."@en ; - sosa:deployedOnPlatform , ; - sosa:deployedSystem , ; - sosa:forProperty , . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex24.ttl b/ssn/rdf/examples/2017-examples/2017ex24.ttl deleted file mode 100644 index 30160705..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex24.ttl +++ /dev/null @@ -1,66 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@prefix schema: . - -@prefix sosa: . - -@base . - - - a sosa:FeatureOfInterest ; - rdfs:label "Room #145"@en ; - sosa:hasSample ; - sosa:hasSample . - - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "East wall of room #145."@en ; - rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; - sosa:hosts . - - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "South wall of room #145."@en ; - rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; - sosa:hosts . - - - a sosa:FeatureOfInterest ; - rdfs:label "Room #245"@en ; - sosa:hasProperty , ; - sosa:hasSample . - - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "South wall of room #245."@en ; - sosa:hosts . - - - a sosa:Platform ; - rdfs:label "PCB Board 1"@en ; - rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently."@en ; - sosa:hosts . - - a sosa:Platform ; - rdfs:label "DHT22 sensor #4578"@en ; - sosa:isHostedBy . - - - a sosa:Platform ; - rdfs:label "PCB Board 2"@en ; - rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanentlys."@en ; - sosa:hosts . - - a sosa:Platform ; - rdfs:label "DHT22 sensor #4579."@en ; - sosa:isHostedBy . - - - a sosa:Platform ; - rdfs:label "PCB Board 3"@en ; - rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently."@en ; - sosa:hosts . - - a sosa:Platform ; - rdfs:label "DHT22 sensor #4580."@en ; - sosa:isHostedBy . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex25.ttl b/ssn/rdf/examples/2017-examples/2017ex25.ttl deleted file mode 100644 index e5cccb17..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex25.ttl +++ /dev/null @@ -1,104 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix geo: . -@prefix gr: . -@prefix org: . -@prefix schema: . -@prefix sosa: . -@prefix ssn-system: . -@prefix unit: . -@prefix prov: . -@prefix owl: . -@prefix seas: . -@prefix cdt: . -@prefix xsd: . - -@base . - - a org:Organization ; - owl:sameAs . - - a sosa:FeatureOfInterest ; - rdfs:label "The air."@en . - - a owl:Class , gr:ProductOrServiceModel ; - gr:name "IP68 Outdoor Temperature Sensor"@en ; - rdfs:label "IP68 Outdoor Temperature Sensor"@en ; - rdfs:subClassOf [ - owl:onProperty ssn-system:hasOperatingRange ; - owl:hasValue ] ; - rdfs:subClassOf [ - owl:onProperty ssn-system:hasSystemCapability ; - owl:hasValue ] . - - a ssn-system:OperatingRange , sosa:Property ; - ssn-system:inCondition . - - a ssn-system:Condition , schema:PropertyValue ; - rdfs:comment "A temperature range of -20 to 70 Celsius."@en ; - xsd:minInclusive -20.0 ; - xsd:maxInclusive 70.0 ; - qudt:unit unit:DegreeCelsius . - - a sosa:Property , ssn-system:SystemCapability ; - rdfs:comment "The sensor capability in normal operating conditions."@en ; - ssn-system:hasSystemProperty , , , , ; - ssn-system:inCondition . - - a sosa:Property , ssn-system:Sensitivity , schema:PropertyValue ; - schema:value -137 ; - qudt:unit unit:DecibelReferredToOneMilliwatt . - - a sosa:Property , ssn-system:Accuracy , schema:PropertyValue ; - sosa:forProperty ; - xsd:minInclusive -0.2 ; - xsd:maxInclusive 0.2 ; - qudt:unit unit:DegreeCelsius . - - a sosa:Property , ssn-system:Resolution , schema:PropertyValue ; - sosa:forProperty ; - schema:value 0.0625 ; - qudt:unit unit:DegreeCelsius . - - a sosa:Property , ssn-system:Resolution , schema:PropertyValue ; - sosa:forProperty ; - schema:value 3.937e-3 ; - qudt:unit unit:PERCENT . - - a sosa:Sample ; - rdfs:label "The air at lat 45.75 and long 4.85."@en ; - sosa:isSampleOf ; - sosa:hasProperty . - - a sosa:Property ; - sosa:isPropertyOf . - - a gr:ProductOrService, sosa:Sensor , seas:LoRaCommunicationDevice , ; - gr:hasBrand [ a gr:Brand ; gr:name "Sensing Labs"@en ] ; - geo:alt 100.0 ; - geo:lat 45.75 ; - geo:lon 4.85 ; - sosa:implements ; - sosa:implements ; - sosa:observes ; - sosa:observes . - - a sosa:Deployment ; - sosa:deployedSystem ; - prov:startedAtTime "2017-06-06"^^xsd:date ; - prov:wasAssociatedWith ; - sosa:deployedOnPlatform . - - a sosa:Observation ; - sosa:hasSimpleResult "64.5244681928429 Cel"^^cdt:ucum ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . - - a sosa:Observation ; - sosa:hasSimpleResult "73.2 %"^^cdt:ucum ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex4.ttl b/ssn/rdf/examples/2017-examples/2017ex4.ttl deleted file mode 100644 index de5f30e3..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex4.ttl +++ /dev/null @@ -1,18 +0,0 @@ -@prefix ex: . -@prefix sosa: . - -ex:Temperature a sosa:Property . - - a sosa:FeatureOfInterest; - sosa:hasProperty ex:Temperature . - - a sosa:Observation ; - sosa:observedProperty ex:Temperature ; - sosa:hasFeatureOfInterest . - - a sosa:FeatureOfInterest; - sosa:hasProperty ex:Temperature . - - a sosa:Observation ; - sosa:observedProperty ex:Temperature ; - sosa:hasFeatureOfInterest . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex5.ttl b/ssn/rdf/examples/2017-examples/2017ex5.ttl deleted file mode 100644 index 109cfbc3..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex5.ttl +++ /dev/null @@ -1,23 +0,0 @@ -@prefix ex: . -@prefix sosa: . - -ex:Temperature a owl:Class ; - rdfs:subClassOf sosa:Property . - - a sosa:FeatureOfInterest; - sosa:hasProperty . - - a ex:Temperature , sosa:Property . - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasFeatureOfInterest . - - a sosa:FeatureOfInterest; - sosa:hasProperty . - - a ex:Temperature , sosa:Property . - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasFeatureOfInterest . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex6.ttl b/ssn/rdf/examples/2017-examples/2017ex6.ttl deleted file mode 100644 index b872bd29..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex6.ttl +++ /dev/null @@ -1,15 +0,0 @@ -ex:TemperatureSensor a ssn:System . - - a sosa:Observation ; - sosa:madeBySensor ex:TemperatureSensor . - - a sosa:Observation ; - sosa:madeBySensor ex:TemperatureSensor . - -# describing the system capabilities and operating/survival range can be done generically -# with this modeling choice: - -ex:TemperatureSensor ssn-system:hasOperatingRange ex:TemperatureSensorOperatingRange . - -ex:TemperatureSensorOperatingRange a ssn-system:OperatingRange ; - ssn-system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex7.ttl b/ssn/rdf/examples/2017-examples/2017ex7.ttl deleted file mode 100644 index b240d68b..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex7.ttl +++ /dev/null @@ -1,26 +0,0 @@ -ex:TemperatureSensor a owl:Class ; - rdfs:subClassOf ssn:System . - - a ex:TemperatureSensor , ssn:System . - - a sosa:Observation ; - sosa:madeBySensor . - - a ex:TemperatureSensor , ssn:System . - - a sosa:Observation ; - sosa:madeBySensor . - -# describing the system capabilities and operating/survival range can be done at the level of -# the class or at the level of each instance with this modeling choice: - -ex:TemperatureSensor rdfs:subClassOf [ - owl:onProperty ssn-system:hasOperatingRange ; - owl:hasValue ex:TemperatureSensorOperatingRange ] . - - - ssn-system:hasOperatingRange ex:TemperatureSensorOperatingRange ; # this axiom can be inferred - ssn-system:hasOperatingRange . - - a ssn-system:OperatingRange ; - ssn-system:inCondition , . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex8.ttl b/ssn/rdf/examples/2017-examples/2017ex8.ttl deleted file mode 100644 index 02186893..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex8.ttl +++ /dev/null @@ -1,67 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix sosa: . -@prefix geo: . -@prefix qudt: . -@prefix unit: . -@prefix cdt: . -@base . - -# The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 -# observed on June 6 2017 using only the SOSA core for modelling. - -# the atmosphere is sampled at a specific location -# location coordinates are given using GeoSPARQL - - a sosa:FeatureOfInterest ; - rdfs:label "Atmosphere of Earth"@en . - - a sosa:Sample ; - sosa:isSampleOf ; - geo:hasGeometry [ - a geo:Point ; - geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ; - ] ; -. - - a sosa:ObservableProperty ; - rdfs:label "Atmospheric pressure"@en . - - -# An iPhone 7 as the Platform that hosts several sensors, -# among others the Bosch Sensortec BMP282 atmospheric pressure sensor. - - a sosa:Platform ; - rdfs:label "IPhone 7 - IMEI 35-207306-844818-0"@en ; - rdfs:comment "IPhone 7 - IMEI 35-207306-844818-0 - John Doe"@en ; - sosa:hosts . - - a sosa:Sensor ; - rdfs:label "Bosch Sensortec BMP282"@en ; - sosa:observes . - - -# An observation made by the BMP282 atmospheric pressure sensor -# using the cdt:ucum custom datatype. - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasFeatureOfInterest ; - sosa:madeBySensor ; - sosa:hasSimpleResult "1021.45 hPa"^^cdt:ucum ; - sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . - - -# Another observation made a second later by the BMP282 atmospheric pressure sensor -# using the QUDT Ontology for the Units of Measurement - - a sosa:Observation ; - sosa:observedProperty ; - sosa:hasFeatureOfInterest ; - sosa:madeBySensor ; - sosa:hasResult [ - a qudt:QuantityValue ; - qudt:value "101936"^^xsd:decimal ; - qudt:hasUnit unit:PA ] ; - sosa:resultTime "2017-06-06T12:36:13Z"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/rdf/examples/2017-examples/2017ex9.ttl b/ssn/rdf/examples/2017-examples/2017ex9.ttl deleted file mode 100644 index 1f2681bd..00000000 --- a/ssn/rdf/examples/2017-examples/2017ex9.ttl +++ /dev/null @@ -1,51 +0,0 @@ -@prefix rdf: . -@prefix owl: . -@prefix rdfs: . -@prefix sosa: . -@prefix xsd: . -@prefix unit: . - -@base . - - a sosa:FeatureOfInterest ; - sosa:hasSample ; - rdfs:comment "Coal Oil Point Reserve: UC Santa Barbara Natural Reserve System"@en ; - rdfs:label "Coal Oil Point Reserve"@en . - - a sosa:Sample ; - rdfs:comment "."@en ; - rdfs:label "Air around COPR Station"@en ; - sosa:isSampleOf . - - a sosa:Platform ; - rdfs:comment "Station at Coal Oil Point Reserve, CA (see http://www.geog.ucsb.edu/ideas/COPR.html for details)"@en ; - rdfs:label "Coal Oil Point Reserve Wx Station"@en ; - rdfs:seeAlso ; - sosa:hosts . - - a sosa:Platform ; - rdfs:label "HMP45C-L Temperature and Relative Humidity Probe at Coal Oil Point, UCSB, CA"@en ; - sosa:hosts ; - sosa:isHostedBy . - - a sosa:Sensor ; - rdfs:label "Vaisala HUMICAP H-chip"@en ; - sosa:isHostedBy . - - a sosa:Property ; - rdfs:comment "Humidity is a measure of the moisture content of air."@en ; - rdfs:label "Relative Humidity"@en . - - a sosa:Procedure ; - rdfs:comment "... detailed instructions for measuring relative humidity ..."@en ; - . - - a sosa:Observation ; - rdfs:comment "Relative humidity as averaged over 15min at COPR."@en ; - rdfs:label "Relative humidity, AVG, 15min, COPR, 06.02.2017, 3:00 PM"@en ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:hasSimpleResult "92.5"^^unit:PERCENT ; - sosa:resultTime "2017-06-02-T03:00:00-7:00"^^xsd:dateTime ; - sosa:observedProperty ; - sosa:usedProcedure . \ No newline at end of file diff --git a/ssn/rdf/examples/UOM-cdt.ttl b/ssn/rdf/examples/UOM-cdt.ttl index 5af0ffcd..1a0076c6 100644 --- a/ssn/rdf/examples/UOM-cdt.ttl +++ b/ssn/rdf/examples/UOM-cdt.ttl @@ -1,6 +1,7 @@ @prefix cdt: . @prefix ex: . @prefix rdf: . +@prefix rdfs: . @prefix sosa: . ex:Obs234534 diff --git a/ssn/rdf/examples/ip68.ttl b/ssn/rdf/examples/ip68.ttl index c384e9b2..6f28aa23 100644 --- a/ssn/rdf/examples/ip68.ttl +++ b/ssn/rdf/examples/ip68.ttl @@ -1,5 +1,6 @@ @prefix geo: . @prefix gr: . +@prefix qudt: . @prefix org: . @prefix schema: . @prefix sosa: . From 34a8ef793478c295735ee81ee7bc74728c0d5ba9 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 29 Jan 2025 15:59:53 +1100 Subject: [PATCH 50/74] Go through all the 'Complete Examples' to check that they validate, and conform better to the new edition of SSN/SOSA --- ssn/chapters/CompleteExamples.html | 419 ++++++------------ ssn/chapters/ModelTimes.html | 13 + ssn/chapters/Overview.html | 166 +++++++ ssn/chapters/RDF-implementation.html | 95 ++++ ssn/chapters/Specification.html | 283 ------------ ssn/index.html | 388 ++-------------- ssn/rdf/examples/IDEAS.ttl | 41 +- ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl | 42 +- ssn/rdf/examples/apartment-134-sosa.ttl | 91 ---- ssn/rdf/examples/apartment-134.ttl | 80 ++-- ssn/rdf/examples/dht22-deployment-sosa.ttl | 66 --- ssn/rdf/examples/dht22-deployment.ttl | 90 ++-- ssn/rdf/examples/dht22-sosa.ttl | 30 -- ssn/rdf/examples/dht22.ttl | 157 +++---- .../examples/examples-shared-resources.ttl | 39 -- ssn/rdf/examples/historical-airtemp.ttl | 46 ++ ssn/rdf/examples/ice-core-sosa.ttl | 42 -- ssn/rdf/examples/ip68.ttl | 136 +++--- ssn/rdf/examples/iphone_barometer-sosa.ttl | 48 +- ssn/rdf/examples/seismograph-sosa.ttl | 38 -- ssn/rdf/examples/seismograph.ttl | 43 +- ssn/rdf/examples/spinning-cups-sosa.ttl | 30 -- ssn/rdf/examples/spinning-cups.ttl | 60 ++- ssn/rdf/examples/sunspots.ttl | 20 +- ssn/rdf/examples/tree-height-sosa.ttl | 48 -- ssn/rdf/examples/tree-height.ttl | 53 +-- .../{ => unused}/2023ex-location.jsonld | 0 .../examples/{ => unused}/2023ex-location.ttl | 0 ssn/rdf/examples/{ => unused}/2023ex1.ttl | 0 .../{ => unused}/2024ex-uomtype.jsonld | 0 .../examples/{ => unused}/2024ex-uomtype.ttl | 0 ssn/rdf/examples/{ => unused}/house134.ttl | 0 ssn/rdf/examples/{ => unused}/om-20.ttl | 0 .../{ => unused}/sosa-core_examples.ttl | 0 .../{ => unused}/vistavital-a-sdo.ttl | 0 .../{examples => tests}/reasoning-tests.ttl | 0 36 files changed, 874 insertions(+), 1690 deletions(-) create mode 100644 ssn/chapters/Overview.html create mode 100644 ssn/chapters/RDF-implementation.html delete mode 100644 ssn/chapters/Specification.html delete mode 100644 ssn/rdf/examples/apartment-134-sosa.ttl delete mode 100644 ssn/rdf/examples/dht22-deployment-sosa.ttl delete mode 100644 ssn/rdf/examples/dht22-sosa.ttl delete mode 100644 ssn/rdf/examples/examples-shared-resources.ttl create mode 100644 ssn/rdf/examples/historical-airtemp.ttl delete mode 100644 ssn/rdf/examples/ice-core-sosa.ttl delete mode 100644 ssn/rdf/examples/seismograph-sosa.ttl delete mode 100644 ssn/rdf/examples/spinning-cups-sosa.ttl delete mode 100644 ssn/rdf/examples/tree-height-sosa.ttl rename ssn/rdf/examples/{ => unused}/2023ex-location.jsonld (100%) rename ssn/rdf/examples/{ => unused}/2023ex-location.ttl (100%) rename ssn/rdf/examples/{ => unused}/2023ex1.ttl (100%) rename ssn/rdf/examples/{ => unused}/2024ex-uomtype.jsonld (100%) rename ssn/rdf/examples/{ => unused}/2024ex-uomtype.ttl (100%) rename ssn/rdf/examples/{ => unused}/house134.ttl (100%) rename ssn/rdf/examples/{ => unused}/om-20.ttl (100%) rename ssn/rdf/examples/{ => unused}/sosa-core_examples.ttl (100%) rename ssn/rdf/examples/{ => unused}/vistavital-a-sdo.ttl (100%) rename ssn/rdf/{examples => tests}/reasoning-tests.ttl (100%) diff --git a/ssn/chapters/CompleteExamples.html b/ssn/chapters/CompleteExamples.html index 1184d88a..825b54bc 100644 --- a/ssn/chapters/CompleteExamples.html +++ b/ssn/chapters/CompleteExamples.html @@ -1,291 +1,162 @@ - -

    Complete Examples

    -
    -

    iPhone Barometer

    -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    -
    -
    -

    Coal Oil Point Reserve

    - -
    -
    -

    apartment 134

    - -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - - -
    +
    
    +
     
    -    
    -

    Tree height measurement

    - - - - -
    +
    +

    iPhone Barometer

    +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +    
    +
    -
    -

    Seismographs

    - - - - -
    +
    +

    Coal Oil Point Reserve

    +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +    
    +
    -
    -

    Number of sunspots

    -

    An RDF file containing a graph corresponding to - this example is available.

    -
    
    -    
    +
    +

    apartment 134

    +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +    
    +
    -
    -

    Wind sensor spinning cups

    - -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - - -
    +
    +

    Wind sensor spinning cups

    +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +    
    +
    -
    -

    Ice Core

    - -
    +
    +

    Ice Core

    +

    In order to characterize a thing with a large extent, or which is not directly accessible, the usual - observational strategy is to obtain one or more samples. Observations may then be made more conveniently on - the samples, with the intention of characterizing the larger thing. This intentionality is captured using - the - property sosa:isSampleOf.

    + observational strategy is to obtain one or more samples. Observations can then be made more conveniently on + the samples, with the intention of characterizing the larger thing. This intentionality is captured using + the property sosa:isSampleOf.

    In the following example, the ice core is a sample of the Antarctic ice sheet, and observations are made on - the ice core.

    + the ice core.

    A convenient side effect of this feature is that all observations related to the larger thing (the ice - sheet) - can be found, and then potentially joined together in a meta-analysis in order to characterize that.

    + sheet) can be found, and then potentially joined together in a meta-analysis in order to characterize that. +

    An RDF file containing a graph corresponding - to - this example is available.

    -
    
    -      
    - - -
    +
    
    +
    +
    -
    -

    DHT22 Description

    - -
    -

    An RDF file containing a graph corresponding to - this example is available.

    -
    
    -      
    - - -
    +
    +

    DHT22 Description

    +
    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +    
    +
    - -
    -

    DHT22 Deployment

    - -
    -

    This example shows how the conditions (temperature and humidity) in a room may be measured using one or - more sensors. - Each sensor observes the conditions in its immediate vicinity, and the values are then used to characterize - the room.

    +
    +

    DHT22 Deployment

    +
    +

    This example shows how the conditions (temperature and humidity) in a room can be measured using one or + more sensors. + Each sensor observes the conditions in its immediate vicinity, and the values are then used to characterize + the room.

    In Room 145 one of the walls is external in the building, so there is expected to be a temperature gradient - across the room, and there are two sensors on different walls. In room 245 there is one sensor on the south - wall. - Each of these locations corresponds to a sosa:Sample of the entire room. - The wall also serves as a sosa:Platform on which the sensors are mounted.

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - -
    -
    -

    IP68 Smart Sensor

    -
    + across the room, and there are two sensors on different walls. In room 245 there is one sensor on the south + wall. + Each of these locations corresponds to a sosa:Sample of the entire room. + The wall also serves as a sosa:Platform on which the sensors are mounted.

    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +    
    +
    + +
    +

    IP68 Smart Sensor

    +

    This example describes the IP68 Smart Sensor that and some of its capabilities and operating ranges. - A specific IP68 Smart Sensor observes the air temperature, and its own battery state.

    + A specific IP68 Smart Sensor observes the air temperature, and its own battery state.

    An RDF file containing a graph corresponding to - this example is available.

    -
    
    -      
    -
    - + href="https://github.com/w3c/sdw/blob/gh-pages/sdw-sosa-ssn/ssn/rdf/examples/ip68.ttl">graph + corresponding to this example is available.

    +
    
    +    
    +
    + +
    +

    InkBird IBS TH2 Sensor

    +
    +

    These examples describe a commercially available platform, the IBS TH2, marketed under the InkBird brand.

    + +

    Recording survival and operating ranges for a sensor

    + +

    + In this example we represent the capability of the platform temperature sensor to measure ambient air and the + physical survival limits of its plastic construction. Note that this should apply to the platform as well, but in SOSA/SSN survival ranges only apply to sensors and systems, not platforms.

    + +

    xsd:minInclusive and xsd:maxInclusive are used to report the maximum and minimum operating and survival + ranges for the + sensor. These are simple properties that are not encoded here as ontological restrictions on observation + results. Besides the fact that these + ranges apply to the sensor type and not the sensor instance, it is often necessary to report + out-of-range values to record the occurrence of an operating condition leading to failure. It should also be + noted that + system lifespan can exceed the specification. The Voyager 2 spacecraft is a well know example: designed to + function for 5 + years, it is still partially operational after 43 years.

    + +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +    
    \ No newline at end of file diff --git a/ssn/chapters/ModelTimes.html b/ssn/chapters/ModelTimes.html index 881da212..5512a653 100644 --- a/ssn/chapters/ModelTimes.html +++ b/ssn/chapters/ModelTimes.html @@ -45,6 +45,19 @@

    Historical observations

    Observations in historical sciences, including geology and archeology, may be made to determine the state of the world in the remote past.

    +

    + A simple case is encoding an observation transcribed from a historical record, such as a logbook: +

    + +
    
    +
    +
     

    For example, the diet of past communities can be determined by examination of middens and other archaeological features diff --git a/ssn/chapters/Overview.html b/ssn/chapters/Overview.html new file mode 100644 index 00000000..0e121bdd --- /dev/null +++ b/ssn/chapters/Overview.html @@ -0,0 +1,166 @@ +

    Overview of Classes and Properties

    +

    + The following figures show the key classes and properties in the ontology modules, + showing the general pattern for Executions, + and from the perspectives of Actuation, Observation, and Sampling. +

    +
    + SSN ontology modules - Common +
    + Overview of the key classes and properties (general execution pattern) +
    + Explanation of the notation used in class diagrams. +
    +
    + +
    + SSN ontology modules - Actuation +
    + Overview of the key classes and properties (actuation perspective) +
    + Explanation of the notation used in class diagrams. +
    +
    + +
    + SSN ontology modules - Observation +
    + Overview of the key classes and properties (observation perspective) +
    + Explanation of the notation used in class diagrams. +
    +
    + +
    + SSN ontology modules - Sampling +
    + Overview of the key classes and properties (sampling and sample perspective) +
    + Explanation of the notation used in class diagrams. +
    +
    +
    +

    + The following are alphabetical lists of the classes and properties in the SSN Ontology. +

    +

    + Terms added in the 2024 update are indicated with an asterisk*. +

    + +
    +

    Object Properties: + sosa:actsOn* + , sosa:actsOnProperty + , sosa:deployedAsset* + , sosa:deployedOnPlatform + , sosa:deployedSystem + , sosa:detects + , sosa:featureSampledBy* + , sosa:forProperty + , sosa:hasDeployment + , sosa:hasFeatureOfInterest + , sosa:hasInput + , sosa:hasInputValue* + , sosa:hasMember* + , sosa:hasOriginalSample* + , sosa:hasOutput + , sosa:hasProcedure* + , sosa:hasProperty + , sosa:hasProxy* + , sosa:hasResult + , sosa:hasSample + , sosa:hasSampledFeature* + , sosa:hasSubSystem + , sosa:hasUltimateFeatureOfInterest* + , sosa:hosts + , sosa:implementedBy + , sosa:implements + , sosa:inDeployment + , sosa:inputFor* + , sosa:inputValueForExecution* + , sosa:isActedOnBy + , sosa:isDetectedBy* + , sosa:isFeatureOfInterestOf + , sosa:isHostedBy + , sosa:isObservedBy + , sosa:isOriginalSampleOf* + , sosa:isPropertyOf + , sosa:isProxyFor + , sosa:isResultOf + , sosa:isResultOfMadeBySampler* + , sosa:isResultOfUsedProcedure* + , sosa:isSampleOf + , sosa:isSubSystemOf* + , sosa:isUltimateFeatureOfInterestOf* + , sosa:madeActuation + , sosa:madeByActuator + , sosa:madeBySampler + , sosa:madeBySensor + , sosa:madeBySystem + , sosa:madeExecution + , sosa:madeObservation + , sosa:madeSampling + , sosa:madeSamplingHasResult* + , sosa:memberOf* + , sosa:observationRelatedTo* + , sosa:observedProperty + , sosa:observes + , sosa:originated* + , sosa:outputFor* + , sosa:phenomenonOccurred* + , sosa:phenomenonTime + , sosa:propertyFor* + , sosa:qualityOf* + , sosa:relatedObservation* + , sosa:resultQuality* + , sosa:usedForExecution* + , sosa:usedForExecutionHasResult* + , sosa:usedProcedure + , sosa:wasActedOnBy* + , sosa:wasObservedBy* + , sosa:wasOriginatedBy +

    +
    +
    +

    Datatype Properties: + sosa:endTime* + , sosa:hasSimpleResult + , sosa:resultTime + , sosa:startTime* +

    +
    +
    + +

    + The SSN classes and properties are described in the following sections, organized by module as described in Modularization above. + In an appendix to this document we list all SSN properties and their inverses + with the classes that are included in their domains and ranges. + +

    \ No newline at end of file diff --git a/ssn/chapters/RDF-implementation.html b/ssn/chapters/RDF-implementation.html new file mode 100644 index 00000000..6bb4930d --- /dev/null +++ b/ssn/chapters/RDF-implementation.html @@ -0,0 +1,95 @@ +

    RDF implementation

    + +
    +

    Namespaces

    + +

    + The namespace for the core terms is http://www.w3.org/ns/sosa/ +
    + The suggested prefix for the SOSA namespace is sosa:. +

    + + +
    + +
    +

    Dependencies

    +

    + Each module of the SSN Ontology is packaged as an RDF file. + The RDF representations use owl:imports statements to implement the dependencies. + Within each graph, where further information (axioms and annotations) is added to an existing term, + rdfs:isDefinedBy indicates the module where the term was originally defined. +

    +
    + +
    +

    Expressivity

    +

    + The SOSA modules contain the basic definitions of the core terms with minimal axiomatization - only + rdf:type and owl:inverseOf - together with key annotations rdfs:label + , + skos:definition , schema:domainIncludes , schema:rangeIncludes, plus + other annotations as required. + Inverses are named for all object properties. +

    +

    + The SSN modules contains the full axiomatization of the core terms, importing SOSA modules and using + rdfs:subClassOf, rdfs:subPropertyOf, owl:Restriction with the various + associated RDFS and OWL structures. +

    +
    + +
    +

    Distribution

    + +
    +
    SOSA
    +

    + SOSA Common is available at http://www.w3.org/ns/sosa/common/. +

    +

    + SOSA Actuation is available at http://www.w3.org/ns/sosa/act/. +

    +

    + SOSA Observation is available at http://www.w3.org/ns/sosa/obs/. +

    +

    + SOSA Sampling is available at http://www.w3.org/ns/sosa/sam/. +

    +

    + The complete SOSA is available at http://www.w3.org/ns/sosa/. +

    +
    + +
    +
    SSN
    +

    + SSN Common is available at http://www.w3.org/ns/ssn/common/. +

    +

    + SSN Actuation is available at http://www.w3.org/ns/ssn/act/. +

    +

    + SSN Observation is available at http://www.w3.org/ns/ssn/obs/. +

    +

    + SSN Sampling is available at http://www.w3.org/ns/ssn/sam/. +

    +

    + The complete SSN is available at http://www.w3.org/ns/ssn/. +

    +
    + +
    \ No newline at end of file diff --git a/ssn/chapters/Specification.html b/ssn/chapters/Specification.html deleted file mode 100644 index ae493a5e..00000000 --- a/ssn/chapters/Specification.html +++ /dev/null @@ -1,283 +0,0 @@ -

    Specification

    -

    This section introduces the specifications for the RDF implementation of the Semantic Sensor Network Ontology. -

    - -
    -

    RDF implementation

    - -
    -

    Namespaces

    - -

    - The namespace for the core terms is http://www.w3.org/ns/sosa/ -
    - The suggested prefix for the SOSA namespace is sosa:. -

    - - -
    - -
    -

    Dependencies

    -

    - Each module of the SSN Ontology is packaged as an RDF file. - The RDF representations use owl:imports statements to implement the dependencies. - Within each graph, where further information (axioms and annotations) is added to an existing term, - rdfs:isDefinedBy indicates the module where the term was originally defined. -

    -
    - -
    -

    Expressivity

    -

    - The SOSA modules contain the basic definitions of the core terms with minimal axiomatization - only - rdf:type and owl:inverseOf - together with key annotations rdfs:label - , - skos:definition , schema:domainIncludes , schema:rangeIncludes, plus - other annotations as required. - Inverses are named for all object properties. -

    -

    - The SSN modules contains the full axiomatization of the core terms, importing SOSA modules and using - rdfs:subClassOf, rdfs:subPropertyOf, owl:Restriction with the various - associated RDFS and OWL structures. -

    -
    - -
    -

    Distribution

    - -
    -
    SOSA
    -

    - SOSA Common is available at http://www.w3.org/ns/sosa/common/. -

    -

    - SOSA Actuation is available at http://www.w3.org/ns/sosa/act/. -

    -

    - SOSA Observation is available at http://www.w3.org/ns/sosa/obs/. -

    -

    - SOSA Sampling is available at http://www.w3.org/ns/sosa/sam/. -

    -

    - The complete SOSA is available at http://www.w3.org/ns/sosa/. -

    -
    - -
    -
    SSN
    -

    - SSN Common is available at http://www.w3.org/ns/ssn/common/. -

    -

    - SSN Actuation is available at http://www.w3.org/ns/ssn/act/. -

    -

    - SSN Observation is available at http://www.w3.org/ns/ssn/obs/. -

    -

    - SSN Sampling is available at http://www.w3.org/ns/ssn/sam/. -

    -

    - The complete SSN is available at http://www.w3.org/ns/ssn/. -

    -
    - -
    - -
    - -
    -

    Overview of Classes and Properties

    -

    - The following figures show the key classes and properties in the ontology modules, - showing the general pattern for Executions, - and from the perspectives of Actuation, Observation, and Sampling. -

    -
    - SSN ontology modules - Common -
    - Overview of the key classes and properties (general execution pattern) -
    - Explanation of the notation used in class diagrams. -
    -
    - -
    - SSN ontology modules - Actuation -
    - Overview of the key classes and properties (actuation perspective) -
    - Explanation of the notation used in class diagrams. -
    -
    - -
    - SSN ontology modules - Observation -
    - Overview of the key classes and properties (observation perspective) -
    - Explanation of the notation used in class diagrams. -
    -
    - -
    - SSN ontology modules - Sampling -
    - Overview of the key classes and properties (sampling and sample perspective) -
    - Explanation of the notation used in class diagrams. -
    -
    -
    -

    - The following are alphabetical lists of the classes and properties in the SSN Ontology. -

    -

    - Terms added in the 2024 update are indicated with an asterisk*. -

    - -
    -

    Object Properties: - sosa:actsOn* - , sosa:actsOnProperty - , sosa:deployedAsset* - , sosa:deployedOnPlatform - , sosa:deployedSystem - , sosa:detects - , sosa:featureSampledBy* - , sosa:forProperty - , sosa:hasDeployment - , sosa:hasFeatureOfInterest - , sosa:hasInput - , sosa:hasInputValue* - , sosa:hasMember* - , sosa:hasOriginalSample* - , sosa:hasOutput - , sosa:hasProcedure* - , sosa:hasProperty - , sosa:hasProxy* - , sosa:hasResult - , sosa:hasSample - , sosa:hasSampledFeature* - , sosa:hasSubSystem - , sosa:hasUltimateFeatureOfInterest* - , sosa:hosts - , sosa:implementedBy - , sosa:implements - , sosa:inDeployment - , sosa:inputFor* - , sosa:inputValueForExecution* - , sosa:isActedOnBy - , sosa:isDetectedBy* - , sosa:isFeatureOfInterestOf - , sosa:isHostedBy - , sosa:isObservedBy - , sosa:isOriginalSampleOf* - , sosa:isPropertyOf - , sosa:isProxyFor - , sosa:isResultOf - , sosa:isResultOfMadeBySampler* - , sosa:isResultOfUsedProcedure* - , sosa:isSampleOf - , sosa:isSubSystemOf* - , sosa:isUltimateFeatureOfInterestOf* - , sosa:madeActuation - , sosa:madeByActuator - , sosa:madeBySampler - , sosa:madeBySensor - , sosa:madeBySystem - , sosa:madeExecution - , sosa:madeObservation - , sosa:madeSampling - , sosa:madeSamplingHasResult* - , sosa:memberOf* - , sosa:observationRelatedTo* - , sosa:observedProperty - , sosa:observes - , sosa:originated* - , sosa:outputFor* - , sosa:phenomenonOccurred* - , sosa:phenomenonTime - , sosa:propertyFor* - , sosa:qualityOf* - , sosa:relatedObservation* - , sosa:resultQuality* - , sosa:usedForExecution* - , sosa:usedForExecutionHasResult* - , sosa:usedProcedure - , sosa:wasActedOnBy* - , sosa:wasObservedBy* - , sosa:wasOriginatedBy -

    -
    -
    -

    Datatype Properties: - sosa:endTime* - , sosa:hasSimpleResult - , sosa:resultTime - , sosa:startTime* -

    -
    -
    - -

    - The SSN classes and properties are described in the following sections, organized by module as described in Modularization above. - In an appendix to this document we list all SSN properties and their inverses - with the classes that are included in their domains and ranges. - -

    -
    - -
    - -
    - -
    - -
    \ No newline at end of file diff --git a/ssn/index.html b/ssn/index.html index 98fca786..e645dd53 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -133,34 +133,31 @@ household infrastructures, social sensing, citizen science, observation-driven ontology engineering, and the Web of Things.

    -

    - The namespace for the core terms is - http://www.w3.org/ns/sosa/.

    - -

    The suggested prefix for the SOSA namespace is sosa.

    + The namespace for the core terms is http://www.w3.org/ns/sosa/.

    - The SOSA graph containing the core definitions is available at http://www.w3.org/ns/sosa/.
    - The SSN graph with the full axiomatization of the core terms is available at http://www.w3.org/ns/ssn/. -
    + The suggested prefix for the SOSA namespace is sosa.

    +

    + The SOSA graph containing the core definitions is available at + http://www.w3.org/ns/sosa/. +

    +

    + The SSN graph with the full axiomatization of the core terms is available at + http://www.w3.org/ns/ssn/.

    +

    General Information

    - For OGC this is a Public Draft of a document prepared - by the Spatial Data on the Web Working Group (SDWWG) + For OGC this is a Public Draft of a document prepared by the Spatial Data on the Web Working + Group + (SDWWG) — a joint W3C-OGC project (see charter). - The document is prepared following W3C conventions. The document is - released at this time to solicit public comment. + The document is prepared following W3C conventions. + The document is released at this time to solicit public comment.

    @@ -172,7 +169,24 @@
    -
    +
    +

    Specification

    +

    This section introduces the specifications for the RDF implementation of the Semantic Sensor Network Ontology. +

    + +
    + +
    +
    + +
    + +
    + +
    + +
    +

    SSN Extensions

    @@ -231,343 +245,21 @@

    Common Patterns

    -
    -
    +

    Wide review

    -

    Results of the wide review of SOSA and SSN is summarized here.

    +

    + Results of the wide review of SOSA and SSN is + summarized here. +

    -
    - -
    -

    Complete Examples

    -
    -

    iPhone Barometer

    -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    -
    -
    -

    Coal Oil Point Reserve

    -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    -
    -
    -

    apartment 134

    - -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - - -
    - -
    -

    Tree height measurement

    - -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - - -
    - -
    -

    Seismographs

    - -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - - -
    - -
    -

    Number of sunspots

    -

    An RDF file containing a graph - corresponding to - this example is available.

    -
    
    -    
    - -
    -

    Wind sensor spinning cups

    - -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - - -
    - -
    -

    Ice Core

    - -
    -

    In order to characterize a thing with a large extent, or which is not directly accessible, the usual - observational strategy is to obtain one or more samples. Observations can then be made more conveniently on - the samples, with the intention of characterizing the larger thing. This intentionality is captured using - the property sosa:isSampleOf.

    -

    In the following example, the ice core is a sample of the Antarctic ice sheet, and observations are made on - the ice core.

    -

    A convenient side effect of this feature is that all observations related to the larger thing (the ice - sheet) can be found, and then potentially joined together in a meta-analysis in order to characterize that. -

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - - -
    - -
    -

    DHT22 Description

    - -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - - -
    - +
    -
    -

    DHT22 Deployment

    - -
    -

    This example shows how the conditions (temperature and humidity) in a room can be measured using one or - more sensors. - Each sensor observes the conditions in its immediate vicinity, and the values are then used to characterize - the room.

    -

    In Room 145 one of the walls is external in the building, so there is expected to be a temperature gradient - across the room, and there are two sensors on different walls. In room 245 there is one sensor on the south - wall. - Each of these locations corresponds to a sosa:Sample of the entire room. - The wall also serves as a sosa:Platform on which the sensors are mounted.

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    - -
    -
    -

    IP68 Smart Sensor

    -
    -

    This example describes the IP68 Smart Sensor that and some of its capabilities and operating ranges. - A specific IP68 Smart Sensor observes the air temperature, and its own battery state.

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    -
    - -
    -

    InkBird IBS TH2 Sensor

    -
    -

    These examples describe a commercially available platform, the IBS TH2, marketed under the InkBird brand.

    - -

    Recording survival and operating ranges for a sensor

    - -

    In this example we represent the capability of the platform temperature sensor to measure ambient air and the - physical - survival limits of its plastic construction. Note that this should apply to the platform as well, but in - SOSA/SSN survival ranges only - apply to sensors and systems, not platforms.

    - -

    xsd:minInclusive and xsd:maxInclusive are used to report the maximum and minimum operating and survival - ranges for the - sensor. These are simple properties that are not encoded here as ontological restrictions on observation - results. Besides the fact that these - ranges apply to the sensor type and not the sensor instance, it is often necessary to report - out-of-range values to record the occurrence of an operating condition leading to failure. It should also be - noted that - system lifespan can exceed the specification. The Voyager 2 spacecraft is a well know example: designed to - function for 5 - years, it is still partially operational after 43 years.

    - -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -      
    -
    - - - - - -
    +
    diff --git a/ssn/rdf/examples/IDEAS.ttl b/ssn/rdf/examples/IDEAS.ttl index 64d56be3..2822938a 100644 --- a/ssn/rdf/examples/IDEAS.ttl +++ b/ssn/rdf/examples/IDEAS.ttl @@ -1,3 +1,4 @@ + @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -5,49 +6,49 @@ @prefix xsd: . @prefix cdt: . -@base . +@base . - a owl:Ontology ; +ex:IDEA a owl:Ontology ; owl:imports . - a sosa:FeatureOfInterest ; - sosa:hasSample ; + ex:COPR a sosa:FeatureOfInterest ; + sosa:hasSample ex:COPR_SL ; rdfs:comment "Coal Oil Point Reserve: UC Santa Barbara Natural Reserve System"@en ; rdfs:label "Coal Oil Point Reserve"@en . - a sosa:Sample ; + ex:COPR_SL a sosa:Sample ; rdfs:comment "."@en ; rdfs:label "Air around COPR Station"@en ; - sosa:isSampleOf . + sosa:isSampleOf ex:COPR . - a sosa:Platform ; + ex:COPR_Station a sosa:Platform ; rdfs:comment "Station at Coal Oil Point Reserve, CA (see http://www.geog.ucsb.edu/ideas/COPR.html for details)"@en ; rdfs:label "Coal Oil Point Reserve Wx Station"@en ; rdfs:seeAlso ; - sosa:hosts . + sosa:hosts ex:COPR-HMP45C-L . - a sosa:Platform ; + ex:COPR-HMP45C-L a sosa:Platform ; rdfs:label "HMP45C-L Temperature and Relative Humidity Probe at Coal Oil Point, UCSB, CA"@en ; - sosa:hosts ; - sosa:isHostedBy . + sosa:hosts ex:HUMICAP-H ; + sosa:isHostedBy ex:COPR_Station . - a sosa:Sensor ; + ex:HUMICAP-H a sosa:Sensor ; rdfs:label "Vaisala HUMICAP H-chip"@en ; - sosa:isHostedBy . + sosa:isHostedBy ex:COPR-HMP45C-L . - a sosa:Property ; + ex:RelativeHumidity a sosa:Property ; rdfs:comment "Humidity is a measure of the moisture content of air."@en ; rdfs:label "Relative Humidity"@en . - a sosa:Procedure ; + ex:MeasuringRelativeHumidity a sosa:Procedure ; rdfs:comment "Instructions for measuring relative humidity"@en . - a sosa:Observation ; + ex:RH_avg_1_COPR_15min_201706020300PM a sosa:Observation ; rdfs:comment "Relative humidity as averaged over 15min at COPR."@en ; rdfs:label "Relative humidity, AVG, 15min, COPR, 06.02.2017, 3:00 PM"@en ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; + sosa:madeBySensor ex:HUMICAP-H ; + sosa:hasFeatureOfInterest ex:COPR_SL ; sosa:hasSimpleResult "92.5 %"^^cdt:ucum ; sosa:resultTime "2017-06-02T03:00:00-07:00"^^xsd:dateTime ; - sosa:observedProperty ; - sosa:usedProcedure . + sosa:observedProperty ex:RelativeHumidity ; + sosa:usedProcedure ex:MeasuringRelativeHumidity . diff --git a/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl b/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl index e1946c00..8580a646 100644 --- a/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl +++ b/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl @@ -1,43 +1,43 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix skos: . -@prefix qudt: . -@prefix unit: . -@prefix foaf: . -@prefix schema: . -@prefix gs1: . @prefix equipment: . +@prefix ex: . +@prefix gs1: . @prefix owl: . +@prefix qk: . +@prefix qudt: . +@prefix rdf: . +@prefix rdfs: . @prefix sosa: . -@prefix ssn: . -@prefix ssn-system: . +@prefix system: . +@prefix unit: . +@prefix xsd: . @base . # This example is a partial specification for a common over-the-shelf temperature and humidity sensor. Different instantions can # be derived for each specific physical the product. - a owl:Class; +ex:InkBird-IBS-TH2 a owl:Class; rdfs:label "Inkbird IBS-TH2"@en ; rdfs:subClassOf gs1:Product, sosa:Platform, equipment:Equipment, ; gs1:pip ; - sosa:hosts . + sosa:hosts ex:IBSTH2TemperatureSensor . - rdfs:subClassOf sosa:Sensor ; +ex:IBSTH2TemperatureSensor rdfs:subClassOf sosa:Sensor ; rdfs:label "Inkbird IBS-TH2 built-in Temperature Sensor"@en ; - sosa:observes ; - ssn-system:hasOperatingRange ; - ssn-system:hasSurvivalRange . + sosa:observes ex:airTemperature ; + system:hasOperatingRange ex:IBSTH2TemperatureSensorLimits ; + system:hasSurvivalRange ex:IBSTH2SurvivalRange . - a ssn-system:OperatingRange ; - qudt:unit qudt-unit:DEG_C ; +ex:IBSTH2TemperatureSensorLimits a system:OperatingRange ; + sosa:forProperty qk:Temperature ; + qudt:unit unit:DEG_C ; xsd:maxInclusive "60" ; xsd:minInclusive "-40" ; rdfs:label "Inkbird IBS-TH2 Temperature Sensor Limits"@en . # Physical limits of the sensor (and platform) where structural failure occurs. - a ssn-system:SurvivalRange ; - qudt:unit qudt-unit:DEG_C ; +ex:IBSTH2SurvivalRange a system:SurvivalRange ; + sosa:forProperty qk:Temperature ; + qudt:unit unit:DEG_C ; xsd:maxInclusive "80" ; xsd:minInclusive "-273" ; rdfs:label "Inkbird IBS-TH2 Failiure limits"@en . diff --git a/ssn/rdf/examples/apartment-134-sosa.ttl b/ssn/rdf/examples/apartment-134-sosa.ttl deleted file mode 100644 index 59f3a6e5..00000000 --- a/ssn/rdf/examples/apartment-134-sosa.ttl +++ /dev/null @@ -1,91 +0,0 @@ -@prefix rdf: . -@prefix time: . -@prefix sosa: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# The electric consumption of appartment #134 on April 15 2017 was 22.4 kWh as -# observed by sensor #926. The result was available 12 seconds later. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "22.4"^^xsd:double ; - qudt:hasUnit unit:Kilowatthour ] ; - sosa:phenomenonTime [ - rdf:type time:Interval ; - time:hasBeginning [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; - time:hasEnd [ - rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; - sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . - - -# Sensor #926 observes the electric consumption of appartment #134, and we know that -# it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - -# mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know -# that it made some observations. - - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . - - -# Sensor #926 observes the electric consumption of appartment #134 - - rdf:type sosa:Sensor ; - sosa:observes . - -# This is equivalent to saying that the electric consumption of appartment #134 is -# observed by Sensor #926 - - rdf:type sosa:Property ; - sosa:isObservedBy . - - -# Sensor #926 made observations identified by and . - - rdf:type sosa:Sensor ; - sosa:madeObservation , . - -# This is equivalent to saying that these observations have been made by sensor #926. - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - rdf:type sosa:Observation ; - sosa:madeBySensor . - - -# the window opening state is a Property. - - rdf:type sosa:FeatureOfInterest . - - rdf:type sosa:Property ; - sosa:isActedOnBy . - - -# WindowCloser #987 made actuation #188 - - rdf:type sosa:Actuator ; - sosa:madeActuation . - - -# Actuation #188 acted on the state of window #104 and returned 'true'. - - rdf:type sosa:Actuation ; - sosa:actsOnProperty ; - sosa:actuationMadeBy ; - sosa:hasSimpleResult true ; - sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . diff --git a/ssn/rdf/examples/apartment-134.ttl b/ssn/rdf/examples/apartment-134.ttl index 8a8bf638..20e99dc1 100644 --- a/ssn/rdf/examples/apartment-134.ttl +++ b/ssn/rdf/examples/apartment-134.ttl @@ -1,17 +1,18 @@ +@prefix ex: . @prefix rdf: . @prefix time: . @prefix sosa: . @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . -# The electric consumption of appartment #134 on April 15 2017 was 22.4 kWh as +# The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as # observed by sensor #926. The result was available 12 seconds later. - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; +ex:Observation_235714 rdf:type sosa:Observation ; + sosa:observedProperty ex:Apartment_134_electricConsumption ; + sosa:madeBySensor ex:sensor_926 ; sosa:hasResult [ rdf:type qudt:QuantityValue ; qudt:numericValue "22.4"^^xsd:double ; @@ -20,77 +21,70 @@ rdf:type time:Interval ; time:hasBeginning [ rdf:type time:Instant ; - time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; + time:inXSDDateTimeStamp "2017-04-15T23:59:30+00:00"^^xsd:dateTimeStamp ] ; time:hasEnd [ rdf:type time:Instant ; time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . -# Sensor #926 observes the electric consumption of appartment #134, and we know that +# Sensor #926 observes the electric consumption of apartment #134, and we know that # it made some observations. - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . +ex:sensor_926 rdf:type sosa:Sensor ; + sosa:observes ex:Apartment_134_electricConsumption ; + sosa:madeObservation ex:Observation_235714, ex:Observation_235715, ex:Observation_235716 . # mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know # that it made some observations. - rdf:type sosa:Sensor ; - sosa:observes ; - sosa:madeObservation , , . +ex:tempSensor_23 rdf:type sosa:Sensor ; + sosa:observes ex:tempSensor_23_temperature ; + sosa:madeObservation ex:tempSensor_23_4572, ex:tempSensor_23_4573, ex:tempSensor_23_4574 . -# Sensor #926 observes the electric consumption of appartment #134 +# Sensor #926 observes the electric consumption of apartment #134 - rdf:type sosa:Sensor ; - sosa:observes . +ex:sensor_926 rdf:type sosa:Sensor ; + sosa:observes ex:Apartment_134_electricConsumption . -# This is equivalent to saying that the electric consumption of appartment #134 is +# This is equivalent to saying that the electric consumption of apartment #134 is # observed by Sensor #926 - rdf:type sosa:Property ; - sosa:isObservedBy . +ex:Apartment_134_electricConsumption rdf:type sosa:Property ; + sosa:isObservedBy ex:sensor_926 . -# Sensor #926 made observations identified by and . - - rdf:type sosa:Sensor ; - sosa:madeObservation , . - # This is equivalent to saying that these observations have been made by sensor #926. - rdf:type sosa:Observation ; - sosa:madeBySensor . - - rdf:type sosa:Observation ; - sosa:madeBySensor . +ex:Observation_235714 rdf:type sosa:Observation ; + sosa:madeBySensor ex:sensor_926 . +ex:Observation_235754 rdf:type sosa:Observation ; + sosa:madeBySensor ex:sensor_926 . +# Actuation # the window opening state is a Property. -# SSN allows to explicitly say that is a property of +# SSN allows to explicitly say that ex:window_104#state is a property of ex:window - rdf:type sosa:FeatureOfInterest ; - sosa:hasProperty . - - rdf:type sosa:Property ; - sosa:isActedOnBy . +ex:window rdf:type sosa:FeatureOfInterest ; + sosa:hasProperty ex:window_104_state . +ex:window_104_state rdf:type sosa:Property ; + sosa:wasActedOnBy ex:actuation_188 . # WindowCloser #987 made actuation #188 -# SSN allows to explicitly say that is designed to automatically open and close window #104. - - rdf:type sosa:Actuator ; - sosa:madeActuation ; - sosa:forProperty . +# SSN allows to explicitly say that ex:windowCloser_987 is designed to automatically open and close window #104. +ex:windowCloser_987 rdf:type sosa:Actuator ; + sosa:madeActuation ex:actuation_188 ; + sosa:actsOn ex:window_104_state . # Actuation #188 acted on the state of window #104 and returned 'true'. - rdf:type sosa:Actuation ; - sosa:actsOnProperty ; - sosa:actuationMadeBy ; +ex:actuation_188 rdf:type sosa:Actuation ; + sosa:actsOnProperty ex:window_104_state ; + sosa:madeByActuator ex:windowCloser_987 ; sosa:hasSimpleResult true ; sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . diff --git a/ssn/rdf/examples/dht22-deployment-sosa.ttl b/ssn/rdf/examples/dht22-deployment-sosa.ttl deleted file mode 100644 index 35aad47b..00000000 --- a/ssn/rdf/examples/dht22-deployment-sosa.ttl +++ /dev/null @@ -1,66 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@prefix schema: . - -@prefix sosa: . - -@base . - - - a sosa:FeatureOfInterest ; - rdfs:label "Room #145"@en ; - sosa:hasSample ; - sosa:hasSample . - - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "East wall of room #145."@en ; - rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; - sosa:hosts . - - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "South wall of room #145."@en ; - rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; - sosa:hosts . - - - a sosa:FeatureOfInterest ; - rdfs:label "Room #245"@en ; - sosa:hasProperty , ; - sosa:hasSample . - - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "South wall of room #245."@en ; - sosa:hosts . - - - a sosa:Platform ; - rdfs:label "PCB Board 1"@en ; - rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently."@en ; - sosa:hosts . - - a sosa:Platform ; - rdfs:label "DHT22 sensor #4578"@en ; - sosa:isHostedBy . - - - a sosa:Platform ; - rdfs:label "PCB Board 2"@en ; - rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanentlys."@en ; - sosa:hosts . - - a sosa:Platform ; - rdfs:label "DHT22 sensor #4579."@en ; - sosa:isHostedBy . - - - a sosa:Platform ; - rdfs:label "PCB Board 3"@en ; - rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently."@en ; - sosa:hosts . - - a sosa:Platform ; - rdfs:label "DHT22 sensor #4580."@en ; - sosa:isHostedBy . diff --git a/ssn/rdf/examples/dht22-deployment.ttl b/ssn/rdf/examples/dht22-deployment.ttl index 581fcf6b..20a56658 100644 --- a/ssn/rdf/examples/dht22-deployment.ttl +++ b/ssn/rdf/examples/dht22-deployment.ttl @@ -1,90 +1,92 @@ +@prefix ex: . +@prefix owl: . +@prefix qk: . +@prefix qudt: . @prefix rdf: . @prefix rdfs: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . @prefix schema: . - +@prefix skos: . @prefix sosa: . -@prefix ssn-system: . - -@base . +@prefix time: . +@prefix unit: . +@prefix xsd: . +@prefix system: . +@prefix rdfp: . +@base . - a sosa:FeatureOfInterest ; +ex:Room145 a sosa:FeatureOfInterest ; rdfs:label "Room #145"@en ; - sosa:hasSample ; - sosa:hasSample . + sosa:hasSample ex:Room145_east ; + sosa:hasSample ex:Room145_south . - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + ex:Room145_east a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; rdfs:label "East wall of room #145."@en ; rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; - sosa:hosts . + sosa:hosts ex:PCBBoard1 . - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + ex:Room145_south a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; rdfs:label "South wall of room #145."@en ; rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; - sosa:hosts . + sosa:hosts ex:PCBBoard2 . - a sosa:FeatureOfInterest ; +ex:Room245 a sosa:FeatureOfInterest ; rdfs:label "Room #245"@en ; - sosa:hasProperty , ; - sosa:hasSample . + sosa:hasProperty qk:Temperature , qk:RelativeHumidity ; + sosa:hasSample ex:Room245_south . - a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + ex:Room245_south a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; rdfs:label "South wall of room #245."@en ; - sosa:hosts . - - + sosa:hosts ex:PCBBoard3 . - a sosa:System , sosa:Platform ; +ex:PCBBoard1 a sosa:System , sosa:Platform ; rdfs:label "PCB Board 1"@en ; rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently, one can say it has it as one of its subsystems."@en ; - sosa:hosts ; - sosa:hasSubSystem . + sosa:hosts ex:DHT22_4578 ; + sosa:hasSubSystem ex:DHT22_4578 . - a sosa:System ; + ex:DHT22_4578 a sosa:System ; rdfs:label "DHT22 sensor #4578"@en ; - sosa:isHostedBy . + sosa:isHostedBy ex:PCBBoard1 . - a sosa:System , sosa:Platform ; +ex:PCBBoard2 a sosa:System , sosa:Platform ; rdfs:label "PCB Board 2"@en ; rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanently, one can say it has it as one of its subsystems."@en ; - sosa:hosts ; - sosa:hasSubSystem . + sosa:hosts ex:DHT22_4578 ; + sosa:hasSubSystem ex:DHT22_4578 . - a sosa:System ; + ex:DHT22_4579 a sosa:System ; rdfs:label "DHT22 sensor #4579."@en ; - sosa:isHostedBy . + sosa:isHostedBy ex:PCBBoard2 . - a sosa:System , sosa:Platform ; +ex:PCBBoard3 a sosa:System , sosa:Platform ; rdfs:label "PCB Board 3"@en ; rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently, one can say it has it as one of its subsystems."@en ; - sosa:hosts ; - sosa:hasSubSystem . + sosa:hosts ex:DHT22_4578 ; + sosa:hasSubSystem ex:DHT22_4578 . - a sosa:System ; + ex:DHT22_4580 a sosa:System ; rdfs:label "DHT22 sensor #4580."@en ; - sosa:isHostedBy . + sosa:isHostedBy ex:PCBBoard3 . - a sosa:Deployment ; +ex:Room245Deployment a sosa:Deployment ; rdfs:comment "Deployment of PCB Board 3 on the south wall of room #245 for the purpose of observing the temperature and humidity of room #245."@en ; - sosa:deployedOnPlatform ; - sosa:deployedSystem ; - sosa:forProperty , . + sosa:deployedOnPlatform ex:Room245_south ; + sosa:deployedSystem ex:PCBBoard3 ; + sosa:forProperty qk:Temperature , qk:RelativeHumidity . - a sosa:Deployment ; +ex:Room145Deployment a sosa:Deployment ; rdfs:comment "Deployment of PCB Board 1 and 2 on the east and south wall of room #145, respectively, for the purpose of observing the temperature and humidity of room #145."@en ; - sosa:deployedOnPlatform , ; - sosa:deployedSystem , ; - sosa:forProperty , . + sosa:deployedOnPlatform ex:Room245_east , ex:Room245_south ; + sosa:deployedSystem ex:PCBBoard1 , ex:PCBBoard2 ; + sosa:forProperty qk:Temperature , qk:RelativeHumidity . diff --git a/ssn/rdf/examples/dht22-sosa.ttl b/ssn/rdf/examples/dht22-sosa.ttl deleted file mode 100644 index 5b075eff..00000000 --- a/ssn/rdf/examples/dht22-sosa.ttl +++ /dev/null @@ -1,30 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@prefix schema: . - -@prefix sosa: . -@prefix ssn-system: . - -@prefix rdfp: . - -@base . - - - a sosa:Procedure . - - a sosa:Platform ; - rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; - rdfs:seeAlso . - - - a sosa:Sensor ; - sosa:isHostedBy ; - rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en . - - - a sosa:Observation ; - sosa:madeBySensor ; - sosa:usedProcedure . diff --git a/ssn/rdf/examples/dht22.ttl b/ssn/rdf/examples/dht22.ttl index ab5319a1..1fbba0b2 100644 --- a/ssn/rdf/examples/dht22.ttl +++ b/ssn/rdf/examples/dht22.ttl @@ -1,167 +1,140 @@ -# baseURI: http://example.org/data/ - +@prefix ex: . @prefix owl: . +@prefix qk: . +@prefix qudt: . @prefix rdf: . @prefix rdfs: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . @prefix schema: . -@prefix ex: . - +@prefix skos: . @prefix sosa: . -@prefix ssn-system: . +@prefix time: . +@prefix unit: . +@prefix xsd: . @prefix system: . - @prefix rdfp: . +@base . -@base . - - - a owl:Ontology ; - owl:imports ssn-system: . +ex:DHT22_Procedure a sosa:Procedure ; + sosa:hasOutput ex:DHT22_output . - a sosa:Procedure ; - sosa:hasOutput . - - a rdfp:GraphDescription ; +ex:DHT22_output a rdfp:GraphDescription ; rdfs:comment "The output is a RDF Graph that describes both the temperature and the humidity. It can be validated by a SHACL shapes graph."@en ; rdfp:presentedBy [ a rdfp:GraphDescription ; - rdfp:validationRule ; + rdfp:validationRule ex:shacl_shapes_graph ; ] . - - a sosa:System ; +ex:DHT22_4578 a sosa:System ; rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; rdfs:seeAlso ; - sosa:hasSubSystem , ; - system:hasOperatingRange . - + sosa:hasSubSystem ex:DHT22_4578_TemperatureSensor, ex:DHT22_4578_HumiditySensor ; + system:hasOperatingRange ex:DHT22_4578_SystemOperatingRange . - - a system:OperatingRange ; +ex:DHT22_4578_SystemOperatingRange a system:OperatingRange ; rdfs:comment "The conditions in which the DHT22 system is expected to operate."@en ; - system:inCondition , ; - system:hasOperatingProperty . + system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition ; + system:hasOperatingProperty ex:DHT22_4578_SystemOperatingPowerRange . - a schema:PropertyValue ; +ex:NormalTemperatureCondition a schema:PropertyValue ; rdfs:comment "A temperature range of -40 to 80 Celsius."@en ; - schema:minValue -40.0 ; - schema:maxValue 80.0 ; - schema:unitCode unit:DEG_C . + sosa:forProperty qk:Temperature ; + xsd:minInclusive -40.0 ; + xsd:maxInclusive 80.0 ; + qudt:unit unit:DEG_C . - a schema:PropertyValue ; +ex:NormalHumidityCondition a schema:PropertyValue ; rdfs:comment "A relative humidity range of 0 to 100 %."@en ; - schema:minValue 0.0 ; - schema:maxValue 100.0 ; - schema:unitCode unit:PERCENT . + sosa:forProperty qk:RelativeHumidity ; + xsd:minInclusive 0.0 ; + xsd:maxInclusive 100.0 ; + qudt:unit unit:PERCENT . - a system:OperatingPowerRange , schema:PropertyValue ; +ex:DHT22_4578_SystemOperatingPowerRange a system:OperatingPowerRange , schema:PropertyValue ; rdfs:comment "DC power of 3.3 to 6 volts."@en ; - schema:minValue 3.3 ; - schema:maxValue 6.0 ; - schema:unitCode unit:V . + xsd:minInclusive 3.3 ; + xsd:maxInclusive 6.0 ; + qudt:unit unit:V . - - - a sosa:Sensor , sosa:System ; +ex:DHT22_4578_TemperatureSensor a sosa:Sensor , sosa:System ; rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en ; - system:hasSystemCapability ; - sosa:implements . + system:hasSystemCapability ex:DHT22_4578_TemperatureSensorCapability ; + sosa:implements ex:DHT22_Procedure . - a sosa:Sensor , sosa:System ; +ex:DHT22_4578_HumiditySensor a sosa:Sensor , sosa:System ; rdfs:comment "The embedded humidity sensor, a specific instance of humidity sensor."@en ; - sosa:implements . - + sosa:implements ex:DHT22_Procedure . - - a ssn-system:OperatingRange ; +ex:DHT22_4578_TemperatureSensorOperatingRange a system:OperatingRange ; rdfs:comment "The conditions in which the DHT22 temperature sensor is expected to operate."@en ; - ssn-system:inCondition , . + system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition . - a ssn-system:OperatingRange ; +ex:DHT22_4578_HumiditySensorOperatingRange a system:OperatingRange ; rdfs:comment "The conditions in which the DHT22 humidity sensor is expected to operate."@en ; - ssn-system:inCondition , . - - + system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition . - a schema:PropertyValue ; +ex:NormalOperatingCondition a schema:PropertyValue ; rdfs:comment "A temperature range of -40 to 80 Celsius."@en ; + sosa:forProperty qk:Temperature ; xsd:minInclusive -40.0 ; xsd:maxInclusive 80.0 ; - qudt:unit unit:DegreeCelsius . + qudt:unit unit:DEG_C . - a schema:PropertyValue ; +ex:NormalHumidityCondition a schema:PropertyValue ; rdfs:comment "A relative humidity range of 5 to 85 %."@en ; + sosa:forProperty qk:RelativeHumidity ; xsd:minInclusive 5.0 ; xsd:maxInclusive 85.0 ; qudt:unit unit:PERCENT . - - - a sosa:Property , ssn-system:SystemCapability , schema:PropertyValue ; +ex:DHT22_4578_TemperatureSensorCapability a sosa:Property , system:SystemCapability , schema:PropertyValue ; rdfs:comment "The capabilities of the temperature sensor in normal temperature and humidity conditions." ; - system:inCondition , ; - system:hasSystemProperty , , , . + system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition ; + system:hasSystemProperty ex:DHT22_4578_TemperatureSensorAccuracy , ex:DHT22_4578_TemperatureSensorSensitivity , ex:DHT22_4578_TemperatureSensorRepeatability , ex:DHT22_4578_TemperatureSensorFrequency . - a system:Accuracy , schema:PropertyValue ; +ex:DHT22_4578_TemperatureSensorAccuracy a system:Accuracy , schema:PropertyValue ; rdfs:comment "The accuracy of the temperature sensor is +-0.5 °C in normal temperature and humidity conditions."@en ; -<<<<<<< HEAD - schema:minValue -0.5 ; - schema:maxValue 0.5 ; - schema:unitCode unit:DEG_C . -======= + sosa:forProperty qk:Temperature ; xsd:minInclusive -0.5 ; xsd:maxInclusive 0.5 ; qudt:unit unit:DegreeCelsius . ->>>>>>> 234-link-to-patterns - a system:Sensitivity , system:Resolution , schema:PropertyValue ; +ex:DHT22_4578_TemperatureSensorSensitivity a system:Sensitivity , system:Resolution , schema:PropertyValue ; rdfs:comment "The sensitivity and resolution of the temperature sensor is 0.1 °C in normal temperature and humidity conditions."@en ; -<<<<<<< HEAD - schema:value 0.1 ; - schema:unitCode unit:DEG_C . -======= + sosa:forProperty qk:Temperature ; qudt:value 0.1 ; qudt:unit unit:DegreeCelsius . ->>>>>>> 234-link-to-patterns - a system:Repeatability , schema:PropertyValue ; +ex:DHT22_4578_TemperatureSensorRepeatability a system:Repeatability , schema:PropertyValue ; rdfs:comment "The precision (= repeatability) of the temperature sensor is +-0.2 °C in normal temperature and humidity conditions."@en ; -<<<<<<< HEAD - schema:minValue 0.2 ; - schema:maxValue 0.2 ; - schema:unitCode unit:DEG_C . -======= + sosa:forProperty qk:Temperature ; xsd:minInclusive 0.2 ; xsd:maxInclusive 0.2 ; qudt:unit unit:DegreeCelsius . ->>>>>>> 234-link-to-patterns - a system:Frequency , schema:PropertyValue ; +ex:DHT22_4578_TemperatureSensorFrequency a system:Frequency , schema:PropertyValue ; rdfs:comment "The smallest possible time between one observation and the next is 2 s on average."@en ; + sosa:forProperty qk:Period ; qudt:value 2 ; qudt:unit unit:Second . - rdf:type sosa:Observation ; +ex:observation_1087 rdf:type sosa:Observation ; sosa:observedProperty ; - sosa:madeBySensor ; - sosa:usedProcedure ; - sosa:resultQuality ; + sosa:madeBySensor ex:DHT22_4578_TemperatureSensor ; + sosa:usedProcedure ex:DHT22_Procedure ; + sosa:resultQuality ex:observation_1087_quality ; sosa:hasSimpleResult "21.4"^^unit:DEG_C . # one may classify the quality of observation using some class: -# rdf:type ex:FairQuality . +# ex:observation_1087_quality rdf:type ex:FairQuality . # one may use some other ontology to further qualify this quality. - - ex:evaluatedBy ; +ex:observation_1087_quality + ex:evaluatedBy ex:Tom ; ex:confidenceValue "6"^^xsd:integer ; rdfs:comment """Tom gave a confidence value of 6 out of 10 on this observation."""@en . @@ -170,7 +143,7 @@ @prefix qudt: . @prefix unit: . - rdf:type qudt:Quantity ; +ex:observation_1087_quality rdf:type qudt:Quantity ; qudt:quantityValue [ rdf:type qudt:QuantityValue ; qudt:numericValue "98.4"^^xsd:double ; diff --git a/ssn/rdf/examples/examples-shared-resources.ttl b/ssn/rdf/examples/examples-shared-resources.ttl deleted file mode 100644 index f93e6499..00000000 --- a/ssn/rdf/examples/examples-shared-resources.ttl +++ /dev/null @@ -1,39 +0,0 @@ -@prefix dcterms: . -@prefix owl: . -@prefix qudt: . -@prefix qk: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . -@prefix sosa: . -@prefix time: . -@prefix unit: . -@prefix xsd: . -@base . - - a owl:Ontology ; - dcterms:title "Shared Resources for the SOSA/SSN Examples"@en ; - dcterms:description "This ontology contains shared resources for the SOSA/SSN examples."@en ; - dcterms:creator ; - dcterms:created "2024-11-10"^^xsd:date ; - dcterms:license ; - owl:imports , . - - a sosa:FeatureOfInterest ; - owl:sameAs ; - rdfs:label "Earth"@en . - - a sosa:FeatureOfInterest ; - owl:sameAs ; - rdfs:label "Atmosphere of Earth"@en . - - a sosa:Sample ; - sosa:isSampleOf a sosa:FeatureOfInterest ; -. \ No newline at end of file diff --git a/ssn/rdf/examples/historical-airtemp.ttl b/ssn/rdf/examples/historical-airtemp.ttl new file mode 100644 index 00000000..9984ab45 --- /dev/null +++ b/ssn/rdf/examples/historical-airtemp.ttl @@ -0,0 +1,46 @@ +@prefix ex: . +@prefix geo: . +@prefix owl: . +@prefix qk: . +@prefix qudt: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix sosa: . +@prefix unit: . +@prefix xsd: . +@base . + +ex:T99 a sosa:Sensor , ex:Mercury-in-glass-thermometer ; + rdfs:label "Mercury in glass thermometer #99"@en ; + sosa:observes ex:temperature . + +ex:SHW a sosa:Platform , sosa:FeatureOfInterest; + rdfs:label "Station Hohe Warte"@en ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (16.355804145468635 48.248491274780754)"^^geo:WktLiteral ; + ] ; + sosa:hosts ex:T99 ; +. + +ex:airTemperature a sosa:Property ; + rdfs:label "ground displacement speed"@en ; + sosa:isPropertyOf ex:EarthAtmosphere ; + skos:broader qk:Temperature . + +ex:EarthAtmosphere a sosa:FeatureOfInterest ; + owl:sameAs . + +ex:SHW_T_1872-04-04T15 a sosa:Observation ; + sosa:madeBySensor ex:T99 ; + sosa:hasFeatureOfInterest ex:SHW ; + sosa:observedProperty ex:airTemperature ; + sosa:phenomenonTime [ + time:inXSDDateTime "1872-04-04T15:00:00+01:00"^^xsd:dateTime ; + ] ; + sosa:hasResult [ + rdf:type qudt:QuantityValue ; + qudt:numericValue "22.5"^^xsd:decimal ; + qudt:hasUnit unit:DEG_C ] ; + sosa:resultTime "1872-04-04T15:00:00+01:00"^^xsd:dateTime . diff --git a/ssn/rdf/examples/ice-core-sosa.ttl b/ssn/rdf/examples/ice-core-sosa.ttl deleted file mode 100644 index 2c23e6bf..00000000 --- a/ssn/rdf/examples/ice-core-sosa.ttl +++ /dev/null @@ -1,42 +0,0 @@ -@prefix dcterms: . -@prefix < . -@prefix owl: . -@prefix qudt: . -@prefix qk: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . -@prefix sosa: . -@prefix time: . -@prefix unit: . -@prefix xsd: . -@base . - - -# The CO2 level observed in an ice core is 240 parts per million. -# the ice core is a sample of the polar ice sheet of Antarctica. - - a sosa:FeatureOfInterest ; - sosa:hasSample a sosa:Sample ; - sosa:isSampleOf ; - sosa:isResultOf ; - sosa:isResultOfMadeBySampler . - - a sosa:Sampler . - - a sosa:Sampling ; - geo:lat -73.35 ; - geo:long 9.32 ; - sosa:hasResult ; - sosa:madeBySampler ; - sosa:resultTime "2017-04-03T11:12:00Z"^^xsd:dateTime ; - sosa:hasFeatureOfInterest . - - a sosa:Observation ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:hasSimpleResult "240"^^unit:PPM . - - \ No newline at end of file diff --git a/ssn/rdf/examples/ip68.ttl b/ssn/rdf/examples/ip68.ttl index 6f28aa23..68a5454d 100644 --- a/ssn/rdf/examples/ip68.ttl +++ b/ssn/rdf/examples/ip68.ttl @@ -1,105 +1,115 @@ -@prefix geo: . -@prefix gr: . +@prefix ex: . +@prefix geo: . +@prefix owl: . +@prefix qk: . @prefix qudt: . -@prefix org: . -@prefix schema: . +@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix skos: . @prefix sosa: . -@prefix ssn-system: . +@prefix time: . @prefix unit: . +@prefix xsd: . +@prefix system: . + +@prefix rdfp: . + +@prefix gr: . @prefix prov: . -@prefix owl: . -@prefix xsd: . @prefix seas: . @prefix cdt: . -@prefix rdfs: . - @base . - a org:Organization ; +ex:Organization_1 a prov:Organization ; owl:sameAs . - a sosa:FeatureOfInterest ; - rdfs:label "The air."@en . +ex:Air a sosa:FeatureOfInterest ; + rdfs:label "The air."@en ; + owl:sameAs . - a owl:Class , gr:ProductOrServiceModel ; - gr:name "IP68 Outdoor Temperature Sensor"@en ; +ex:IP68_Outdoor_Temperature_Sensor a owl:Class , gr:ProductOrServiceModel ; rdfs:label "IP68 Outdoor Temperature Sensor"@en ; rdfs:subClassOf [ - owl:onProperty ssn-system:hasOperatingRange ; - owl:hasValue ] ; + owl:onProperty system:hasOperatingRange ; + owl:hasValue ex:IP68_Outdoor_Temperature_Sensor_operatingRange ] ; rdfs:subClassOf [ - owl:onProperty ssn-system:hasSystemCapability ; - owl:hasValue ] . + owl:onProperty system:hasSystemCapability ; + owl:hasValue ex:IP68_Outdoor_Temperature_Sensor_systemCapability ] . - a ssn-system:OperatingRange , sosa:Property ; - ssn-system:inCondition . +ex:IP68_Outdoor_Temperature_Sensor_operatingRange a system:OperatingRange , sosa:Property ; + system:inCondition ex:IP68_Outdoor_Temperature_Sensor_normalOperatingCondition . - a schema:PropertyValue ; +ex:IP68_Outdoor_Temperature_Sensor_normalOperatingCondition a schema:PropertyValue ; rdfs:comment "A temperature range of -20 to 70 Celsius."@en ; + sosa:forProperty qk:Temperature ; + sosa:isPropertyOf ex:Air ; xsd:minInclusive -20.0 ; xsd:maxInclusive 70.0 ; - qudt:unit unit:DegreeCelsius . + qudt:unit unit:DEG_C . - a sosa:Property , ssn-system:SystemCapability ; +ex:IP68_Outdoor_Temperature_Sensor_systemCapability a sosa:Property , system:SystemCapability ; rdfs:comment "The sensor capability in normal operating conditions."@en ; - ssn-system:hasSystemProperty , , , , ; - ssn-system:inCondition . + system:hasSystemProperty ex:IP68_Outdoor_Temperature_Sensor_RFSensitivity , ex:IP68_Outdoor_Temperature_Sensor_TemperatureAccuracy , ex:IP68_Outdoor_Temperature_Sensor_TemperatureResolution , ex:IP68_Outdoor_Temperature_Sensor_BatteryAccuracy , ex:IP68_Outdoor_Temperature_Sensor_BatteryResolution ; + system:inCondition ex:IP68_Outdoor_Temperature_Sensor_normalOperatingCondition . - a sosa:Property , ssn-system:Sensitivity , schema:PropertyValue ; +ex:IP68_Outdoor_Temperature_Sensor_RFSensitivity a sosa:Property , system:Sensitivity , schema:PropertyValue ; schema:value -137 ; - qudt:unit unit:DecibelReferredToOneMilliwatt . + qudt:unit unit:DeciB_MilliW . - a sosa:Property , ssn-system:Accuracy , schema:PropertyValue ; - sosa:forProperty ; +ex:IP68_Outdoor_Temperature_Sensor_TemperatureAccuracy a sosa:Property , system:Accuracy , schema:PropertyValue ; + sosa:forProperty qk:Temperature ; xsd:minInclusive -0.2 ; xsd:maxInclusive 0.2 ; - qudt:unit unit:DegreeCelsius . + qudt:unit unit:DEG_C . - a sosa:Property , ssn-system:Resolution , schema:PropertyValue ; - sosa:forProperty ; +ex:IP68_Outdoor_Temperature_Sensor_TemperatureResolution a sosa:Property , system:Resolution , schema:PropertyValue ; + sosa:forProperty qk:Temperature ; + sosa:isPropertyOf ex:Air ; schema:value 0.0625 ; - qudt:unit unit:DegreeCelsius . + qudt:unit unit:DEG_C . - a sosa:Property , ssn-system:Resolution , schema:PropertyValue ; - sosa:forProperty ; - schema:value 3.937e-3 ; +ex:IP68_Outdoor_Temperature_Sensor_BatteryResolution a sosa:Property , system:Resolution , schema:PropertyValue ; + sosa:forProperty ex:Sensor_SL-T-P1_battery ; + schema:value "3.937e-3" ; qudt:unit unit:PERCENT . - a sosa:Sample ; +ex:Air_4575_485 a sosa:Sample ; rdfs:label "The air at lat 45.75 and long 4.85."@en ; - sosa:isSampleOf ; - sosa:hasProperty . - - a sosa:Property ; - sosa:isPropertyOf . - - a gr:ProductOrService, sosa:Sensor , seas:LoRaCommunicationDevice , ; + sosa:isSampleOf ex:Air ; + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (4.85 45.75)"^^geo:WktLiteral ; + ] ; + sosa:hasProperty qk:Temperature . + +ex:Sensor_SL-T-P1 a gr:ProductOrService, sosa:Sensor , seas:LoRaCommunicationDevice , ex:IP68_Outdoor_Temperature_Sensor ; gr:hasBrand [ a gr:Brand ; gr:name "Sensing Labs"@en ] ; geo:alt 100.0 ; geo:lat 45.75 ; geo:lon 4.85 ; - sosa:implements ; - sosa:implements ; - sosa:observes ; - sosa:observes . - - a sosa:Deployment ; - sosa:deployedSystem ; - prov:startedAtTime "2017-06-06"^^xsd:date ; - prov:wasAssociatedWith ; - sosa:deployedOnPlatform . - - a sosa:Observation ; + sosa:implements ex:IP68_Outdoor_Temperature_Sensor_temperatureSensingProcedure ; + sosa:implements ex:IP68_Outdoor_Temperature_Sensor_batterySensingProcedure ; + sosa:observes ex:Sensor_SL-T-P1_battery ; + sosa:observes qk:Temperature . + +ex:Deployment_SL-T-P1_2017-06-06 a sosa:Deployment ; + sosa:deployedSystem ex:Sensor_SL-T-P1 ; + sosa:startTime "2017-06-06"^^xsd:date ; + prov:wasAssociatedWith ex:Organization_1 ; + sosa:deployedOnPlatform ex:Tree_1 . + +ex:Observation_5872357_temperature a sosa:Observation ; sosa:hasSimpleResult "64.5244681928429 Cel"^^cdt:ucum ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; + sosa:madeBySensor ex:Sensor_SL-T-P1 ; + sosa:hasFeatureOfInterest ex:Air_4575_485 ; + sosa:observedProperty qk:Temperature ; sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . - a sosa:Observation ; +ex:Observation_5872357_battery a sosa:Observation ; sosa:hasSimpleResult "73.2 %"^^cdt:ucum ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; + sosa:madeBySensor ex:Sensor_SL-T-P1 ; + sosa:hasFeatureOfInterest ex:Sensor_SL-T-P1 ; + sosa:observedProperty ex:Sensor_SL-T-P1_battery ; sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . diff --git a/ssn/rdf/examples/iphone_barometer-sosa.ttl b/ssn/rdf/examples/iphone_barometer-sosa.ttl index 8e4bc7a7..f8f29bd3 100644 --- a/ssn/rdf/examples/iphone_barometer-sosa.ttl +++ b/ssn/rdf/examples/iphone_barometer-sosa.ttl @@ -1,72 +1,52 @@ -@prefix dcterms: . -@prefix < . +@prefix ex: . @prefix owl: . @prefix qudt: . @prefix qk: . @prefix rdf: . @prefix rdfs: . -@prefix skos: . @prefix sosa: . -@prefix time: . @prefix unit: . @prefix xsd: . -@base . +@base . -<<<<<<< HEAD - a owl:Ontology ; - dcterms:description "The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 observed on June 6 2017 using only the SOSA core."@en ; - owl:imports ; +ex:iphone_barometer-sosa a owl:Ontology ; + rdfs:comment "The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 observed on June 6 2017 using only the SOSA core."@en ; . -======= # The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 observed on June 6 2017 # using only the SOSA core. - rdf:type sosa:FeatureOfInterest ; +ex:EarthAtmosphere rdf:type sosa:FeatureOfInterest ; rdfs:label "Atmosphere of Earth"@en . ->>>>>>> 234-link-to-patterns - # An iPhone 7 as the Platform that hosts several sensors, among others the Bosch Sensortec BMP282 atmospheric pressure sensor. - a sosa:Platform ; +ex:iphone7_35-207306-844818-0 a sosa:Platform ; rdfs:label "IPhone 7 - IMEI 35-207306-844818-0"@en ; rdfs:comment "IPhone 7 - IMEI 35-207306-844818-0 - John Doe"@en ; - sosa:hosts . + sosa:hosts ex:sensor_35-207306-844818-0_BMP282 . - rdf:type sosa:Sensor ; +ex:sensor_35-207306-844818-0_BMP282 rdf:type sosa:Sensor ; rdfs:label "Bosch Sensortec BMP282"@en ; sosa:observes qk:AtmosphericPressure . - # An observation made by the Bosch Sensortec BMP282 atmospheric pressure sensor. - rdf:type sosa:Observation ; -<<<<<<< HEAD +ex:Observation_346344 rdf:type sosa:Observation ; sosa:observedProperty qk:AtmosphericPressure ; - sosa:hasFeatureOfInterest ; -======= - sosa:observedProperty ; - sosa:hasFeatureOfInterest ; ->>>>>>> 234-link-to-patterns - sosa:madeBySensor ; + sosa:hasFeatureOfInterest ex:EarthAtmosphere ; + sosa:madeBySensor ex:sensor_35-207306-844818-0_BMP282 ; sosa:hasSimpleResult "1021.45"^^unit:HectoPA ; sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . - # Another observation made a second later by the Bosch Sensortec BMP282 atmospheric pressure sensor rdf:type sosa:Observation ; -<<<<<<< HEAD sosa:observedProperty qk:AtmosphericPressure ; - sosa:hasFeatureOfInterest ; -======= - sosa:observedProperty ; - sosa:hasFeatureOfInterest ; ->>>>>>> 234-link-to-patterns - sosa:madeBySensor ; + sosa:hasFeatureOfInterest ex:EarthAtmosphere ; + sosa:madeBySensor ex:sensor_35-207306-844818-0_BMP282 ; sosa:hasResult [ rdf:type qudt:QuantityValue ; qudt:numericValue "101936"^^xsd:double ; - qudt:hasUnit unit:Pascal ] ; + qudt:hasUnit unit:PA ] ; sosa:resultTime "2017-06-06T12:36:13+00:00"^^xsd:dateTime . \ No newline at end of file diff --git a/ssn/rdf/examples/seismograph-sosa.ttl b/ssn/rdf/examples/seismograph-sosa.ttl deleted file mode 100644 index 20351598..00000000 --- a/ssn/rdf/examples/seismograph-sosa.ttl +++ /dev/null @@ -1,38 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix sosa: . -@prefix geo: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured -# a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific -# Daylight Time. - - rdf:type sosa:Sensor ; - rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; - rdfs:seeAlso ; - sosa:observes . - - a sosa:Sample ; - rdfs:label "location of VCAB-DP1-BP-40"@en ; - geo:lat 35.8648067 ; - geo:long -120.6195831 ; - geo:alt 12.75 ; - sosa:isSampleOf . - - rdf:type sosa:Property ; - rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; - sosa:isObservedBy . - - rdf:type sosa:Observation ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:hasResult [ - rdf:type qudt:QuantityValue ; - qudt:numericValue "5e-4"^^xsd:double ; - qudt:hasUnit unit:CentiM-PER-SEC ] ; - sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . \ No newline at end of file diff --git a/ssn/rdf/examples/seismograph.ttl b/ssn/rdf/examples/seismograph.ttl index 54ca5cc5..bd273fe7 100644 --- a/ssn/rdf/examples/seismograph.ttl +++ b/ssn/rdf/examples/seismograph.ttl @@ -1,36 +1,43 @@ +@prefix ex: . +@prefix geo: . +@prefix qk: . +@prefix qudt: . @prefix rdf: . @prefix rdfs: . +@prefix skos: . @prefix sosa: . -@prefix geo: . -@prefix xsd: . -@prefix qudt: . @prefix unit: . -@base . +@prefix xsd: . +@base . # Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured # a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific # Daylight Time. - a sosa:Sensor ; +ex:VCAB-DP1-BP-40 a sosa:Sensor ; rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; rdfs:seeAlso ; - sosa:observes . + sosa:observes ex:groundDisplacementSpeed . - a sosa:Sample ; +ex:VCAB-DP1-BP-40_location a sosa:Sample ; rdfs:label "location of VCAB-DP1-BP-40"@en ; - geo:lat 35.8648067 ; - geo:long -120.6195831 ; - geo:alt 12.75 ; - sosa:isSampleOf . + geo:hasGeometry [ + a geo:Point ; + geo:asWKT "POINT (-120.6195831 35.8648067)"^^geo:WktLiteral ; + ] ; + sosa:isSampleOf . + + a sosa:FeatureOfInterest ; + rdfs:label "Earth" . - a sosa:Property ; - rdfs:label "the ground displacement speed at location of VCAB-DP1-BP-40"@en ; - sosa:isObservedBy . +ex:groundDisplacementSpeed a sosa:Property ; + rdfs:label "ground displacement speed"@en ; + skos:broader qk:Speed . - a sosa:Observation ; - sosa:madeBySensor ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; +ex:VCAB-DP1-BP-40_t2017-04-18T08%3A23%3A00-07%3A00 a sosa:Observation ; + sosa:madeBySensor ex:VCAB-DP1-BP-40 ; + sosa:hasFeatureOfInterest ex:VCAB-DP1-BP-40_location ; + sosa:observedProperty ex:groundDisplacementSpeed ; sosa:hasResult [ rdf:type qudt:QuantityValue ; qudt:numericValue "5e-4"^^xsd:double ; diff --git a/ssn/rdf/examples/spinning-cups-sosa.ttl b/ssn/rdf/examples/spinning-cups-sosa.ttl deleted file mode 100644 index d29d8a02..00000000 --- a/ssn/rdf/examples/spinning-cups-sosa.ttl +++ /dev/null @@ -1,30 +0,0 @@ -@prefix rdf: . -@prefix sosa: . -@prefix xsd: . -@base . - -# movements of spinning cups on wind sensor #14 serves as proxies for the wind speed -# at the location of the wind sensor. - - rdf:type sosa:Sensor ; - sosa:observes . - -# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "47 km/h"^^ . - - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "43 km/h"^^ . - -# wind sensor #14 made observations #147 and #148. - - - sosa:madeObservation , . - diff --git a/ssn/rdf/examples/spinning-cups.ttl b/ssn/rdf/examples/spinning-cups.ttl index 74824f92..7cd9860f 100644 --- a/ssn/rdf/examples/spinning-cups.ttl +++ b/ssn/rdf/examples/spinning-cups.ttl @@ -1,40 +1,54 @@ +@prefix ex: . +@prefix qk: . @prefix rdf: . +@prefix rdfs: . +@prefix skos: . @prefix sosa: . +@prefix time: . +@prefix unit: . @prefix xsd: . -@base . +@base . # movements of spinning cups on wind sensor #14 serves as proxies for the wind speed # at the location of the wind sensor. - rdf:type sosa:Sensor ; - sosa:observes . +ex:windSensor_14 rdf:type sosa:Sensor ; + sosa:observes ex:windSpeed . -# wind sensor #14 detected some movement of spinning cups, from which originated the -# observations #147 and #148. +ex:windSpeed a sosa:Property ; + rdfs:label "wind speed"@en ; + skos:broader qk:Speed . - rdf:type sosa:Sensor ; - sosa:madeObservation , ; - sosa:detects , . +ex:location_4687 a sosa:Platform ; + sosa:hosts ex:windSensor_14 . # observation #147 was originated by the movement of the spinning cups of sensor #14. -# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:wasOriginatedBy ; +ex:observation_147 rdf:type sosa:Observation ; + sosa:observedProperty ex:windSpeed ; + sosa:madeBySensor ex:windSensor_14 ; + sosa:wasOriginatedBy ex:observation_147_spinningCupsMovement ; sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "47 km/h"^^ . + sosa:hasSimpleResult "47"^^unit:KiloM-PER-HR . + +# wind sensor #14 detected some movement of spinning cups, from which originated the +# observations #147 and #148. + +ex:windSensor_14 rdf:type sosa:Sensor ; + sosa:madeObservation ex:observation_147 , ex:observation_148 ; + sosa:detects ex:observation_147_spinningCupsMovement , ex:observation_148_spinningCupsMovement . + +# observation #147 was originated by the movement of the spinning cups of sensor #14. - rdf:type sosa:Stimulus ; - sosa:isProxyFor . +ex:observation_147_spinningCupsMovement rdf:type sosa:Stimulus ; + sosa:isProxyFor ex:windSpeed . - rdf:type sosa:Observation ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:wasOriginatedBy ; +ex:observation_148 rdf:type sosa:Observation ; + sosa:observedProperty ex:windSpeed ; + sosa:madeBySensor ex:windSensor_14 ; + sosa:wasOriginatedBy ex:observation_148_spinningCupsMovement ; sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "43 km/h"^^ . + sosa:hasSimpleResult "47"^^unit:KiloM-PER-HR . - rdf:type sosa:Stimulus ; - sosa:isProxyFor . \ No newline at end of file +ex:observation_148_spinningCupsMovement rdf:type sosa:Stimulus ; + sosa:isProxyFor ex:windSpeed . \ No newline at end of file diff --git a/ssn/rdf/examples/sunspots.ttl b/ssn/rdf/examples/sunspots.ttl index c7960411..ac4b7524 100644 --- a/ssn/rdf/examples/sunspots.ttl +++ b/ssn/rdf/examples/sunspots.ttl @@ -1,16 +1,28 @@ +@prefix ex: . +@prefix qk: . @prefix rdf: . -@prefix time: . +@prefix rdfs: . +@prefix skos: . @prefix sosa: . +@prefix time: . @prefix xsd: . -@base . +@base . # The result of an observation of the sunspot number is available a few minutes # after the phenomenon time, due to the light travel duration. rdf:type sosa:Observation ; - sosa:observedProperty ; + sosa:observedProperty ex:sunspotCount ; + sosa:hasFeatureOfInterest ; sosa:hasSimpleResult 66 ; sosa:phenomenonTime [ rdf:type time:Instant ; time:inXSDDateTimeStamp "2017-03-31T11:51:42+00:00"^^xsd:dateTimeStamp ] ; - sosa:resultTime "2017-03-31T12:00:00+00:00"^^xsd:dateTimeStamp . \ No newline at end of file + sosa:resultTime "2017-03-31T12:00:00+00:00"^^xsd:dateTimeStamp . + +ex:sunspotCount rdf:type sosa:Property ; + skos:broader qk:Count ; +. + + a sosa:FeatureOfInterest ; + rdfs:label "Sun" . \ No newline at end of file diff --git a/ssn/rdf/examples/tree-height-sosa.ttl b/ssn/rdf/examples/tree-height-sosa.ttl deleted file mode 100644 index e31231ef..00000000 --- a/ssn/rdf/examples/tree-height-sosa.ttl +++ /dev/null @@ -1,48 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix sosa: . -@prefix xsd: . -@prefix qudt: . -@prefix unit: . -@base . - -# rangefinder #30 is a laser range finder sensor that was used -# to observe the height of tree #124 and #125. - - rdf:type sosa:Sensor ; - rdfs:label "rangefinder #30"@en ; - rdfs:comment "rangefinder #30 is a laser range finder sensor."@en . - -# rangefinder #30 made observation #1087 of the height of tree #124. - - rdf:type sosa:Observation ; - rdfs:label "observation #1087"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:hasUnit unit:M ; - qudt:numericValue "15.3"^^xsd:double ] . - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #124"@en . - - rdf:type sosa:Property ; - rdfs:label "the height of tree #124"@en . - -# rangefinder #30 made observation #1088 of the height of tree #125. - - rdf:type sosa:Observation ; - rdfs:label "observation #1088"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:numericValue "23.0"^^xsd:double ; - qudt:hasUnit unit:M ] . - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #125"@en . - - rdf:type sosa:Property ; - rdfs:label "the height of tree #125"@en . \ No newline at end of file diff --git a/ssn/rdf/examples/tree-height.ttl b/ssn/rdf/examples/tree-height.ttl index 9ce97195..db35a25c 100644 --- a/ssn/rdf/examples/tree-height.ttl +++ b/ssn/rdf/examples/tree-height.ttl @@ -1,56 +1,31 @@ +@prefix ex: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @prefix xsd: . +@prefix qk: . @prefix qudt: . @prefix unit: . -@base . +@base . # rangefinder #30 is a laser range finder sensor that was used # to observe the height of tree #124 and #125. - rdf:type sosa:Sensor ; +ex:rangefinder_30 a sosa:Sensor ; rdfs:label "rangefinder #30"@en ; - rdfs:comment "rangefinder #30 is a laser range finder sensor."@en . + rdfs:comment "rangefinder #30 is a laser range finder sensor."@en ; +. -# rangefinder #30 made observation #1087 of the height of tree #124. - - rdf:type sosa:Observation ; +ex:observation_1087 a sosa:Observation ; rdfs:label "observation #1087"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; + sosa:hasFeatureOfInterest ex:tree_124 ; + sosa:observedProperty qk:Height ; + sosa:madeBySensor ex:rangefinder_30 ; sosa:hasResult [ qudt:hasUnit unit:M ; - qudt:numericValue "15.3"^^xsd:double ] . + qudt:numericValue "15.3"^^xsd:double ] ; +. -# using SSN, one can explicitly link a property and its feature of interest. - - rdf:type sosa:FeatureOfInterest ; +ex:tree_124 a sosa:FeatureOfInterest ; rdfs:label "tree #124"@en ; - sosa:hasProperty . - - rdf:type sosa:Property ; - rdfs:label "the height of tree #124"@en ; - sosa:isPropertyOf . - -# rangefinder #30 made observation #1088 of the height of tree #125. - - rdf:type sosa:Observation ; - rdfs:label "observation #1088"@en ; - sosa:hasFeatureOfInterest ; - sosa:observedProperty ; - sosa:madeBySensor ; - sosa:hasResult [ - qudt:numericValue "23.0"^^xsd:double ; - qudt:hasUnit unit:M ] . - -# using SSN, one can explicitly link a property and its feature of interest. - - rdf:type sosa:FeatureOfInterest ; - rdfs:label "tree #125"@en ; - sosa:hasProperty . - - rdf:type sosa:Property ; - rdfs:label "the height of tree #125"@en ; - sosa:isPropertyOf . + sosa:hasProperty qk:Height . diff --git a/ssn/rdf/examples/2023ex-location.jsonld b/ssn/rdf/examples/unused/2023ex-location.jsonld similarity index 100% rename from ssn/rdf/examples/2023ex-location.jsonld rename to ssn/rdf/examples/unused/2023ex-location.jsonld diff --git a/ssn/rdf/examples/2023ex-location.ttl b/ssn/rdf/examples/unused/2023ex-location.ttl similarity index 100% rename from ssn/rdf/examples/2023ex-location.ttl rename to ssn/rdf/examples/unused/2023ex-location.ttl diff --git a/ssn/rdf/examples/2023ex1.ttl b/ssn/rdf/examples/unused/2023ex1.ttl similarity index 100% rename from ssn/rdf/examples/2023ex1.ttl rename to ssn/rdf/examples/unused/2023ex1.ttl diff --git a/ssn/rdf/examples/2024ex-uomtype.jsonld b/ssn/rdf/examples/unused/2024ex-uomtype.jsonld similarity index 100% rename from ssn/rdf/examples/2024ex-uomtype.jsonld rename to ssn/rdf/examples/unused/2024ex-uomtype.jsonld diff --git a/ssn/rdf/examples/2024ex-uomtype.ttl b/ssn/rdf/examples/unused/2024ex-uomtype.ttl similarity index 100% rename from ssn/rdf/examples/2024ex-uomtype.ttl rename to ssn/rdf/examples/unused/2024ex-uomtype.ttl diff --git a/ssn/rdf/examples/house134.ttl b/ssn/rdf/examples/unused/house134.ttl similarity index 100% rename from ssn/rdf/examples/house134.ttl rename to ssn/rdf/examples/unused/house134.ttl diff --git a/ssn/rdf/examples/om-20.ttl b/ssn/rdf/examples/unused/om-20.ttl similarity index 100% rename from ssn/rdf/examples/om-20.ttl rename to ssn/rdf/examples/unused/om-20.ttl diff --git a/ssn/rdf/examples/sosa-core_examples.ttl b/ssn/rdf/examples/unused/sosa-core_examples.ttl similarity index 100% rename from ssn/rdf/examples/sosa-core_examples.ttl rename to ssn/rdf/examples/unused/sosa-core_examples.ttl diff --git a/ssn/rdf/examples/vistavital-a-sdo.ttl b/ssn/rdf/examples/unused/vistavital-a-sdo.ttl similarity index 100% rename from ssn/rdf/examples/vistavital-a-sdo.ttl rename to ssn/rdf/examples/unused/vistavital-a-sdo.ttl diff --git a/ssn/rdf/examples/reasoning-tests.ttl b/ssn/rdf/tests/reasoning-tests.ttl similarity index 100% rename from ssn/rdf/examples/reasoning-tests.ttl rename to ssn/rdf/tests/reasoning-tests.ttl From cce5bc23b7464a6b71e00752c1742dbda7b58cbe Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 29 Jan 2025 16:03:16 +1100 Subject: [PATCH 51/74] wording for historical observations --- ssn/chapters/ModelTimes.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ssn/chapters/ModelTimes.html b/ssn/chapters/ModelTimes.html index 5512a653..ee42121c 100644 --- a/ssn/chapters/ModelTimes.html +++ b/ssn/chapters/ModelTimes.html @@ -59,9 +59,8 @@

    Historical observations

    - For example, the diet of past communities can be determined by examination of middens and other archaeological - features - () + For a more complex example, consider a determination of the diet of past communities by examination of middens and + other archaeological features ()

    @@ -74,7 +73,8 @@

    Historical observations

    The concentration of CO2 can be measured in bubbles in ice-cores that are assumed to sample the atmosphere at some past time. - In this case, the concentration and age are the results of two initial observations (at the top of ). + In this case, the concentration and age are the results of two initial observations (at the top of ). These provide input-values to the final observation (at the bottom of ).

    From 79978f030e1052e91d1617ce530fb252a26fb1af Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 29 Jan 2025 17:14:08 +1100 Subject: [PATCH 52/74] Regularize TTL formating --- ssn/chapters/CompleteExamples.html | 46 ++----- ssn/chapters/ModelPropertyDefinition.html | 19 ++- ssn/rdf/examples/GeometryResult.ttl | 7 +- ssn/rdf/examples/GeometryResultSimple.ttl | 2 +- ssn/rdf/examples/IBS-TH2-PLUS-brief.ttl | 3 +- ssn/rdf/examples/IBS-TH2-PLUS.ttl | 1 + ssn/rdf/examples/IDEAS.ttl | 64 ++++----- ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl | 15 ++- ssn/rdf/examples/InkBird.ttl | 11 +- ssn/rdf/examples/LocatedDeployment.ttl | 2 +- ssn/rdf/examples/LocatedPlatform.ttl | 2 +- ssn/rdf/examples/LocatedSample.ttl | 2 +- ssn/rdf/examples/LocatedSampling.ttl | 2 +- ssn/rdf/examples/LocatedSensor.ttl | 2 +- ssn/rdf/examples/SC1.ttl | 9 +- ssn/rdf/examples/Sample-ice-core-bubble.ttl | 2 +- ...Temperature-of-interest-specialization.ttl | 2 +- .../Temperature-of-interest-subclass.ttl | 2 +- ssn/rdf/examples/Thermometer.ttl | 2 +- ssn/rdf/examples/UOM-OM2.ttl | 6 +- ssn/rdf/examples/UOM-cdt.ttl | 4 +- ssn/rdf/examples/UOM-qudt-datatype.ttl | 2 +- ssn/rdf/examples/UOM-qudt-object.ttl | 4 +- ssn/rdf/examples/apartment-134.ttl | 61 ++++----- ssn/rdf/examples/dht22-deployment.ttl | 96 ++++++------- ssn/rdf/examples/dht22.ttl | 90 ++++++------- ssn/rdf/examples/diet.ttl | 2 +- ssn/rdf/examples/forecast.jsonld | 126 ++++++++++-------- ssn/rdf/examples/forecast.ttl | 8 +- ssn/rdf/examples/historical-airtemp.ttl | 17 +-- ssn/rdf/examples/ip68.ttl | 58 ++++---- ssn/rdf/examples/iphone_barometer-sosa.ttl | 28 ++-- ssn/rdf/examples/open-window.ttl | 19 +-- ssn/rdf/examples/sample-relations.ttl | 5 +- ssn/rdf/examples/seismograph.ttl | 21 +-- ssn/rdf/examples/smiley.ttl | 40 +++--- ssn/rdf/examples/spinning-cups.ttl | 39 +++--- ssn/rdf/examples/sunspots.ttl | 10 +- ssn/rdf/examples/tree-height.ttl | 7 +- 39 files changed, 413 insertions(+), 425 deletions(-) diff --git a/ssn/chapters/CompleteExamples.html b/ssn/chapters/CompleteExamples.html index 825b54bc..e6ee9c48 100644 --- a/ssn/chapters/CompleteExamples.html +++ b/ssn/chapters/CompleteExamples.html @@ -2,22 +2,10 @@

    Complete Examples

    Tree height measurement

    - -
    - -
    -

    Seismographs

    -
    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -    
    @@ -29,55 +17,54 @@

    Number of sunspots

    
     
    +
    +

    Seismograph measuring ground displacement speed

    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
    +
    +

    iPhone Barometer

    -
    -

    Coal Oil Point Reserve

    -
    +

    Temperature and Humidity at Coal Oil Point Reserve

    An RDF file containing a graph corresponding to this example is available.

    
    -    
    -

    apartment 134

    -
    +

    Electricity consumption of apartment #134

    An RDF file containing a graph corresponding to this example is available.

    
    -    

    Wind sensor spinning cups

    -

    Ice Core

    -

    In order to characterize a thing with a large extent, or which is not directly accessible, the usual observational strategy is to obtain one or more samples. Observations can then be made more conveniently on the samples, with the intention of characterizing the larger thing. This intentionality is captured using the property sosa:isSampleOf.

    -

    In the following example, the ice core is a sample of the Antarctic ice sheet, and observations are made on - the ice core.

    +

    In the following example, the ice core is a sample of the Antarctic ice sheet, and observations may be made on + the ice core and further samples taken from that.

    A convenient side effect of this feature is that all observations related to the larger thing (the ice sheet) can be found, and then potentially joined together in a meta-analysis in order to characterize that.

    @@ -85,15 +72,10 @@

    Ice Core

    href="https://github.com/w3c/sdw/blob/gh-pages/sdw-sosa-ssn/ssn/rdf/examples/Sample-ice-core-bubble.ttl">graph corresponding to this example is available.

    
    -        

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    -
    -

    DHT22 Description

    +

    Complex sensor capabilities - DHT22

    diff --git a/ssn/chapters/ModelPropertyDefinition.html b/ssn/chapters/ModelPropertyDefinition.html index 79fb08e7..e61a96d3 100644 --- a/ssn/chapters/ModelPropertyDefinition.html +++ b/ssn/chapters/ModelPropertyDefinition.html @@ -1,13 +1,18 @@

    Property definitions

    The SSN Ontology does not provide a general pattern for describing observable or actuatable properties. - A number of existing catalogues of properties are available, - such as the QUDT catalogue of Quantity Kinds, - or the BODC parameter entity names, - or the SWEET Ontology, - or The Environment Ontology. - Each of these uses a distinct ontology or way of formalizing the definition of a property, which are suitable for - many applications. + A number of existing catalogues of properties are available, such as: +

    + +

    + Each of these uses a distinct ontology or way of formalizing the definition of a property, suitable for many + applications. Alternatively, the Parameter Usage Vocabulary or I-ADOPT may be used to define a new observable or actuatable property. diff --git a/ssn/rdf/examples/GeometryResult.ttl b/ssn/rdf/examples/GeometryResult.ttl index bc0e1a58..89134659 100644 --- a/ssn/rdf/examples/GeometryResult.ttl +++ b/ssn/rdf/examples/GeometryResult.ttl @@ -4,6 +4,7 @@ @prefix rdfs: . @prefix sosa: . @prefix xsd: . +@base . ex:ObsGeo1 a sosa:Observation ; sosa:madeBySensor ex:MyGPS736 ; @@ -13,11 +14,11 @@ ex:ObsGeo1 a sosa:Observation ; sosa:hasResult [ a geo:Geometry ; geo:asWKT "Point (145.042316 -37.919134)"^^geo:wktLiteral ; - ] ; -. + ] . + ex:MyGPS736 a sosa:Sensor ; -. +. ex:AbbysCar a sosa:FeatureOfInterest ; . diff --git a/ssn/rdf/examples/GeometryResultSimple.ttl b/ssn/rdf/examples/GeometryResultSimple.ttl index ecec343c..05049878 100644 --- a/ssn/rdf/examples/GeometryResultSimple.ttl +++ b/ssn/rdf/examples/GeometryResultSimple.ttl @@ -10,4 +10,4 @@ ex:ObsGeo1 a sosa:Observation ; sosa:resultTime "2023-06-20T21:49:18+00:00"^^xsd:dateTime ; sosa:observedProperty ; sosa:hasSimpleResult "Point (145.042316 -37.919134)"^^geo:wktLiteral ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/IBS-TH2-PLUS-brief.ttl b/ssn/rdf/examples/IBS-TH2-PLUS-brief.ttl index f80bccc1..596ebd13 100644 --- a/ssn/rdf/examples/IBS-TH2-PLUS-brief.ttl +++ b/ssn/rdf/examples/IBS-TH2-PLUS-brief.ttl @@ -7,6 +7,7 @@ @prefix sensor: . @prefix sosa: . @prefix system: . +@base . sensor:IBS-TH2-Plus a owl:Class ; rdfs:subClassOf sosa:System ; @@ -33,4 +34,4 @@ ex:12gth456a-23190-H a sensor:IBS-TH2-Plus-H ; ex:12gth456a-23190-T a sensor:IBS-TH2-Plus-T ; sosa:observes qk:Temperature ; system:hasSystemCapability sensor:IBS-TH2-Plus-T-systemCapability ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/IBS-TH2-PLUS.ttl b/ssn/rdf/examples/IBS-TH2-PLUS.ttl index cbda62cf..b661d85e 100644 --- a/ssn/rdf/examples/IBS-TH2-PLUS.ttl +++ b/ssn/rdf/examples/IBS-TH2-PLUS.ttl @@ -9,6 +9,7 @@ @prefix system: . @prefix unit: . @prefix xsd: . +@base . sensor:IBS-TH2-Plus a owl:Class ; diff --git a/ssn/rdf/examples/IDEAS.ttl b/ssn/rdf/examples/IDEAS.ttl index 2822938a..e091c6e2 100644 --- a/ssn/rdf/examples/IDEAS.ttl +++ b/ssn/rdf/examples/IDEAS.ttl @@ -1,49 +1,48 @@ - @prefix ex: . - @prefix owl: . - @prefix rdf: . - @prefix rdfs: . - @prefix sosa: . - @prefix xsd: . - @prefix cdt: . - +@prefix ex: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix xsd: . +@prefix cdt: . @base . ex:IDEA a owl:Ontology ; - owl:imports . - + owl:imports ; +. ex:COPR a sosa:FeatureOfInterest ; sosa:hasSample ex:COPR_SL ; rdfs:comment "Coal Oil Point Reserve: UC Santa Barbara Natural Reserve System"@en ; - rdfs:label "Coal Oil Point Reserve"@en . - - ex:COPR_SL a sosa:Sample ; + rdfs:label "Coal Oil Point Reserve"@en ; +. +ex:COPR_SL a sosa:Sample ; rdfs:comment "."@en ; rdfs:label "Air around COPR Station"@en ; - sosa:isSampleOf ex:COPR . - - ex:COPR_Station a sosa:Platform ; + sosa:isSampleOf ex:COPR ; +. +ex:COPR_Station a sosa:Platform ; rdfs:comment "Station at Coal Oil Point Reserve, CA (see http://www.geog.ucsb.edu/ideas/COPR.html for details)"@en ; rdfs:label "Coal Oil Point Reserve Wx Station"@en ; rdfs:seeAlso ; - sosa:hosts ex:COPR-HMP45C-L . - - ex:COPR-HMP45C-L a sosa:Platform ; + sosa:hosts ex:COPR-HMP45C-L ; +. +ex:COPR-HMP45C-L a sosa:Platform ; rdfs:label "HMP45C-L Temperature and Relative Humidity Probe at Coal Oil Point, UCSB, CA"@en ; sosa:hosts ex:HUMICAP-H ; - sosa:isHostedBy ex:COPR_Station . - - ex:HUMICAP-H a sosa:Sensor ; + sosa:isHostedBy ex:COPR_Station ; +. +ex:HUMICAP-H a sosa:Sensor ; rdfs:label "Vaisala HUMICAP H-chip"@en ; - sosa:isHostedBy ex:COPR-HMP45C-L . - - ex:RelativeHumidity a sosa:Property ; + sosa:isHostedBy ex:COPR-HMP45C-L ; +. +ex:RelativeHumidity a sosa:Property ; rdfs:comment "Humidity is a measure of the moisture content of air."@en ; - rdfs:label "Relative Humidity"@en . - - ex:MeasuringRelativeHumidity a sosa:Procedure ; - rdfs:comment "Instructions for measuring relative humidity"@en . - - ex:RH_avg_1_COPR_15min_201706020300PM a sosa:Observation ; + rdfs:label "Relative Humidity"@en ; +. +ex:MeasuringRelativeHumidity a sosa:Procedure ; + rdfs:comment "Instructions for measuring relative humidity"@en ; +. +ex:RH_avg_1_COPR_15min_201706020300PM a sosa:Observation ; rdfs:comment "Relative humidity as averaged over 15min at COPR."@en ; rdfs:label "Relative humidity, AVG, 15min, COPR, 06.02.2017, 3:00 PM"@en ; sosa:madeBySensor ex:HUMICAP-H ; @@ -51,4 +50,5 @@ ex:IDEA a owl:Ontology ; sosa:hasSimpleResult "92.5 %"^^cdt:ucum ; sosa:resultTime "2017-06-02T03:00:00-07:00"^^xsd:dateTime ; sosa:observedProperty ex:RelativeHumidity ; - sosa:usedProcedure ex:MeasuringRelativeHumidity . + sosa:usedProcedure ex:MeasuringRelativeHumidity ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl b/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl index 8580a646..a9e7204e 100644 --- a/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl +++ b/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl @@ -19,25 +19,26 @@ ex:InkBird-IBS-TH2 a owl:Class; rdfs:label "Inkbird IBS-TH2"@en ; rdfs:subClassOf gs1:Product, sosa:Platform, equipment:Equipment, ; gs1:pip ; - sosa:hosts ex:IBSTH2TemperatureSensor . - + sosa:hosts ex:IBSTH2TemperatureSensor ; +. ex:IBSTH2TemperatureSensor rdfs:subClassOf sosa:Sensor ; rdfs:label "Inkbird IBS-TH2 built-in Temperature Sensor"@en ; sosa:observes ex:airTemperature ; system:hasOperatingRange ex:IBSTH2TemperatureSensorLimits ; - system:hasSurvivalRange ex:IBSTH2SurvivalRange . - + system:hasSurvivalRange ex:IBSTH2SurvivalRange ; +. ex:IBSTH2TemperatureSensorLimits a system:OperatingRange ; sosa:forProperty qk:Temperature ; qudt:unit unit:DEG_C ; xsd:maxInclusive "60" ; xsd:minInclusive "-40" ; - rdfs:label "Inkbird IBS-TH2 Temperature Sensor Limits"@en . - + rdfs:label "Inkbird IBS-TH2 Temperature Sensor Limits"@en ; +. # Physical limits of the sensor (and platform) where structural failure occurs. ex:IBSTH2SurvivalRange a system:SurvivalRange ; sosa:forProperty qk:Temperature ; qudt:unit unit:DEG_C ; xsd:maxInclusive "80" ; xsd:minInclusive "-273" ; - rdfs:label "Inkbird IBS-TH2 Failiure limits"@en . + rdfs:label "Inkbird IBS-TH2 Failiure limits"@en ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/InkBird.ttl b/ssn/rdf/examples/InkBird.ttl index 6eea295b..da65d5ed 100644 --- a/ssn/rdf/examples/InkBird.ttl +++ b/ssn/rdf/examples/InkBird.ttl @@ -58,17 +58,16 @@ ex:IBS-TH2 rdfs:subClassOf sosa:Sensor ; ex:IBS-TH2-56 a ex:IBS-TH2 ; - rdfs:label "12gth456a-23190"^^ex:serialNumber ; -. + rdfs:label "12gth456a-23190"^^ex:serialNumber . qk:RelativeHumidity a sosa:Property ; - a qudt:QuantityKind ; -. + a qudt:QuantityKind . + qk:Temperature a sosa:Property ; - a qudt:QuantityKind ; -. + a qudt:QuantityKind . + qudt:QuantityKind rdfs:subClassOf sosa:Property ; . diff --git a/ssn/rdf/examples/LocatedDeployment.ttl b/ssn/rdf/examples/LocatedDeployment.ttl index 5cc03e04..674d578c 100644 --- a/ssn/rdf/examples/LocatedDeployment.ttl +++ b/ssn/rdf/examples/LocatedDeployment.ttl @@ -23,4 +23,4 @@ ex:IBS-TH2-56 . ex:serialNumber a rdfs:Datatype ; rdfs:subClassOf xsd:string ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/LocatedPlatform.ttl b/ssn/rdf/examples/LocatedPlatform.ttl index a19da81c..c3dca22d 100644 --- a/ssn/rdf/examples/LocatedPlatform.ttl +++ b/ssn/rdf/examples/LocatedPlatform.ttl @@ -18,4 +18,4 @@ ex:IBS-TH2-56 . ex:serialNumber a rdfs:Datatype ; rdfs:subClassOf xsd:string ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/LocatedSample.ttl b/ssn/rdf/examples/LocatedSample.ttl index 8285a7f6..390d7c14 100644 --- a/ssn/rdf/examples/LocatedSample.ttl +++ b/ssn/rdf/examples/LocatedSample.ttl @@ -13,4 +13,4 @@ ex:EarthAtmosphere_StE a sosa:Sample ; . ex:EarthAtmosphere a sosa:FeatureOfInterest ; owl:sameAs ; - . \ No newline at end of file +. \ No newline at end of file diff --git a/ssn/rdf/examples/LocatedSampling.ttl b/ssn/rdf/examples/LocatedSampling.ttl index 2e7ed435..aa3234a9 100644 --- a/ssn/rdf/examples/LocatedSampling.ttl +++ b/ssn/rdf/examples/LocatedSampling.ttl @@ -17,4 +17,4 @@ ex:AirSampling_StE a sosa:Sampling ; . ex:EarthAtmosphere a sosa:FeatureOfInterest ; owl:sameAs ; - . \ No newline at end of file +. \ No newline at end of file diff --git a/ssn/rdf/examples/LocatedSensor.ttl b/ssn/rdf/examples/LocatedSensor.ttl index 3f6c90b8..53572132 100644 --- a/ssn/rdf/examples/LocatedSensor.ttl +++ b/ssn/rdf/examples/LocatedSensor.ttl @@ -12,7 +12,7 @@ ex:IBS-TH2-56 a geo:Point ; geo:asWKT "POINT (-73.877244 45.511672)"^^geo:WktLiteral ; ] ; - . +. ex:serialNumber a rdfs:Datatype ; rdfs:subClassOf xsd:string ; . diff --git a/ssn/rdf/examples/SC1.ttl b/ssn/rdf/examples/SC1.ttl index f8193db2..5f84205f 100644 --- a/ssn/rdf/examples/SC1.ttl +++ b/ssn/rdf/examples/SC1.ttl @@ -1,5 +1,5 @@ -@prefix dc: . @prefix dcterms: . +@prefix ex: . @prefix geo: . @prefix orcid: . @prefix owl: . @@ -9,8 +9,7 @@ @prefix sosa: . @prefix time: . @prefix xsd: . - -@prefix ex: . +@base . ex:SC1 a sosa:SampleCollection ; @@ -74,9 +73,9 @@ ex:examples-collection-sam a owl:Ontology ; dcterms:created "2023-11-04"^^xsd:date ; dcterms:modified "2024-01-22"^^xsd:date ; - dcterms:creator ; + dcterms:creator orcid:0000-0002-3884-3420 ; rdfs:comment "Small dataset to test rules in SOSA Collections" ; owl:imports , , ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/Sample-ice-core-bubble.ttl b/ssn/rdf/examples/Sample-ice-core-bubble.ttl index b047edfb..5adf6576 100644 --- a/ssn/rdf/examples/Sample-ice-core-bubble.ttl +++ b/ssn/rdf/examples/Sample-ice-core-bubble.ttl @@ -41,4 +41,4 @@ ex:Antarctic_ice_sheet a sosa:FeatureOfInterest ; . ex:EarthAtmosphere a sosa:FeatureOfInterest ; owl:sameAs ; - . +. diff --git a/ssn/rdf/examples/Temperature-of-interest-specialization.ttl b/ssn/rdf/examples/Temperature-of-interest-specialization.ttl index 80b26b3f..4fb25cbe 100644 --- a/ssn/rdf/examples/Temperature-of-interest-specialization.ttl +++ b/ssn/rdf/examples/Temperature-of-interest-specialization.ttl @@ -14,4 +14,4 @@ ex:SickChildATemperature a saref:PropertyOfInterest ; saref:hasPropertyKind qk:Temperature ; saref:isPropertyOfInterestOf ex:SickChildA ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/Temperature-of-interest-subclass.ttl b/ssn/rdf/examples/Temperature-of-interest-subclass.ttl index 0ad45b5d..cbca58a6 100644 --- a/ssn/rdf/examples/Temperature-of-interest-subclass.ttl +++ b/ssn/rdf/examples/Temperature-of-interest-subclass.ttl @@ -21,4 +21,4 @@ ex:SickChildATempObs sosa:hasSimpleResult "38.2"^^unit:DEG_C ; sosa:madeBySensor ex:Mums-clinical-thermometer ; sosa:observedProperty ex:SickChildATemperature ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/Thermometer.ttl b/ssn/rdf/examples/Thermometer.ttl index bd002a77..986b9445 100644 --- a/ssn/rdf/examples/Thermometer.ttl +++ b/ssn/rdf/examples/Thermometer.ttl @@ -40,4 +40,4 @@ ex:SickChildATempObs sosa:hasSimpleResult "38.2"^^unit:DEG_C ; sosa:madeBySensor ex:Mums-clinical-thermometer ; sosa:observedProperty qk:Temperature ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/UOM-OM2.ttl b/ssn/rdf/examples/UOM-OM2.ttl index cd26d85c..bef1fcdd 100644 --- a/ssn/rdf/examples/UOM-OM2.ttl +++ b/ssn/rdf/examples/UOM-OM2.ttl @@ -3,7 +3,7 @@ @prefix rdf: . @prefix rdfs: . @prefix sosa: . -@prefix xsd: . +@prefix xsd: . ex:Observation-234534 a sosa:Observation ; @@ -12,8 +12,8 @@ ex:Observation-234534 sosa:hasResult [ a om:Measure ; om:hasUnit om:degreeCelsius ; - om:hasNumericalValue "-29.9"^^xsd:decimal ] . - + om:hasNumericalValue "-29.9"^^xsd:decimal ] ; +. ex:Observation-83985 a sosa:Observation ; rdfs:comment "Observation of the temperature inside apartment #134."@en ; diff --git a/ssn/rdf/examples/UOM-cdt.ttl b/ssn/rdf/examples/UOM-cdt.ttl index 1a0076c6..91e78baa 100644 --- a/ssn/rdf/examples/UOM-cdt.ttl +++ b/ssn/rdf/examples/UOM-cdt.ttl @@ -1,5 +1,5 @@ @prefix cdt: . -@prefix ex: . +@prefix ex: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @@ -11,4 +11,4 @@ ex:Obs234534 . cdt:ucum a rdfs:Datatype ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/UOM-qudt-datatype.ttl b/ssn/rdf/examples/UOM-qudt-datatype.ttl index 63468afc..d2053a98 100644 --- a/ssn/rdf/examples/UOM-qudt-datatype.ttl +++ b/ssn/rdf/examples/UOM-qudt-datatype.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix qudt: . @prefix rdf: . @prefix rdfs: . diff --git a/ssn/rdf/examples/UOM-qudt-object.ttl b/ssn/rdf/examples/UOM-qudt-object.ttl index e47b6101..435276d5 100644 --- a/ssn/rdf/examples/UOM-qudt-object.ttl +++ b/ssn/rdf/examples/UOM-qudt-object.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix qudt: . @prefix rdf: . @prefix sosa: . @@ -24,4 +24,4 @@ ex:Obs83985 . unit:DEG_C a qudt:Unit ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/apartment-134.ttl b/ssn/rdf/examples/apartment-134.ttl index 20e99dc1..84fcd9c5 100644 --- a/ssn/rdf/examples/apartment-134.ttl +++ b/ssn/rdf/examples/apartment-134.ttl @@ -1,6 +1,6 @@ @prefix ex: . @prefix rdf: . -@prefix time: . +@prefix time: . @prefix sosa: . @prefix xsd: . @prefix qudt: . @@ -8,7 +8,7 @@ @base . # The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as -# observed by sensor #926. The result was available 12 seconds later. +# observed by sensor #926. The result was available 12 seconds later ex:Observation_235714 rdf:type sosa:Observation ; sosa:observedProperty ex:Apartment_134_electricConsumption ; @@ -25,66 +25,63 @@ ex:Observation_235714 rdf:type sosa:Observation ; time:hasEnd [ rdf:type time:Instant ; time:inXSDDateTimeStamp "2017-04-16T00:00:00+00:00"^^xsd:dateTimeStamp ] ] ; - sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . - - + sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp ; +. # Sensor #926 observes the electric consumption of apartment #134, and we know that -# it made some observations. +# it made some observations ex:sensor_926 rdf:type sosa:Sensor ; sosa:observes ex:Apartment_134_electricConsumption ; - sosa:madeObservation ex:Observation_235714, ex:Observation_235715, ex:Observation_235716 . - + sosa:madeObservation ex:Observation_235714, ex:Observation_235715, ex:Observation_235716 ; +. # mobile sensor tempSensor #23 observes the temperature in its surroundings, and we know # that it made some observations. ex:tempSensor_23 rdf:type sosa:Sensor ; sosa:observes ex:tempSensor_23_temperature ; - sosa:madeObservation ex:tempSensor_23_4572, ex:tempSensor_23_4573, ex:tempSensor_23_4574 . - - + sosa:madeObservation ex:tempSensor_23_4572, ex:tempSensor_23_4573, ex:tempSensor_23_4574 ; +. # Sensor #926 observes the electric consumption of apartment #134 ex:sensor_926 rdf:type sosa:Sensor ; - sosa:observes ex:Apartment_134_electricConsumption . - + sosa:observes ex:Apartment_134_electricConsumption ; +. # This is equivalent to saying that the electric consumption of apartment #134 is # observed by Sensor #926 ex:Apartment_134_electricConsumption rdf:type sosa:Property ; - sosa:isObservedBy ex:sensor_926 . - - -# This is equivalent to saying that these observations have been made by sensor #926. + sosa:isObservedBy ex:sensor_926 ; +. +# This is equivalent to saying that these observations have been made by sensor #926 ex:Observation_235714 rdf:type sosa:Observation ; - sosa:madeBySensor ex:sensor_926 . - + sosa:madeBySensor ex:sensor_926 ; +. ex:Observation_235754 rdf:type sosa:Observation ; - sosa:madeBySensor ex:sensor_926 . - + sosa:madeBySensor ex:sensor_926 ; +. # Actuation -# the window opening state is a Property. +# the window opening state is a Property # SSN allows to explicitly say that ex:window_104#state is a property of ex:window ex:window rdf:type sosa:FeatureOfInterest ; - sosa:hasProperty ex:window_104_state . - + sosa:hasProperty ex:window_104_state ; +. ex:window_104_state rdf:type sosa:Property ; - sosa:wasActedOnBy ex:actuation_188 . - + sosa:wasActedOnBy ex:actuation_188 ; +. # WindowCloser #987 made actuation #188 -# SSN allows to explicitly say that ex:windowCloser_987 is designed to automatically open and close window #104. +# SSN allows to explicitly say that ex:windowCloser_987 is designed to automatically open and close window #104 ex:windowCloser_987 rdf:type sosa:Actuator ; sosa:madeActuation ex:actuation_188 ; - sosa:actsOn ex:window_104_state . - -# Actuation #188 acted on the state of window #104 and returned 'true'. + sosa:actsOn ex:window_104_state ; +. +# Actuation #188 acted on the state of window #104 and returned 'true' ex:actuation_188 rdf:type sosa:Actuation ; sosa:actsOnProperty ex:window_104_state ; sosa:madeByActuator ex:windowCloser_987 ; sosa:hasSimpleResult true ; - sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . - + sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/dht22-deployment.ttl b/ssn/rdf/examples/dht22-deployment.ttl index 20a56658..3c7cded6 100644 --- a/ssn/rdf/examples/dht22-deployment.ttl +++ b/ssn/rdf/examples/dht22-deployment.ttl @@ -3,90 +3,80 @@ @prefix qk: . @prefix qudt: . @prefix rdf: . -@prefix rdfs: . -@prefix schema: . +@prefix rdfs: . +@prefix schema: . @prefix skos: . @prefix sosa: . -@prefix time: . +@prefix time: . @prefix unit: . @prefix xsd: . @prefix system: . @prefix rdfp: . @base . - ex:Room145 a sosa:FeatureOfInterest ; rdfs:label "Room #145"@en ; sosa:hasSample ex:Room145_east ; - sosa:hasSample ex:Room145_south . - - ex:Room145_east a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "East wall of room #145."@en ; - rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; - sosa:hosts ex:PCBBoard1 . - - ex:Room145_south a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "South wall of room #145."@en ; - rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; - sosa:hosts ex:PCBBoard2 . - - + sosa:hasSample ex:Room145_south ; +. +ex:Room145_east a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "East wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 1 with DHT22 temperature and humidity sensor #4578."@en ; + sosa:hosts ex:PCBBoard1 ; +. +ex:Room145_south a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #145."@en ; + rdfs:comment "This wall hosts PCB Board 2 with DHT22 temperature and humidity sensor #4579."@en ; + sosa:hosts ex:PCBBoard2 ; +. ex:Room245 a sosa:FeatureOfInterest ; rdfs:label "Room #245"@en ; sosa:hasProperty qk:Temperature , qk:RelativeHumidity ; - sosa:hasSample ex:Room245_south . - - ex:Room245_south a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; - rdfs:label "South wall of room #245."@en ; - sosa:hosts ex:PCBBoard3 . - - - + sosa:hasSample ex:Room245_south ; +. +ex:Room245_south a sosa:Sample , sosa:FeatureOfInterest , sosa:Platform ; + rdfs:label "South wall of room #245."@en ; + sosa:hosts ex:PCBBoard3 ; +. ex:PCBBoard1 a sosa:System , sosa:Platform ; rdfs:label "PCB Board 1"@en ; rdfs:comment "PCB Board 1 hosts DHT22 temperature and humidity sensor #4578 permanently, one can say it has it as one of its subsystems."@en ; sosa:hosts ex:DHT22_4578 ; - sosa:hasSubSystem ex:DHT22_4578 . - - ex:DHT22_4578 a sosa:System ; - rdfs:label "DHT22 sensor #4578"@en ; - sosa:isHostedBy ex:PCBBoard1 . - - + sosa:hasSubSystem ex:DHT22_4578 ; +. +ex:DHT22_4578 a sosa:System ; + rdfs:label "DHT22 sensor #4578"@en ; + sosa:isHostedBy ex:PCBBoard1 ; +. ex:PCBBoard2 a sosa:System , sosa:Platform ; rdfs:label "PCB Board 2"@en ; rdfs:comment "PCB Board 2 hosts DHT22 temperature and humidity sensor #4579 permanently, one can say it has it as one of its subsystems."@en ; sosa:hosts ex:DHT22_4578 ; - sosa:hasSubSystem ex:DHT22_4578 . - - ex:DHT22_4579 a sosa:System ; - rdfs:label "DHT22 sensor #4579."@en ; - sosa:isHostedBy ex:PCBBoard2 . - - + sosa:hasSubSystem ex:DHT22_4578 ; +. +ex:DHT22_4579 a sosa:System ; + rdfs:label "DHT22 sensor #4579."@en ; + sosa:isHostedBy ex:PCBBoard2 ; +. ex:PCBBoard3 a sosa:System , sosa:Platform ; rdfs:label "PCB Board 3"@en ; rdfs:comment "PCB Board 3 hosts DHT22 temperature and humidity sensor #4580 permanently, one can say it has it as one of its subsystems."@en ; sosa:hosts ex:DHT22_4578 ; - sosa:hasSubSystem ex:DHT22_4578 . - - ex:DHT22_4580 a sosa:System ; - rdfs:label "DHT22 sensor #4580."@en ; - sosa:isHostedBy ex:PCBBoard3 . - - - - + sosa:hasSubSystem ex:DHT22_4578 ; +. +ex:DHT22_4580 a sosa:System ; + rdfs:label "DHT22 sensor #4580."@en ; + sosa:isHostedBy ex:PCBBoard3 ; +. ex:Room245Deployment a sosa:Deployment ; rdfs:comment "Deployment of PCB Board 3 on the south wall of room #245 for the purpose of observing the temperature and humidity of room #245."@en ; sosa:deployedOnPlatform ex:Room245_south ; sosa:deployedSystem ex:PCBBoard3 ; - sosa:forProperty qk:Temperature , qk:RelativeHumidity . - - + sosa:forProperty qk:Temperature , qk:RelativeHumidity ; +. ex:Room145Deployment a sosa:Deployment ; rdfs:comment "Deployment of PCB Board 1 and 2 on the east and south wall of room #145, respectively, for the purpose of observing the temperature and humidity of room #145."@en ; sosa:deployedOnPlatform ex:Room245_east , ex:Room245_south ; sosa:deployedSystem ex:PCBBoard1 , ex:PCBBoard2 ; - sosa:forProperty qk:Temperature , qk:RelativeHumidity . - + sosa:forProperty qk:Temperature , qk:RelativeHumidity ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/dht22.ttl b/ssn/rdf/examples/dht22.ttl index 1fbba0b2..cd71d46a 100644 --- a/ssn/rdf/examples/dht22.ttl +++ b/ssn/rdf/examples/dht22.ttl @@ -15,130 +15,124 @@ @base . ex:DHT22_Procedure a sosa:Procedure ; - sosa:hasOutput ex:DHT22_output . - + sosa:hasOutput ex:DHT22_output ; +. ex:DHT22_output a rdfp:GraphDescription ; rdfs:comment "The output is a RDF Graph that describes both the temperature and the humidity. It can be validated by a SHACL shapes graph."@en ; rdfp:presentedBy [ a rdfp:GraphDescription ; rdfp:validationRule ex:shacl_shapes_graph ; - ] . - + ] ; +. ex:DHT22_4578 a sosa:System ; rdfs:comment "DHT22 sensor #4578 contains a humidity and a temperature sensor."@en ; rdfs:seeAlso ; sosa:hasSubSystem ex:DHT22_4578_TemperatureSensor, ex:DHT22_4578_HumiditySensor ; - system:hasOperatingRange ex:DHT22_4578_SystemOperatingRange . - + system:hasOperatingRange ex:DHT22_4578_SystemOperatingRange ; +. ex:DHT22_4578_SystemOperatingRange a system:OperatingRange ; rdfs:comment "The conditions in which the DHT22 system is expected to operate."@en ; system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition ; - system:hasOperatingProperty ex:DHT22_4578_SystemOperatingPowerRange . - + system:hasOperatingProperty ex:DHT22_4578_SystemOperatingPowerRange ; +. ex:NormalTemperatureCondition a schema:PropertyValue ; rdfs:comment "A temperature range of -40 to 80 Celsius."@en ; sosa:forProperty qk:Temperature ; xsd:minInclusive -40.0 ; xsd:maxInclusive 80.0 ; - qudt:unit unit:DEG_C . - + qudt:unit unit:DEG_C ; +. ex:NormalHumidityCondition a schema:PropertyValue ; rdfs:comment "A relative humidity range of 0 to 100 %."@en ; sosa:forProperty qk:RelativeHumidity ; xsd:minInclusive 0.0 ; xsd:maxInclusive 100.0 ; - qudt:unit unit:PERCENT . - + qudt:unit unit:PERCENT ; +. ex:DHT22_4578_SystemOperatingPowerRange a system:OperatingPowerRange , schema:PropertyValue ; rdfs:comment "DC power of 3.3 to 6 volts."@en ; xsd:minInclusive 3.3 ; xsd:maxInclusive 6.0 ; - qudt:unit unit:V . - + qudt:unit unit:V ; +. ex:DHT22_4578_TemperatureSensor a sosa:Sensor , sosa:System ; rdfs:comment "The embedded temperature sensor, a specific instance of temperature sensor."@en ; system:hasSystemCapability ex:DHT22_4578_TemperatureSensorCapability ; - sosa:implements ex:DHT22_Procedure . - + sosa:implements ex:DHT22_Procedure ; +. ex:DHT22_4578_HumiditySensor a sosa:Sensor , sosa:System ; rdfs:comment "The embedded humidity sensor, a specific instance of humidity sensor."@en ; - sosa:implements ex:DHT22_Procedure . - + sosa:implements ex:DHT22_Procedure ; +. ex:DHT22_4578_TemperatureSensorOperatingRange a system:OperatingRange ; rdfs:comment "The conditions in which the DHT22 temperature sensor is expected to operate."@en ; - system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition . - + system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition ; +. ex:DHT22_4578_HumiditySensorOperatingRange a system:OperatingRange ; rdfs:comment "The conditions in which the DHT22 humidity sensor is expected to operate."@en ; - system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition . - + system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition ; +. ex:NormalOperatingCondition a schema:PropertyValue ; rdfs:comment "A temperature range of -40 to 80 Celsius."@en ; sosa:forProperty qk:Temperature ; xsd:minInclusive -40.0 ; xsd:maxInclusive 80.0 ; - qudt:unit unit:DEG_C . - + qudt:unit unit:DEG_C ; +. ex:NormalHumidityCondition a schema:PropertyValue ; rdfs:comment "A relative humidity range of 5 to 85 %."@en ; sosa:forProperty qk:RelativeHumidity ; xsd:minInclusive 5.0 ; xsd:maxInclusive 85.0 ; - qudt:unit unit:PERCENT . - + qudt:unit unit:PERCENT ; +. ex:DHT22_4578_TemperatureSensorCapability a sosa:Property , system:SystemCapability , schema:PropertyValue ; rdfs:comment "The capabilities of the temperature sensor in normal temperature and humidity conditions." ; system:inCondition ex:NormalTemperatureCondition , ex:NormalHumidityCondition ; - system:hasSystemProperty ex:DHT22_4578_TemperatureSensorAccuracy , ex:DHT22_4578_TemperatureSensorSensitivity , ex:DHT22_4578_TemperatureSensorRepeatability , ex:DHT22_4578_TemperatureSensorFrequency . - + system:hasSystemProperty ex:DHT22_4578_TemperatureSensorAccuracy , ex:DHT22_4578_TemperatureSensorSensitivity , ex:DHT22_4578_TemperatureSensorRepeatability , ex:DHT22_4578_TemperatureSensorFrequency ; +. ex:DHT22_4578_TemperatureSensorAccuracy a system:Accuracy , schema:PropertyValue ; rdfs:comment "The accuracy of the temperature sensor is +-0.5 °C in normal temperature and humidity conditions."@en ; sosa:forProperty qk:Temperature ; xsd:minInclusive -0.5 ; xsd:maxInclusive 0.5 ; - qudt:unit unit:DegreeCelsius . - + qudt:unit unit:DegreeCelsius ; +. ex:DHT22_4578_TemperatureSensorSensitivity a system:Sensitivity , system:Resolution , schema:PropertyValue ; rdfs:comment "The sensitivity and resolution of the temperature sensor is 0.1 °C in normal temperature and humidity conditions."@en ; sosa:forProperty qk:Temperature ; qudt:value 0.1 ; - qudt:unit unit:DegreeCelsius . - + qudt:unit unit:DegreeCelsius ; +. ex:DHT22_4578_TemperatureSensorRepeatability a system:Repeatability , schema:PropertyValue ; rdfs:comment "The precision (= repeatability) of the temperature sensor is +-0.2 °C in normal temperature and humidity conditions."@en ; sosa:forProperty qk:Temperature ; xsd:minInclusive 0.2 ; xsd:maxInclusive 0.2 ; - qudt:unit unit:DegreeCelsius . - + qudt:unit unit:DegreeCelsius ; +. ex:DHT22_4578_TemperatureSensorFrequency a system:Frequency , schema:PropertyValue ; rdfs:comment "The smallest possible time between one observation and the next is 2 s on average."@en ; sosa:forProperty qk:Period ; qudt:value 2 ; - qudt:unit unit:Second . - - + qudt:unit unit:Second ; +. ex:observation_1087 rdf:type sosa:Observation ; sosa:observedProperty ; sosa:madeBySensor ex:DHT22_4578_TemperatureSensor ; sosa:usedProcedure ex:DHT22_Procedure ; sosa:resultQuality ex:observation_1087_quality ; - sosa:hasSimpleResult "21.4"^^unit:DEG_C . - - -# one may classify the quality of observation using some class: + sosa:hasSimpleResult "21.4"^^unit:DEG_C ; +. -# ex:observation_1087_quality rdf:type ex:FairQuality . - - -# one may use some other ontology to further qualify this quality. +# one may use some other ontology to further qualify this quality ex:observation_1087_quality ex:evaluatedBy ex:Tom ; ex:confidenceValue "6"^^xsd:integer ; - rdfs:comment """Tom gave a confidence value of 6 out of 10 on this observation."""@en . - -# one may use some quantity ontology. + rdfs:comment """Tom gave a confidence value of 6 out of 10 on this observation."""@en ; +. +# one may use some quantity ontology @prefix qudt: . @prefix unit: . diff --git a/ssn/rdf/examples/diet.ttl b/ssn/rdf/examples/diet.ttl index 06063dd4..4956f49a 100644 --- a/ssn/rdf/examples/diet.ttl +++ b/ssn/rdf/examples/diet.ttl @@ -32,4 +32,4 @@ ex:d77 ex:BP a time:TRS ; skos:definition "Years before 1950, positive backwards" ; -. +. \ No newline at end of file diff --git a/ssn/rdf/examples/forecast.jsonld b/ssn/rdf/examples/forecast.jsonld index 5a246ca2..5b4d6f2d 100644 --- a/ssn/rdf/examples/forecast.jsonld +++ b/ssn/rdf/examples/forecast.jsonld @@ -1,57 +1,73 @@ { - "@graph": [ - { - "@id": "Observation/299876", - "@type": "sosa:Observation", - "hasFeatureOfInterest": "feature/EarthAtmosphere", - "hasResult": "grid/299876", - "observedProperty": "https://si-digital-framework.org/quantities/TEMC", - "phenomenonTime": { - "hasBeginnning": { - "inXSDDateTime": "2024-03-09T11:00:00+10:00" - }, - "hasEnd": { - "inXSDDateTime": "2024-03-09T12:00:00+10:00" - } - }, - "resultTime": "2024-03-06T12:00:00+10:00" - } - ], - "@context": { - "hasEnd": { - "@id": "http://www.w3.org/2006/time#hasEnd", - "@type": "@id" - }, - "hasBeginnning": { - "@id": "http://www.w3.org/2006/time#hasBeginnning", - "@type": "@id" - }, - "inXSDDateTime": { - "@id": "http://www.w3.org/2006/time#inXSDDateTime", - "@type": "http://www.w3.org/2001/XMLSchema#dateTime" - }, - "hasResult": { - "@id": "http://www.w3.org/ns/sosa/hasResult", - "@type": "@id" - }, - "resultTime": { - "@id": "http://www.w3.org/ns/sosa/resultTime", - "@type": "http://www.w3.org/2001/XMLSchema#dateTime" - }, - "phenomenonTime": { - "@id": "http://www.w3.org/ns/sosa/phenomenonTime", - "@type": "@id" - }, - "observedProperty": { - "@id": "http://www.w3.org/ns/sosa/observedProperty", - "@type": "@id" - }, - "hasFeatureOfInterest": { - "@id": "http://www.w3.org/ns/sosa/hasFeatureOfInterest", - "@type": "@id" - }, - "xsd": "http://www.w3.org/2001/XMLSchema#", - "time": "http://www.w3.org/2006/time#", - "sosa": "http://www.w3.org/ns/sosa/" + "@graph" : [ { + "@id" : "_:b0", + "hasBeginnning" : "_:b2", + "hasEnd" : "_:b1" + }, { + "@id" : "_:b1", + "inXSDDateTime" : "2024-03-09T12:00:00+10:00" + }, { + "@id" : "_:b2", + "inXSDDateTime" : "2024-03-09T11:00:00+10:00" + }, { + "@id" : "ex:EarthAtmosphere", + "@type" : "sosa:FeatureOfInterest", + "sameAs" : "https://www.wikidata.org/wiki/Q3230" + }, { + "@id" : "ex:Observation299876", + "@type" : "sosa:Observation", + "hasFeatureOfInterest" : "ex:EarthAtmosphere", + "hasResult" : "ex:forecast/grid/299876", + "observedProperty" : "https://si-digital-framework.org/quantities/TEMC", + "phenomenonTime" : "_:b0", + "resultTime" : "2024-03-06T12:00:00+10:00" + }, { + "@id" : "ex:forecast/", + "@type" : "owl:Ontology" + } ], + "@context" : { + "resultTime" : { + "@id" : "http://www.w3.org/ns/sosa/resultTime", + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime" + }, + "phenomenonTime" : { + "@id" : "http://www.w3.org/ns/sosa/phenomenonTime", + "@type" : "@id" + }, + "observedProperty" : { + "@id" : "http://www.w3.org/ns/sosa/observedProperty", + "@type" : "@id" + }, + "hasResult" : { + "@id" : "http://www.w3.org/ns/sosa/hasResult", + "@type" : "@id" + }, + "hasFeatureOfInterest" : { + "@id" : "http://www.w3.org/ns/sosa/hasFeatureOfInterest", + "@type" : "@id" + }, + "hasEnd" : { + "@id" : "http://www.w3.org/2006/time#hasEnd", + "@type" : "@id" + }, + "hasBeginnning" : { + "@id" : "http://www.w3.org/2006/time#hasBeginnning", + "@type" : "@id" + }, + "inXSDDateTime" : { + "@id" : "http://www.w3.org/2006/time#inXSDDateTime", + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime" + }, + "sameAs" : { + "@id" : "http://www.w3.org/2002/07/owl#sameAs", + "@type" : "@id" + }, + "ex" : "http://example.org/data/", + "rdf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "owl" : "http://www.w3.org/2002/07/owl#", + "xsd" : "http://www.w3.org/2001/XMLSchema#", + "rdfs" : "http://www.w3.org/2000/01/rdf-schema#", + "time" : "http://www.w3.org/2006/time#", + "sosa" : "http://www.w3.org/ns/sosa/" } -} \ No newline at end of file +} diff --git a/ssn/rdf/examples/forecast.ttl b/ssn/rdf/examples/forecast.ttl index 7eff3a2a..af0fc168 100644 --- a/ssn/rdf/examples/forecast.ttl +++ b/ssn/rdf/examples/forecast.ttl @@ -5,11 +5,11 @@ @prefix sosa: . @prefix time: . @prefix xsd: . -@base . +@base . ex:Observation299876 a sosa:Observation ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ex:EarthAtmosphere ; sosa:hasResult ; sosa:observedProperty ; sosa:phenomenonTime [ @@ -23,4 +23,6 @@ ex:Observation299876 sosa:resultTime "2024-03-06T12:00:00+10:00"^^xsd:dateTime ; . - +ex:EarthAtmosphere a sosa:FeatureOfInterest ; + owl:sameAs ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/historical-airtemp.ttl b/ssn/rdf/examples/historical-airtemp.ttl index 9984ab45..c753534c 100644 --- a/ssn/rdf/examples/historical-airtemp.ttl +++ b/ssn/rdf/examples/historical-airtemp.ttl @@ -7,14 +7,15 @@ @prefix rdfs: . @prefix skos: . @prefix sosa: . +@prefix time: . @prefix unit: . @prefix xsd: . @base . ex:T99 a sosa:Sensor , ex:Mercury-in-glass-thermometer ; rdfs:label "Mercury in glass thermometer #99"@en ; - sosa:observes ex:temperature . - + sosa:observes ex:temperature ; +. ex:SHW a sosa:Platform , sosa:FeatureOfInterest; rdfs:label "Station Hohe Warte"@en ; geo:hasGeometry [ @@ -23,15 +24,14 @@ ex:SHW a sosa:Platform , sosa:FeatureOfInterest; ] ; sosa:hosts ex:T99 ; . - ex:airTemperature a sosa:Property ; rdfs:label "ground displacement speed"@en ; sosa:isPropertyOf ex:EarthAtmosphere ; - skos:broader qk:Temperature . - + skos:broader qk:Temperature ; +. ex:EarthAtmosphere a sosa:FeatureOfInterest ; - owl:sameAs . - + owl:sameAs ; +. ex:SHW_T_1872-04-04T15 a sosa:Observation ; sosa:madeBySensor ex:T99 ; sosa:hasFeatureOfInterest ex:SHW ; @@ -43,4 +43,5 @@ ex:SHW_T_1872-04-04T15 a sosa:Observation ; rdf:type qudt:QuantityValue ; qudt:numericValue "22.5"^^xsd:decimal ; qudt:hasUnit unit:DEG_C ] ; - sosa:resultTime "1872-04-04T15:00:00+01:00"^^xsd:dateTime . + sosa:resultTime "1872-04-04T15:00:00+01:00"^^xsd:dateTime ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/ip68.ttl b/ssn/rdf/examples/ip68.ttl index 68a5454d..bbe16a56 100644 --- a/ssn/rdf/examples/ip68.ttl +++ b/ssn/rdf/examples/ip68.ttl @@ -12,9 +12,7 @@ @prefix unit: . @prefix xsd: . @prefix system: . - @prefix rdfp: . - @prefix gr: . @prefix prov: . @prefix seas: . @@ -22,8 +20,8 @@ @base . ex:Organization_1 a prov:Organization ; - owl:sameAs . - + owl:sameAs ; +. ex:Air a sosa:FeatureOfInterest ; rdfs:label "The air."@en ; owl:sameAs . @@ -35,45 +33,45 @@ ex:IP68_Outdoor_Temperature_Sensor a owl:Class , gr:ProductOrServiceModel ; owl:hasValue ex:IP68_Outdoor_Temperature_Sensor_operatingRange ] ; rdfs:subClassOf [ owl:onProperty system:hasSystemCapability ; - owl:hasValue ex:IP68_Outdoor_Temperature_Sensor_systemCapability ] . - + owl:hasValue ex:IP68_Outdoor_Temperature_Sensor_systemCapability ] ; +. ex:IP68_Outdoor_Temperature_Sensor_operatingRange a system:OperatingRange , sosa:Property ; - system:inCondition ex:IP68_Outdoor_Temperature_Sensor_normalOperatingCondition . - + system:inCondition ex:IP68_Outdoor_Temperature_Sensor_normalOperatingCondition ; +. ex:IP68_Outdoor_Temperature_Sensor_normalOperatingCondition a schema:PropertyValue ; rdfs:comment "A temperature range of -20 to 70 Celsius."@en ; sosa:forProperty qk:Temperature ; sosa:isPropertyOf ex:Air ; xsd:minInclusive -20.0 ; xsd:maxInclusive 70.0 ; - qudt:unit unit:DEG_C . - + qudt:unit unit:DEG_C ; +. ex:IP68_Outdoor_Temperature_Sensor_systemCapability a sosa:Property , system:SystemCapability ; rdfs:comment "The sensor capability in normal operating conditions."@en ; system:hasSystemProperty ex:IP68_Outdoor_Temperature_Sensor_RFSensitivity , ex:IP68_Outdoor_Temperature_Sensor_TemperatureAccuracy , ex:IP68_Outdoor_Temperature_Sensor_TemperatureResolution , ex:IP68_Outdoor_Temperature_Sensor_BatteryAccuracy , ex:IP68_Outdoor_Temperature_Sensor_BatteryResolution ; - system:inCondition ex:IP68_Outdoor_Temperature_Sensor_normalOperatingCondition . - + system:inCondition ex:IP68_Outdoor_Temperature_Sensor_normalOperatingCondition ; +. ex:IP68_Outdoor_Temperature_Sensor_RFSensitivity a sosa:Property , system:Sensitivity , schema:PropertyValue ; schema:value -137 ; - qudt:unit unit:DeciB_MilliW . - + qudt:unit unit:DeciB_MilliW ; +. ex:IP68_Outdoor_Temperature_Sensor_TemperatureAccuracy a sosa:Property , system:Accuracy , schema:PropertyValue ; sosa:forProperty qk:Temperature ; xsd:minInclusive -0.2 ; xsd:maxInclusive 0.2 ; - qudt:unit unit:DEG_C . - + qudt:unit unit:DEG_C ; +. ex:IP68_Outdoor_Temperature_Sensor_TemperatureResolution a sosa:Property , system:Resolution , schema:PropertyValue ; sosa:forProperty qk:Temperature ; sosa:isPropertyOf ex:Air ; schema:value 0.0625 ; - qudt:unit unit:DEG_C . - + qudt:unit unit:DEG_C ; +. ex:IP68_Outdoor_Temperature_Sensor_BatteryResolution a sosa:Property , system:Resolution , schema:PropertyValue ; sosa:forProperty ex:Sensor_SL-T-P1_battery ; schema:value "3.937e-3" ; - qudt:unit unit:PERCENT . - + qudt:unit unit:PERCENT ; +. ex:Air_4575_485 a sosa:Sample ; rdfs:label "The air at lat 45.75 and long 4.85."@en ; sosa:isSampleOf ex:Air ; @@ -81,8 +79,8 @@ ex:Air_4575_485 a sosa:Sample ; a geo:Point ; geo:asWKT "POINT (4.85 45.75)"^^geo:WktLiteral ; ] ; - sosa:hasProperty qk:Temperature . - + sosa:hasProperty qk:Temperature ; +. ex:Sensor_SL-T-P1 a gr:ProductOrService, sosa:Sensor , seas:LoRaCommunicationDevice , ex:IP68_Outdoor_Temperature_Sensor ; gr:hasBrand [ a gr:Brand ; gr:name "Sensing Labs"@en ] ; geo:alt 100.0 ; @@ -91,25 +89,25 @@ ex:Sensor_SL-T-P1 a gr:ProductOrService, sosa:Sensor , seas:LoRaCommunicationDev sosa:implements ex:IP68_Outdoor_Temperature_Sensor_temperatureSensingProcedure ; sosa:implements ex:IP68_Outdoor_Temperature_Sensor_batterySensingProcedure ; sosa:observes ex:Sensor_SL-T-P1_battery ; - sosa:observes qk:Temperature . - + sosa:observes qk:Temperature ; +. ex:Deployment_SL-T-P1_2017-06-06 a sosa:Deployment ; sosa:deployedSystem ex:Sensor_SL-T-P1 ; sosa:startTime "2017-06-06"^^xsd:date ; prov:wasAssociatedWith ex:Organization_1 ; - sosa:deployedOnPlatform ex:Tree_1 . - + sosa:deployedOnPlatform ex:Tree_1 ; +. ex:Observation_5872357_temperature a sosa:Observation ; sosa:hasSimpleResult "64.5244681928429 Cel"^^cdt:ucum ; sosa:madeBySensor ex:Sensor_SL-T-P1 ; sosa:hasFeatureOfInterest ex:Air_4575_485 ; sosa:observedProperty qk:Temperature ; - sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . - + sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime ; +. ex:Observation_5872357_battery a sosa:Observation ; sosa:hasSimpleResult "73.2 %"^^cdt:ucum ; sosa:madeBySensor ex:Sensor_SL-T-P1 ; sosa:hasFeatureOfInterest ex:Sensor_SL-T-P1 ; sosa:observedProperty ex:Sensor_SL-T-P1_battery ; - sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime . - + sosa:resultTime "2017-06-20T21:49:18+00:00"^^xsd:dateTime ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/iphone_barometer-sosa.ttl b/ssn/rdf/examples/iphone_barometer-sosa.ttl index f8f29bd3..9eaacb55 100644 --- a/ssn/rdf/examples/iphone_barometer-sosa.ttl +++ b/ssn/rdf/examples/iphone_barometer-sosa.ttl @@ -11,33 +11,33 @@ ex:iphone_barometer-sosa a owl:Ontology ; rdfs:comment "The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 observed on June 6 2017 using only the SOSA core."@en ; - . +. # The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 observed on June 6 2017 -# using only the SOSA core. +# using only the SOSA core ex:EarthAtmosphere rdf:type sosa:FeatureOfInterest ; - rdfs:label "Atmosphere of Earth"@en . - -# An iPhone 7 as the Platform that hosts several sensors, among others the Bosch Sensortec BMP282 atmospheric pressure sensor. + rdfs:label "Atmosphere of Earth"@en ; +. +# An iPhone 7 as the Platform that hosts several sensors, among others the Bosch Sensortec BMP282 atmospheric pressure sensor ex:iphone7_35-207306-844818-0 a sosa:Platform ; rdfs:label "IPhone 7 - IMEI 35-207306-844818-0"@en ; rdfs:comment "IPhone 7 - IMEI 35-207306-844818-0 - John Doe"@en ; - sosa:hosts ex:sensor_35-207306-844818-0_BMP282 . - + sosa:hosts ex:sensor_35-207306-844818-0_BMP282 ; +. ex:sensor_35-207306-844818-0_BMP282 rdf:type sosa:Sensor ; rdfs:label "Bosch Sensortec BMP282"@en ; - sosa:observes qk:AtmosphericPressure . - -# An observation made by the Bosch Sensortec BMP282 atmospheric pressure sensor. + sosa:observes qk:AtmosphericPressure ; +. +# An observation made by the Bosch Sensortec BMP282 atmospheric pressure sensor ex:Observation_346344 rdf:type sosa:Observation ; sosa:observedProperty qk:AtmosphericPressure ; sosa:hasFeatureOfInterest ex:EarthAtmosphere ; sosa:madeBySensor ex:sensor_35-207306-844818-0_BMP282 ; sosa:hasSimpleResult "1021.45"^^unit:HectoPA ; - sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime . - + sosa:resultTime "2017-06-06T12:36:12Z"^^xsd:dateTime ; +. # Another observation made a second later by the Bosch Sensortec BMP282 atmospheric pressure sensor rdf:type sosa:Observation ; @@ -48,5 +48,5 @@ ex:Observation_346344 rdf:type sosa:Observation ; rdf:type qudt:QuantityValue ; qudt:numericValue "101936"^^xsd:double ; qudt:hasUnit unit:PA ] ; - sosa:resultTime "2017-06-06T12:36:13+00:00"^^xsd:dateTime . - \ No newline at end of file + sosa:resultTime "2017-06-06T12:36:13+00:00"^^xsd:dateTime ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/open-window.ttl b/ssn/rdf/examples/open-window.ttl index 2a8d4709..53afa893 100644 --- a/ssn/rdf/examples/open-window.ttl +++ b/ssn/rdf/examples/open-window.ttl @@ -6,18 +6,19 @@ @base . ex:window98 rdf:type sosa:FeatureOfInterest ; - sosa:hasProperty ex:openState . - -ex:openState rdf:type sosa:Property . - -ex:closer-987 rdf:type ex:WindowCloser , sosa:Actuator . - -ex:WindowCloser rdfs:subClassOf sosa:Actuator . - + sosa:hasProperty ex:openState ; +. +ex:openState rdf:type sosa:Property ; +. +ex:closer-987 rdf:type ex:WindowCloser , sosa:Actuator ; +. +ex:WindowCloser rdfs:subClassOf sosa:Actuator ; +. ex:A188 rdf:type sosa:Actuation ; sosa:hasFeatureOfInterest ex:window98 ; sosa:actsOnProperty ex:openState ; sosa:madeByActuator ex:closer-987 ; sosa:hasSimpleResult true ; sosa:startTime "2017-04-18T17:23:00+02:00"^^xsd:dateTimeStamp ; - sosa:endTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp . + sosa:endTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp ; +. diff --git a/ssn/rdf/examples/sample-relations.ttl b/ssn/rdf/examples/sample-relations.ttl index 06a58893..8ce74887 100644 --- a/ssn/rdf/examples/sample-relations.ttl +++ b/ssn/rdf/examples/sample-relations.ttl @@ -1,7 +1,3 @@ -# baseURI: http://example.org/data/sample-relations -# imports: http://www.w3.org/ns/sosa/sampling -# prefix: relex - @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -9,6 +5,7 @@ @prefix sampling: . @prefix sosa: . @prefix xsd: . +@base . rdf:type owl:Ontology ; diff --git a/ssn/rdf/examples/seismograph.ttl b/ssn/rdf/examples/seismograph.ttl index bd273fe7..38bf8b88 100644 --- a/ssn/rdf/examples/seismograph.ttl +++ b/ssn/rdf/examples/seismograph.ttl @@ -12,28 +12,28 @@ # Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured # a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific -# Daylight Time. +# Daylight Time ex:VCAB-DP1-BP-40 a sosa:Sensor ; rdfs:label "seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca)"@en ; rdfs:seeAlso ; - sosa:observes ex:groundDisplacementSpeed . - + sosa:observes ex:groundDisplacementSpeed ; +. ex:VCAB-DP1-BP-40_location a sosa:Sample ; rdfs:label "location of VCAB-DP1-BP-40"@en ; geo:hasGeometry [ a geo:Point ; geo:asWKT "POINT (-120.6195831 35.8648067)"^^geo:WktLiteral ; ] ; - sosa:isSampleOf . - + sosa:isSampleOf ; +. a sosa:FeatureOfInterest ; - rdfs:label "Earth" . - + rdfs:label "Earth" ; +. ex:groundDisplacementSpeed a sosa:Property ; rdfs:label "ground displacement speed"@en ; - skos:broader qk:Speed . - + skos:broader qk:Speed ; +. ex:VCAB-DP1-BP-40_t2017-04-18T08%3A23%3A00-07%3A00 a sosa:Observation ; sosa:madeBySensor ex:VCAB-DP1-BP-40 ; sosa:hasFeatureOfInterest ex:VCAB-DP1-BP-40_location ; @@ -42,4 +42,5 @@ ex:VCAB-DP1-BP-40_t2017-04-18T08%3A23%3A00-07%3A00 a sosa:Observation ; rdf:type qudt:QuantityValue ; qudt:numericValue "5e-4"^^xsd:double ; qudt:hasUnit unit:CentiM-PER-SEC ] ; - sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . + sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/smiley.ttl b/ssn/rdf/examples/smiley.ttl index 1db15f5d..b1bf637d 100644 --- a/ssn/rdf/examples/smiley.ttl +++ b/ssn/rdf/examples/smiley.ttl @@ -4,6 +4,7 @@ @prefix sosa: . @prefix time: . @prefix xsd: . +@base . # Determing the color of a smiley face sticker, including sampling from a population of smiley stickers @@ -12,27 +13,27 @@ ex:SmileySticker rdf:type sosa:FeatureOfInterest ; rdfs:label "Smiley face sticker"@en ; - sosa:hasProperty ex:stickerColor . - + sosa:hasProperty ex:stickerColor ; +. ex:StickerColor rdf:type sosa:Property; - rdfs:label "The color of a sticker"@en . - + rdfs:label "The color of a sticker"@en ; +. ex:ColorDetermination rdf:type sosa:Procedure ; rdfs:label "Procedure for determining the color of a sticker"@en ; - sosa:forProperty ex:StickerColor . - + sosa:forProperty ex:StickerColor ; +. ex:ColorDeterminer rdf:type sosa:Sensor; rdfs:label "Sensor for determining the color of a sticker"@en ; - sosa:observes ex:StickerColor . - + sosa:observes ex:StickerColor ; +. ex:StickerAssayOffice rdf:type sosa:Platform; rdfs:label "Assay office for determining the color of a sticker"@en ; - sosa:hosts ex:ColorDeterminer . - + sosa:hosts ex:ColorDeterminer ; +. # Adding an Observation ex:Observation-Smiley-Color @@ -46,8 +47,8 @@ ex:Observation-Smiley-Color rdf:type time:Instant ; time:inXSDDateTimeStamp "2017-04-15T00:00:00+00:00"^^xsd:dateTimeStamp ] ; - sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp . - + sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp ; +. # Sampling of the SmileySticker from a wider population of smiley face stickers # First setting up all the basics: FeatureOfInterest, Sampler, Procedure @@ -55,17 +56,17 @@ ex:Observation-Smiley-Color ex:SmileyPopulation rdf:type sosa:FeatureOfInterest ; rdfs:label "A population of smiley face stickers"@en ; - sosa:hasProperty ex:stickerColor . - + sosa:hasProperty ex:stickerColor ; +. ex:SmileySamplingProcedure rdf:type sosa:Procedure ; - rdfs:label "Procedure for sampling smiley stickers"@en . - + rdfs:label "Procedure for sampling smiley stickers"@en ; +. ex:SmileySampler rdf:type sosa:Sampler ; rdfs:label "Smiley sticker sampler"@en ; - sosa:implements ex:SmileySamplingProcedure . - + sosa:implements ex:SmileySamplingProcedure ; +. # Adding a Sampling act ex:SmileySampling @@ -74,4 +75,5 @@ ex:SmileySampling sosa:hasFeatureOfInterest ex:SmileyPopulation ; sosa:usedProcedure ex:SmileySamplingProcedure ; sosa:madeBySampler ex:SmileySampler ; - sosa:hasResult ex:SmileySticker . + sosa:hasResult ex:SmileySticker ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/spinning-cups.ttl b/ssn/rdf/examples/spinning-cups.ttl index 7cd9860f..6b204cb6 100644 --- a/ssn/rdf/examples/spinning-cups.ttl +++ b/ssn/rdf/examples/spinning-cups.ttl @@ -10,45 +10,46 @@ @base . # movements of spinning cups on wind sensor #14 serves as proxies for the wind speed -# at the location of the wind sensor. +# at the location of the wind sensor ex:windSensor_14 rdf:type sosa:Sensor ; - sosa:observes ex:windSpeed . - + sosa:observes ex:windSpeed ; +. ex:windSpeed a sosa:Property ; rdfs:label "wind speed"@en ; - skos:broader qk:Speed . - + skos:broader qk:Speed ; +. ex:location_4687 a sosa:Platform ; - sosa:hosts ex:windSensor_14 . - -# observation #147 was originated by the movement of the spinning cups of sensor #14. + sosa:hosts ex:windSensor_14 ; +. +# observation #147 was originated by the movement of the spinning cups of sensor #14 ex:observation_147 rdf:type sosa:Observation ; sosa:observedProperty ex:windSpeed ; sosa:madeBySensor ex:windSensor_14 ; sosa:wasOriginatedBy ex:observation_147_spinningCupsMovement ; sosa:resultTime "2017-04-12T12:00:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "47"^^unit:KiloM-PER-HR . - + sosa:hasSimpleResult "47"^^unit:KiloM-PER-HR ; +. # wind sensor #14 detected some movement of spinning cups, from which originated the -# observations #147 and #148. +# observations #147 and #148 ex:windSensor_14 rdf:type sosa:Sensor ; sosa:madeObservation ex:observation_147 , ex:observation_148 ; - sosa:detects ex:observation_147_spinningCupsMovement , ex:observation_148_spinningCupsMovement . - -# observation #147 was originated by the movement of the spinning cups of sensor #14. + sosa:detects ex:observation_147_spinningCupsMovement , ex:observation_148_spinningCupsMovement ; +. +# observation #147 was originated by the movement of the spinning cups of sensor #14 ex:observation_147_spinningCupsMovement rdf:type sosa:Stimulus ; - sosa:isProxyFor ex:windSpeed . - + sosa:isProxyFor ex:windSpeed ; +. ex:observation_148 rdf:type sosa:Observation ; sosa:observedProperty ex:windSpeed ; sosa:madeBySensor ex:windSensor_14 ; sosa:wasOriginatedBy ex:observation_148_spinningCupsMovement ; sosa:resultTime "2017-04-12T12:01:00Z"^^xsd:dateTime ; - sosa:hasSimpleResult "47"^^unit:KiloM-PER-HR . - + sosa:hasSimpleResult "47"^^unit:KiloM-PER-HR ; +. ex:observation_148_spinningCupsMovement rdf:type sosa:Stimulus ; - sosa:isProxyFor ex:windSpeed . \ No newline at end of file + sosa:isProxyFor ex:windSpeed ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/sunspots.ttl b/ssn/rdf/examples/sunspots.ttl index ac4b7524..fc62e9b9 100644 --- a/ssn/rdf/examples/sunspots.ttl +++ b/ssn/rdf/examples/sunspots.ttl @@ -9,7 +9,7 @@ @base . # The result of an observation of the sunspot number is available a few minutes -# after the phenomenon time, due to the light travel duration. +# after the phenomenon time, due to the light travel duration rdf:type sosa:Observation ; sosa:observedProperty ex:sunspotCount ; @@ -18,11 +18,11 @@ sosa:phenomenonTime [ rdf:type time:Instant ; time:inXSDDateTimeStamp "2017-03-31T11:51:42+00:00"^^xsd:dateTimeStamp ] ; - sosa:resultTime "2017-03-31T12:00:00+00:00"^^xsd:dateTimeStamp . - + sosa:resultTime "2017-03-31T12:00:00+00:00"^^xsd:dateTimeStamp ; +. ex:sunspotCount rdf:type sosa:Property ; skos:broader qk:Count ; . - a sosa:FeatureOfInterest ; - rdfs:label "Sun" . \ No newline at end of file + rdfs:label "Sun" ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/tree-height.ttl b/ssn/rdf/examples/tree-height.ttl index db35a25c..100bae47 100644 --- a/ssn/rdf/examples/tree-height.ttl +++ b/ssn/rdf/examples/tree-height.ttl @@ -9,13 +9,12 @@ @base . # rangefinder #30 is a laser range finder sensor that was used -# to observe the height of tree #124 and #125. +# to observe the height of tree #124 and #125 ex:rangefinder_30 a sosa:Sensor ; rdfs:label "rangefinder #30"@en ; rdfs:comment "rangefinder #30 is a laser range finder sensor."@en ; . - ex:observation_1087 a sosa:Observation ; rdfs:label "observation #1087"@en ; sosa:hasFeatureOfInterest ex:tree_124 ; @@ -25,7 +24,7 @@ ex:observation_1087 a sosa:Observation ; qudt:hasUnit unit:M ; qudt:numericValue "15.3"^^xsd:double ] ; . - ex:tree_124 a sosa:FeatureOfInterest ; rdfs:label "tree #124"@en ; - sosa:hasProperty qk:Height . + sosa:hasProperty qk:Height ; +. \ No newline at end of file From db485579f8e75088ff286dede7fcab675e32e09e Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 29 Jan 2025 17:54:20 +1100 Subject: [PATCH 53/74] http://example --> https://example consistently --- .../rdf/examples/MODIS-t-series.ttl | 6 +- ssn-extensions/rdf/examples/MODIS-t.ttl | 6 +- .../rdf/examples/Sample-chain-geology.ttl | 6 +- ssn-extensions/rdf/examples/ssn-ext-OA1.ttl | 8 +- ssn-extensions/rdf/examples/ssn-ext-OA2.ttl | 8 +- ssn-extensions/rdf/examples/ssn-ext-OA3.ttl | 8 +- ssn-extensions/rdf/examples/ssn-ext-OC1-1.ttl | 6 +- ssn-extensions/rdf/examples/ssn-ext-OC1-2.ttl | 6 +- ssn-extensions/rdf/examples/ssn-ext-SA1.ttl | 8 +- ssn-extensions/rdf/examples/ssn-ext-SA2.ttl | 8 +- ssn-extensions/rdf/examples/ssn-ext-SA3.ttl | 8 +- ssn-extensions/rdf/ssn-ext-tests-target.ttl | 126 +++++++++--------- ssn-extensions/rdf/ssn-ext-tests.ttl | 82 ++++++------ ssn-extensions/rdf/ssn-ext.ttl | 2 +- .../rdf/tests/ssn-ext-test1-result.ttl | 10 +- ssn-extensions/rdf/tests/ssn-ext-test1.ttl | 6 +- .../rdf/tests/ssn-ext-test2-result.ttl | 10 +- ssn-extensions/rdf/tests/ssn-ext-test2.ttl | 6 +- .../rdf/tests/ssn-ext-test3-result-1.ttl | 10 +- .../rdf/tests/ssn-ext-test3-result-2.ttl | 10 +- ssn-extensions/rdf/tests/ssn-ext-test3.ttl | 6 +- .../rdf/tests/ssn-ext-test4-result.ttl | 10 +- ssn-extensions/rdf/tests/ssn-ext-test4.ttl | 6 +- ssn-extensions/rdf/tests/ssn-ext-tests.ttl | 6 +- .../examples/01-observation-collection.ttl | 2 +- .../examples/02-homo-vs-summar-collection.ttl | 2 +- ssn/rdf/examples/2017/2017ex10.ttl | 2 +- ssn/rdf/examples/2017/2017ex11.ttl | 2 +- ssn/rdf/examples/2017/2017ex12.ttl | 2 +- ssn/rdf/examples/2017/2017ex13.ttl | 2 +- ssn/rdf/examples/2017/2017ex14.ttl | 2 +- ssn/rdf/examples/2017/2017ex15.ttl | 2 +- ssn/rdf/examples/2017/2017ex16.ttl | 2 +- ssn/rdf/examples/2017/2017ex17.ttl | 2 +- ssn/rdf/examples/2017/2017ex18.ttl | 2 +- ssn/rdf/examples/2017/2017ex19.ttl | 2 +- ssn/rdf/examples/2017/2017ex20.ttl | 2 +- ssn/rdf/examples/2017/2017ex21.ttl | 4 +- ssn/rdf/examples/2017/2017ex22.ttl | 2 +- ssn/rdf/examples/2017/2017ex23.ttl | 2 +- ssn/rdf/examples/2017/2017ex24.ttl | 2 +- ssn/rdf/examples/2017/2017ex4.ttl | 2 +- ssn/rdf/examples/2017/2017ex5.ttl | 2 +- ssn/rdf/examples/2017/2017ex6.ttl | 2 +- ssn/rdf/examples/2017/2017ex7.ttl | 2 +- ssn/rdf/examples/2017/2017ex8.ttl | 2 +- ssn/rdf/examples/2017/2017ex9.ttl | 2 +- ssn/rdf/examples/IDEAS.ttl | 4 +- ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl | 2 +- ssn/rdf/examples/InkBird.ttl | 2 +- ssn/rdf/examples/LocatedDeployment.ttl | 2 +- ssn/rdf/examples/LocatedPlatform.ttl | 2 +- ssn/rdf/examples/LocatedSensor.ttl | 2 +- ssn/rdf/examples/SC1.ttl | 4 +- ssn/rdf/examples/Sample-ice-core-bubble.ttl | 2 +- ssn/rdf/examples/UOM-OM2.ttl | 2 +- ssn/rdf/examples/UOM-cdt.ttl | 2 +- ssn/rdf/examples/UOM-qudt-datatype.ttl | 2 +- ssn/rdf/examples/UOM-qudt-object.ttl | 2 +- ssn/rdf/examples/apartment-134.ttl | 4 +- ssn/rdf/examples/dht22-deployment.ttl | 4 +- ssn/rdf/examples/dht22.ttl | 4 +- ssn/rdf/examples/diet.ttl | 2 +- ssn/rdf/examples/forecast.ttl | 4 +- ssn/rdf/examples/historical-airtemp.ttl | 4 +- ssn/rdf/examples/ip68.ttl | 2 +- ssn/rdf/examples/iphone_barometer-sosa.ttl | 4 +- ssn/rdf/examples/open-window.ttl | 4 +- ssn/rdf/examples/paleo-atmosphere.ttl | 2 +- ssn/rdf/examples/sample-relations.ttl | 6 +- ssn/rdf/examples/seismograph.ttl | 4 +- ssn/rdf/examples/smiley.ttl | 4 +- ssn/rdf/examples/spinning-cups.ttl | 4 +- ssn/rdf/examples/sunspots.ttl | 4 +- ssn/rdf/examples/tree-height.ttl | 4 +- ssn/rdf/examples/unused/2023ex-location.ttl | 2 +- ssn/rdf/examples/unused/2023ex1.ttl | 2 +- ssn/rdf/examples/unused/2024ex-uomtype.ttl | 2 +- ssn/rdf/examples/unused/house134.ttl | 4 +- ssn/rdf/examples/unused/om-20.ttl | 12 +- .../examples/unused/sosa-core_examples.ttl | 4 +- ssn/rdf/examples/unused/vistavital-a-sdo.ttl | 36 ++--- ssn/rdf/ontology/alignments/sosa-sdo.ttl | 6 +- ssn/rdf/tests/Actuation/2017ex10.ttl | 58 ++++---- ssn/rdf/tests/Actuation/2017ex11.ttl | 2 +- ssn/rdf/tests/Deployment/2017ex23.ttl | 2 +- ssn/rdf/tests/FoI/2017ex14.ttl | 2 +- ssn/rdf/tests/FoI/2017ex19.ttl | 2 +- ssn/rdf/tests/FoI/2017ex20.ttl | 2 +- ssn/rdf/tests/FoI/2017ex23.ttl | 2 +- ssn/rdf/tests/FoI/2017ex24.ttl | 2 +- ssn/rdf/tests/FoI/2017ex8.ttl | 2 +- ssn/rdf/tests/ObservationCollection/OC1.ttl | 2 +- ssn/rdf/tests/ObservationCollection/OC2.ttl | 2 +- ssn/rdf/tests/Platform/2017ex23.ttl | 2 +- ssn/rdf/tests/Platform/2017ex24.ttl | 2 +- ssn/rdf/tests/Platform/2017ex8.ttl | 2 +- ssn/rdf/tests/Procedure/2017ex21.ttl | 4 +- ssn/rdf/tests/Procedure/2017ex8.ttl | 2 +- ssn/rdf/tests/Sample/2017ex19.ttl | 2 +- ssn/rdf/tests/Sample/2017ex20.ttl | 2 +- ssn/rdf/tests/Sample/2017ex23.ttl | 2 +- ssn/rdf/tests/Sample/2017ex24.ttl | 2 +- ssn/rdf/tests/SampleCollection/SC1.ttl | 2 +- ssn/rdf/tests/Sampling/2017ex19.ttl | 2 +- ssn/rdf/tests/Sampling/2017ex20.ttl | 2 +- ssn/rdf/tests/System/2017ex10.ttl | 2 +- ssn/rdf/tests/System/2017ex11.ttl | 2 +- ssn/rdf/tests/System/2017ex14.ttl | 2 +- ssn/rdf/tests/System/2017ex17.ttl | 2 +- ssn/rdf/tests/System/2017ex18.ttl | 2 +- ssn/rdf/tests/System/2017ex21.ttl | 4 +- ssn/rdf/tests/System/2017ex22.ttl | 2 +- ssn/rdf/tests/System/2017ex23.ttl | 2 +- 114 files changed, 347 insertions(+), 347 deletions(-) diff --git a/ssn-extensions/rdf/examples/MODIS-t-series.ttl b/ssn-extensions/rdf/examples/MODIS-t-series.ttl index dd992b80..e1eb93f2 100644 --- a/ssn-extensions/rdf/examples/MODIS-t-series.ttl +++ b/ssn-extensions/rdf/examples/MODIS-t-series.ttl @@ -1,8 +1,8 @@ -# baseURI: http://example.org/MODIS-t-series +# baseURI: https://example.org/MODIS-t-series # imports: http://www.w3.org/2006/time # imports: http://www.w3.org/ns/ssn/ext -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -10,7 +10,7 @@ @prefix time: . @prefix xsd: . - + a owl:Ontology ; owl:imports ; owl:imports ; diff --git a/ssn-extensions/rdf/examples/MODIS-t.ttl b/ssn-extensions/rdf/examples/MODIS-t.ttl index fb78f031..e77b41d8 100644 --- a/ssn-extensions/rdf/examples/MODIS-t.ttl +++ b/ssn-extensions/rdf/examples/MODIS-t.ttl @@ -1,8 +1,8 @@ -# baseURI: http://example.org/MODIS-t +# baseURI: https://example.org/MODIS-t # imports: http://www.w3.org/2006/time # imports: http://www.w3.org/ns/ssn/ext -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -10,7 +10,7 @@ @prefix time: . @prefix xsd: . - + a owl:Ontology ; owl:imports ; owl:imports ; diff --git a/ssn-extensions/rdf/examples/Sample-chain-geology.ttl b/ssn-extensions/rdf/examples/Sample-chain-geology.ttl index 245bca8b..71d48853 100644 --- a/ssn-extensions/rdf/examples/Sample-chain-geology.ttl +++ b/ssn-extensions/rdf/examples/Sample-chain-geology.ttl @@ -1,7 +1,7 @@ -# baseURI: http://example.org/Sample-chain-geology +# baseURI: https://example.org/Sample-chain-geology # imports: http://www.w3.org/ns/ssn/ext -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -9,7 +9,7 @@ @prefix ssn: . @prefix xsd: . - + a owl:Ontology ; owl:imports ssn:ext ; . diff --git a/ssn-extensions/rdf/examples/ssn-ext-OA1.ttl b/ssn-extensions/rdf/examples/ssn-ext-OA1.ttl index b7c72a24..1874f25f 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-OA1.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-OA1.ttl @@ -1,8 +1,8 @@ -# baseURI: http://example.org/ssn-ext-OA1 +# baseURI: https://example.org/ssn-ext-OA1 # imports: http://www.w3.org/ns/ssn/ext -@prefix : . -@prefix ex: . +@prefix : . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -10,7 +10,7 @@ @prefix ssn: . @prefix xsd: . - + a owl:Ontology ; owl:imports ssn:ext ; . diff --git a/ssn-extensions/rdf/examples/ssn-ext-OA2.ttl b/ssn-extensions/rdf/examples/ssn-ext-OA2.ttl index 2ce21981..9688c5e9 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-OA2.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-OA2.ttl @@ -1,8 +1,8 @@ -# baseURI: http://example.org/ssn-ext-OA2 +# baseURI: https://example.org/ssn-ext-OA2 # imports: http://www.w3.org/ns/ssn/ext -@prefix : . -@prefix ex: . +@prefix : . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -10,7 +10,7 @@ @prefix ssn: . @prefix xsd: . - + a owl:Ontology ; owl:imports ssn:ext ; . diff --git a/ssn-extensions/rdf/examples/ssn-ext-OA3.ttl b/ssn-extensions/rdf/examples/ssn-ext-OA3.ttl index 9f9008f4..fab913fe 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-OA3.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-OA3.ttl @@ -1,8 +1,8 @@ -# baseURI: http://example.org/ssn-ext-OA3 +# baseURI: https://example.org/ssn-ext-OA3 # imports: http://www.w3.org/ns/ssn/ext -@prefix : . -@prefix ex: . +@prefix : . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -10,7 +10,7 @@ @prefix ssn: . @prefix xsd: . - + a owl:Ontology ; owl:imports ssn:ext ; . diff --git a/ssn-extensions/rdf/examples/ssn-ext-OC1-1.ttl b/ssn-extensions/rdf/examples/ssn-ext-OC1-1.ttl index 70c70800..f4681faf 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-OC1-1.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-OC1-1.ttl @@ -1,8 +1,8 @@ -# baseURI: http://example.org/ssn-ext-OC1-1 +# baseURI: https://example.org/ssn-ext-OC1-1 # imports: http://www.w3.org/2006/time # imports: http://www.w3.org/ns/ssn/ext -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -11,7 +11,7 @@ @prefix time: . @prefix xsd: . - + a owl:Ontology ; owl:imports ; owl:imports ssn:ext ; diff --git a/ssn-extensions/rdf/examples/ssn-ext-OC1-2.ttl b/ssn-extensions/rdf/examples/ssn-ext-OC1-2.ttl index 8eb06f4c..c702a7a4 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-OC1-2.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-OC1-2.ttl @@ -1,8 +1,8 @@ -# baseURI: http://example.org/ssn-ext-OC1-2 +# baseURI: https://example.org/ssn-ext-OC1-2 # imports: http://www.w3.org/2006/time # imports: http://www.w3.org/ns/ssn/ext -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -11,7 +11,7 @@ @prefix time: . @prefix xsd: . - + a owl:Ontology ; owl:imports ; owl:imports ssn:ext ; diff --git a/ssn-extensions/rdf/examples/ssn-ext-SA1.ttl b/ssn-extensions/rdf/examples/ssn-ext-SA1.ttl index f96436a6..7f3ff5c6 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-SA1.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-SA1.ttl @@ -1,8 +1,8 @@ -# baseURI: http://example.org/ssn-ext-SA1 +# baseURI: https://example.org/ssn-ext-SA1 # imports: http://www.w3.org/ns/ssn/ext -@prefix : . -@prefix ex: . +@prefix : . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -10,7 +10,7 @@ @prefix ssn: . @prefix xsd: . - + a owl:Ontology ; owl:imports ssn:ext ; . diff --git a/ssn-extensions/rdf/examples/ssn-ext-SA2.ttl b/ssn-extensions/rdf/examples/ssn-ext-SA2.ttl index 38bb0c23..e730c346 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-SA2.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-SA2.ttl @@ -1,8 +1,8 @@ -# baseURI: http://example.org/ssn-ext-SA2 +# baseURI: https://example.org/ssn-ext-SA2 # imports: http://www.w3.org/ns/ssn/ext -@prefix : . -@prefix ex: . +@prefix : . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -10,7 +10,7 @@ @prefix ssn: . @prefix xsd: . - + a owl:Ontology ; owl:imports ssn:ext ; . diff --git a/ssn-extensions/rdf/examples/ssn-ext-SA3.ttl b/ssn-extensions/rdf/examples/ssn-ext-SA3.ttl index 9916c1ef..f0bfea94 100644 --- a/ssn-extensions/rdf/examples/ssn-ext-SA3.ttl +++ b/ssn-extensions/rdf/examples/ssn-ext-SA3.ttl @@ -1,8 +1,8 @@ -# baseURI: http://example.org/ssn-ext-SA3 +# baseURI: https://example.org/ssn-ext-SA3 # imports: http://www.w3.org/ns/ssn/ext -@prefix : . -@prefix ex: . +@prefix : . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -10,7 +10,7 @@ @prefix ssn: . @prefix xsd: . - + a owl:Ontology ; owl:imports ssn:ext ; . diff --git a/ssn-extensions/rdf/ssn-ext-tests-target.ttl b/ssn-extensions/rdf/ssn-ext-tests-target.ttl index d455103d..a5e0debe 100644 --- a/ssn-extensions/rdf/ssn-ext-tests-target.ttl +++ b/ssn-extensions/rdf/ssn-ext-tests-target.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/ssn-ext-examples +# baseURI: https://example.org/ssn-ext-examples # imports: http://www.w3.org/ns/ssn-ext/ # prefix: ssn-ext-examples @@ -8,15 +8,15 @@ @prefix rdfs: . @prefix sosa: . @prefix ssn-ext: . -@prefix ssn-ext-examples: . +@prefix ssn-ext-examples: . @prefix time: . @prefix xsd: . - + rdf:type sosa:Observation ; - sosa:hasFeatureOfInterest ; - sosa:madeBySensor ; - sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:ProperInterval ; time:hasBeginning [ @@ -24,14 +24,14 @@ time:inXSDDateTime "2018-03-10T15:07:00.00+10:00"^^xsd:dateTime ; ] ; ] ; - sosa:usedProcedure ; - ssn-ext:hasUltimateFeatureOfInterest ; + sosa:usedProcedure ; + ssn-ext:hasUltimateFeatureOfInterest ; . - + rdf:type sosa:Observation ; - sosa:hasFeatureOfInterest ; - sosa:madeBySensor ; - sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:ProperInterval ; time:hasBeginning [ @@ -39,14 +39,14 @@ time:inXSDDateTime "2018-03-10T15:07:00.00+10:00"^^xsd:dateTime ; ] ; ] ; - sosa:usedProcedure ; - ssn-ext:hasUltimateFeatureOfInterest ; + sosa:usedProcedure ; + ssn-ext:hasUltimateFeatureOfInterest ; . - + rdf:type sosa:Observation ; - sosa:hasFeatureOfInterest ; - sosa:madeBySensor ; - sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:ProperInterval ; time:hasBeginning [ @@ -54,15 +54,15 @@ time:inXSDDateTime "2018-03-10T15:07:00.00+10:00"^^xsd:dateTime ; ] ; ] ; - sosa:usedProcedure ; - ssn-ext:hasUltimateFeatureOfInterest ; + sosa:usedProcedure ; + ssn-ext:hasUltimateFeatureOfInterest ; . - + rdf:type sosa:Observation ; - sosa:hasFeatureOfInterest ; - sosa:hasResult ; - sosa:madeBySensor ; - sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:hasResult ; + sosa:madeBySensor ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:ProperInterval ; time:hasBeginning [ @@ -71,13 +71,13 @@ ] ; ] ; sosa:resultTime "2018-03-10T15:12:00+10:00"^^xsd:dateTime ; - sosa:usedProcedure ; - ssn-ext:hasUltimateFeatureOfInterest ; + sosa:usedProcedure ; + ssn-ext:hasUltimateFeatureOfInterest ; . - + rdf:type ssn-ext:ObservationCollection ; - sosa:madeBySensor ; - sosa:observedProperty ; + sosa:madeBySensor ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:ProperInterval ; time:hasBeginning [ @@ -85,15 +85,15 @@ time:inXSDDateTime "2018-03-10T15:07:00.00+10:00"^^xsd:dateTime ; ] ; ] ; - sosa:usedProcedure ; - ssn-ext:hasMember ; - ssn-ext:hasMember ; + sosa:usedProcedure ; + ssn-ext:hasMember ; + ssn-ext:hasMember ; . - + rdf:type ssn-ext:ObservationCollection ; - sosa:hasFeatureOfInterest ; - sosa:madeBySensor ; - sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:ProperInterval ; time:hasBeginning [ @@ -101,15 +101,15 @@ time:inXSDDateTime "2018-03-10T15:07:00.00+10:00"^^xsd:dateTime ; ] ; ] ; - sosa:usedProcedure ; - ssn-ext:hasMember ; - ssn-ext:hasMember ; + sosa:usedProcedure ; + ssn-ext:hasMember ; + ssn-ext:hasMember ; . - + rdf:type ssn-ext:ObservationCollection ; - sosa:hasFeatureOfInterest ; - sosa:madeBySensor ; - sosa:observedProperty ; + sosa:hasFeatureOfInterest ; + sosa:madeBySensor ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:ProperInterval ; time:hasBeginning [ @@ -117,46 +117,46 @@ time:inXSDDateTime "2018-03-10T15:07:00.00+10:00"^^xsd:dateTime ; ] ; ] ; - sosa:usedProcedure ; - ssn-ext:hasMember ; - ssn-ext:hasMember ; + sosa:usedProcedure ; + ssn-ext:hasMember ; + ssn-ext:hasMember ; . - + rdf:type sosa:Sample ; - sosa:isSampleOf ; + sosa:isSampleOf ; . - + rdf:type sosa:Sample ; - sosa:isSampleOf ; + sosa:isSampleOf ; . - + rdf:type sosa:Sample ; - sosa:isSampleOf ; + sosa:isSampleOf ; . - + rdf:type sosa:Sampling ; - sosa:hasFeatureOfInterest ; - sosa:hasResult ; + sosa:hasFeatureOfInterest ; + sosa:hasResult ; . - + rdf:type sosa:FeatureOfInterest ; . - + rdf:type sosa:FeatureOfInterest ; . - + rdf:type sosa:FeatureOfInterest ; . - + rdf:type sosa:ObservableProperty ; . - + rdf:type sosa:Procedure ; . - + rdf:type sosa:Sensor ; . - + rdf:type owl:Ontology ; dcterms:created "2018-03-10"^^xsd:date ; dcterms:creator ; diff --git a/ssn-extensions/rdf/ssn-ext-tests.ttl b/ssn-extensions/rdf/ssn-ext-tests.ttl index b7531d41..b92f9026 100644 --- a/ssn-extensions/rdf/ssn-ext-tests.ttl +++ b/ssn-extensions/rdf/ssn-ext-tests.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/ssn-ext-examples +# baseURI: https://example.org/ssn-ext-examples # imports: http://www.w3.org/ns/ssn-ext/shacl/ # prefix: ssn-ext-examples @@ -8,32 +8,32 @@ @prefix rdfs: . @prefix sosa: . @prefix ssn-ext: . -@prefix ssn-ext-examples: . +@prefix ssn-ext-examples: . @prefix time: . @prefix xsd: . - + rdf:type sosa:Observation ; - sosa:hasFeatureOfInterest ; - ssn-ext:hasUltimateFeatureOfInterest ; + sosa:hasFeatureOfInterest ; + ssn-ext:hasUltimateFeatureOfInterest ; . - + rdf:type sosa:Observation ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ; . - + rdf:type sosa:Observation ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ; . - + rdf:type sosa:Observation ; - sosa:hasResult ; + sosa:hasResult ; sosa:resultTime "2018-03-10T15:12:00+10:00"^^xsd:dateTime ; . - + rdf:type ssn-ext:ObservationCollection ; - sosa:madeBySensor ; - sosa:observedProperty ; + sosa:madeBySensor ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:ProperInterval ; time:hasBeginning [ @@ -41,58 +41,58 @@ time:inXSDDateTime "2018-03-10T15:07:00.00+10:00"^^xsd:dateTime ; ] ; ] ; - sosa:usedProcedure ; - ssn-ext:hasMember ; - ssn-ext:hasMember ; + sosa:usedProcedure ; + ssn-ext:hasMember ; + ssn-ext:hasMember ; . - + rdf:type ssn-ext:ObservationCollection ; - sosa:hasFeatureOfInterest ; - ssn-ext:hasMember ; - ssn-ext:hasMember ; + sosa:hasFeatureOfInterest ; + ssn-ext:hasMember ; + ssn-ext:hasMember ; . - + rdf:type ssn-ext:ObservationCollection ; - sosa:hasFeatureOfInterest ; - ssn-ext:hasMember ; - ssn-ext:hasMember ; + sosa:hasFeatureOfInterest ; + ssn-ext:hasMember ; + ssn-ext:hasMember ; . - + rdf:type sosa:Sample ; - sosa:isSampleOf ; + sosa:isSampleOf ; . - + rdf:type sosa:Sample ; - sosa:isSampleOf ; + sosa:isSampleOf ; . - + rdf:type sosa:Sample ; - sosa:isSampleOf ; + sosa:isSampleOf ; . - + rdf:type sosa:Sampling ; - sosa:hasFeatureOfInterest ; - sosa:hasResult ; + sosa:hasFeatureOfInterest ; + sosa:hasResult ; . - + rdf:type sosa:FeatureOfInterest ; . - + rdf:type sosa:FeatureOfInterest ; . - + rdf:type sosa:FeatureOfInterest ; . - + rdf:type sosa:ObservableProperty ; . - + rdf:type sosa:Procedure ; . - + rdf:type sosa:Sensor ; . - + rdf:type owl:Ontology ; dcterms:created "2018-03-10"^^xsd:date ; dcterms:creator ; diff --git a/ssn-extensions/rdf/ssn-ext.ttl b/ssn-extensions/rdf/ssn-ext.ttl index 793ba0cc..772f8197 100644 --- a/ssn-extensions/rdf/ssn-ext.ttl +++ b/ssn-extensions/rdf/ssn-ext.ttl @@ -2,7 +2,7 @@ # imports: http://www.w3.org/ns/ssn/ @prefix dcterms: . -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . diff --git a/ssn-extensions/rdf/tests/ssn-ext-test1-result.ttl b/ssn-extensions/rdf/tests/ssn-ext-test1-result.ttl index 58a90c90..9a15d204 100644 --- a/ssn-extensions/rdf/tests/ssn-ext-test1-result.ttl +++ b/ssn-extensions/rdf/tests/ssn-ext-test1-result.ttl @@ -1,6 +1,6 @@ -# baseURI: http://example.org/ssn-ext-test1-Export +# baseURI: https://example.org/ssn-ext-test1-Export -@base . +@base . @prefix skostemplate: . @prefix tagger: . @prefix owl: . @@ -27,7 +27,7 @@ @prefix foaf: . @prefix sosa: . @prefix safm: . -@prefix test: . +@prefix test: . @prefix skosspin: . @prefix edg: . @prefix voaf: . @@ -36,9 +36,9 @@ @prefix tbladmin: . @prefix spl: . @prefix jfn: . -@prefix ex: . +@prefix ex: . @prefix spr: . -@prefix lfunctions: . +@prefix lfunctions: . @prefix taxonomies: . @prefix schema: . @prefix fn: . diff --git a/ssn-extensions/rdf/tests/ssn-ext-test1.ttl b/ssn-extensions/rdf/tests/ssn-ext-test1.ttl index bf20a4c8..056aaa80 100644 --- a/ssn-extensions/rdf/tests/ssn-ext-test1.ttl +++ b/ssn-extensions/rdf/tests/ssn-ext-test1.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/ssn-ext-test1 +# baseURI: https://example.org/ssn-ext-test1 # imports: http://www.w3.org/ns/ssn/ext @prefix dcterms: . @@ -7,7 +7,7 @@ @prefix rdfs: . @prefix sosa: . @prefix ssn-ext: . -@prefix test: . +@prefix test: . @prefix time: . @prefix xsd: . @@ -46,7 +46,7 @@ test:foia test:foib a sosa:FeatureOfInterest ; . - + a owl:Ontology ; dcterms:created "2019-11-06"^^xsd:date ; dcterms:creator ; diff --git a/ssn-extensions/rdf/tests/ssn-ext-test2-result.ttl b/ssn-extensions/rdf/tests/ssn-ext-test2-result.ttl index def60905..ae40c206 100644 --- a/ssn-extensions/rdf/tests/ssn-ext-test2-result.ttl +++ b/ssn-extensions/rdf/tests/ssn-ext-test2-result.ttl @@ -1,6 +1,6 @@ -# baseURI: http://example.org/ssn-ext-test2-Export +# baseURI: https://example.org/ssn-ext-test2-Export -@base . +@base . @prefix skostemplate: . @prefix tagger: . @prefix owl: . @@ -27,7 +27,7 @@ @prefix foaf: . @prefix sosa: . @prefix safm: . -@prefix test: . +@prefix test: . @prefix skosspin: . @prefix edg: . @prefix voaf: . @@ -36,9 +36,9 @@ @prefix tbladmin: . @prefix spl: . @prefix jfn: . -@prefix ex: . +@prefix ex: . @prefix spr: . -@prefix lfunctions: . +@prefix lfunctions: . @prefix taxonomies: . @prefix schema: . @prefix fn: . diff --git a/ssn-extensions/rdf/tests/ssn-ext-test2.ttl b/ssn-extensions/rdf/tests/ssn-ext-test2.ttl index 414e3683..db3c0c08 100644 --- a/ssn-extensions/rdf/tests/ssn-ext-test2.ttl +++ b/ssn-extensions/rdf/tests/ssn-ext-test2.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/ssn-ext-test2 +# baseURI: https://example.org/ssn-ext-test2 # imports: http://www.w3.org/ns/ssn/ext @prefix dcterms: . @@ -7,7 +7,7 @@ @prefix rdfs: . @prefix sosa: . @prefix ssn-ext: . -@prefix test: . +@prefix test: . @prefix time: . @prefix xsd: . @@ -47,7 +47,7 @@ test:Sampling_4 test:foia a sosa:FeatureOfInterest ; . - + a owl:Ontology ; dcterms:created "2018-03-10"^^xsd:date ; dcterms:creator ; diff --git a/ssn-extensions/rdf/tests/ssn-ext-test3-result-1.ttl b/ssn-extensions/rdf/tests/ssn-ext-test3-result-1.ttl index 8d5951f3..a93109cc 100644 --- a/ssn-extensions/rdf/tests/ssn-ext-test3-result-1.ttl +++ b/ssn-extensions/rdf/tests/ssn-ext-test3-result-1.ttl @@ -1,6 +1,6 @@ -# baseURI: http://example.org/ssn-ext-test3-Export1 +# baseURI: https://example.org/ssn-ext-test3-Export1 -@base . +@base . @prefix skostemplate: . @prefix tagger: . @prefix owl: . @@ -27,7 +27,7 @@ @prefix foaf: . @prefix sosa: . @prefix safm: . -@prefix test: . +@prefix test: . @prefix skosspin: . @prefix edg: . @prefix voaf: . @@ -36,9 +36,9 @@ @prefix tbladmin: . @prefix spl: . @prefix jfn: . -@prefix ex: . +@prefix ex: . @prefix spr: . -@prefix lfunctions: . +@prefix lfunctions: . @prefix taxonomies: . @prefix schema: . @prefix fn: . diff --git a/ssn-extensions/rdf/tests/ssn-ext-test3-result-2.ttl b/ssn-extensions/rdf/tests/ssn-ext-test3-result-2.ttl index 2c58418d..dfbf0e45 100644 --- a/ssn-extensions/rdf/tests/ssn-ext-test3-result-2.ttl +++ b/ssn-extensions/rdf/tests/ssn-ext-test3-result-2.ttl @@ -1,6 +1,6 @@ -# baseURI: http://example.org/ssn-ext-test3-Export2 +# baseURI: https://example.org/ssn-ext-test3-Export2 -@base . +@base . @prefix skostemplate: . @prefix tagger: . @prefix owl: . @@ -27,7 +27,7 @@ @prefix foaf: . @prefix sosa: . @prefix safm: . -@prefix test: . +@prefix test: . @prefix skosspin: . @prefix edg: . @prefix voaf: . @@ -36,9 +36,9 @@ @prefix tbladmin: . @prefix spl: . @prefix jfn: . -@prefix ex: . +@prefix ex: . @prefix spr: . -@prefix lfunctions: . +@prefix lfunctions: . @prefix taxonomies: . @prefix schema: . @prefix fn: . diff --git a/ssn-extensions/rdf/tests/ssn-ext-test3.ttl b/ssn-extensions/rdf/tests/ssn-ext-test3.ttl index ace22dde..707419be 100644 --- a/ssn-extensions/rdf/tests/ssn-ext-test3.ttl +++ b/ssn-extensions/rdf/tests/ssn-ext-test3.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/ssn-ext-test3 +# baseURI: https://example.org/ssn-ext-test3 # imports: http://www.w3.org/ns/ssn/ext @prefix dcterms: . @@ -7,7 +7,7 @@ @prefix rdfs: . @prefix sosa: . @prefix ssn-ext: . -@prefix test: . +@prefix test: . @prefix time: . @prefix xsd: . @@ -30,7 +30,7 @@ test:Sample_4 test:foia a sosa:FeatureOfInterest ; . - + a owl:Ontology ; dcterms:created "2018-03-10"^^xsd:date ; dcterms:creator ; diff --git a/ssn-extensions/rdf/tests/ssn-ext-test4-result.ttl b/ssn-extensions/rdf/tests/ssn-ext-test4-result.ttl index 731a629e..664c54d0 100644 --- a/ssn-extensions/rdf/tests/ssn-ext-test4-result.ttl +++ b/ssn-extensions/rdf/tests/ssn-ext-test4-result.ttl @@ -1,6 +1,6 @@ -# baseURI: http://example.org/ssn-ext-test4-Export +# baseURI: https://example.org/ssn-ext-test4-Export -@base . +@base . @prefix skostemplate: . @prefix tagger: . @prefix owl: . @@ -27,7 +27,7 @@ @prefix foaf: . @prefix sosa: . @prefix safm: . -@prefix test: . +@prefix test: . @prefix skosspin: . @prefix edg: . @prefix voaf: . @@ -36,9 +36,9 @@ @prefix tbladmin: . @prefix spl: . @prefix jfn: . -@prefix ex: . +@prefix ex: . @prefix spr: . -@prefix lfunctions: . +@prefix lfunctions: . @prefix taxonomies: . @prefix schema: . @prefix fn: . diff --git a/ssn-extensions/rdf/tests/ssn-ext-test4.ttl b/ssn-extensions/rdf/tests/ssn-ext-test4.ttl index cbe8bbdb..2070420a 100644 --- a/ssn-extensions/rdf/tests/ssn-ext-test4.ttl +++ b/ssn-extensions/rdf/tests/ssn-ext-test4.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/ssn-ext-test4 +# baseURI: https://example.org/ssn-ext-test4 # imports: http://www.w3.org/ns/ssn/ext @prefix dcterms: . @@ -7,7 +7,7 @@ @prefix rdfs: . @prefix sosa: . @prefix ssn: . -@prefix test: . +@prefix test: . @prefix time: . @prefix xsd: . @@ -67,7 +67,7 @@ test:p3 test:s4 a sosa:Sensor ; . - + a owl:Ontology ; dcterms:created "2018-03-10"^^xsd:date ; dcterms:creator ; diff --git a/ssn-extensions/rdf/tests/ssn-ext-tests.ttl b/ssn-extensions/rdf/tests/ssn-ext-tests.ttl index b1c41882..e9dfaa90 100644 --- a/ssn-extensions/rdf/tests/ssn-ext-tests.ttl +++ b/ssn-extensions/rdf/tests/ssn-ext-tests.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/ssn-ext-tests +# baseURI: https://example.org/ssn-ext-tests # imports: http://www.w3.org/ns/ssn/ext @prefix dcterms: . @@ -7,7 +7,7 @@ @prefix rdfs: . @prefix sosa: . @prefix ssn-ext: . -@prefix test: . +@prefix test: . @prefix time: . @prefix xsd: . @@ -70,7 +70,7 @@ test:p3 test:s4 a sosa:Sensor ; . - + a owl:Ontology ; dcterms:created "2018-03-10"^^xsd:date ; dcterms:creator ; diff --git a/ssn/rdf/examples/01-observation-collection.ttl b/ssn/rdf/examples/01-observation-collection.ttl index b60c1001..0e596fac 100644 --- a/ssn/rdf/examples/01-observation-collection.ttl +++ b/ssn/rdf/examples/01-observation-collection.ttl @@ -1,7 +1,7 @@ # baseURI: https://raw.githubusercontent.com/w3c/sdw-sosa-ssn/ProcedureExecution-spec/ssn/examples/01-observation-collection.ttl # imports: http://www.w3.org/ns/sosa-collections/ -@prefix eg: . +@prefix eg: . @prefix owl: . @prefix rdf: . @prefix rdfs: . diff --git a/ssn/rdf/examples/02-homo-vs-summar-collection.ttl b/ssn/rdf/examples/02-homo-vs-summar-collection.ttl index 5d2b243b..2a04dcc6 100644 --- a/ssn/rdf/examples/02-homo-vs-summar-collection.ttl +++ b/ssn/rdf/examples/02-homo-vs-summar-collection.ttl @@ -9,7 +9,7 @@ @prefix time: . @prefix xsd: . -@prefix ex: . +@prefix ex: . ex:OC1 a sosa:ObservationCollection ; diff --git a/ssn/rdf/examples/2017/2017ex10.ttl b/ssn/rdf/examples/2017/2017ex10.ttl index d4add3c2..47c3b209 100644 --- a/ssn/rdf/examples/2017/2017ex10.ttl +++ b/ssn/rdf/examples/2017/2017ex10.ttl @@ -4,7 +4,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as # observed by sensor #926. The result was available 12 seconds later. diff --git a/ssn/rdf/examples/2017/2017ex11.ttl b/ssn/rdf/examples/2017/2017ex11.ttl index 5543bf06..f97f1fcf 100644 --- a/ssn/rdf/examples/2017/2017ex11.ttl +++ b/ssn/rdf/examples/2017/2017ex11.ttl @@ -4,7 +4,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as # observed by sensor #926. The result was available 12 seconds later. diff --git a/ssn/rdf/examples/2017/2017ex12.ttl b/ssn/rdf/examples/2017/2017ex12.ttl index 52168b01..677d448d 100644 --- a/ssn/rdf/examples/2017/2017ex12.ttl +++ b/ssn/rdf/examples/2017/2017ex12.ttl @@ -4,7 +4,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # rangefinder #30 is a laser range finder sensor that was used # to observe the height of tree #124 and #125. diff --git a/ssn/rdf/examples/2017/2017ex13.ttl b/ssn/rdf/examples/2017/2017ex13.ttl index 9dc17716..38db5ad1 100644 --- a/ssn/rdf/examples/2017/2017ex13.ttl +++ b/ssn/rdf/examples/2017/2017ex13.ttl @@ -4,7 +4,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # rangefinder #30 is a laser range finder sensor that was used # to observe the height of tree #124 and #125. diff --git a/ssn/rdf/examples/2017/2017ex14.ttl b/ssn/rdf/examples/2017/2017ex14.ttl index 4a7d3cd5..68f6e510 100644 --- a/ssn/rdf/examples/2017/2017ex14.ttl +++ b/ssn/rdf/examples/2017/2017ex14.ttl @@ -5,7 +5,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured # a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific diff --git a/ssn/rdf/examples/2017/2017ex15.ttl b/ssn/rdf/examples/2017/2017ex15.ttl index 0b38f4e6..dd36f24f 100644 --- a/ssn/rdf/examples/2017/2017ex15.ttl +++ b/ssn/rdf/examples/2017/2017ex15.ttl @@ -5,7 +5,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured # a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific diff --git a/ssn/rdf/examples/2017/2017ex16.ttl b/ssn/rdf/examples/2017/2017ex16.ttl index c7960411..cc167d24 100644 --- a/ssn/rdf/examples/2017/2017ex16.ttl +++ b/ssn/rdf/examples/2017/2017ex16.ttl @@ -2,7 +2,7 @@ @prefix time: . @prefix sosa: . @prefix xsd: . -@base . +@base . # The result of an observation of the sunspot number is available a few minutes # after the phenomenon time, due to the light travel duration. diff --git a/ssn/rdf/examples/2017/2017ex17.ttl b/ssn/rdf/examples/2017/2017ex17.ttl index 74824f92..5763be01 100644 --- a/ssn/rdf/examples/2017/2017ex17.ttl +++ b/ssn/rdf/examples/2017/2017ex17.ttl @@ -1,7 +1,7 @@ @prefix rdf: . @prefix sosa: . @prefix xsd: . -@base . +@base . # movements of spinning cups on wind sensor #14 serves as proxies for the wind speed # at the location of the wind sensor. diff --git a/ssn/rdf/examples/2017/2017ex18.ttl b/ssn/rdf/examples/2017/2017ex18.ttl index 42b6bf25..aebe4534 100644 --- a/ssn/rdf/examples/2017/2017ex18.ttl +++ b/ssn/rdf/examples/2017/2017ex18.ttl @@ -1,7 +1,7 @@ @prefix rdf: . @prefix sosa: . @prefix xsd: . -@base . +@base . # movements of spinning cups on wind sensor #14 serves as proxies for the wind speed # at the location of the wind sensor. diff --git a/ssn/rdf/examples/2017/2017ex19.ttl b/ssn/rdf/examples/2017/2017ex19.ttl index 5b769926..97524ac3 100644 --- a/ssn/rdf/examples/2017/2017ex19.ttl +++ b/ssn/rdf/examples/2017/2017ex19.ttl @@ -3,7 +3,7 @@ @prefix sosa: . @prefix xsd: . @prefix geo: . -@base . +@base . # The CO2 level observed in an ice core is 240 parts per million. diff --git a/ssn/rdf/examples/2017/2017ex20.ttl b/ssn/rdf/examples/2017/2017ex20.ttl index b1edf1bc..5e4498f1 100644 --- a/ssn/rdf/examples/2017/2017ex20.ttl +++ b/ssn/rdf/examples/2017/2017ex20.ttl @@ -3,7 +3,7 @@ @prefix sosa: . @prefix xsd: . @prefix geo: . -@base . +@base . # The CO2 level observed in an ice core is 240 parts per million. diff --git a/ssn/rdf/examples/2017/2017ex21.ttl b/ssn/rdf/examples/2017/2017ex21.ttl index bb7ab75b..d5d581ce 100644 --- a/ssn/rdf/examples/2017/2017ex21.ttl +++ b/ssn/rdf/examples/2017/2017ex21.ttl @@ -5,13 +5,13 @@ @prefix unit: . @prefix schema: . -@prefix ex: . +@prefix ex: . @prefix sosa: . @prefix ssn-system: . @prefix rdfp: . -@base . +@base . a sosa:Procedure ; diff --git a/ssn/rdf/examples/2017/2017ex22.ttl b/ssn/rdf/examples/2017/2017ex22.ttl index 6a645523..98d85120 100644 --- a/ssn/rdf/examples/2017/2017ex22.ttl +++ b/ssn/rdf/examples/2017/2017ex22.ttl @@ -10,7 +10,7 @@ @prefix rdfp: . -@base . +@base . a sosa:Procedure . diff --git a/ssn/rdf/examples/2017/2017ex23.ttl b/ssn/rdf/examples/2017/2017ex23.ttl index 3089de6b..0987b186 100644 --- a/ssn/rdf/examples/2017/2017ex23.ttl +++ b/ssn/rdf/examples/2017/2017ex23.ttl @@ -8,7 +8,7 @@ @prefix sosa: . @prefix ssn-system: . -@base . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/examples/2017/2017ex24.ttl b/ssn/rdf/examples/2017/2017ex24.ttl index 30160705..80bd48a3 100644 --- a/ssn/rdf/examples/2017/2017ex24.ttl +++ b/ssn/rdf/examples/2017/2017ex24.ttl @@ -7,7 +7,7 @@ @prefix sosa: . -@base . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/examples/2017/2017ex4.ttl b/ssn/rdf/examples/2017/2017ex4.ttl index de5f30e3..19d2910e 100644 --- a/ssn/rdf/examples/2017/2017ex4.ttl +++ b/ssn/rdf/examples/2017/2017ex4.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix sosa: . ex:Temperature a sosa:Property . diff --git a/ssn/rdf/examples/2017/2017ex5.ttl b/ssn/rdf/examples/2017/2017ex5.ttl index 109cfbc3..c7bbc533 100644 --- a/ssn/rdf/examples/2017/2017ex5.ttl +++ b/ssn/rdf/examples/2017/2017ex5.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix sosa: . ex:Temperature a owl:Class ; diff --git a/ssn/rdf/examples/2017/2017ex6.ttl b/ssn/rdf/examples/2017/2017ex6.ttl index 81493a3f..034c61e9 100644 --- a/ssn/rdf/examples/2017/2017ex6.ttl +++ b/ssn/rdf/examples/2017/2017ex6.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix ssn-system: . @prefix sosa: . diff --git a/ssn/rdf/examples/2017/2017ex7.ttl b/ssn/rdf/examples/2017/2017ex7.ttl index 9127b91a..cb0a0224 100644 --- a/ssn/rdf/examples/2017/2017ex7.ttl +++ b/ssn/rdf/examples/2017/2017ex7.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdfs: . @prefix ssn-system: . diff --git a/ssn/rdf/examples/2017/2017ex8.ttl b/ssn/rdf/examples/2017/2017ex8.ttl index 8ed78e9c..faab554d 100644 --- a/ssn/rdf/examples/2017/2017ex8.ttl +++ b/ssn/rdf/examples/2017/2017ex8.ttl @@ -6,7 +6,7 @@ @prefix qudt: . @prefix unit: . @prefix cdt: . -@base . +@base . # The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 # observed on June 6 2017 using only the SOSA core for modelling. diff --git a/ssn/rdf/examples/2017/2017ex9.ttl b/ssn/rdf/examples/2017/2017ex9.ttl index 1f2681bd..daae60b4 100644 --- a/ssn/rdf/examples/2017/2017ex9.ttl +++ b/ssn/rdf/examples/2017/2017ex9.ttl @@ -5,7 +5,7 @@ @prefix xsd: . @prefix unit: . -@base . +@base . a sosa:FeatureOfInterest ; sosa:hasSample ; diff --git a/ssn/rdf/examples/IDEAS.ttl b/ssn/rdf/examples/IDEAS.ttl index e091c6e2..c9407a47 100644 --- a/ssn/rdf/examples/IDEAS.ttl +++ b/ssn/rdf/examples/IDEAS.ttl @@ -1,11 +1,11 @@ -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @prefix xsd: . @prefix cdt: . -@base . +@base . ex:IDEA a owl:Ontology ; owl:imports ; diff --git a/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl b/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl index a9e7204e..0a92e95d 100644 --- a/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl +++ b/ssn/rdf/examples/InkBird-IBS-TH2-Range.ttl @@ -1,5 +1,5 @@ @prefix equipment: . -@prefix ex: . +@prefix ex: . @prefix gs1: . @prefix owl: . @prefix qk: . diff --git a/ssn/rdf/examples/InkBird.ttl b/ssn/rdf/examples/InkBird.ttl index da65d5ed..c7ac60c3 100644 --- a/ssn/rdf/examples/InkBird.ttl +++ b/ssn/rdf/examples/InkBird.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix gs1: . @prefix qk: . @prefix qudt: . diff --git a/ssn/rdf/examples/LocatedDeployment.ttl b/ssn/rdf/examples/LocatedDeployment.ttl index 674d578c..1bf48008 100644 --- a/ssn/rdf/examples/LocatedDeployment.ttl +++ b/ssn/rdf/examples/LocatedDeployment.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix geo: . @prefix rdf: . @prefix rdfs: . diff --git a/ssn/rdf/examples/LocatedPlatform.ttl b/ssn/rdf/examples/LocatedPlatform.ttl index c3dca22d..fc769bb8 100644 --- a/ssn/rdf/examples/LocatedPlatform.ttl +++ b/ssn/rdf/examples/LocatedPlatform.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix geo: . @prefix rdf: . @prefix rdfs: . diff --git a/ssn/rdf/examples/LocatedSensor.ttl b/ssn/rdf/examples/LocatedSensor.ttl index 53572132..0812aa07 100644 --- a/ssn/rdf/examples/LocatedSensor.ttl +++ b/ssn/rdf/examples/LocatedSensor.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix geo: . @prefix rdf: . @prefix rdfs: . diff --git a/ssn/rdf/examples/SC1.ttl b/ssn/rdf/examples/SC1.ttl index 5f84205f..c9be2014 100644 --- a/ssn/rdf/examples/SC1.ttl +++ b/ssn/rdf/examples/SC1.ttl @@ -1,5 +1,5 @@ @prefix dcterms: . -@prefix ex: . +@prefix ex: . @prefix geo: . @prefix orcid: . @prefix owl: . @@ -9,7 +9,7 @@ @prefix sosa: . @prefix time: . @prefix xsd: . -@base . +@base . ex:SC1 a sosa:SampleCollection ; diff --git a/ssn/rdf/examples/Sample-ice-core-bubble.ttl b/ssn/rdf/examples/Sample-ice-core-bubble.ttl index 5adf6576..1ddcd62d 100644 --- a/ssn/rdf/examples/Sample-ice-core-bubble.ttl +++ b/ssn/rdf/examples/Sample-ice-core-bubble.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix geo: . @prefix orcid: . @prefix owl: . diff --git a/ssn/rdf/examples/UOM-OM2.ttl b/ssn/rdf/examples/UOM-OM2.ttl index bef1fcdd..f3e69f38 100644 --- a/ssn/rdf/examples/UOM-OM2.ttl +++ b/ssn/rdf/examples/UOM-OM2.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix om: . @prefix rdf: . @prefix rdfs: . diff --git a/ssn/rdf/examples/UOM-cdt.ttl b/ssn/rdf/examples/UOM-cdt.ttl index 91e78baa..b46e58e5 100644 --- a/ssn/rdf/examples/UOM-cdt.ttl +++ b/ssn/rdf/examples/UOM-cdt.ttl @@ -1,5 +1,5 @@ @prefix cdt: . -@prefix ex: . +@prefix ex: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . diff --git a/ssn/rdf/examples/UOM-qudt-datatype.ttl b/ssn/rdf/examples/UOM-qudt-datatype.ttl index d2053a98..9c2d7005 100644 --- a/ssn/rdf/examples/UOM-qudt-datatype.ttl +++ b/ssn/rdf/examples/UOM-qudt-datatype.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix qudt: . @prefix rdf: . @prefix rdfs: . diff --git a/ssn/rdf/examples/UOM-qudt-object.ttl b/ssn/rdf/examples/UOM-qudt-object.ttl index 435276d5..611e7230 100644 --- a/ssn/rdf/examples/UOM-qudt-object.ttl +++ b/ssn/rdf/examples/UOM-qudt-object.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix qudt: . @prefix rdf: . @prefix sosa: . diff --git a/ssn/rdf/examples/apartment-134.ttl b/ssn/rdf/examples/apartment-134.ttl index 84fcd9c5..38ed1679 100644 --- a/ssn/rdf/examples/apartment-134.ttl +++ b/ssn/rdf/examples/apartment-134.ttl @@ -1,11 +1,11 @@ -@prefix ex: . +@prefix ex: . @prefix rdf: . @prefix time: . @prefix sosa: . @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as # observed by sensor #926. The result was available 12 seconds later diff --git a/ssn/rdf/examples/dht22-deployment.ttl b/ssn/rdf/examples/dht22-deployment.ttl index 3c7cded6..77b8c2d6 100644 --- a/ssn/rdf/examples/dht22-deployment.ttl +++ b/ssn/rdf/examples/dht22-deployment.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix qk: . @prefix qudt: . @@ -12,7 +12,7 @@ @prefix xsd: . @prefix system: . @prefix rdfp: . -@base . +@base . ex:Room145 a sosa:FeatureOfInterest ; rdfs:label "Room #145"@en ; diff --git a/ssn/rdf/examples/dht22.ttl b/ssn/rdf/examples/dht22.ttl index cd71d46a..5c1ddeaf 100644 --- a/ssn/rdf/examples/dht22.ttl +++ b/ssn/rdf/examples/dht22.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix qk: . @prefix qudt: . @@ -12,7 +12,7 @@ @prefix xsd: . @prefix system: . @prefix rdfp: . -@base . +@base . ex:DHT22_Procedure a sosa:Procedure ; sosa:hasOutput ex:DHT22_output ; diff --git a/ssn/rdf/examples/diet.ttl b/ssn/rdf/examples/diet.ttl index 4956f49a..b3d3334e 100644 --- a/ssn/rdf/examples/diet.ttl +++ b/ssn/rdf/examples/diet.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix rdf: . @prefix rdfs: . @prefix skos: . diff --git a/ssn/rdf/examples/forecast.ttl b/ssn/rdf/examples/forecast.ttl index af0fc168..40a6ca5b 100644 --- a/ssn/rdf/examples/forecast.ttl +++ b/ssn/rdf/examples/forecast.ttl @@ -1,11 +1,11 @@ -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @prefix time: . @prefix xsd: . -@base . +@base . ex:Observation299876 a sosa:Observation ; diff --git a/ssn/rdf/examples/historical-airtemp.ttl b/ssn/rdf/examples/historical-airtemp.ttl index c753534c..0a9a5e53 100644 --- a/ssn/rdf/examples/historical-airtemp.ttl +++ b/ssn/rdf/examples/historical-airtemp.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix geo: . @prefix owl: . @prefix qk: . @@ -10,7 +10,7 @@ @prefix time: . @prefix unit: . @prefix xsd: . -@base . +@base . ex:T99 a sosa:Sensor , ex:Mercury-in-glass-thermometer ; rdfs:label "Mercury in glass thermometer #99"@en ; diff --git a/ssn/rdf/examples/ip68.ttl b/ssn/rdf/examples/ip68.ttl index bbe16a56..f6e77921 100644 --- a/ssn/rdf/examples/ip68.ttl +++ b/ssn/rdf/examples/ip68.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix geo: . @prefix owl: . @prefix qk: . diff --git a/ssn/rdf/examples/iphone_barometer-sosa.ttl b/ssn/rdf/examples/iphone_barometer-sosa.ttl index 9eaacb55..a394be30 100644 --- a/ssn/rdf/examples/iphone_barometer-sosa.ttl +++ b/ssn/rdf/examples/iphone_barometer-sosa.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix qudt: . @prefix qk: . @@ -7,7 +7,7 @@ @prefix sosa: . @prefix unit: . @prefix xsd: . -@base . +@base . ex:iphone_barometer-sosa a owl:Ontology ; rdfs:comment "The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 observed on June 6 2017 using only the SOSA core."@en ; diff --git a/ssn/rdf/examples/open-window.ttl b/ssn/rdf/examples/open-window.ttl index 53afa893..36f42295 100644 --- a/ssn/rdf/examples/open-window.ttl +++ b/ssn/rdf/examples/open-window.ttl @@ -1,9 +1,9 @@ -@prefix ex: . +@prefix ex: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @prefix xsd: . -@base . +@base . ex:window98 rdf:type sosa:FeatureOfInterest ; sosa:hasProperty ex:openState ; diff --git a/ssn/rdf/examples/paleo-atmosphere.ttl b/ssn/rdf/examples/paleo-atmosphere.ttl index 2eaa9ca4..ebf96e59 100644 --- a/ssn/rdf/examples/paleo-atmosphere.ttl +++ b/ssn/rdf/examples/paleo-atmosphere.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix skos: . diff --git a/ssn/rdf/examples/sample-relations.ttl b/ssn/rdf/examples/sample-relations.ttl index 8ce74887..6b9beb4c 100644 --- a/ssn/rdf/examples/sample-relations.ttl +++ b/ssn/rdf/examples/sample-relations.ttl @@ -1,13 +1,13 @@ @prefix owl: . @prefix rdf: . @prefix rdfs: . -@prefix relex: . +@prefix relex: . @prefix sampling: . @prefix sosa: . @prefix xsd: . -@base . +@base . - + rdf:type owl:Ontology ; owl:imports sosa:sampling ; . diff --git a/ssn/rdf/examples/seismograph.ttl b/ssn/rdf/examples/seismograph.ttl index 38bf8b88..4431d02d 100644 --- a/ssn/rdf/examples/seismograph.ttl +++ b/ssn/rdf/examples/seismograph.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix geo: . @prefix qk: . @prefix qudt: . @@ -8,7 +8,7 @@ @prefix sosa: . @prefix unit: . @prefix xsd: . -@base . +@base . # Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured # a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific diff --git a/ssn/rdf/examples/smiley.ttl b/ssn/rdf/examples/smiley.ttl index b1bf637d..9fb947cf 100644 --- a/ssn/rdf/examples/smiley.ttl +++ b/ssn/rdf/examples/smiley.ttl @@ -1,10 +1,10 @@ -@prefix ex: . +@prefix ex: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @prefix time: . @prefix xsd: . -@base . +@base . # Determing the color of a smiley face sticker, including sampling from a population of smiley stickers diff --git a/ssn/rdf/examples/spinning-cups.ttl b/ssn/rdf/examples/spinning-cups.ttl index 6b204cb6..5cb259bc 100644 --- a/ssn/rdf/examples/spinning-cups.ttl +++ b/ssn/rdf/examples/spinning-cups.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix qk: . @prefix rdf: . @prefix rdfs: . @@ -7,7 +7,7 @@ @prefix time: . @prefix unit: . @prefix xsd: . -@base . +@base . # movements of spinning cups on wind sensor #14 serves as proxies for the wind speed # at the location of the wind sensor diff --git a/ssn/rdf/examples/sunspots.ttl b/ssn/rdf/examples/sunspots.ttl index fc62e9b9..e2aa91c2 100644 --- a/ssn/rdf/examples/sunspots.ttl +++ b/ssn/rdf/examples/sunspots.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix qk: . @prefix rdf: . @prefix rdfs: . @@ -6,7 +6,7 @@ @prefix sosa: . @prefix time: . @prefix xsd: . -@base . +@base . # The result of an observation of the sunspot number is available a few minutes # after the phenomenon time, due to the light travel duration diff --git a/ssn/rdf/examples/tree-height.ttl b/ssn/rdf/examples/tree-height.ttl index 100bae47..0ac996d6 100644 --- a/ssn/rdf/examples/tree-height.ttl +++ b/ssn/rdf/examples/tree-height.ttl @@ -1,4 +1,4 @@ -@prefix ex: . +@prefix ex: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @@ -6,7 +6,7 @@ @prefix qk: . @prefix qudt: . @prefix unit: . -@base . +@base . # rangefinder #30 is a laser range finder sensor that was used # to observe the height of tree #124 and #125 diff --git a/ssn/rdf/examples/unused/2023ex-location.ttl b/ssn/rdf/examples/unused/2023ex-location.ttl index 3aef87ee..6c95bb79 100644 --- a/ssn/rdf/examples/unused/2023ex-location.ttl +++ b/ssn/rdf/examples/unused/2023ex-location.ttl @@ -1,7 +1,7 @@ @prefix rdf: . @prefix sosa: . @prefix geo: . -@base . +@base . a sosa:Sample ; sosa:isSampleOf ; diff --git a/ssn/rdf/examples/unused/2023ex1.ttl b/ssn/rdf/examples/unused/2023ex1.ttl index 3aef87ee..6c95bb79 100644 --- a/ssn/rdf/examples/unused/2023ex1.ttl +++ b/ssn/rdf/examples/unused/2023ex1.ttl @@ -1,7 +1,7 @@ @prefix rdf: . @prefix sosa: . @prefix geo: . -@base . +@base . a sosa:Sample ; sosa:isSampleOf ; diff --git a/ssn/rdf/examples/unused/2024ex-uomtype.ttl b/ssn/rdf/examples/unused/2024ex-uomtype.ttl index 3711f462..dd1f00a9 100644 --- a/ssn/rdf/examples/unused/2024ex-uomtype.ttl +++ b/ssn/rdf/examples/unused/2024ex-uomtype.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/data/ +# baseURI: https://example.org/data/ @prefix rdf: . @prefix rdfs: . diff --git a/ssn/rdf/examples/unused/house134.ttl b/ssn/rdf/examples/unused/house134.ttl index 1859879b..984fe5e4 100644 --- a/ssn/rdf/examples/unused/house134.ttl +++ b/ssn/rdf/examples/unused/house134.ttl @@ -14,8 +14,8 @@ @prefix unit: . @prefix cdt: . @prefix dcterms: . -@prefix ex: . -@base . +@prefix ex: . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/examples/unused/om-20.ttl b/ssn/rdf/examples/unused/om-20.ttl index 23fcfb0d..a134a02c 100644 --- a/ssn/rdf/examples/unused/om-20.ttl +++ b/ssn/rdf/examples/unused/om-20.ttl @@ -1,5 +1,5 @@ -# baseURI: http://example.org/om-20 -# imports: http://example.org/geosparql +# baseURI: https://example.org/om-20 +# imports: https://example.org/geosparql # imports: http://qudt.org/2.0/schema/qudt # imports: http://www.w3.org/2006/time # imports: http://www.w3.org/ns/prov-o# @@ -7,7 +7,7 @@ # imports: http://www.w3.org/ns/ssn/ @prefix dcterms: . -@prefix examples: . +@prefix examples: . @prefix geosparql: . @prefix owl: . @prefix prov: . @@ -21,14 +21,14 @@ @prefix time: . @prefix xsd: . - + rdf:type owl:Ontology ; dcterms:created "2017-06-06"^^xsd:date ; dcterms:creator ; dcterms:modified "2017-06-07" ; rdfs:comment "SOSA/SSN examples matching the ones found in Annex C of OMXML 2.0" ; rdfs:seeAlso ; - owl:imports ; + owl:imports ; owl:imports ; owl:imports ; owl:imports ; @@ -70,7 +70,7 @@ examples:O35235 rdfs:label "Weather Data" ; sosa:hasFeatureOfInterest ; sosa:hasResult examples:DA3464 ; - sosa:observedProperty ; + sosa:observedProperty ; sosa:phenomenonTime examples:TP2523 ; sosa:resultTime "2007-04-01T03:40:00.000-06:00"^^xsd:dateTime ; sosa:usedProcedure ; diff --git a/ssn/rdf/examples/unused/sosa-core_examples.ttl b/ssn/rdf/examples/unused/sosa-core_examples.ttl index cb8a655b..01547d86 100644 --- a/ssn/rdf/examples/unused/sosa-core_examples.ttl +++ b/ssn/rdf/examples/unused/sosa-core_examples.ttl @@ -1,10 +1,10 @@ -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @prefix xsd: . -@base . +@base . rdf:type owl:Ontology ; owl:imports ; diff --git a/ssn/rdf/examples/unused/vistavital-a-sdo.ttl b/ssn/rdf/examples/unused/vistavital-a-sdo.ttl index 0672e057..7548a15a 100644 --- a/ssn/rdf/examples/unused/vistavital-a-sdo.ttl +++ b/ssn/rdf/examples/unused/vistavital-a-sdo.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/vistavital-a +# baseURI: https://example.org/vistavital-a # imports: http://www.w3.org/2006/time # imports: http://www.w3.org/ns/prov-o# # imports: http://www.w3.org/ns/ssn/ @@ -6,7 +6,7 @@ # prefix: vistavital-a @prefix dcterms: . -@prefix ex: . +@prefix ex: . @prefix owl: . @prefix prov: . @prefix rdf: . @@ -14,7 +14,7 @@ @prefix schema: . @prefix sosa: . @prefix time: . -@prefix vistavital-a: . +@prefix vistavital-a: . @prefix xsd: . ex:entered-by @@ -86,18 +86,18 @@ The example data comes from the Vista example developed by Rafael Richards - see . vistavital-a:Observation_1_ex rdf:type sosa:Observation ; - ex:entered-by ; - ex:error-entered-by ; + ex:entered-by ; + ex:error-entered-by ; schema:status "error" ; rdfs:comment "Example of how to encode a Vital Signs measurement comparable to Vista example" ; rdfs:comment "This version uses schema.org and prov for elements not available in SOSA, with some locally defined specializations of prov Associations to formally bind roles to simple properties" ; rdfs:label "Example BP measurement" ; rdfs:seeAlso ; - prov:atLocation ; - sosa:hasFeatureOfInterest ; + prov:atLocation ; + sosa:hasFeatureOfInterest ; sosa:hasResult "150/10" ; sosa:observedProperty ; - sosa:observedProperty ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:Instant ; time:inXSDDateTime "2005-09-01T13:00:00Z"^^xsd:dateTime ; @@ -111,10 +111,10 @@ vistavital-a:Observation_1_prov rdfs:comment "This version uses prov for elements not included in SOSA" ; rdfs:label "Example BP measurement" ; rdfs:seeAlso ; - prov:atLocation ; + prov:atLocation ; prov:qualifiedAssociation [ rdf:type prov:Association ; - prov:agent ; + prov:agent ; prov:hadRole [ rdf:type prov:Role ; rdfs:label "Error entered by" ; @@ -122,16 +122,16 @@ vistavital-a:Observation_1_prov ] ; prov:qualifiedAssociation [ rdf:type prov:Association ; - prov:agent ; + prov:agent ; prov:hadRole [ rdf:type prov:Role ; rdfs:label "Entered by" ; ] ; ] ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ; sosa:hasResult "150/10" ; sosa:observedProperty ; - sosa:observedProperty ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:Instant ; time:inXSDDateTime "2005-09-01T13:00:00Z"^^xsd:dateTime ; @@ -140,18 +140,18 @@ vistavital-a:Observation_1_prov . vistavital-a:Observation_1_sdo rdf:type sosa:Observation ; - schema:agent ; - schema:location ; - schema:participant ; + schema:agent ; + schema:location ; + schema:participant ; schema:status "error" ; rdfs:comment "Example of how to encode a Vital Signs measurement comparable to Vista example" ; rdfs:comment "This version uses schema.org elements for elements not part of SOSA" ; rdfs:label "Example BP measurement" ; rdfs:seeAlso ; - sosa:hasFeatureOfInterest ; + sosa:hasFeatureOfInterest ; sosa:hasResult "150/10" ; sosa:observedProperty ; - sosa:observedProperty ; + sosa:observedProperty ; sosa:phenomenonTime [ rdf:type time:Instant ; time:inXSDDateTime "2005-09-01T13:00:00Z"^^xsd:dateTime ; diff --git a/ssn/rdf/ontology/alignments/sosa-sdo.ttl b/ssn/rdf/ontology/alignments/sosa-sdo.ttl index 85a8c4af..3a759ea5 100644 --- a/ssn/rdf/ontology/alignments/sosa-sdo.ttl +++ b/ssn/rdf/ontology/alignments/sosa-sdo.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/sosa-sdo-mapping +# baseURI: https://example.org/sosa-sdo-mapping # imports: http://purl.org/dc/elements/1.1/ # imports: http://www.w3.org/ns/sosa/ # imports: https://raw.githubusercontent.com/schemaorg/schemaorg/master/data/releases/3.3/all-layers.ttl @@ -12,10 +12,10 @@ @prefix schema: . @prefix skos: . @prefix sosa: . -@prefix sosa-sdo-mapping: . +@prefix sosa-sdo-mapping: . @prefix xsd: . - + rdf:type owl:Ontology ; dcterms:created "2017-09-21"^^xsd:date ; dcterms:creator [ diff --git a/ssn/rdf/tests/Actuation/2017ex10.ttl b/ssn/rdf/tests/Actuation/2017ex10.ttl index 7f0f10eb..ffc7f640 100644 --- a/ssn/rdf/tests/Actuation/2017ex10.ttl +++ b/ssn/rdf/tests/Actuation/2017ex10.ttl @@ -1,4 +1,4 @@ -# baseURI: http://example.org/data/ +# baseURI: https://example.org/data/ # imports: http://www.w3.org/ns/ssn/ @prefix owl: . @@ -11,19 +11,19 @@ @prefix unit: . @prefix xsd: . - + a owl:Ontology ; owl:imports ssn: ; . - + a sosa:Observation ; sosa:hasResult [ a qudt:QuantityValue ; qudt:hasUnit unit:KiloW-HR ; qudt:numericValue "22.4"^^xsd:double ; ] ; - sosa:madeBySensor ; - sosa:observedProperty ; + sosa:madeBySensor ; + sosa:observedProperty ; sosa:phenomenonTime [ a time:Interval ; time:hasBeginning [ @@ -37,45 +37,45 @@ ] ; sosa:resultTime "2017-04-16T00:00:12+00:00"^^xsd:dateTimeStamp ; . - + a sosa:Observation ; - sosa:madeBySensor ; + sosa:madeBySensor ; . - + a sosa:Actuation ; - sosa:actsOnProperty ; - sosa:actuationMadeBy ; + sosa:actsOnProperty ; + sosa:actuationMadeBy ; sosa:hasSimplResult true ; sosa:resultTime "2017-04-18T17:24:00+02:00"^^xsd:dateTimeStamp ; . - + a sosa:ObservableProperty ; - sosa:isObservedBy ; + sosa:isObservedBy ; . - + a sosa:Sensor ; - sosa:madeObservation ; - sosa:madeObservation ; - sosa:madeObservation ; - sosa:observes ; + sosa:madeObservation ; + sosa:madeObservation ; + sosa:madeObservation ; + sosa:observes ; . - + a sosa:Sensor ; - sosa:madeObservation ; - sosa:madeObservation ; - sosa:madeObservation ; - sosa:observes ; + sosa:madeObservation ; + sosa:madeObservation ; + sosa:madeObservation ; + sosa:observes ; . - + a sosa:FeatureOfInterest ; - ssn:hasProperty ; + ssn:hasProperty ; . - + a sosa:ActuatableProperty ; - sosa:isActedOnBy ; + sosa:isActedOnBy ; . - + a sosa:Actuator ; - sosa:madeActuation ; - ssn:forProperty ; + sosa:madeActuation ; + ssn:forProperty ; . diff --git a/ssn/rdf/tests/Actuation/2017ex11.ttl b/ssn/rdf/tests/Actuation/2017ex11.ttl index 85019fa0..180e98fc 100644 --- a/ssn/rdf/tests/Actuation/2017ex11.ttl +++ b/ssn/rdf/tests/Actuation/2017ex11.ttl @@ -4,7 +4,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as # observed by sensor #926. The result was available 12 seconds later. diff --git a/ssn/rdf/tests/Deployment/2017ex23.ttl b/ssn/rdf/tests/Deployment/2017ex23.ttl index caab9a2f..42c1381a 100644 --- a/ssn/rdf/tests/Deployment/2017ex23.ttl +++ b/ssn/rdf/tests/Deployment/2017ex23.ttl @@ -9,7 +9,7 @@ @prefix ssn: . @prefix ssn-system: . -@base . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/tests/FoI/2017ex14.ttl b/ssn/rdf/tests/FoI/2017ex14.ttl index 8b2de224..f9d0e8e7 100644 --- a/ssn/rdf/tests/FoI/2017ex14.ttl +++ b/ssn/rdf/tests/FoI/2017ex14.ttl @@ -6,7 +6,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured # a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific diff --git a/ssn/rdf/tests/FoI/2017ex19.ttl b/ssn/rdf/tests/FoI/2017ex19.ttl index f7b3a882..5266c040 100644 --- a/ssn/rdf/tests/FoI/2017ex19.ttl +++ b/ssn/rdf/tests/FoI/2017ex19.ttl @@ -4,7 +4,7 @@ @prefix ssn: . @prefix xsd: . @prefix geo: . -@base . +@base . # The CO2 level observed in an ice core is 240 parts per million. diff --git a/ssn/rdf/tests/FoI/2017ex20.ttl b/ssn/rdf/tests/FoI/2017ex20.ttl index b1edf1bc..5e4498f1 100644 --- a/ssn/rdf/tests/FoI/2017ex20.ttl +++ b/ssn/rdf/tests/FoI/2017ex20.ttl @@ -3,7 +3,7 @@ @prefix sosa: . @prefix xsd: . @prefix geo: . -@base . +@base . # The CO2 level observed in an ice core is 240 parts per million. diff --git a/ssn/rdf/tests/FoI/2017ex23.ttl b/ssn/rdf/tests/FoI/2017ex23.ttl index caab9a2f..42c1381a 100644 --- a/ssn/rdf/tests/FoI/2017ex23.ttl +++ b/ssn/rdf/tests/FoI/2017ex23.ttl @@ -9,7 +9,7 @@ @prefix ssn: . @prefix ssn-system: . -@base . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/tests/FoI/2017ex24.ttl b/ssn/rdf/tests/FoI/2017ex24.ttl index 30160705..80bd48a3 100644 --- a/ssn/rdf/tests/FoI/2017ex24.ttl +++ b/ssn/rdf/tests/FoI/2017ex24.ttl @@ -7,7 +7,7 @@ @prefix sosa: . -@base . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/tests/FoI/2017ex8.ttl b/ssn/rdf/tests/FoI/2017ex8.ttl index 02186893..4a1080ed 100644 --- a/ssn/rdf/tests/FoI/2017ex8.ttl +++ b/ssn/rdf/tests/FoI/2017ex8.ttl @@ -6,7 +6,7 @@ @prefix qudt: . @prefix unit: . @prefix cdt: . -@base . +@base . # The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 # observed on June 6 2017 using only the SOSA core for modelling. diff --git a/ssn/rdf/tests/ObservationCollection/OC1.ttl b/ssn/rdf/tests/ObservationCollection/OC1.ttl index 6d1ff443..b5d0afea 100644 --- a/ssn/rdf/tests/ObservationCollection/OC1.ttl +++ b/ssn/rdf/tests/ObservationCollection/OC1.ttl @@ -9,7 +9,7 @@ @prefix time: . @prefix xsd: . -@prefix ex: . +@prefix ex: . ex:OC1 a sosa:ObservationCollection ; diff --git a/ssn/rdf/tests/ObservationCollection/OC2.ttl b/ssn/rdf/tests/ObservationCollection/OC2.ttl index 2709a607..686a4517 100644 --- a/ssn/rdf/tests/ObservationCollection/OC2.ttl +++ b/ssn/rdf/tests/ObservationCollection/OC2.ttl @@ -1,7 +1,7 @@ # baseURI: https://raw.githubusercontent.com/w3c/sdw-sosa-ssn/ProcedureExecution-spec/ssn/examples/01-observation-collection.ttl # imports: http://www.w3.org/ns/sosa-collections/ -@prefix eg: . +@prefix eg: . @prefix owl: . @prefix rdf: . @prefix rdfs: . diff --git a/ssn/rdf/tests/Platform/2017ex23.ttl b/ssn/rdf/tests/Platform/2017ex23.ttl index caab9a2f..42c1381a 100644 --- a/ssn/rdf/tests/Platform/2017ex23.ttl +++ b/ssn/rdf/tests/Platform/2017ex23.ttl @@ -9,7 +9,7 @@ @prefix ssn: . @prefix ssn-system: . -@base . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/tests/Platform/2017ex24.ttl b/ssn/rdf/tests/Platform/2017ex24.ttl index 30160705..80bd48a3 100644 --- a/ssn/rdf/tests/Platform/2017ex24.ttl +++ b/ssn/rdf/tests/Platform/2017ex24.ttl @@ -7,7 +7,7 @@ @prefix sosa: . -@base . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/tests/Platform/2017ex8.ttl b/ssn/rdf/tests/Platform/2017ex8.ttl index e6df4fd7..86dfaf4c 100644 --- a/ssn/rdf/tests/Platform/2017ex8.ttl +++ b/ssn/rdf/tests/Platform/2017ex8.ttl @@ -6,7 +6,7 @@ @prefix qudt: . @prefix unit: . @prefix cdt: . -@base . +@base . # The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 # observed on June 6 2017 using only the SOSA core for modelling. diff --git a/ssn/rdf/tests/Procedure/2017ex21.ttl b/ssn/rdf/tests/Procedure/2017ex21.ttl index 46db6046..08deed87 100644 --- a/ssn/rdf/tests/Procedure/2017ex21.ttl +++ b/ssn/rdf/tests/Procedure/2017ex21.ttl @@ -5,14 +5,14 @@ @prefix unit: . @prefix schema: . -@prefix ex: . +@prefix ex: . @prefix sosa: . @prefix ssn: . @prefix ssn-system: . @prefix rdfp: . -@base . +@base . a sosa:Procedure ; diff --git a/ssn/rdf/tests/Procedure/2017ex8.ttl b/ssn/rdf/tests/Procedure/2017ex8.ttl index e6df4fd7..86dfaf4c 100644 --- a/ssn/rdf/tests/Procedure/2017ex8.ttl +++ b/ssn/rdf/tests/Procedure/2017ex8.ttl @@ -6,7 +6,7 @@ @prefix qudt: . @prefix unit: . @prefix cdt: . -@base . +@base . # The barometric readings from a Bosch Sensortec BMP282 sensor in an Apple IPhone 7 # observed on June 6 2017 using only the SOSA core for modelling. diff --git a/ssn/rdf/tests/Sample/2017ex19.ttl b/ssn/rdf/tests/Sample/2017ex19.ttl index f7b3a882..5266c040 100644 --- a/ssn/rdf/tests/Sample/2017ex19.ttl +++ b/ssn/rdf/tests/Sample/2017ex19.ttl @@ -4,7 +4,7 @@ @prefix ssn: . @prefix xsd: . @prefix geo: . -@base . +@base . # The CO2 level observed in an ice core is 240 parts per million. diff --git a/ssn/rdf/tests/Sample/2017ex20.ttl b/ssn/rdf/tests/Sample/2017ex20.ttl index b1edf1bc..5e4498f1 100644 --- a/ssn/rdf/tests/Sample/2017ex20.ttl +++ b/ssn/rdf/tests/Sample/2017ex20.ttl @@ -3,7 +3,7 @@ @prefix sosa: . @prefix xsd: . @prefix geo: . -@base . +@base . # The CO2 level observed in an ice core is 240 parts per million. diff --git a/ssn/rdf/tests/Sample/2017ex23.ttl b/ssn/rdf/tests/Sample/2017ex23.ttl index caab9a2f..42c1381a 100644 --- a/ssn/rdf/tests/Sample/2017ex23.ttl +++ b/ssn/rdf/tests/Sample/2017ex23.ttl @@ -9,7 +9,7 @@ @prefix ssn: . @prefix ssn-system: . -@base . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/tests/Sample/2017ex24.ttl b/ssn/rdf/tests/Sample/2017ex24.ttl index 30160705..80bd48a3 100644 --- a/ssn/rdf/tests/Sample/2017ex24.ttl +++ b/ssn/rdf/tests/Sample/2017ex24.ttl @@ -7,7 +7,7 @@ @prefix sosa: . -@base . +@base . a sosa:FeatureOfInterest ; diff --git a/ssn/rdf/tests/SampleCollection/SC1.ttl b/ssn/rdf/tests/SampleCollection/SC1.ttl index f8193db2..833c8bfb 100644 --- a/ssn/rdf/tests/SampleCollection/SC1.ttl +++ b/ssn/rdf/tests/SampleCollection/SC1.ttl @@ -10,7 +10,7 @@ @prefix time: . @prefix xsd: . -@prefix ex: . +@prefix ex: . ex:SC1 a sosa:SampleCollection ; diff --git a/ssn/rdf/tests/Sampling/2017ex19.ttl b/ssn/rdf/tests/Sampling/2017ex19.ttl index f7b3a882..5266c040 100644 --- a/ssn/rdf/tests/Sampling/2017ex19.ttl +++ b/ssn/rdf/tests/Sampling/2017ex19.ttl @@ -4,7 +4,7 @@ @prefix ssn: . @prefix xsd: . @prefix geo: . -@base . +@base . # The CO2 level observed in an ice core is 240 parts per million. diff --git a/ssn/rdf/tests/Sampling/2017ex20.ttl b/ssn/rdf/tests/Sampling/2017ex20.ttl index b1edf1bc..5e4498f1 100644 --- a/ssn/rdf/tests/Sampling/2017ex20.ttl +++ b/ssn/rdf/tests/Sampling/2017ex20.ttl @@ -3,7 +3,7 @@ @prefix sosa: . @prefix xsd: . @prefix geo: . -@base . +@base . # The CO2 level observed in an ice core is 240 parts per million. diff --git a/ssn/rdf/tests/System/2017ex10.ttl b/ssn/rdf/tests/System/2017ex10.ttl index e498baed..09fac42f 100644 --- a/ssn/rdf/tests/System/2017ex10.ttl +++ b/ssn/rdf/tests/System/2017ex10.ttl @@ -5,7 +5,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as # observed by sensor #926. The result was available 12 seconds later. diff --git a/ssn/rdf/tests/System/2017ex11.ttl b/ssn/rdf/tests/System/2017ex11.ttl index 85019fa0..180e98fc 100644 --- a/ssn/rdf/tests/System/2017ex11.ttl +++ b/ssn/rdf/tests/System/2017ex11.ttl @@ -4,7 +4,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # The electric consumption of apartment #134 on April 15 2017 was 22.4 kWh as # observed by sensor #926. The result was available 12 seconds later. diff --git a/ssn/rdf/tests/System/2017ex14.ttl b/ssn/rdf/tests/System/2017ex14.ttl index 8b2de224..f9d0e8e7 100644 --- a/ssn/rdf/tests/System/2017ex14.ttl +++ b/ssn/rdf/tests/System/2017ex14.ttl @@ -6,7 +6,7 @@ @prefix xsd: . @prefix qudt: . @prefix unit: . -@base . +@base . # Observation #358 of seismograph VCAB DP1 BP 40 (Vineyard Canyon, Parkfield, Ca) measured # a earth displacement speed of 0.000500 cm/sec at 8:23 am on April 18, 2017, Pacific diff --git a/ssn/rdf/tests/System/2017ex17.ttl b/ssn/rdf/tests/System/2017ex17.ttl index 5a12489b..234f5a66 100644 --- a/ssn/rdf/tests/System/2017ex17.ttl +++ b/ssn/rdf/tests/System/2017ex17.ttl @@ -2,7 +2,7 @@ @prefix sosa: . @prefix ssn: . @prefix xsd: . -@base . +@base . # movements of spinning cups on wind sensor #14 serves as proxies for the wind speed # at the location of the wind sensor. diff --git a/ssn/rdf/tests/System/2017ex18.ttl b/ssn/rdf/tests/System/2017ex18.ttl index 42b6bf25..aebe4534 100644 --- a/ssn/rdf/tests/System/2017ex18.ttl +++ b/ssn/rdf/tests/System/2017ex18.ttl @@ -1,7 +1,7 @@ @prefix rdf: . @prefix sosa: . @prefix xsd: . -@base . +@base . # movements of spinning cups on wind sensor #14 serves as proxies for the wind speed # at the location of the wind sensor. diff --git a/ssn/rdf/tests/System/2017ex21.ttl b/ssn/rdf/tests/System/2017ex21.ttl index 46db6046..08deed87 100644 --- a/ssn/rdf/tests/System/2017ex21.ttl +++ b/ssn/rdf/tests/System/2017ex21.ttl @@ -5,14 +5,14 @@ @prefix unit: . @prefix schema: . -@prefix ex: . +@prefix ex: . @prefix sosa: . @prefix ssn: . @prefix ssn-system: . @prefix rdfp: . -@base . +@base . a sosa:Procedure ; diff --git a/ssn/rdf/tests/System/2017ex22.ttl b/ssn/rdf/tests/System/2017ex22.ttl index b9925779..aaa33114 100644 --- a/ssn/rdf/tests/System/2017ex22.ttl +++ b/ssn/rdf/tests/System/2017ex22.ttl @@ -11,7 +11,7 @@ @prefix rdfp: . -@base . +@base . a sosa:Procedure . diff --git a/ssn/rdf/tests/System/2017ex23.ttl b/ssn/rdf/tests/System/2017ex23.ttl index caab9a2f..42c1381a 100644 --- a/ssn/rdf/tests/System/2017ex23.ttl +++ b/ssn/rdf/tests/System/2017ex23.ttl @@ -9,7 +9,7 @@ @prefix ssn: . @prefix ssn-system: . -@base . +@base . a sosa:FeatureOfInterest ; From d003dabca1469468c0ce466050b879936e52cb1a Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Fri, 31 Jan 2025 13:55:48 +1100 Subject: [PATCH 54/74] Time-series examples --- ssn/chapters/Actuation.html | 17 +- ssn/chapters/Common.html | 191 +++++++++++------- ssn/chapters/ModelTimeSeries.html | 26 +++ ssn/chapters/Observation.html | 37 ++-- ssn/chapters/Sampling.html | 20 +- ssn/images/timeseries-oc.svg | 4 + ssn/index.html | 2 + ssn/rdf/examples/GeometryResult.ttl | 4 + ssn/rdf/examples/timeseries-oc.ttl | 67 ++++++ ssn/rdf/examples/timeseries-result-inline.ttl | 38 ++++ ssn/rdf/examples/timeseries-result-link.ttl | 30 +++ .../01-observation-collection.ttl | 0 .../02-homo-vs-summar-collection.ttl | 0 13 files changed, 326 insertions(+), 110 deletions(-) create mode 100644 ssn/chapters/ModelTimeSeries.html create mode 100644 ssn/images/timeseries-oc.svg create mode 100644 ssn/rdf/examples/timeseries-oc.ttl create mode 100644 ssn/rdf/examples/timeseries-result-inline.ttl create mode 100644 ssn/rdf/examples/timeseries-result-link.ttl rename ssn/rdf/examples/{ => unused}/01-observation-collection.ttl (100%) rename ssn/rdf/examples/{ => unused}/02-homo-vs-summar-collection.ttl (100%) diff --git a/ssn/chapters/Actuation.html b/ssn/chapters/Actuation.html index 12d805cc..f6fd3dee 100644 --- a/ssn/chapters/Actuation.html +++ b/ssn/chapters/Actuation.html @@ -88,11 +88,11 @@

    sosa:Actuation
    @@ -509,10 +509,9 @@
    sosa:actsOnProperty
    diff --git a/ssn/chapters/Common.html b/ssn/chapters/Common.html index 41411024..d990495c 100644 --- a/ssn/chapters/Common.html +++ b/ssn/chapters/Common.html @@ -80,7 +80,7 @@
    sosa:FeatureOfInterest
    The activity of automatically closing a window if the temperature in a room drops below 20 degree Celsius. - The activity is the Actuation and the device that - closes the window is the Actuator. - The Procedure is the rule, plan, or specification - that defines the conditions that triggers the Actuation, here a - drop in temperature. + The activity is the Actuation and the device that closes the + window is the Actuator. + The Procedure is the rule, plan, or specification that may + define the condition that triggers the Actuation (a drop in + temperature).
    Example In the activity (Actuation) of - automatically closing a window if - the temperature in a room drops below 20 degrees Celsius, the property on which the Actuator acts upon is the state of the window as - it changes from being open to being closed. + automatically closing a window if the temperature in a room drops below 20 degrees Celsius, + the property on which the Actuator acts upon is the state of the + window as it changes from being open to being closed.
    - +
    ExampleExamples When measuring the height of a tree, the height is the observedProperty, 20m is the result of the Observation, and the @@ -155,28 +155,23 @@
    sosa:Property

    - A specific model for the description of observable and actuatable Properties is outside the scope of the - SSN Ontology. + A model for the description of observable and actuatable Properties is outside the scope of the SSN + Ontology. See Property definitions for links to some external resources that - address this. + address this, and to some catalogues and code lists whose members may be used as instances of + Property.

    - + - - - -
    ExampleExamples - Cars (a feature type) have a - property "colour". + + Cars (a feature type) have a property "colour" +
    Windows have a property "open state".
    NoteConcepts from existing code lists, - vocabularies, - and taxonomies, may be used as instances of Property.
    Restrictions: @@ -232,12 +227,13 @@
    sosa:forProperty
    - + @@ -623,12 +619,12 @@
    sosa:Procedure
    @@ -1246,10 +1242,6 @@
    sosa:ExecutionCollection
    class. - - - - - +
    ExampleExamples - For example, from a Sensor - to the properties it can observe; from an Actuator to the - properties it can act on; from a Procedure to the - properties it can observe or act on. + + from a Sensor to the properties it can observe; +
    from an Actuator to the properties it can act on; +
    from a Procedure to the properties it can observe or + act on.
    The measured wind speed differs depending on the height of the - Sensor above the surface, e.g., due to friction. - Consequently, procedures for measuring wind speed define a standard height for + Sensor above the surface, due to friction. + For this reason, procedures for measuring wind speed define a standard height for anemometers above ground, typically 10m for meteorological measures and 2m in Agrometeorology. - This definition of height, Sensor placement, and - so forth are defined by the Procedure. + This definition of height, Sensor placement, etc are defined + by the Procedure.
    Example... TODO ...
    Sub class of @@ -1319,7 +1311,7 @@
    sosa:endTime
    ExampleExamples
     "2024-01-23T19:26:00+11:00"^^xsd:dateTime
    @@ -1646,6 +1638,8 @@ 
    sosa:hasSimpleResult

    The result of an actuation or observation may be a quantity. See Quantity Values and Units of Measure for patterns to describe this.

    +

    The result of an actuation or observation may be a geometry. + See Location and Geometry for patterns to describe this.

    @@ -1659,13 +1653,15 @@
    sosa:hasSimpleResult
    - + @@ -2090,6 +2086,47 @@
    sosa:phenomenonTime
    ExampleExamples
     "89"^^xsd:integer 
     "true"^^xsd:boolean
     "23.5"^^unit:DEG_C
    +"23.5 Cel"^^cdt:ucum
    +"Point (145.042316 -37.919134)"^^geo:wktLiteral
     
    + + + +
    Examples + +
    +sosa:phenomenonTime [
    +    a time:Instant ;
    +    time:inXSDDateTime "2023-06-20T21:49:18+00:00"^^xsd:dateTime ;
    +] ;
    +
    +sosa:phenomenonTime [
    +    a time:Interval ;
    +    time:hasBeginning [ 
    +        a time:Instant ;
    +        time:inXSDDateTime "2017-04-15T23:59:30+00:00"^^xsd:dateTime 
    +    ] ;
    +    time:hasEnd [ 
    +        a time:Instant ;
    +        time:inXSDDateTime "2017-04-16T00:00:00+00:00"^^xsd:dateTime 
    +    ] ;
    +] ;
    +
    +sosa:phenomenonTime [
    +    a time:Interval ;
    +    time:hasBeginning [
    +        a time:Instant ;
    +        time:inTimePosition [
    +            time:hasTRS ex:BP ;
    +            time:numericPosition 12000 ;
    +        ] ;
    +    ] ;
    +    time:hasDuration [
    +        a time:Duration ;
    +        time:numericDuration 500 ;
    +        time:unitType time:unitYear ;
    +    ] ;
    +] ;
    +
    +
    +
    Domain Includes @@ -2159,34 +2196,36 @@
    sosa:resultTime
    - - - + +"2024-01-23T19:26:00+11:00"^^xsd:dateTime +"2024-01-23"^^xsd:date +"2024-01"^^xsd:gMonth +"2024"^^xsd:gYear + + + @@ -2239,8 +2278,7 @@
    sosa:startTime
    Example + Examples +
    -    "2024-01-23T19:26:00+11:00"^^xsd:dateTime
    -    "2024-01-23"^^xsd:date
    -    "2024-01"^^xsd:gMonth
    -    "2024"^^xsd:gYear
    -    
    -
    Sub property of - sosa:endTime + + sosa:endTime +
    Domain Includes - sosa:Observation - , sosa:ObservationCollection - , sosa:Sampling - , sosa:SamplingCollection + + sosa:Observation + , + sosa:ObservationCollection + , + sosa:Sampling + , + sosa:SamplingCollection
    - - + - - + + + @@ -2473,10 +2512,10 @@
    sosa:Deployment
    - + + a temperature Sensor deployed on a wall
    > + a network of Sensors deployed for an Observation campaign. @@ -2554,7 +2593,7 @@
    sosa:Platform
    ExampleExamples
     "2024-01-23T19:26:00+11:00"^^xsd:dateTime
    @@ -2250,21 +2288,22 @@ 
    sosa:startTime
    Domain Includes - sosa:Execution - , sosa:Actuation - , sosa:ActuationCollection - , sosa:Observation - , sosa:ObservationCollection - , sosa:Sampling -
    Domain Includes + sosa:Execution + , sosa:Actuation + , sosa:ActuationCollection + , sosa:Observation + , sosa:ObservationCollection + , sosa:Sampling +
    is Defined By
    ExampleExamples For example, - a temperature Sensor deployed on a wall, - or a whole network of Sensors deployed for an Observation campaign.
    Restrictions
    - + @@ -3450,9 +3489,13 @@
    sosa:hasMember
    properties of their members are given for each collection type.

    - Note that there is a single `member` property. OWL or SHACL constraints may - limit the range depending on the context of different collection types. + Note that there is a single `member` property. + OWL or SHACL constraints may limit the range depending on the context of different collection + types.

    +

    + See Time series and Homogeneous observation + collection for examples of use of hasMember.

    ExampleExamples A post, buoy, vehicle, ship, aircraft, satellite, cell-phone, @@ -3117,9 +3156,9 @@
    sosa:inDeployment
    Example - For example, a relation between a buoy and a Deployment of several Sensors. + For example, a relation between a buoy and a + Deployment of several + Sensors.
    diff --git a/ssn/chapters/ModelTimeSeries.html b/ssn/chapters/ModelTimeSeries.html new file mode 100644 index 00000000..2b636eed --- /dev/null +++ b/ssn/chapters/ModelTimeSeries.html @@ -0,0 +1,26 @@ +

    Time series

    +

    + Many executions are made as parts of a time series. + There are a number of ways these may be modeled using the SSN Ontology. +

    +

    + The most explicit representation is as an for each member of the series to be an individual member of a Collection. + For example shows an Collection of Observations that has a member for each time-step in the series. +

    +
    + Observation feature-of-interest patterns 1 +
    + Collection of observations of the same property on the same feature of interest, with each member representing a step in the time-series. +
    + Explanation of the notation used in class diagrams. +
    +
    +
    
    +
    +

    + Alternatively, the series may be represented as a single Observation with a hasResult that is a complex value, such as a vector or array. + This may be indicated 'inline' as a complex data-structure, or 'linked' to a separate resource, as in the following two examples. +

    +
    
    +
    +
    
    diff --git a/ssn/chapters/Observation.html b/ssn/chapters/Observation.html
    index 047a26e0..cc2adb35 100644
    --- a/ssn/chapters/Observation.html
    +++ b/ssn/chapters/Observation.html
    @@ -98,13 +98,18 @@ 
    sosa:Observation
    - + @@ -314,6 +319,9 @@
    sosa:ObservationCollection
    property.

    +

    + See Time series and Homogeneous observation + collection for examples.

    ExampleExamples - The activity of estimating the intensity of an Earthquake - using - the Mercalli intensity scale is an Observation - as is measuring the moment magnitude, i.e., the energy released by said - earthquake. + + The activity of +
    estimating the magnitude or intensity of an earthquake +
    measuring the height of a tree +
    determining the color of a leaf +
    measuring the CO2 concentration in a gas +
    finding the location of a car +
    measuring the temperature of a room +
    capturing an image of a scene +
    @@ -471,7 +479,7 @@
    sosa:Sensor
    - +
    ExampleExamples Accelerometers, gyroscopes, barometers, magnetometers, etc are Sensors that are typically mounted on a modern smart @@ -668,16 +676,13 @@
    sosa:hasProxy
    - + diff --git a/ssn/chapters/Sampling.html b/ssn/chapters/Sampling.html index 13ba0199..51508ea9 100644 --- a/ssn/chapters/Sampling.html +++ b/ssn/chapters/Sampling.html @@ -158,7 +158,7 @@
    sosa:Sample
    - +
    ExampleExamples - For example, the expansion of mercury is a Stimulus that serves as a proxy for some - temperature Property. An increase or decrease - in the velocity of - spinning cups on a wind Sensor is serving as a - proxy for - the - wind speed. + For example, the expansion of mercury is a + Stimulus that serves as a proxy for some temperature + Property. +
    An increase or decrease in the velocity of spinning cups on a wind + Sensor is serving as a proxy for the wind speed.
    ExampleExamples A 'station' is a spatial sample, in the form of an identifiable locality where a Sensor system or procedure may be deployed and an observation made. @@ -396,13 +396,11 @@
    sosa:Sampler
    - + @@ -479,15 +477,15 @@
    sosa:Sampling
    ExampleExamples A ball mill, diamond drill, hammer, hypodermic syringe and needle, - image Sensor or a soil auger can all act as sampling - devices (i.e., be Samplers). - However, sometimes the distinction between the Sampler and the Sensor is not evident, as they are packaged as a - unit. + image Sensor or a soil auger can all act as Samplers. + Sometimes the distinction between the Sampler and the + Sensor is not evident, if they are packaged as a unit.

    A Sampler need not be a physical device.
    - +
    ExampleExamples + Drawing blood from a patient.
    + Drilling a core from an ice sheet.
    Crushing a rock sample in a ball mill.
    Digging a pit through a soil sequence.
    Dividing a field site into quadrants.
    - Drawing blood from a patient.
    Drilling an observation well.
    - Establishing a station for environmental - monitoring.
    + Establishing a station for environmental monitoring.
    Registering an image of the landscape.
    Sieving a powder to separate the subset finer than 100-mesh.
    diff --git a/ssn/images/timeseries-oc.svg b/ssn/images/timeseries-oc.svg new file mode 100644 index 00000000..c72a746e --- /dev/null +++ b/ssn/images/timeseries-oc.svg @@ -0,0 +1,4 @@ + + + +
    ex:ts159c
    resultTime="2017-04-15T20:03:30"
    ObservationCollection
    rdf:type
    hasMember
    Observation
    rdf:type
    ex:t1
    2017-04-15T20:00:00
    3.24 m/s
    phenomenonTime
    hasResult
    ex:station223
    ex:p1
    ex:fjk39
    2017-04-15T20:00:00/2017-04-15T20:03:00
    phenomenonTime
    madeBySensor
    observedProperty
    hasFeatureOfInterest
    ex:t2
    2017-04-15T20:01:00
    3.21 m/s
    phenomenonTime
    hasResult
    ex:t3
    2017-04-15T20:02:00
    3.15 m/s
    phenomenonTime
    hasResult
    ex:t4
    2017-04-15T20:03:00
    3.15 m/s
    phenomenonTime
    hasResult
    hasMember
    hasMember
    hasMember
    \ No newline at end of file diff --git a/ssn/index.html b/ssn/index.html index e645dd53..ddf93ebe 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -233,6 +233,8 @@

    Common Patterns

    +
    +
    diff --git a/ssn/rdf/examples/GeometryResult.ttl b/ssn/rdf/examples/GeometryResult.ttl index 89134659..1f8a9514 100644 --- a/ssn/rdf/examples/GeometryResult.ttl +++ b/ssn/rdf/examples/GeometryResult.ttl @@ -9,6 +9,10 @@ ex:ObsGeo1 a sosa:Observation ; sosa:madeBySensor ex:MyGPS736 ; sosa:hasFeatureOfInterest ex:AbbysCar ; + sosa:phenomenonTime [ + a time:Instant ; + time:inXSDDateTimeStamp "2023-06-20T21:49:18+00:00"^^xsd:dateTimeStamp ; + ] ; sosa:resultTime "2023-06-20T21:49:18+00:00"^^xsd:dateTime ; sosa:observedProperty ; sosa:hasResult [ diff --git a/ssn/rdf/examples/timeseries-oc.ttl b/ssn/rdf/examples/timeseries-oc.ttl new file mode 100644 index 00000000..08553d1a --- /dev/null +++ b/ssn/rdf/examples/timeseries-oc.ttl @@ -0,0 +1,67 @@ +@prefix ex: . +@prefix rdf: . +@prefix rdfs: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . +@base . + +ex:ts159c + a sosa:ObservationCollection ; + sosa:hasFeatureOfInterest ex:station223 ; + sosa:observedProperty ex:p1 ; + sosa:madeBySensor ex:fjk39 ; + sosa:phenomenonTime [ + a time:Interval ; + time:hasBeginning [ + a time:Instant ; + time:inXSDDateTime "2017-04-15T20:00:00+00:00"^^xsd:dateTime + ] ; + time:hasEnd [ + a time:Instant ; + time:inXSDDateTime "2017-04-15T20:03:00+00:00"^^xsd:dateTime + ] ; + ] ; + sosa:resultTime "2017-04-15T20:03:30+00:00"^^xsd:dateTime ; + sosa:hasMember ex:t1 ; + sosa:hasMember ex:t2 ; + sosa:hasMember ex:t3 ; + sosa:hasMember ex:t4 ; +. +ex:t1 + a sosa:Observation ; + sosa:phenomenonTime [ + a time:Instant ; + time:inXSDDateTime "2017-04-15T20:00:00+00:00"^^xsd:dateTime ; + ] ; + sosa:hasSimpleResult "3.24"^^unit:M-PER-SEC ; +. +ex:t2 + a sosa:Observation ; + sosa:phenomenonTime [ + a time:Instant ; + time:inXSDDateTime "2017-04-15T20:01:00+00:00"^^xsd:dateTime ; + ] ; + sosa:hasSimpleResult "3.21"^^unit:M-PER-SEC ; +. +ex:t3 + a sosa:Observation ; + sosa:phenomenonTime [ + a time:Instant ; + time:inXSDDateTime "2017-04-15T20:02:00+00:00"^^xsd:dateTime ; + ] ; + sosa:hasSimpleResult "3.15"^^unit:M-PER-SEC ; +. +ex:t4 + a sosa:Observation ; + sosa:phenomenonTime [ + a time:Instant ; + time:inXSDDateTime "2017-04-15T20:03:00+00:00"^^xsd:dateTime ; + ] ; + sosa:hasSimpleResult "3.15"^^unit:M-PER-SEC ; +. +ex:station223 a sosa:FeatureOfInterest . +ex:p1 a sosa:Property . +ex:fjk39 a sosa:Sensor . +unit:M-PER-SEC a rdfs:Datatype . \ No newline at end of file diff --git a/ssn/rdf/examples/timeseries-result-inline.ttl b/ssn/rdf/examples/timeseries-result-inline.ttl new file mode 100644 index 00000000..a8ac6d4b --- /dev/null +++ b/ssn/rdf/examples/timeseries-result-inline.ttl @@ -0,0 +1,38 @@ +@prefix ex: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . +@base . + +ex:ts159i + a sosa:Observation ; + sosa:hasFeatureOfInterest ex:station223 ; + sosa:observedProperty ex:p1 ; + sosa:madeBySensor ex:fjk39 ; + sosa:phenomenonTime [ + a time:Interval ; + time:hasBeginning [ + a time:Instant ; + time:inXSDDateTime "2017-04-15T20:00:00+00:00"^^xsd:dateTime + ] ; + time:hasEnd [ + a time:Instant ; + time:inXSDDateTime "2017-04-15T20:03:00+00:00"^^xsd:dateTime + ] ; + ] ; + sosa:resultTime "2017-04-15T20:03:30+00:00"^^xsd:dateTime ; + sosa:hasSimpleResult """2017-04-15T20:00:00+00:00 3.24 + 2017-04-15T20:01:00+00:00 3.21 + 2017-04-15T20:02:00+00:00 3.15 + 2017-04-15T20:03:00+00:00 3.15"""^^ex:vector2D-T-M-PER-SEC ; +. +ex:ex:vector2D-T-M-PER-SEC a rdfs:DataType ; + skos:definition "A 2-D vector, each value is a timestamp and a quantity in metres per second."@en ; +. +ex:station223 a sosa:FeatureOfInterest . +ex:p1 a sosa:Property . +ex:fjk39 a sosa:Sensor . \ No newline at end of file diff --git a/ssn/rdf/examples/timeseries-result-link.ttl b/ssn/rdf/examples/timeseries-result-link.ttl new file mode 100644 index 00000000..a5cba42e --- /dev/null +++ b/ssn/rdf/examples/timeseries-result-link.ttl @@ -0,0 +1,30 @@ +@prefix ex: . +@prefix rdf: . +@prefix sosa: . +@prefix time: . +@prefix unit: . +@prefix xsd: . +@base . + +ex:ts159l + a sosa:Observation ; + sosa:hasFeatureOfInterest ex:station223 ; + sosa:observedProperty ex:p1 ; + sosa:madeBySensor ex:fjk39 ; + sosa:phenomenonTime [ + a time:Interval ; + time:hasBeginning [ + a time:Instant ; + time:inXSDDateTime "2017-04-15T20:00:00+00:00"^^xsd:dateTime + ] ; + time:hasEnd [ + a time:Instant ; + time:inXSDDateTime "2017-04-15T20:03:00+00:00"^^xsd:dateTime + ] ; + ] ; + sosa:resultTime "2017-04-15T20:03:30+00:00"^^xsd:dateTime ; + sosa:hasResult ; +. +ex:station223 a sosa:FeatureOfInterest . +ex:p1 a sosa:Property . +ex:fjk39 a sosa:Sensor . \ No newline at end of file diff --git a/ssn/rdf/examples/01-observation-collection.ttl b/ssn/rdf/examples/unused/01-observation-collection.ttl similarity index 100% rename from ssn/rdf/examples/01-observation-collection.ttl rename to ssn/rdf/examples/unused/01-observation-collection.ttl diff --git a/ssn/rdf/examples/02-homo-vs-summar-collection.ttl b/ssn/rdf/examples/unused/02-homo-vs-summar-collection.ttl similarity index 100% rename from ssn/rdf/examples/02-homo-vs-summar-collection.ttl rename to ssn/rdf/examples/unused/02-homo-vs-summar-collection.ttl From d014db8ff89d2095d59d8df9326e804bb2364ec9 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Fri, 31 Jan 2025 14:03:09 +1100 Subject: [PATCH 55/74] Enlarge SVG diagram - still not text-searchable in Edge :-( --- ssn/chapters/Actuation.html | 4 ---- ssn/chapters/ModelTimeSeries.html | 2 +- ssn/chapters/Observation.html | 4 ---- ssn/chapters/Sampling.html | 8 -------- 4 files changed, 1 insertion(+), 17 deletions(-) diff --git a/ssn/chapters/Actuation.html b/ssn/chapters/Actuation.html index f6fd3dee..83c3272f 100644 --- a/ssn/chapters/Actuation.html +++ b/ssn/chapters/Actuation.html @@ -249,10 +249,6 @@
    sosa:ActuationCollection

    - - - -
    Example... TODO ...
    Sub class of diff --git a/ssn/chapters/ModelTimeSeries.html b/ssn/chapters/ModelTimeSeries.html index 2b636eed..64a46a4f 100644 --- a/ssn/chapters/ModelTimeSeries.html +++ b/ssn/chapters/ModelTimeSeries.html @@ -8,7 +8,7 @@

    Time series

    For example shows an Collection of Observations that has a member for each time-step in the series.

    - Observation feature-of-interest patterns 1 + Observation feature-of-interest patterns 1
    Collection of observations of the same property on the same feature of interest, with each member representing a step in the time-series.
    diff --git a/ssn/chapters/Observation.html b/ssn/chapters/Observation.html index cc2adb35..6cc25c51 100644 --- a/ssn/chapters/Observation.html +++ b/ssn/chapters/Observation.html @@ -324,10 +324,6 @@
    sosa:ObservationCollection
    collection for examples.

    - - - -
    Example... TODO ...
    Sub class of diff --git a/ssn/chapters/Sampling.html b/ssn/chapters/Sampling.html index 51508ea9..bfb23932 100644 --- a/ssn/chapters/Sampling.html +++ b/ssn/chapters/Sampling.html @@ -318,10 +318,6 @@
    sosa:SampleCollection
    - - - -
    Example... TODO ...
    Note The members of a collection do not necessarily share a common value @@ -644,10 +640,6 @@
    sosa:SamplingCollection

    - - - -
    Example... TODO ...
    Sub class of From b14b9e80a9b328c1bf14a420b3882d313557867f Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 4 Feb 2025 12:28:40 +1100 Subject: [PATCH 56/74] Add I-Adopt example property definition --- ssn/chapters/ModelPropertyDefinition.html | 38 +++++++++++++------ ssn/chapters/ModelTimeSeries.html | 4 +- ssn/images/Temperature-i-adopt.svg | 4 ++ ssn/rdf/examples/Temperature-i-adopt.ttl | 24 ++++++++++++ ssn/rdf/examples/timeseries-result-inline.ttl | 2 + ssn/rdf/examples/timeseries-result-link.ttl | 1 + 6 files changed, 60 insertions(+), 13 deletions(-) create mode 100644 ssn/images/Temperature-i-adopt.svg create mode 100644 ssn/rdf/examples/Temperature-i-adopt.ttl diff --git a/ssn/chapters/ModelPropertyDefinition.html b/ssn/chapters/ModelPropertyDefinition.html index e61a96d3..fd46bd52 100644 --- a/ssn/chapters/ModelPropertyDefinition.html +++ b/ssn/chapters/ModelPropertyDefinition.html @@ -1,6 +1,9 @@

    Property definitions

    The SSN Ontology does not provide a general pattern for describing observable or actuatable properties. +

    +

    Catalogues of properties

    +

    A number of existing catalogues of properties are available, such as:

    - Each of these uses a distinct ontology or way of formalizing the definition of a property, suitable for many + Each of these uses a distinct ontology or way of formalizing the definition of a property suitable for many applications. +

    +

    New property definitions

    +

    Alternatively, the Parameter Usage Vocabulary or I-ADOPT may be used to define a new observable or actuatable property. - The key point is that each individual property is denoted by a URI, which can be used as the value of the + For example, using the I-ADOPT terminology, the property Temperature may be specialized to apply to a sick + child as follows: +

    +
    + Constrained temperature definition +
    + Definition of a constrained temperature property for a sick child, using the I-ADOPT vocabulary. +
    + Explanation of the notation used in class diagrams. +
    +
    +
    
    +

    + The key point is that an individual property, either taken from a catalogue or defined using a specialist + vocabaulary, is denoted by a URI. + This URI can then be used as the value of the sosa:actsOnProperty or sosa:observedProperty of an Execution.

    Most commonly an instance of sosa:Property is generic to many features of interest (e.g. ex:Temperature, ex:OnOffStatus). - The catalogs mentioned above primarily support this use case. + The catalogs listed above support this use case.

    +

    Feature-specific properties

    - A property may be made specific to a single feature of interest using + Alternatively property may be made specific to a single feature of interest using sosa:isPropertyOf (e.g. ex:SickChildATemperature, ex:LightStatus). Specific properties of individual features would not usually appear in a catalogue of reusable properties, @@ -48,13 +71,6 @@

    Property definitions

    [[SAREF]] is closely aligned with SSN as documented in the alignments chapter so this may be used in SSN applications.

    -

    - For properties described as SKOS Concepts ([[skos-primer]]), such as in the - BODC parameter entity names catalog, - standard SKOS semantic relations may be useful, - e.g. skos:broader to relate a specialized - property to the general case. -

    Where sosa:actsOnProperty or sosa:observedProperty of an diff --git a/ssn/chapters/ModelTimeSeries.html b/ssn/chapters/ModelTimeSeries.html index 64a46a4f..de7cc6ed 100644 --- a/ssn/chapters/ModelTimeSeries.html +++ b/ssn/chapters/ModelTimeSeries.html @@ -4,11 +4,11 @@

    Time series

    There are a number of ways these may be modeled using the SSN Ontology.

    - The most explicit representation is as an for each member of the series to be an individual member of a Collection. + The most explicit representation has each member of the series to be an individual member of a Collection. For example shows an Collection of Observations that has a member for each time-step in the series.

    - Observation feature-of-interest patterns 1 + Explicit time-series
    Collection of observations of the same property on the same feature of interest, with each member representing a step in the time-series.
    diff --git a/ssn/images/Temperature-i-adopt.svg b/ssn/images/Temperature-i-adopt.svg new file mode 100644 index 00000000..fb372c67 --- /dev/null +++ b/ssn/images/Temperature-i-adopt.svg @@ -0,0 +1,4 @@ + + + +
    ex:SickChildTemperature
    iop:Variable
    rdf:type
    iop:Property
    rdf:type
    qk:Temperature
    ex:Child
    ex:SickChild
    iop:hasConstraint
    sosa:Property
    iop:hasProperty
    iop:hasObjectOfInterest
    iop:Constrains
    rdf:type
    sosa:Property
    rdf:type
    \ No newline at end of file diff --git a/ssn/rdf/examples/Temperature-i-adopt.ttl b/ssn/rdf/examples/Temperature-i-adopt.ttl new file mode 100644 index 00000000..708d3e77 --- /dev/null +++ b/ssn/rdf/examples/Temperature-i-adopt.ttl @@ -0,0 +1,24 @@ +@prefix ex: . +@prefix iop: . +@prefix qk: . +@prefix rdf: . +@prefix skos: . + +ex:SickChildTemperature + a iop:Variable , sosa:Property; + iop:hasProperty qk:Temperature ; + iop:hasObjectOfInterest ex:Child ; + iop:hasConstraint iop:SickChild ; + a saref:Property ; +. +qk:Temperature + a iop:Property , sosa:Property ; +. +ex:Child + a iop:Entity ; +. +ex:SickChild + a iop:Constraint ; + skos:definition "Sick Child"@en ; + iop:Constrains ex:Child ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/timeseries-result-inline.ttl b/ssn/rdf/examples/timeseries-result-inline.ttl index a8ac6d4b..2b7a2957 100644 --- a/ssn/rdf/examples/timeseries-result-inline.ttl +++ b/ssn/rdf/examples/timeseries-result-inline.ttl @@ -29,9 +29,11 @@ ex:ts159i 2017-04-15T20:01:00+00:00 3.21 2017-04-15T20:02:00+00:00 3.15 2017-04-15T20:03:00+00:00 3.15"""^^ex:vector2D-T-M-PER-SEC ; + rdfs:comment "The result of the observation has four values, where each value is composed of a timestamp and a quantity in metres per second."@en ; . ex:ex:vector2D-T-M-PER-SEC a rdfs:DataType ; skos:definition "A 2-D vector, each value is a timestamp and a quantity in metres per second."@en ; + rdfs:comment "This datatype is used to represent a series of results, where each result is composed of a timestamp and a quantity in metres per second."@en ; . ex:station223 a sosa:FeatureOfInterest . ex:p1 a sosa:Property . diff --git a/ssn/rdf/examples/timeseries-result-link.ttl b/ssn/rdf/examples/timeseries-result-link.ttl index a5cba42e..a598645e 100644 --- a/ssn/rdf/examples/timeseries-result-link.ttl +++ b/ssn/rdf/examples/timeseries-result-link.ttl @@ -24,6 +24,7 @@ ex:ts159l ] ; sosa:resultTime "2017-04-15T20:03:30+00:00"^^xsd:dateTime ; sosa:hasResult ; + rdfs:comment "The result of the observation is accessed using the URI https://example.org/data/tso/netcdf/ts159 (notional)."@en ; . ex:station223 a sosa:FeatureOfInterest . ex:p1 a sosa:Property . From f10ce4a7adc8105c2fc64731a4f3b400998a341d Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Tue, 4 Feb 2025 12:38:47 +1100 Subject: [PATCH 57/74] re-arrange sections --- ssn/chapters/ModelPropertyDefinition.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ssn/chapters/ModelPropertyDefinition.html b/ssn/chapters/ModelPropertyDefinition.html index fd46bd52..90571d51 100644 --- a/ssn/chapters/ModelPropertyDefinition.html +++ b/ssn/chapters/ModelPropertyDefinition.html @@ -42,14 +42,14 @@

    New property definitions

    sosa:actsOnProperty or sosa:observedProperty of an Execution.

    +

    Feature-specific properties

    Most commonly an instance of sosa:Property is generic to many features of interest (e.g. ex:Temperature, ex:OnOffStatus). The catalogs listed above support this use case.

    -

    Feature-specific properties

    - Alternatively property may be made specific to a single feature of interest using + Alternatively a property may be made specific to a single feature of interest using sosa:isPropertyOf (e.g. ex:SickChildATemperature, ex:LightStatus). Specific properties of individual features would not usually appear in a catalogue of reusable properties, @@ -71,6 +71,9 @@

    Feature-specific properties

    [[SAREF]] is closely aligned with SSN as documented in the alignments chapter so this may be used in SSN applications.

    +

    + Where a property is defined as applying to a specific feature of interest, it cannot be used for an observation concerning any other feature of interest. +

    Where sosa:actsOnProperty or sosa:observedProperty of an From c2ec82cc5e3dfa1d2de3546f734f862e1e05d316 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 5 Feb 2025 11:17:46 +1100 Subject: [PATCH 58/74] Minor textual improvements responding to https://github.com/w3c/sdw-sosa-ssn/pull/276#pullrequestreview-2593750087 --- ssn/chapters/CompleteExamples.html | 106 +++++++++--------- ssn/chapters/ModelFOI.html | 11 +- ssn/chapters/ModelLocation.html | 12 +- ssn/chapters/ModelPropertyDefinition.html | 16 +-- ssn/chapters/ModelTimeSeries.html | 4 +- ssn/chapters/RDF-implementation.html | 9 +- ...em-Execution-Procedure-specializations.png | Bin 40008 -> 34939 bytes ssn/rdf/examples/paleo-atmosphere.ttl | 2 +- ssn/rdf/ontology/extensions/ssn-system.ttl | 2 +- 9 files changed, 80 insertions(+), 82 deletions(-) diff --git a/ssn/chapters/CompleteExamples.html b/ssn/chapters/CompleteExamples.html index e6ee9c48..cfe159c5 100644 --- a/ssn/chapters/CompleteExamples.html +++ b/ssn/chapters/CompleteExamples.html @@ -2,10 +2,10 @@

    Complete Examples

    Tree height measurement

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    +    

    An RDF file containing a graph + corresponding to this example is available.

    +
    
     
    @@ -19,63 +19,63 @@

    Number of sunspots

    Seismograph measuring ground displacement speed

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    +    

    An RDF file containing a graph + corresponding to this example is available.

    +
    
     

    iPhone Barometer

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    +    

    An RDF file containing a graph + corresponding to this example is available.

    +
    
     

    Temperature and Humidity at Coal Oil Point Reserve

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    +    

    An RDF file containing a graph + corresponding to this example is available.

    +
    
     

    Electricity consumption of apartment #134

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    +    

    An RDF file containing a graph + corresponding to this example is available.

    +
    
     

    Wind sensor spinning cups

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    +    

    An RDF file containing a graph + corresponding to this example is available.

    +
    
     

    Ice Core

    -

    In order to characterize a thing with a large extent, or which is not directly accessible, the usual - observational strategy is to obtain one or more samples. Observations can then be made more conveniently on - the samples, with the intention of characterizing the larger thing. This intentionality is captured using - the property sosa:isSampleOf.

    -

    In the following example, the ice core is a sample of the Antarctic ice sheet, and observations may be made on - the ice core and further samples taken from that.

    -

    A convenient side effect of this feature is that all observations related to the larger thing (the ice - sheet) can be found, and then potentially joined together in a meta-analysis in order to characterize that. -

    -

    An RDF file containing a graph - corresponding to this example is available.

    -
    
    +    

    In order to characterize a thing with a large extent, or which is not directly accessible, the usual + observational strategy is to obtain one or more samples. Observations can then be made more conveniently on + the samples, with the intention of characterizing the larger thing. This intentionality is captured using + the property sosa:isSampleOf.

    +

    In the following example, the ice core is a sample of the Antarctic ice sheet, and observations may be made on + the ice core and further samples taken from that.

    +

    A convenient side effect of this feature is that all observations related to the larger thing (the ice + sheet) can be found, and then potentially joined together in a meta-analysis in order to characterize that. +

    +

    An RDF file containing a graph + corresponding to this example is available.

    +
    
     
    -

    Complex sensor capabilities - DHT22

    +

    Complex sensor capabilities — DHT22

    An RDF file containing a graph @@ -91,9 +91,9 @@

    DHT22 Deployment

    more sensors. Each sensor observes the conditions in its immediate vicinity, and the values are then used to characterize the room.

    -

    In Room 145 one of the walls is external in the building, so there is expected to be a temperature gradient - across the room, and there are two sensors on different walls. In room 245 there is one sensor on the south - wall. +

    In Room 145, one of the walls is external in the building, so there is expected to be a temperature gradient + across the room, and there are two sensors on different walls. + In room 245, there is one sensor on the south wall. Each of these locations corresponds to a sosa:Sample of the entire room. The wall also serves as a sosa:Platform on which the sensors are mounted.

    An RDF file containing a InkBird IBS TH2 Sensor

    Recording survival and operating ranges for a sensor

    - In this example we represent the capability of the platform temperature sensor to measure ambient air and the - physical survival limits of its plastic construction. Note that this should apply to the platform as well, but in SOSA/SSN survival ranges only apply to sensors and systems, not platforms.

    + In this example we represent the capability of the platform temperature sensor to measure ambient air and + the physical survival limits of its plastic construction. + Note that this should apply to the platform as well, but in SOSA/SSN, survival ranges only apply to sensors + and systems, not to platforms.

    xsd:minInclusive and xsd:maxInclusive are used to report the maximum and minimum operating and survival - ranges for the - sensor. These are simple properties that are not encoded here as ontological restrictions on observation - results. Besides the fact that these - ranges apply to the sensor type and not the sensor instance, it is often necessary to report - out-of-range values to record the occurrence of an operating condition leading to failure. It should also be - noted that - system lifespan can exceed the specification. The Voyager 2 spacecraft is a well know example: designed to - function for 5 - years, it is still partially operational after 43 years.

    - + ranges for the sensor. + These are simple properties that are not encoded here as ontological restrictions on observation results. + Beyond the fact that these ranges apply to the sensor type and not the sensor instance, it is often + necessary to report out-of-range values, to record the occurrence of an operating condition leading to + failure. + It should also be noted that system lifespan can exceed the specification. + The Voyager 2 spacecraft is a well know example: designed to function for only five years, it is still + partially operational after 43 years.

    An RDF file containing a graph corresponding to this example is available.

    diff --git a/ssn/chapters/ModelFOI.html b/ssn/chapters/ModelFOI.html index b84c3b01..7c11b59e 100644 --- a/ssn/chapters/ModelFOI.html +++ b/ssn/chapters/ModelFOI.html @@ -2,9 +2,8 @@

    Proximate and Ultimate feature of interest

    The object of the hasFeatureOfInterest property of an Execution - (i.e Actuation, Observation, - or Sampling) is the immediate or proximate FeatureOfInterest. + (e.g. Actuation, Observation, or Sampling) is the immediate or proximate + FeatureOfInterest. For example, shows a description of a simple actuation to open a window.

    @@ -18,13 +17,13 @@

    Proximate and Ultimate feature of interest

    
     
     

    - In some cases the feature-of-interest of the execution is not the the ultimate thing that the act of actuation, + In some cases the feature-of-interest of the execution is not the ultimate thing that the act of actuation, observation, or sampling is concerned with, but is an intermediate thing. - This might be a sample of the ultimate feature of interest, or perhaps a sample of a sample, etc. + This might be a sample of the ultimate feature of interest, or a sample of a sample, etc. The relationship between the proximate and ultimate feature of interest might be specified, such as a sampling-chain. If this relationship is recorded, then an ultimate feature of interest might be inferred. - Nevertheless it is often the ultimate feature of interest that really matters to the data user, particularly for + Nevertheless, it is often the ultimate feature of interest that really matters to the data user, particularly for discovery purposes. This requirement is met using the hasUltimateFeatureOfInterest property. diff --git a/ssn/chapters/ModelLocation.html b/ssn/chapters/ModelLocation.html index 5ccc364b..2987db29 100644 --- a/ssn/chapters/ModelLocation.html +++ b/ssn/chapters/ModelLocation.html @@ -13,9 +13,9 @@

    Location

    In particular, GeoSPARQL [[GeoSPARQL]] provides a flexible and relatively complete platform for geospatial - objects, that fosters interoperability between geo-datasets. To do so, these entities can be declared as - instances of geo:Feature and geometries can be assigned to them via the geo:hasGeometry - property. + objects, that fosters interoperability between geo-datasets. + To do so, these entities can be declared as instances of geo:Feature and geometries can be assigned to + them via the geo:hasGeometry property. In case of classes, e.g., specific features of interests such as rivers, these MAY be defined as subclasses of geo:Feature.

    @@ -28,7 +28,7 @@
    Systems, Platforms, Deployments

    - For example, a System, such as a Sensor might be permanently in one specific location, + For example, a System, such as a Sensor, might be permanently in one specific location, described as follows:

    @@ -105,8 +105,8 @@

    Relative location patterns

    phenomenon-time

    - Note that in the case of ex situ measurements, there will usually be a Sample and thus an - act of Sampling involved, whose properties determine the location and phenomenon-time. + Note that in ex situ measurements, there will usually be a Sample and thus an act of + Sampling involved, whose properties determine the location and phenomenon-time.

    Geometry results

    diff --git a/ssn/chapters/ModelPropertyDefinition.html b/ssn/chapters/ModelPropertyDefinition.html index 90571d51..bab37396 100644 --- a/ssn/chapters/ModelPropertyDefinition.html +++ b/ssn/chapters/ModelPropertyDefinition.html @@ -14,8 +14,8 @@

    Catalogues of properties

  • The Environment Ontology
  • - Each of these uses a distinct ontology or way of formalizing the definition of a property suitable for many - applications. + Each of these uses a distinct ontology — or way of formalizing the definition of a property — suitable + for many applications.

    New property definitions

    @@ -36,7 +36,7 @@

    New property definitions

    
     

    - The key point is that an individual property, either taken from a catalogue or defined using a specialist + The key point is that an individual property, whether taken from a catalogue or defined using a specialist vocabaulary, is denoted by a URI. This URI can then be used as the value of the sosa:actsOnProperty or @@ -49,9 +49,9 @@

    Feature-specific properties

    The catalogs listed above support this use case.

    - Alternatively a property may be made specific to a single feature of interest using + Alternatively, a property may be made specific to a single feature of interest using sosa:isPropertyOf - (e.g. ex:SickChildATemperature, ex:LightStatus). + (e.g. ex:SickChildATemperature, ex:Room34LightStatus). Specific properties of individual features would not usually appear in a catalogue of reusable properties, but this pattern is used in some applications. In that context, a key requirement is to relate the specific property to the general case for the underlying @@ -62,8 +62,7 @@

    Feature-specific properties

    saref:Property for the general case, and saref:PropertyOfInterest for the case where a property is bound to a single feature of interest. An instance of the latter may be connected to an instance of the former using the predicate - saref:hasPropertyKind, - as shown in the following example:. + saref:hasPropertyKind, as shown in the following example:.

    
    @@ -72,7 +71,8 @@ 

    Feature-specific properties

    so this may be used in SSN applications.

    - Where a property is defined as applying to a specific feature of interest, it cannot be used for an observation concerning any other feature of interest. + Where a property is defined as applying to a specific feature of interest, it cannot be used for an observation + concerning any other feature of interest.

    Where sosa:actsOnProperty or diff --git a/ssn/chapters/ModelTimeSeries.html b/ssn/chapters/ModelTimeSeries.html index de7cc6ed..77b04ada 100644 --- a/ssn/chapters/ModelTimeSeries.html +++ b/ssn/chapters/ModelTimeSeries.html @@ -4,7 +4,7 @@

    Time series

    There are a number of ways these may be modeled using the SSN Ontology.

    - The most explicit representation has each member of the series to be an individual member of a Collection. + The most explicit representation has each member of the series as an individual member of a Collection. For example shows an Collection of Observations that has a member for each time-step in the series.

    @@ -19,7 +19,7 @@

    Time series

    Alternatively, the series may be represented as a single Observation with a hasResult that is a complex value, such as a vector or array. - This may be indicated 'inline' as a complex data-structure, or 'linked' to a separate resource, as in the following two examples. + This may be indicated 'inline' as a complex data-structure, or be 'linked' to a separate resource, as in the following two examples.

    
     
    diff --git a/ssn/chapters/RDF-implementation.html b/ssn/chapters/RDF-implementation.html index 6bb4930d..17958a12 100644 --- a/ssn/chapters/RDF-implementation.html +++ b/ssn/chapters/RDF-implementation.html @@ -35,11 +35,10 @@

    Dependencies

    Expressivity

    - The SOSA modules contain the basic definitions of the core terms with minimal axiomatization - only - rdf:type and owl:inverseOf - together with key annotations rdfs:label - , - skos:definition , schema:domainIncludes , schema:rangeIncludes, plus - other annotations as required. + The SOSA modules contain the basic definitions of the core terms with minimal axiomatization — only + rdf:type and owl:inverseOf — together with key annotations + rdfs:label , skos:definition , schema:domainIncludes, and/or + schema:rangeIncludes, plus other annotations as required. Inverses are named for all object properties.

    diff --git a/ssn/images/System-Execution-Procedure-specializations.png b/ssn/images/System-Execution-Procedure-specializations.png index fa24827d944a69feba7e4dc80d8d2652e758a054..16fbc7ed0d9c15e6890966ad299a74c40533777a 100644 GIT binary patch literal 34939 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%0D93B)lu&UQ_wmGh53qKfLSetkjF4+b! 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 $1(!m;Ef;CQB{l=^+_A7Mh4YI@9oIHbcdoLh? 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

    d9Yn`jx< zHrBT4t4aoRq?o>6{C@mS-Dj`mx^k3vPOc5ILrKc^?T#rNM8NI>>);$grk1Bhm#;}&42-)#x zI3GC&h9b11#Y9FuyC`??;Fo0aRCbH^!;c-^6X^&+R+eUz-n)Jg&c+W-?CesaP$SiN zxS3_Bnepx+;tI0yLl$R7s=syfi{_*Nd7X7X^+3O2>(tSNLwSl|{f8$?$eJaK^*ed> zpg>ReNT&t!V+Ui0)Z~n`?G4W`th=?DTK zn8U~;rV>Xt7CHy7u{S0jUc8j}z1*Nlw5M&L)dbcBIyjYYeebV|FYB`7s;6T(+W1+m z8>b_Xn+qk4zrVnk|6LlWwK;K~ z>|GQJI(KyuKY4hL+Pp;c-}U!WZ~yGV>bU7$)h6;qU=R*ZB@@pV&paVg*6tACg-BRP z7;sWP;1_;iAS5F7P)zEf1h0^gl#tM+P!7BQ;R0uu7xp&3|M>;(V`*66g8TnAf~UPR d#KZHMv+I9;4M$Hc>G`dzDQPPf%Rhbne*qI%mU#dG literal 40008 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

    Tp#%`G6Zi6_+{SkjmRH=AkQ3 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 diff --git a/ssn/rdf/examples/paleo-atmosphere.ttl b/ssn/rdf/examples/paleo-atmosphere.ttl index ebf96e59..d614fd3c 100644 --- a/ssn/rdf/examples/paleo-atmosphere.ttl +++ b/ssn/rdf/examples/paleo-atmosphere.ttl @@ -51,7 +51,7 @@ ex:EarthAtmosphere a sosa:FeatureOfInterest ; . ex:C14-Age a sosa:Property ; owl:sameAs ; - skos:definition "The age of an object determined by radiocarbon dating expressed relative to a datum of AD 1950." ; + skos:definition "The age of an object, determined by radiocarbon dating, expressed relative to a datum of AD 1950." ; skos:prefLabel "14C age" ; . ex:CO2-Concentration a sosa:Property ; diff --git a/ssn/rdf/ontology/extensions/ssn-system.ttl b/ssn/rdf/ontology/extensions/ssn-system.ttl index 8328888a..fadf0921 100644 --- a/ssn/rdf/ontology/extensions/ssn-system.ttl +++ b/ssn/rdf/ontology/extensions/ssn-system.ttl @@ -20,7 +20,7 @@ ssn-system: a owl:Ontology , voaf:Vocabulary ; dcterms:title "System capabilities, operating ranges, and survival ranges ontology"@en ; dcterms:description "This ontology describes system capabilities, operating ranges, and survival ranges."@en ; dcterms:creator [ a foaf:Agent ; foaf:name "W3C/OGC Spatial Data on the Web Working Group"@en ] ; - dcterms:rights "Copyright 2017 , 2024 W3C/OGC." ; + dcterms:rights "Copyright 2017, 2024 W3C/OGC." ; dcterms:license ; dcterms:license ; rdfs:comment "Please report any errors to the W3C Spatial Data on the Web Working Group via the SDW WG Public List public-sdw-wg@w3.org"@en ; From e10d31b8fe5c7170ea4f0191528bf630b969e09d Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 5 Feb 2025 11:30:55 +1100 Subject: [PATCH 59/74] Minor formatting/typos --- ssn/chapters/CompleteExamples.html | 2 +- ssn/rdf/tests/System/2017ex14.ttl | 2 +- ssn/rdf/tests/System/2017ex17.ttl | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ssn/chapters/CompleteExamples.html b/ssn/chapters/CompleteExamples.html index cfe159c5..3f9e95e0 100644 --- a/ssn/chapters/CompleteExamples.html +++ b/ssn/chapters/CompleteExamples.html @@ -135,7 +135,7 @@

    Recording survival and operating ranges for a sensor

    necessary to report out-of-range values, to record the occurrence of an operating condition leading to failure. It should also be noted that system lifespan can exceed the specification. - The Voyager 2 spacecraft is a well know example: designed to function for only five years, it is still + The Voyager 2 spacecraft is a well known example: designed to function for only five years, it is still partially operational after 43 years.

    An RDF file containing a graph diff --git a/ssn/rdf/tests/System/2017ex14.ttl b/ssn/rdf/tests/System/2017ex14.ttl index f9d0e8e7..31e01ef8 100644 --- a/ssn/rdf/tests/System/2017ex14.ttl +++ b/ssn/rdf/tests/System/2017ex14.ttl @@ -41,6 +41,6 @@ qudt:hasUnit unit:CentiM-PER-SEC ] ; sosa:resultTime "2017-04-18T08:23:00-07:00"^^xsd:dateTimeStamp . -# using SSN one can explicitly state that is the property of . +# using SSN, one can explicitly state that is the property of . ssn:hasProperty . \ No newline at end of file diff --git a/ssn/rdf/tests/System/2017ex17.ttl b/ssn/rdf/tests/System/2017ex17.ttl index 234f5a66..d7b566a9 100644 --- a/ssn/rdf/tests/System/2017ex17.ttl +++ b/ssn/rdf/tests/System/2017ex17.ttl @@ -4,13 +4,13 @@ @prefix xsd: . @base . -# movements of spinning cups on wind sensor #14 serves as proxies for the wind speed +# movements of spinning cups on wind sensor #14 serve as proxies for the wind speed # at the location of the wind sensor. rdf:type sosa:Sensor ; sosa:observes . -# wind sensor #14 detected some movement of spinning cups, from which originated the +# wind sensor #14 detected some movement of spinning cups, from which originated # observations #147 and #148. rdf:type sosa:Sensor ; @@ -18,7 +18,7 @@ ssn:detects , . # observation #147 was originated by the movement of the spinning cups of sensor #14. -# the result of observations #147 and #148 is using some custom datatype that encodes the unit of measure. +# the results of observations #147 and #148 use some custom datatype that encodes the unit of measure. rdf:type sosa:Observation ; sosa:observedProperty ; From 43d2099460fb3a318f30b3c6a847e5351fe54b91 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 5 Feb 2025 21:53:54 +1100 Subject: [PATCH 60/74] Domain feature diagram --- ssn/chapters/ModelDomainTypes.html | 17 +++++++++++++++++ ssn/chapters/ModelQuantity.html | 4 ++-- ssn/images/domain-feature-observed.svg | 4 ++++ ssn/images/domain-feature.svg | 4 ++++ 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 ssn/images/domain-feature-observed.svg create mode 100644 ssn/images/domain-feature.svg diff --git a/ssn/chapters/ModelDomainTypes.html b/ssn/chapters/ModelDomainTypes.html index 364e3ecf..a8517c48 100644 --- a/ssn/chapters/ModelDomainTypes.html +++ b/ssn/chapters/ModelDomainTypes.html @@ -106,12 +106,29 @@

    FeatureOfInterest in SSN

    For example, the following is a potential scenario. There is an entity typed with a class from a domain model:

    +
    + a domain feature +
    + A feature classified using a domain ontology. +
    +
    Explanation of the notation used in class diagrams. +
    +
     ex:YarraAboveDightsFalls rdf:type hydro:RiverReach .
     

    An observation is made concerning a property of this entity:

    +
    + a domain feature +
    + An observation on a feature previously classified using a domain ontology. +
    + Explanation of the notation used in class diagrams. +
    +
    +
     ex:o345 rdf:type sosa:Observation ;
         sosa:hasFeatureOfInterest ex:YarraAboveDightsFalls ;
    diff --git a/ssn/chapters/ModelQuantity.html b/ssn/chapters/ModelQuantity.html
    index 185ffc39..641bd397 100644
    --- a/ssn/chapters/ModelQuantity.html
    +++ b/ssn/chapters/ModelQuantity.html
    @@ -13,8 +13,8 @@ 

    Quantity Values and Units of Measure

    With QUDT, a quantitative result can be a qudt:QuantityValue. - Its unit of measure unit:DEG_C is an individual from the QUDT - catalogue of units of measure. + In the following example, its unit of measure unit:DEG_C is an + individual from the QUDT catalogue of units of measure.

    
     

    diff --git a/ssn/images/domain-feature-observed.svg b/ssn/images/domain-feature-observed.svg new file mode 100644 index 00000000..642696b3 --- /dev/null +++ b/ssn/images/domain-feature-observed.svg @@ -0,0 +1,4 @@ + + + +
    ex:o345
    ex:o345
    Observation
    Observation
    rdf:type
    rdf:type
    ex:YarraAboveDightsFalls
    ex:YarraAboveDightsFalls
    hydro:elevation
    hydro:elevation
    2024-07-15T13:30:00+10:00
    2024-07-15T13:30:00+10:00
    phenomenonTime
    phenomenonTime
    observedProperty
    observedProperty
    hasFeatureOfInterest
    hasFeatureOfInt...
    30m
    30m
    hasSimpleResult
    hasSimpleResult
    FeatureOfInterest
    FeatureOfInterest
    rdf:type
    rdf:type
    hydro:RiverReach
    hydro:RiverReach
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/domain-feature.svg b/ssn/images/domain-feature.svg new file mode 100644 index 00000000..420fb431 --- /dev/null +++ b/ssn/images/domain-feature.svg @@ -0,0 +1,4 @@ + + + +
    ex:YarraAboveDightsFalls
    ex:YarraAboveDightsFalls
    hydro:RiverReach
    hydro:RiverReach
    rdf:type
    rdf:type
    Text is not SVG - cannot display
    \ No newline at end of file From 45b6f29f45294ea59b260701e01d3fff97323598 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 5 Feb 2025 21:56:07 +1100 Subject: [PATCH 61/74] size of diagram! --- ssn/chapters/ModelDomainTypes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssn/chapters/ModelDomainTypes.html b/ssn/chapters/ModelDomainTypes.html index a8517c48..277118b3 100644 --- a/ssn/chapters/ModelDomainTypes.html +++ b/ssn/chapters/ModelDomainTypes.html @@ -107,7 +107,7 @@

    FeatureOfInterest in SSN

    There is an entity typed with a class from a domain model:

    - a domain feature + a domain feature
    A feature classified using a domain ontology.
    From 255d5663df37685b4ce646bf3862ab57f288e1aa Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Wed, 5 Feb 2025 22:02:37 +1100 Subject: [PATCH 62/74] no saref in this example; sosa ns --- ssn/rdf/examples/Temperature-i-adopt.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssn/rdf/examples/Temperature-i-adopt.ttl b/ssn/rdf/examples/Temperature-i-adopt.ttl index 708d3e77..11822456 100644 --- a/ssn/rdf/examples/Temperature-i-adopt.ttl +++ b/ssn/rdf/examples/Temperature-i-adopt.ttl @@ -3,13 +3,13 @@ @prefix qk: . @prefix rdf: . @prefix skos: . +@prefix sosa: . ex:SickChildTemperature a iop:Variable , sosa:Property; iop:hasProperty qk:Temperature ; iop:hasObjectOfInterest ex:Child ; iop:hasConstraint iop:SickChild ; - a saref:Property ; . qk:Temperature a iop:Property , sosa:Property ; From cf0a4f04a64e4187a48281841e18ec14a755e723 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Thu, 6 Feb 2025 12:24:10 +1100 Subject: [PATCH 63/74] Streamline UOM FOI and Sampling patterns --- ssn/chapters/ModelFOI.html | 23 ++++------------------- ssn/chapters/ModelQuantity.html | 8 ++++++++ ssn/images/UOM.svg | 4 ++++ ssn/images/obs-foi-pattern.svg | 4 ++++ ssn/images/obs-sample-foi.svg | 4 ++++ ssn/index.html | 4 ++-- ssn/rdf/examples/UOM-OM2.ttl | 19 +++++++++---------- ssn/rdf/examples/UOM-cdt.ttl | 10 +++++++++- ssn/rdf/examples/UOM-qudt-datatype.ttl | 10 +++++++++- ssn/rdf/examples/UOM-qudt-object.ttl | 19 +++++++++---------- ssn/rdf/examples/obs-sample-foi.ttl | 23 +++++++++++++++++++++++ 11 files changed, 85 insertions(+), 43 deletions(-) create mode 100644 ssn/images/UOM.svg create mode 100644 ssn/images/obs-foi-pattern.svg create mode 100644 ssn/images/obs-sample-foi.svg create mode 100644 ssn/rdf/examples/obs-sample-foi.ttl diff --git a/ssn/chapters/ModelFOI.html b/ssn/chapters/ModelFOI.html index 7c11b59e..e8bca328 100644 --- a/ssn/chapters/ModelFOI.html +++ b/ssn/chapters/ModelFOI.html @@ -28,28 +28,13 @@

    Proximate and Ultimate feature of interest

    This requirement is met using the hasUltimateFeatureOfInterest property.

    -

    - Some patterns for the relationship of the ultimate feature of interest to observations - () and acts of sampling - (), and within sampling-chains, are illustrated below. -

    - -
    - Observation feature-of-interest patterns 1 +
    + Observation feature-of-interest patterns
    - Patterns for observations that relate to the ultimate feature of interest directly (top), - or indirectly via one sample (middle) or a chain of samples (bottom) + This observation is on a sample of the ultimate feature of interest.
    Explanation of the notation used in class diagrams.
    +
    
     
    -
    - Sampling feature-of-interest patterns 2 -
    - Patterns for sampling that relate to the ultimate feature of interest directly (top), - or indirectly via one intermediate sample (middle) or a chain of intermediate samples (bottom) -
    - Explanation of the notation used in class diagrams. -
    -
    \ No newline at end of file diff --git a/ssn/chapters/ModelQuantity.html b/ssn/chapters/ModelQuantity.html index 641bd397..60f4193f 100644 --- a/ssn/chapters/ModelQuantity.html +++ b/ssn/chapters/ModelQuantity.html @@ -16,6 +16,14 @@

    Quantity Values and Units of Measure

    In the following example, its unit of measure unit:DEG_C is an individual from the QUDT catalogue of units of measure.

    +
    + A simple Observation with a scaled number (Quantity) as its result +
    + A simple Observation with a scaled number (Quantity) as its result. +
    + Explanation of the notation used in class diagrams. +
    +
    
     

    Alternatively, an IRI from the QUDT catalogue of units of measure might be used as the diff --git a/ssn/images/UOM.svg b/ssn/images/UOM.svg new file mode 100644 index 00000000..5abe2266 --- /dev/null +++ b/ssn/images/UOM.svg @@ -0,0 +1,4 @@ + + + +
    ex:Obs234534
    ex:Obs234534
    Observation
    Observation
    rdf:type
    rdf:type
    ex:apt134
    ex:apt134
    qk:Temperature
    qk:Temperature
    24.9°C
    24.9°C
    hasResult
    hasResult
    observedProperty
    observedProperty
    hasFeatureOfInterest
    hasFeatureOfInt...
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/obs-foi-pattern.svg b/ssn/images/obs-foi-pattern.svg new file mode 100644 index 00000000..b0064d17 --- /dev/null +++ b/ssn/images/obs-foi-pattern.svg @@ -0,0 +1,4 @@ + + + +
    Observation
    Observation
    OA1
    OA1
    rdf:type
    rdf:type
    OP1
    OP1
    observedProperty
    observedProperty
    R1
    R1
    hasResult
    hasResult
    F1
    F1
    hasFeatureOfInterest
    hasFeatureOfIntere...
    PO1
    PO1
    usedProcedure
    usedProcedure
    hasUltimateFeatureOfInterest
    hasUltimateFeature...
    hasProperty
    hasProperty
    Observation
    Observation
    OA2
    OA2
    rdf:type
    rdf:type
    OP2
    OP2
    observedProperty
    observedProperty
    R2
    R2
    hasResult
    hasResult
    F2
    F2
    hasFeatureOfInterest
    hasFeatureOfIntere...
    PO2
    PO2
    usedProcedure
    usedProcedure
    hasUltimateFeatureOfInterest
    hasUltimateFeature...
    hasProperty
    hasProperty
    S2
    S2
    hasProperty
    hasProperty
    isSampleOf
    isSampleOf
    Observation
    Observation
    OA3
    OA3
    rdf:type
    rdf:type
    OP3
    OP3
    observedProperty
    observedProperty
    R3
    R3
    hasResult
    hasResult
    F3
    F3
    hasFeatureOfInterest
    hasFeatureOfIntere...
    PO3
    PO3
    usedProcedure
    usedProcedure
    hasUltimateFeatureOfInterest
    hasUltimateFeature...
    hasProperty
    hasProperty
    S31
    S31
    hasProperty
    hasProperty
    isSampleOf
    isSampleOf
    S32
    S32
    isSampleOf
    isSampleOf
    Direct observation of ultimate feature
    Direct observation of...
    Indirect observation using sample of ultimate feature
    Indirect observation usi...
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/obs-sample-foi.svg b/ssn/images/obs-sample-foi.svg new file mode 100644 index 00000000..018285aa --- /dev/null +++ b/ssn/images/obs-sample-foi.svg @@ -0,0 +1,4 @@ + + + +
    ex:Bubble873
    ex:Bubble873
    ex:EarthAtmosphere
    ex:EarthAtmosphere
    isSampleOf
    isSampleOf
    ex:Ob873c4

    ex:Ob873c4...
    ex:CO2-Concentration
    ex:CO2-Concentration
    observedProperty
    observedProperty
    240 PPM
    240 PPM
    hasResult
    hasResult
    hasFeatureOfInterest
    hasFeatureOfIntere...
    hasUltimateFeatureOfInterest
    hasUltimateFeature...
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/index.html b/ssn/index.html index ddf93ebe..ba280b02 100644 --- a/ssn/index.html +++ b/ssn/index.html @@ -233,10 +233,10 @@

    Common Patterns

    -
    -
    +
    +
    diff --git a/ssn/rdf/examples/UOM-OM2.ttl b/ssn/rdf/examples/UOM-OM2.ttl index f3e69f38..69db74ac 100644 --- a/ssn/rdf/examples/UOM-OM2.ttl +++ b/ssn/rdf/examples/UOM-OM2.ttl @@ -1,5 +1,6 @@ @prefix ex: . @prefix om: . +@prefix qk: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @@ -7,18 +8,16 @@ ex:Observation-234534 a sosa:Observation ; - rdfs:comment "Observation of the temperature outside apartment #134."@en ; sosa:hasFeatureOfInterest ex:apt134 ; + sosa:observedProperty qk:Temperature ; sosa:hasResult [ a om:Measure ; om:hasUnit om:degreeCelsius ; - om:hasNumericalValue "-29.9"^^xsd:decimal ] ; + om:hasNumericalValue "24.9"^^xsd:decimal ] ; . -ex:Observation-83985 - a sosa:Observation ; - rdfs:comment "Observation of the temperature inside apartment #134."@en ; - sosa:hasFeatureOfInterest ex:apt134 ; - sosa:hasResult [ - a om:Point ; - om:hasScale om:CelsiusScale ; - om:hasNumericalValue "22.4"^^xsd:decimal ] . \ No newline at end of file +ex:apt134 + a sosa:FeatureOfInterest ; +. +qk:Temperature + a sosa:Property ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/UOM-cdt.ttl b/ssn/rdf/examples/UOM-cdt.ttl index b46e58e5..92a3dcba 100644 --- a/ssn/rdf/examples/UOM-cdt.ttl +++ b/ssn/rdf/examples/UOM-cdt.ttl @@ -1,5 +1,6 @@ @prefix cdt: . @prefix ex: . +@prefix qk: . @prefix rdf: . @prefix rdfs: . @prefix sosa: . @@ -7,8 +8,15 @@ ex:Obs234534 a sosa:Observation ; sosa:hasFeatureOfInterest ex:apt134 ; - sosa:hasSimpleResult "-29.9 Cel"^^cdt:ucum ; + sosa:observedProperty qk:Temperature ; + sosa:hasSimpleResult "24.9 Cel"^^cdt:ucum ; . cdt:ucum a rdfs:Datatype ; +. +ex:apt134 + a sosa:FeatureOfInterest ; +. +qk:Temperature + a sosa:Property ; . \ No newline at end of file diff --git a/ssn/rdf/examples/UOM-qudt-datatype.ttl b/ssn/rdf/examples/UOM-qudt-datatype.ttl index 9c2d7005..8800b5c4 100644 --- a/ssn/rdf/examples/UOM-qudt-datatype.ttl +++ b/ssn/rdf/examples/UOM-qudt-datatype.ttl @@ -1,4 +1,5 @@ @prefix ex: . +@prefix qk: . @prefix qudt: . @prefix rdf: . @prefix rdfs: . @@ -9,8 +10,15 @@ ex:Obs234534 a sosa:Observation ; sosa:hasFeatureOfInterest ex:apt134 ; - sosa:hasSimpleResult "-29.9"^^unit:DEG_C ; + sosa:observedProperty qk:Temperature ; + sosa:hasSimpleResult "24.9"^^unit:DEG_C ; . unit:DEG_C a rdfs:Datatype ; . +ex:apt134 + a sosa:FeatureOfInterest ; +. +qk:Temperature + a sosa:Property ; +. \ No newline at end of file diff --git a/ssn/rdf/examples/UOM-qudt-object.ttl b/ssn/rdf/examples/UOM-qudt-object.ttl index 611e7230..60bc7016 100644 --- a/ssn/rdf/examples/UOM-qudt-object.ttl +++ b/ssn/rdf/examples/UOM-qudt-object.ttl @@ -1,4 +1,5 @@ @prefix ex: . +@prefix qk: . @prefix qudt: . @prefix rdf: . @prefix sosa: . @@ -7,21 +8,19 @@ ex:Obs234534 a sosa:Observation ; sosa:hasFeatureOfInterest ex:apt134 ; + sosa:observedProperty qk:Temperature ; sosa:hasResult [ a qudt:QuantityValue ; qudt:hasUnit unit:DEG_C ; - qudt:value -29.9 ; - ] ; -. -ex:Obs83985 - a sosa:Observation ; - sosa:hasFeatureOfInterest ex:apt134 ; - sosa:hasResult [ - a qudt:QuantityValue ; - qudt:hasUnit unit:DEG_C ; - qudt:value 22.4 ; + qudt:value 24.9 ; ] ; . unit:DEG_C a qudt:Unit ; +. +ex:apt134 + a sosa:FeatureOfInterest ; +. +qk:Temperature + a sosa:Property ; . \ No newline at end of file diff --git a/ssn/rdf/examples/obs-sample-foi.ttl b/ssn/rdf/examples/obs-sample-foi.ttl new file mode 100644 index 00000000..32693d44 --- /dev/null +++ b/ssn/rdf/examples/obs-sample-foi.ttl @@ -0,0 +1,23 @@ +@prefix ex: . +@prefix owl: . +@prefix rdf: . +@prefix skos: . +@prefix sosa: . +@prefix unit: . + +ex:Bubble873 a sosa:Sample ; + sosa:isSampleOf ex:EarthAtmosphere; +. +ex:Ob873c4 a sosa:Observation ; + sosa:observedProperty ex:CO2-Concentration ; + sosa:hasFeatureOfInterest ex:Bubble873 ; + sosa:hasUltimateFeatureOfInterest ex:EarthAtmosphere ; + sosa:hasResult "240"^^unit:PPM ; +. +ex:EarthAtmosphere a sosa:FeatureOfInterest ; + owl:sameAs ; + . +ex:CO2-Concentration a sosa:Property ; + owl:sameAs ; + skos:prefLabel "concentration of carbon dioxide in air" ; +. From 65701ec57f9143f9176566356570d48ce01b1ba8 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Thu, 6 Feb 2025 12:26:41 +1100 Subject: [PATCH 64/74] ID conflict --- ssn/chapters/ModelFOI.html | 7 ++++--- ssn/chapters/ModelQuantity.html | 4 ++-- ssn/images/{UOM.svg => UOM-general.svg} | 0 3 files changed, 6 insertions(+), 5 deletions(-) rename ssn/images/{UOM.svg => UOM-general.svg} (100%) diff --git a/ssn/chapters/ModelFOI.html b/ssn/chapters/ModelFOI.html index e8bca328..86b0b381 100644 --- a/ssn/chapters/ModelFOI.html +++ b/ssn/chapters/ModelFOI.html @@ -23,6 +23,8 @@

    Proximate and Ultimate feature of interest

    The relationship between the proximate and ultimate feature of interest might be specified, such as a sampling-chain. If this relationship is recorded, then an ultimate feature of interest might be inferred. +

    +

    Nevertheless, it is often the ultimate feature of interest that really matters to the data user, particularly for discovery purposes. This requirement is met using the hasUltimateFeatureOfInterest @@ -31,10 +33,9 @@

    Proximate and Ultimate feature of interest

    Observation feature-of-interest patterns
    - This observation is on a sample of the ultimate feature of interest. + The observation is on a sample of the ultimate feature of interest.
    Explanation of the notation used in class diagrams.
    -
    
    -
    +
    
    \ No newline at end of file
    diff --git a/ssn/chapters/ModelQuantity.html b/ssn/chapters/ModelQuantity.html
    index 60f4193f..6ae67048 100644
    --- a/ssn/chapters/ModelQuantity.html
    +++ b/ssn/chapters/ModelQuantity.html
    @@ -16,8 +16,8 @@ 

    Quantity Values and Units of Measure

    In the following example, its unit of measure unit:DEG_C is an individual from the QUDT catalogue of units of measure.

    -
    - A simple Observation with a scaled number (Quantity) as its result +
    + A simple Observation with a scaled number (Quantity) as its result
    A simple Observation with a scaled number (Quantity) as its result.
    diff --git a/ssn/images/UOM.svg b/ssn/images/UOM-general.svg similarity index 100% rename from ssn/images/UOM.svg rename to ssn/images/UOM-general.svg From 0b96622dd2836841a789593f57faf527254eff16 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Thu, 6 Feb 2025 12:27:07 +1100 Subject: [PATCH 65/74] Adjust time-series CSV example --- ssn/images/timeseries-oc.svg | 2 +- ssn/rdf/examples/timeseries-oc.ttl | 4 ++-- ssn/rdf/examples/timeseries-result-inline.ttl | 22 ++++++++++--------- ssn/rdf/examples/timeseries-result-link.ttl | 4 ++-- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/ssn/images/timeseries-oc.svg b/ssn/images/timeseries-oc.svg index c72a746e..7169f0d4 100644 --- a/ssn/images/timeseries-oc.svg +++ b/ssn/images/timeseries-oc.svg @@ -1,4 +1,4 @@ -
    ex:ts159c
    resultTime="2017-04-15T20:03:30"
    ObservationCollection
    rdf:type
    hasMember
    Observation
    rdf:type
    ex:t1
    2017-04-15T20:00:00
    3.24 m/s
    phenomenonTime
    hasResult
    ex:station223
    ex:p1
    ex:fjk39
    2017-04-15T20:00:00/2017-04-15T20:03:00
    phenomenonTime
    madeBySensor
    observedProperty
    hasFeatureOfInterest
    ex:t2
    2017-04-15T20:01:00
    3.21 m/s
    phenomenonTime
    hasResult
    ex:t3
    2017-04-15T20:02:00
    3.15 m/s
    phenomenonTime
    hasResult
    ex:t4
    2017-04-15T20:03:00
    3.15 m/s
    phenomenonTime
    hasResult
    hasMember
    hasMember
    hasMember
    \ No newline at end of file +
    ex:ts159c
    resultTime="2017-04-15T20:03:30"
    ex:ts159c...
    ObservationCollection
    ObservationCollection
    rdf:type
    rdf:type
    hasMember
    hasMember
    Observation
    Observation
    rdf:type
    rdf:type
    ex:t1
    ex:t1
    2017-04-15T20:00:00
    2017-04-15T20:00:00
    3.24 m/s
    3.24 m/s
    phenomenonTime
    phenomenonTime
    hasResult
    hasResult
    ex:station223
    ex:station223
    ex:p1
    ex:p1
    ex:fooglemeter39
    ex:fooglemeter39
    2017-04-15T20:00:00/2017-04-15T20:03:00
    2017-04-15T20:00:00/2017-04-15T20:03:00
    phenomenonTime
    phenomenonTime
    madeBySensor
    madeBySensor
    observedProperty
    observedProperty
    hasFeatureOfInterest
    hasFeatureOfInt...
    ex:t2
    ex:t2
    2017-04-15T20:01:00
    2017-04-15T20:01:00
    3.21 m/s
    3.21 m/s
    phenomenonTime
    phenomenonTime
    hasResult
    hasResult
    ex:t3
    ex:t3
    2017-04-15T20:02:00
    2017-04-15T20:02:00
    3.15 m/s
    3.15 m/s
    phenomenonTime
    phenomenonTime
    hasResult
    hasResult
    ex:t4
    ex:t4
    2017-04-15T20:03:00
    2017-04-15T20:03:00
    3.15 m/s
    3.15 m/s
    phenomenonTime
    phenomenonTime
    hasResult
    hasResult
    hasMember
    hasMember
    hasMember
    hasMember
    hasMember
    hasMember
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/rdf/examples/timeseries-oc.ttl b/ssn/rdf/examples/timeseries-oc.ttl index 08553d1a..1d0292c6 100644 --- a/ssn/rdf/examples/timeseries-oc.ttl +++ b/ssn/rdf/examples/timeseries-oc.ttl @@ -11,7 +11,7 @@ ex:ts159c a sosa:ObservationCollection ; sosa:hasFeatureOfInterest ex:station223 ; sosa:observedProperty ex:p1 ; - sosa:madeBySensor ex:fjk39 ; + sosa:madeBySensor ex:fooglemeter39 ; sosa:phenomenonTime [ a time:Interval ; time:hasBeginning [ @@ -63,5 +63,5 @@ ex:t4 . ex:station223 a sosa:FeatureOfInterest . ex:p1 a sosa:Property . -ex:fjk39 a sosa:Sensor . +ex:fooglemeter39 a sosa:Sensor . unit:M-PER-SEC a rdfs:Datatype . \ No newline at end of file diff --git a/ssn/rdf/examples/timeseries-result-inline.ttl b/ssn/rdf/examples/timeseries-result-inline.ttl index 2b7a2957..7d62e203 100644 --- a/ssn/rdf/examples/timeseries-result-inline.ttl +++ b/ssn/rdf/examples/timeseries-result-inline.ttl @@ -12,7 +12,7 @@ ex:ts159i a sosa:Observation ; sosa:hasFeatureOfInterest ex:station223 ; sosa:observedProperty ex:p1 ; - sosa:madeBySensor ex:fjk39 ; + sosa:madeBySensor ex:fooglemeter39 ; sosa:phenomenonTime [ a time:Interval ; time:hasBeginning [ @@ -25,16 +25,18 @@ ex:ts159i ] ; ] ; sosa:resultTime "2017-04-15T20:03:30+00:00"^^xsd:dateTime ; - sosa:hasSimpleResult """2017-04-15T20:00:00+00:00 3.24 - 2017-04-15T20:01:00+00:00 3.21 - 2017-04-15T20:02:00+00:00 3.15 - 2017-04-15T20:03:00+00:00 3.15"""^^ex:vector2D-T-M-PER-SEC ; - rdfs:comment "The result of the observation has four values, where each value is composed of a timestamp and a quantity in metres per second."@en ; + sosa:hasSimpleResult """2017-04-15T20:00:00+00:00,3.24 + 2017-04-15T20:01:00+00:00,3.21 + 2017-04-15T20:02:00+00:00,3.15 + 2017-04-15T20:03:00+00:00,3.15"""^^ex:CSV ; + rdfs:comment """The result of the observation is encoded as a CSV literal. + In this example, the CSV has four rows each representing a member of the time-series. + Each member value is composed of a timestamp, and a quantity in metres per second."""@en ; . -ex:ex:vector2D-T-M-PER-SEC a rdfs:DataType ; - skos:definition "A 2-D vector, each value is a timestamp and a quantity in metres per second."@en ; - rdfs:comment "This datatype is used to represent a series of results, where each result is composed of a timestamp and a quantity in metres per second."@en ; +ex:CSV a rdfs:DataType ; + skos:definition "An N-D vector, each row representing a member composed of N comma-separated values."@en ; + rdfs:comment "This datatype is informative only, and is not part of the SSN Ontology."@en ; . ex:station223 a sosa:FeatureOfInterest . ex:p1 a sosa:Property . -ex:fjk39 a sosa:Sensor . \ No newline at end of file +ex:fooglemeter39 a sosa:Sensor . \ No newline at end of file diff --git a/ssn/rdf/examples/timeseries-result-link.ttl b/ssn/rdf/examples/timeseries-result-link.ttl index a598645e..08a1848e 100644 --- a/ssn/rdf/examples/timeseries-result-link.ttl +++ b/ssn/rdf/examples/timeseries-result-link.ttl @@ -10,7 +10,7 @@ ex:ts159l a sosa:Observation ; sosa:hasFeatureOfInterest ex:station223 ; sosa:observedProperty ex:p1 ; - sosa:madeBySensor ex:fjk39 ; + sosa:madeBySensor ex:fooglemeter39 ; sosa:phenomenonTime [ a time:Interval ; time:hasBeginning [ @@ -28,4 +28,4 @@ ex:ts159l . ex:station223 a sosa:FeatureOfInterest . ex:p1 a sosa:Property . -ex:fjk39 a sosa:Sensor . \ No newline at end of file +ex:fooglemeter39 a sosa:Sensor . \ No newline at end of file From 7bce06c75abd63ccb2b17bd7d2f197cff67626ea Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Thu, 6 Feb 2025 13:23:16 +1100 Subject: [PATCH 66/74] Convert diagrams to SVG --- ssn/chapters/ModelDomainTypes.html | 20 ++++----- ssn/chapters/ModelFOI.html | 4 +- ssn/chapters/ModelLocation.html | 41 ++++++++++++------- ssn/chapters/ModelPropertyDefinition.html | 2 +- ssn/chapters/ModelQuantity.html | 2 +- ssn/chapters/ModelSampleChains.html | 10 +++-- ssn/chapters/ModelTimeSeries.html | 2 +- ssn/images/LocatedDeployment.svg | 4 ++ ssn/images/LocatedPlatform.svg | 4 ++ ssn/images/LocatedSample.svg | 4 ++ ssn/images/LocatedSampling.svg | 4 ++ ssn/images/LocatedSensor.svg | 4 ++ ssn/images/bubble-provenance.svg | 4 ++ ssn/images/chain-of-samples.svg | 4 ++ ssn/images/open-window.svg | 4 ++ ...-core-bubble.ttl => bubble-provenance.ttl} | 0 ssn/rdf/examples/timeseries-result-inline.ttl | 6 ++- 17 files changed, 83 insertions(+), 36 deletions(-) create mode 100644 ssn/images/LocatedDeployment.svg create mode 100644 ssn/images/LocatedPlatform.svg create mode 100644 ssn/images/LocatedSample.svg create mode 100644 ssn/images/LocatedSampling.svg create mode 100644 ssn/images/LocatedSensor.svg create mode 100644 ssn/images/bubble-provenance.svg create mode 100644 ssn/images/chain-of-samples.svg create mode 100644 ssn/images/open-window.svg rename ssn/rdf/examples/{Sample-ice-core-bubble.ttl => bubble-provenance.ttl} (100%) diff --git a/ssn/chapters/ModelDomainTypes.html b/ssn/chapters/ModelDomainTypes.html index 277118b3..905beb6d 100644 --- a/ssn/chapters/ModelDomainTypes.html +++ b/ssn/chapters/ModelDomainTypes.html @@ -91,15 +91,15 @@

    FeatureOfInterest in SSN

    href="#SOSAFeatureOfInterest">sosa:FeatureOfInterest in addition to any other information that was already available about it, including any pre-existing type.

    -

    Note that this constraint does not require you to derive domain types as sub-classes of - sosa:FeatureOfInterest. +

    Note that this does not require you to derive domain types as sub-classes of + sosa:FeatureOfInterest. It could be argued that would be an error. It merely says that when a domain individual participates in an Execution (e.g. an Observation) it becomes a member of the class sosa:FeatureOfInterest - in addition to any pre-existing domain class. - Membership in the class sosa:FeatureOfInterest - does not need to be asserted explicitly, - and does not need to be assigned prior to the involvement of an entity in a + in addition to any pre-existing domain class. + In the context of SSN axiomatization, membership in the class + sosa:FeatureOfInterest + does not need to be asserted explicitly, and does not need to be assigned prior to the involvement of an entity in a sosa:Execution (or one of its sub-classes).

    @@ -107,9 +107,9 @@

    FeatureOfInterest in SSN

    There is an entity typed with a class from a domain model:

    - a domain feature +
    - A feature classified using a domain ontology. + A feature classified using a domain ontology.
    Explanation of the notation used in class diagrams.
    @@ -121,9 +121,9 @@

    FeatureOfInterest in SSN

    An observation is made concerning a property of this entity:

    - a domain feature +
    - An observation on a feature previously classified using a domain ontology. + An observation on a feature previously classified using a domain ontology.
    Explanation of the notation used in class diagrams.
    diff --git a/ssn/chapters/ModelFOI.html b/ssn/chapters/ModelFOI.html index 86b0b381..a6413a3c 100644 --- a/ssn/chapters/ModelFOI.html +++ b/ssn/chapters/ModelFOI.html @@ -7,7 +7,7 @@

    Proximate and Ultimate feature of interest

    For example, shows a description of a simple actuation to open a window.

    - Observation feature-of-interest patterns 1 +
    Simple Actuation to open a window.
    @@ -31,7 +31,7 @@

    Proximate and Ultimate feature of interest

    property.

    - Observation feature-of-interest patterns +
    The observation is on a sample of the ultimate feature of interest.
    diff --git a/ssn/chapters/ModelLocation.html b/ssn/chapters/ModelLocation.html index 2987db29..36e6ff8e 100644 --- a/ssn/chapters/ModelLocation.html +++ b/ssn/chapters/ModelLocation.html @@ -31,27 +31,34 @@
    Systems, Platforms, Deployments
    For example, a System, such as a Sensor, might be permanently in one specific location, described as follows:

    -
    - sensor location - direct -
    System location - direct description
    +
    + +
    System location - direct description
    + Explanation of the notation used in class diagrams. +
    
     
     

    Alternatively, the location may be associated with a Platform, which then might also host other Systems:

    -
    - sensor location - on a platform -
    System location - on Platform
    +
    + +
    System location - on Platform +
    + Explanation of the notation used in class diagrams. +
    
     
     

    If this Sensor location is not permanent, then it may be characterized as a Deployment:

    -
    - sensor location - in a deployment -
    System location - in a Deployment
    +
    + +
    System location - in a Deployment
    + Explanation of the notation used in class diagrams. +
    
     
    @@ -64,9 +71,11 @@ 
    Samples, Features
    Observations of the atmosphere are necessarily made at a specific location. The location of an air Sample might be recorded directly using the following pattern:

    -
    - Location of a Sample -
    Sample location - direct descriptions
    +
    + +
    Sample location - direct descriptions
    + Explanation of the notation used in class diagrams. +
    
     

    @@ -79,9 +88,11 @@

    Samples, Features

    The location could also be provided as a parameter to the act of Sampling that generated the Sample:

    -
    - Location of a Sampling -
    Sample location - indirect descriptions
    +
    + +
    Sample location - indirect descriptions
    + Explanation of the notation used in class diagrams. +
    
     
    diff --git a/ssn/chapters/ModelPropertyDefinition.html b/ssn/chapters/ModelPropertyDefinition.html
    index bab37396..ea0b8dfe 100644
    --- a/ssn/chapters/ModelPropertyDefinition.html
    +++ b/ssn/chapters/ModelPropertyDefinition.html
    @@ -27,7 +27,7 @@ 

    New property definitions

    child as follows:

    - Constrained temperature definition +
    Definition of a constrained temperature property for a sick child, using the I-ADOPT vocabulary.
    diff --git a/ssn/chapters/ModelQuantity.html b/ssn/chapters/ModelQuantity.html index 6ae67048..d9e3f5b2 100644 --- a/ssn/chapters/ModelQuantity.html +++ b/ssn/chapters/ModelQuantity.html @@ -17,7 +17,7 @@

    Quantity Values and Units of Measure

    individual from the QUDT catalogue of units of measure.

    - A simple Observation with a scaled number (Quantity) as its result +
    A simple Observation with a scaled number (Quantity) as its result.
    diff --git a/ssn/chapters/ModelSampleChains.html b/ssn/chapters/ModelSampleChains.html index eeca4cdc..04a21b70 100644 --- a/ssn/chapters/ModelSampleChains.html +++ b/ssn/chapters/ModelSampleChains.html @@ -13,9 +13,11 @@

    Sample chains

    href="#SOSASampling">Sampling. The bubble is also a sample of the atmosphere, which is a feature of interest for the observations.

    -
    - Provenance of sample from ice core +
    +
    Sequence of two acts of sampling to recover a gas bubble from an ice sheet. +
    + Explanation of the notation used in class diagrams.
    
    @@ -29,8 +31,8 @@ 

    Sample chains

    hasOriginalSample and hasSampledFeature.

    -
    - Sample chain example from geology +
    +
    It is common to generate a chain of samples in a geology exploration scenario, with initial sample retrieval from the field followed by a sequence of sampling steps (pink) to generate a series of sub-samples (light green). diff --git a/ssn/chapters/ModelTimeSeries.html b/ssn/chapters/ModelTimeSeries.html index 77b04ada..0ffd7170 100644 --- a/ssn/chapters/ModelTimeSeries.html +++ b/ssn/chapters/ModelTimeSeries.html @@ -8,7 +8,7 @@

    Time series

    For example shows an Collection of Observations that has a member for each time-step in the series.

    - Explicit time-series +
    Collection of observations of the same property on the same feature of interest, with each member representing a step in the time-series.
    diff --git a/ssn/images/LocatedDeployment.svg b/ssn/images/LocatedDeployment.svg new file mode 100644 index 00000000..9410593c --- /dev/null +++ b/ssn/images/LocatedDeployment.svg @@ -0,0 +1,4 @@ + + + +
    ex:IBS-TH2-56
    ex:IBS-TH2-56
    ex:Room31C
    ex:Room31C
    ex:TH2-56-2024
    startTime=2024-01-01
    endTime=2024-12-31
    ex:TH2-56-2024...
    Sensor
    Sensor
    Platform
    Platform
    Deployment
    Deployment
    deployedSystem
    deployedSystem
    deployedOnPlatform
    deployedOnPlatform
    rdf:type
    rdf:type
    rdf:type
    rdf:type
    rdf:type
    rdf:type
    (-73.877244, 45.511672)
    (-73.877244, 45.511672)
    hasGeometry
    hasGeometry
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/LocatedPlatform.svg b/ssn/images/LocatedPlatform.svg new file mode 100644 index 00000000..517b48f1 --- /dev/null +++ b/ssn/images/LocatedPlatform.svg @@ -0,0 +1,4 @@ + + + +
    ex:IBS-TH2-56
    ex:IBS-TH2-56
    ex:Room31C
    ex:Room31C
    Sensor
    Sensor
    Platform
    Platform
    rdf:type
    rdf:type
    rdf:type
    rdf:type
    (-73.877244, 45.511672)
    (-73.877244, 45.511672)
    hasGeometry
    hasGeometry
    hosts
    hosts
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/LocatedSample.svg b/ssn/images/LocatedSample.svg new file mode 100644 index 00000000..7c7318b1 --- /dev/null +++ b/ssn/images/LocatedSample.svg @@ -0,0 +1,4 @@ + + + +
    ex:EarthAtmosphere_StE
    ex:EarthAtmosphere_StE
    Sample
    Sample
    rdf:type
    rdf:type
    (4.387611, 45.437772)
    (4.387611, 45.437772)
    hasGeometry
    hasGeometry
    Point
    Point
    rdf:type
    rdf:type
    ex:EarthAtmosphere
    ex:EarthAtmosphere
    isSampleOf
    isSampleOf
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/LocatedSampling.svg b/ssn/images/LocatedSampling.svg new file mode 100644 index 00000000..b43d8895 --- /dev/null +++ b/ssn/images/LocatedSampling.svg @@ -0,0 +1,4 @@ + + + +
    ex:EarthAtmosphere_StE
    ex:EarthAtmosphere_StE
    Sample
    Sample
    rdf:type
    rdf:type
    (4.387611, 45.437772)
    (4.387611, 45.437772)
    hasInputValue
    hasInputValue
    ex:EarthAtmosphere
    ex:EarthAtmosphere
    isSampleOf
    isSampleOf
    ex:AirSampling_StE
    ex:AirSampling_StE
    hasFeatureOfInterest
    hasFeatureOfInt...
    hasResult
    hasResult
    Sampling
    Sampling
    rdf:type
    rdf:type
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/LocatedSensor.svg b/ssn/images/LocatedSensor.svg new file mode 100644 index 00000000..ee6eacad --- /dev/null +++ b/ssn/images/LocatedSensor.svg @@ -0,0 +1,4 @@ + + + +
    ex:IBS-TH2-56
    ex:IBS-TH2-56
    Sensor
    Sensor
    rdf:type
    rdf:type
    (-73.877244, 45.511672)
    (-73.877244, 45.511672)
    hasGeometry
    hasGeometry
    Point
    Point
    rdf:type
    rdf:type
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/bubble-provenance.svg b/ssn/images/bubble-provenance.svg new file mode 100644 index 00000000..740e6309 --- /dev/null +++ b/ssn/images/bubble-provenance.svg @@ -0,0 +1,4 @@ + + + +
    CoreEx1923
    CoreEx1923
    madeBySampler
    madeBySampler
    hasFeatureOfInterest
    hasFeatureOfIntere...
    hasResult
    hasResult
    WellDrilling4578
    WellDrilling4578
    Bubble873
    Bubble873
    orcid:0000-0002-3884-3420
    orcid:0000-0002-3884-3420
    isResultOf
    isResultOf
    ThermalDrill2
    ThermalDrill2
    madeBySampler
    madeBySampler
    Antarctic_ice_sheet
    Antarctic_ice_sheet
    IceCore12
    IceCore12
    isSampleOf
    isSampleOf
    hasSampledFeature
    hasSampledFeature
    hasUltimateFeatureOfInterest
    hasUltimateFeature...
    EarthAtmosphere
    EarthAtmosphere
    hasFeatureOfInterest
    hasFeatureOfIntere...
    hasResult
    hasResult
    isSampleOf
    isSampleOf
    isSampleOf
    isSampleOf
    isResultOf
    isResultOf
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/chain-of-samples.svg b/ssn/images/chain-of-samples.svg new file mode 100644 index 00000000..025756f9 --- /dev/null +++ b/ssn/images/chain-of-samples.svg @@ -0,0 +1,4 @@ + + + +
    Density34
    Density34
    hasFeatureOfInterest
    hasFeatureOfIntere...
    I65S1F80-heavy
    I65S1F80-heavy
    hasResult
    hasResult
    I65S1Fraction80
    I65S1Fraction80
    HeavyLiquid3
    HeavyLiquid3
    usedProcedure
    usedProcedure
    Sieving89
    Sieving89
    isSampleOf
    isSampleOf
    I65S1F80-light
    I65S1F80-light
    isSampleOf
    isSampleOf
    CrushNSieve80
    CrushNSieve80
    usedProcedure
    usedProcedure
    hasResult
    hasResult
    hasFeatureOfInterest
    hasFeatureOfIntere...
    Splitting782
    Splitting782
    I65Split1
    I65Split1
    isSampleOf
    isSampleOf
    Saw88
    Saw88
    usedProcedure
    usedProcedure
    hasFeatureOfInterest
    hasFeatureOfIntere...
    Cutting215
    Cutting215
    Interval65
    Interval65
    isSampleOf
    isSampleOf
    Saw92
    Saw92
    usedProcedure
    usedProcedure
    hasFeatureOfInterest
    hasFeatureOfIntere...
    hasResult
    hasResult
    hasResult
    hasResult
    Coring773
    Coring773
    Core215
    Core215
    isSampleOf
    isSampleOf
    Drill33r
    Drill33r
    usedProcedure
    usedProcedure
    hasFeatureOfInterest
    hasFeatureOfIntere...
    BentleighFormation
    BentleighFormation
    isSampleOf
    isSampleOf
    OutcropYTR
    OutcropYTR
    rdf:type
    rdf:type
    isSampleOf
    isSampleOf
    rdf:type
    rdf:type
    rdf:type
    rdf:type
    hasSampledFeature
    hasSampledFeature
    hasOriginalSample
    hasOriginalSample
    Sampling
    Sampling
    hasUltimateFeatureOfInterest
    hasUltimateFeatureOfInterest
    hasUltimateFeatureOfInterest
    hasUltimateFeatureOfInterest
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/open-window.svg b/ssn/images/open-window.svg new file mode 100644 index 00000000..b6c60908 --- /dev/null +++ b/ssn/images/open-window.svg @@ -0,0 +1,4 @@ + + + +
    Actuation
    Actuation
    A188
    startTime: 2017-04-18T17:23
    endTime: 2017-04-18T17:24
    A188...
    rdf:type
    rdf:type
    openState
    openState
    actsOnProperty
    actsOnProperty
    true
    true
    hasResult
    hasResult
    window98
    window98
    hasFeatureOfInterest
    hasFeatureOfIntere...
    closer-987
    closer-987
    madeByActuator
    madeByActuator
    hasProperty
    hasProperty
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/rdf/examples/Sample-ice-core-bubble.ttl b/ssn/rdf/examples/bubble-provenance.ttl similarity index 100% rename from ssn/rdf/examples/Sample-ice-core-bubble.ttl rename to ssn/rdf/examples/bubble-provenance.ttl diff --git a/ssn/rdf/examples/timeseries-result-inline.ttl b/ssn/rdf/examples/timeseries-result-inline.ttl index 7d62e203..ae438e62 100644 --- a/ssn/rdf/examples/timeseries-result-inline.ttl +++ b/ssn/rdf/examples/timeseries-result-inline.ttl @@ -34,8 +34,10 @@ ex:ts159i Each member value is composed of a timestamp, and a quantity in metres per second."""@en ; . ex:CSV a rdfs:DataType ; - skos:definition "An N-D vector, each row representing a member composed of N comma-separated values."@en ; - rdfs:comment "This datatype is informative only, and is not part of the SSN Ontology."@en ; + skos:definition """An N-D vector, each row representing a + member composed of N comma-separated values."""@en ; + rdfs:comment """This datatype is an informative example only, + and is not part of the SSN Ontology."""@en ; . ex:station223 a sosa:FeatureOfInterest . ex:p1 a sosa:Property . From 7d8a36f1ee7f234e1d6e9f59b3dd53528e74b939 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Thu, 6 Feb 2025 13:26:32 +1100 Subject: [PATCH 67/74] add ex: ns prefixes --- ssn/images/open-window.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssn/images/open-window.svg b/ssn/images/open-window.svg index b6c60908..f1ca6444 100644 --- a/ssn/images/open-window.svg +++ b/ssn/images/open-window.svg @@ -1,4 +1,4 @@ -
    Actuation
    Actuation
    A188
    startTime: 2017-04-18T17:23
    endTime: 2017-04-18T17:24
    A188...
    rdf:type
    rdf:type
    openState
    openState
    actsOnProperty
    actsOnProperty
    true
    true
    hasResult
    hasResult
    window98
    window98
    hasFeatureOfInterest
    hasFeatureOfIntere...
    closer-987
    closer-987
    madeByActuator
    madeByActuator
    hasProperty
    hasProperty
    Text is not SVG - cannot display
    \ No newline at end of file +
    Actuation
    Actuation
    ex:A188
    startTime: 2017-04-18T17:23
    endTime: 2017-04-18T17:24
    ex:A188...
    rdf:type
    rdf:type
    ex:openState
    ex:openState
    actsOnProperty
    actsOnProperty
    true
    true
    hasResult
    hasResult
    ex:window98
    ex:window98
    hasFeatureOfInterest
    hasFeatureOfIntere...
    ex:closer-987
    ex:closer-987
    madeByActuator
    madeByActuator
    hasProperty
    hasProperty
    Text is not SVG - cannot display
    \ No newline at end of file From 74a3e7de55760bcdbe859e7cddfef76d79ccddf3 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Thu, 6 Feb 2025 13:33:19 +1100 Subject: [PATCH 68/74] Links and other minor issues --- ssn/chapters/ModelDomainTypes.html | 2 +- ssn/chapters/ModelSampleChains.html | 8 ++++---- ssn/chapters/ModelTimeSeries.html | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ssn/chapters/ModelDomainTypes.html b/ssn/chapters/ModelDomainTypes.html index 905beb6d..63f8133f 100644 --- a/ssn/chapters/ModelDomainTypes.html +++ b/ssn/chapters/ModelDomainTypes.html @@ -103,7 +103,7 @@

    FeatureOfInterest in SSN

    sosa:Execution (or one of its sub-classes).

    - For example, the following is a potential scenario. + Consider the following scenario. There is an entity typed with a class from a domain model:

    diff --git a/ssn/chapters/ModelSampleChains.html b/ssn/chapters/ModelSampleChains.html index 04a21b70..22b8363d 100644 --- a/ssn/chapters/ModelSampleChains.html +++ b/ssn/chapters/ModelSampleChains.html @@ -20,9 +20,9 @@

    Sample chains

    Explanation of the notation used in class diagrams.
    -
    
    +
    
     

    - shows a more complex scenario involving many samples + shows a more complex scenario involving many samples derived from an initial one, with some relationships that may be useful in processing and discovery of subsequent observations, the intention of which will be to characterize various aspects of the original sample which is representative of an ultimate feature of interest. @@ -32,7 +32,7 @@

    Sample chains

    - +
    It is common to generate a chain of samples in a geology exploration scenario, with initial sample retrieval from the field followed by a sequence of sampling steps (pink) to generate a series of sub-samples (light green). @@ -51,5 +51,5 @@

    Sample chains

    intended to be representative of that feature.

    -

    Note that the scenario in is simplified from real-life +

    Note that the scenario in is simplified from real-life scenarios, and also that the diagram only shows a subset of the full set of resources and relationships.

    \ No newline at end of file diff --git a/ssn/chapters/ModelTimeSeries.html b/ssn/chapters/ModelTimeSeries.html index 0ffd7170..f94e4c2c 100644 --- a/ssn/chapters/ModelTimeSeries.html +++ b/ssn/chapters/ModelTimeSeries.html @@ -19,7 +19,7 @@

    Time series

    Alternatively, the series may be represented as a single Observation with a hasResult that is a complex value, such as a vector or array. - This may be indicated 'inline' as a complex data-structure, or be 'linked' to a separate resource, as in the following two examples. + This may be indicated 'inline' as a complex literal, or be 'linked' to an external resource, as in the following two examples.

    
     
    From 2fcdd611f1792730cf5e70d1e043dcfe6dca55f8 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 10 Feb 2025 17:42:37 +1100 Subject: [PATCH 69/74] Remove old PNG diagrams --- ssn/images/LocatedDeployment.png | Bin 19553 -> 0 bytes ssn/images/LocatedPlatform.png | Bin 10960 -> 0 bytes ssn/images/LocatedSample.png | Bin 11896 -> 0 bytes ssn/images/LocatedSampling.png | Bin 16857 -> 0 bytes ssn/images/LocatedSensor.png | Bin 8938 -> 0 bytes ssn/images/SamplingChainGeology.png | Bin 290604 -> 0 bytes ssn/images/bubble-provenance.png | Bin 32561 -> 0 bytes ssn/images/bubble-provenance.svg | 2 +- ssn/images/chain-of-samples.png | Bin 208698 -> 0 bytes ssn/images/open-window.png | Bin 19211 -> 0 bytes 10 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 ssn/images/LocatedDeployment.png delete mode 100644 ssn/images/LocatedPlatform.png delete mode 100644 ssn/images/LocatedSample.png delete mode 100644 ssn/images/LocatedSampling.png delete mode 100644 ssn/images/LocatedSensor.png delete mode 100644 ssn/images/SamplingChainGeology.png delete mode 100644 ssn/images/bubble-provenance.png delete mode 100644 ssn/images/chain-of-samples.png delete mode 100644 ssn/images/open-window.png diff --git a/ssn/images/LocatedDeployment.png b/ssn/images/LocatedDeployment.png deleted file mode 100644 index 1b6cc6651660645d4834a1f34afea5ed2099205b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19553 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 fLrG?CYH>+oZUJsR|EibP0l+XkKl81oS diff --git a/ssn/images/LocatedPlatform.png b/ssn/images/LocatedPlatform.png deleted file mode 100644 index 887a54d2a759520b3461227030ea6bd54d4f43f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10960 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 diff --git a/ssn/images/LocatedSampling.png b/ssn/images/LocatedSampling.png deleted file mode 100644 index 0e26e9bdefde2686ededd97faae0079327d1804c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16857 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 Z4MzAMCw8lJx_`&2B&RM5mwxx@KL9#tt+xOG diff --git a/ssn/images/SamplingChainGeology.png b/ssn/images/SamplingChainGeology.png deleted file mode 100644 index 1d1bbfcf92c3abbe82a52c54f067e8167eb69e72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290604 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]dv8u>x+gy_)^H|Izk$^3o0#pn;V|D6 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

    ih5h(y{c#SoQ+TFZy&h2BCht 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

    eEHlEqaTte=Km{2(*XXT3AP1 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%0DK;$xAzc#kM-rj80irnNDoef^W6SG)-^{ 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

    cFn&xcp8Vf=YU{>M>@*(_hx1 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 KWZr)C^8WyuaJzE= diff --git a/ssn/images/bubble-provenance.png b/ssn/images/bubble-provenance.png deleted file mode 100644 index 47461e88980a0ef2e203e0cebf0037b93ba49926..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32561 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 -
    CoreEx1923
    CoreEx1923
    madeBySampler
    madeBySampler
    hasFeatureOfInterest
    hasFeatureOfIntere...
    hasResult
    hasResult
    WellDrilling4578
    WellDrilling4578
    Bubble873
    Bubble873
    orcid:0000-0002-3884-3420
    orcid:0000-0002-3884-3420
    isResultOf
    isResultOf
    ThermalDrill2
    ThermalDrill2
    madeBySampler
    madeBySampler
    Antarctic_ice_sheet
    Antarctic_ice_sheet
    IceCore12
    IceCore12
    isSampleOf
    isSampleOf
    hasSampledFeature
    hasSampledFeature
    hasUltimateFeatureOfInterest
    hasUltimateFeature...
    EarthAtmosphere
    EarthAtmosphere
    hasFeatureOfInterest
    hasFeatureOfIntere...
    hasResult
    hasResult
    isSampleOf
    isSampleOf
    isSampleOf
    isSampleOf
    isResultOf
    isResultOf
    Text is not SVG - cannot display
    \ No newline at end of file +
    ex:CoreEx1923
    ex:CoreEx1923
    madeBySampler
    madeBySampler
    hasFeatureOfInterest
    hasFeatureOfIntere...
    hasResult
    hasResult
    ex:WellDrilling4578
    ex:WellDrilling4578
    ex:Bubble873
    ex:Bubble873
    orcid:0000-0002-3884-3420
    orcid:0000-0002-3884-3420
    isResultOf
    isResultOf
    ex:ThermalDrill2
    ex:ThermalDrill2
    madeBySampler
    madeBySampler
    ex:Antarctic_ice_sheet
    ex:Antarctic_ice_sheet
    ex:IceCore12
    ex:IceCore12
    isSampleOf
    isSampleOf
    hasSampledFeature
    hasSampledFeature
    hasUltimateFeatureOfInterest
    hasUltimateFeature...
    ex:EarthAtmosphere
    ex:EarthAtmosphere
    hasFeatureOfInterest
    hasFeatureOfIntere...
    hasResult
    hasResult
    isSampleOf
    isSampleOf
    isSampleOf
    isSampleOf
    isResultOf
    isResultOf
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/chain-of-samples.png b/ssn/images/chain-of-samples.png deleted file mode 100644 index 0f01faae377d19340ab16b5b71f40243b217e2ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208698 zcmeEuc{tR4`}UwxLVHQJYEY4-$i9?{NhpQLnj|Sp_I-*-35}u%m5C5aWM4{ANi;~= zmn>t=zKk*N^_fw3J@<3G%W=H_yvOm*@Aur*EZ^m`T-SM>=XrgDk7=uOuyM0tFc=P; z#z9>ShJ85(vt;%1W$;dY+x2AlL%>o)R||vj6vANe0T|32yoK+>U|b|Hn0|8%M*bcK zv&rE>{&7Y4VA&Z>^@A81`oD)oNfGeQ3I`2CCk%!w2K|o-=i+|{-eh&gX&qwiTgkIj zi08)p=~*};26u4(N%zJ#Yt7oV&3kIj4d(@~SyA-pLAd!~dQi5S zNd=#=MRa&x=RI7Sr`CqpSB_b|pItcHR21{iSg`C<@y3mfJ8EmEo6Ys@w$ywz;o;M| zPRu0V83&j8_e&tHrN^1+@Au$e?d5A$|LaWwmev3N%|A!w{}0HYqXB>ae|$i4ABdqF z`h2sZOWviw?y23&^Ix`=SGSM$R>cVCG%0ls=sb{pJriO-?pgG)vU1DlBrh*-|Im(r==R&!-*o)Eo>5&@rDtKWwQFxNvCf<0-25j#l@_zE&28UDPYg-l8{O+Q@9cNW z+S|H9=Usz&dG+9EEmb;hG?rJT-qe4y%F7C!=?3?5H`n=-fB)EiLfSnmhZVzqNEKb= zjdy2KQc}3FkGJ@6v}V~veEj(FuuD7!e>O+X1YP5w zFNwy`O&I*6J^}P*UW?sQW~OrMd16z@vaY=g=6QK}3Hhx9lY5lA%%*41zvlRg;yk%j zoc<3->3=@NG*451%NO^IPM;S1u%LozpVP{9CX)n{ZvJ_t@b}W0bzv2Hy1HjZ_!V4_ zdU$wfM=izJ4D3r<`L8eja4qN_bswZU$PPky4gb0v(#>D5QpqPzo=mw~TPM|aV^oc{ z3&5x09i5}O^78WQ!zyCMmj3Z|^XpfyGJ6#i7q^lxV+7Lj7z;Az>+E=M_J#UgID!Qi z+qDDQQA_^(4Xnl~S1E2iMZTz}A=i9SjE1H&3e@i%I5;?_rY6X>v0|)${6GL_YHCVa zfMdprt-z2rGC};uv&-a8n&NQ5aFKt!*w-vyGC0)QYMNBZgwK-hAU)BHdLYIO-^e*E zy77dKO>&Xn;I|iBlfC}<5hm$=;!a%j9;+M8b~)!t1~gI%ms@8|DLd|^Qje|}v9 z7ib}C!i+f^(6o5J+M1d-i- ziYQ3RKb+UV&vRYi+i19~{yG-MPLlcW>q8%(#V-!jpWoGZE~=Sm)BiSj9fSt$C>D&( zHO~M1smA8l=Eo9kju2j5YDzqGbEBNeS`3jx{y&$jfYpq*vR6TJ@(21V{8!dj{kUV- zuFRaK#>NM*ut;oZQ2%-nL+0nby%e}_?b>*gagKl8g~n#sRyfKgF=K~(EJkAseNg{A zNVqQZ6?_r(>uGyA7+@mDzmKrfG^3$a*{LUlzQzOu;Md_>MJsg``P}l^|2PzW%RaBE zi(UoU*?N&y^vhXFKiKBSPo5kS6cjXidF~b`ulx^Zxj%k{X}I+9&Q2V~$Hxb4H=8SX z_)sO+RNXakvx=e+>7>_mEReL?+PoQ1FU2F%GDTmbJ;r zlm9Uq0CDNdK*Q;_2G)jFOc{3i>lz_~u+T#vG0#EvqWzY@NB?DS$>Q;FSE|vr7cOMx zY!W@y{`ZJuFhPqMxS={zw7$OnJ7tyPPdt6!guD+}vF?Ew6BlF4toS`Tx!33^CA@rL zrb6YT1iP1CdC2C!10)9H@IF9ObTbTd_!Mlj&+#f5Z{8e8(u8HpwFXxI=k_7&7guoM@i7)CGE?v5drOx-NxS<&~{P&h1!3xXKs=Z@ni0*J_F#gwN{rXe4G0Ucw zFjY`cfI_?O+JEm%si;b6BIG;s9sj;mkChumpXbCxN26{1-+o+pf3J08lZ%TBTG9XQ z^sPSAEm2wgH{U%#r{|FN5HE~WjQl|nYhS6kbcP^X&c*Aawf4Xz$ z&bKBN+H5t-g1@e5?ag=VZyg@`FIl2Iq+uXC2T%fvDjyvgnd|UyRLT64qM=duJ9qDP z|6NB}3JD9VQ>I56LN@OOH1OwHNOg5*|Gn8t?_JI_-X$vPjCQ8s;?6vro}T{szhyO5 zwygqiJK;jxZflSh2EV^VGyCT&`~YL)1v56@)|{rHzb_DjUw=Rqej%X6qu~0f)%3af zmA}UmgVAMYOqID|B!HtKDl4CR>3=5Aoq>2bh$?sAz<_3B{C`Pkx*?ThlyMv`L1@2l z;Q|Q|hRedd2cW(G%(BFLf8;*+3747B(R=3h<5TM$Y)8jYtxkVQ_%{Fd>U0qp{rVpI zlWTWnCIs9h2ia$Bw1w$iA|fb4Iq>kJbPg~4`q7Rc$;pX>b+zlhRPY1v>P_?*npsg* z*p_sQ<}$7q_A84?aL2~R8fBgh27rCi#AFC<*|iMd3dfP{>k8}gOieSPHPB2_&9bsM z+%pb5-41XAP-gjKzHB9gRmG zsAS0Wb5C5OtjyZ++~K`XvFm&Q@roFRM)9NB#||kb_0;a3QyDHiVJ7NX$~SOf?c|T{ z?#9?PfvGRD(@ZukOtL7gJ>~w6lPx&f@5@-^aN+pNXqAkEClY^fc=2=bi&C=fZ4nM5uk!E3Hl9rgabGoU-g%OjZKL*kmV|e68(4MNB<~=%2N+rxi)tqOr5aa z+xv;~yu`lFrntHIDzuar>bkyE`*Q12#A7DLRE8Tm)tL#zk~SLYc}~;9#cba%q?9Th zdtF%BMmguQiC0$4bkll|;B?WQ!N7gDR5GCYTU5-IH*(CGNTtBl55U`G7!4dr+{h@~ zt?lQu%Gzo@nrcPc)7pIL)Ov@`d%juLQNwu^H6xFY*V76m$&If&@NX@R<~3AVO*y~2 z2w&ymQV}!G6~K8y${n&)p?t5#;szQr49v{h^a@xXD0%6_O6~>x(LJHIxSbt1{5LJT zO^l1!NVo{paw01ch3C>*=Ymib=%u^S~KU}L4 zPY$;-G$_0@PTq*7DQTaN=5(`V-&9k}+)cx4b1@~YJ8<#~hht&WDi2=ro2m`hKY7RI z;~m8`>bWPpy6)2^Ct$ly_H`c0@8wf#qu8GwY7AT{J`cy5GTUb}BqIX*E6_JHqnwi` zfRnfQ0@Yx=;QUDyij9VCiDB~26Jt^%;x{MF;*71sVtx)6B=T~)kDn}}-gBLw9-8|S zXM!_XDp6cG)o4o~CZ9-ZtcdfnYqw5INjU;L#Gr`!vRYXL_p!R#ZSK+Hn#f%iRVi4~ zWWvHM&mVJf$-esfq3htc4m!ZgJ+yE}{}GxNeMP=IQW9k9yXYd% z`3!yXg5jaYg(BXvz@__WlZU0LCt~?b3U`oaeta;TnxdUolpgeHbqc$kMSIvLjGH@i z+e|E~QhE4t-k@!@YuuJSpZ$H~?MjsLw8lw-Hw8J4j?v6$sU!I%VzaXVf=0x1tNC)0 zg!lZ+o{Q2c%kt;X!78=K`1sTIXe_lao=x1fYu7|ijD7!PgIR-H3B{ynrt{|1>`UwF z{tv?ObtY~tPe>$P^k$~0=B-;Su|mUny?p53DNmmsljVuTD$V|gfWK>St4Q{Ie`&3E z{P-h()>TIckb5RuMtmEJtKQw*6jXQKFcMC65UbGDcc}981zPXkUkT+(lp31m=;^3;xE#vQvU}RJ&ZxQi@7nJI4Lkf~ zZ}P7&9&PrER6%gpv|7%_uQF zH8p>1a$%uy@8{Us;g*6R<3-}8{o}b$_blui>g#RbC)X<@m~OlG&$Sb&dA={lb(B&QnKk7G0%H$NND@X$Xz4Y4&*1IMJXd|MRj2iasTU z)2$pWG@4^?Y(oA*sDcoOoU4cWmD6PEbU}uv@|VpW2G$A{&xD$dX%jj$EbhX^i*=)2 z74-mFtm8ZmQ>j!a*7WV{(&y&pPMVozm{I!;F4)<9jof`2%W?Eo6cK$(M``j7mYkdv zrwgF?Yuahp6(0?XA4i$_8ipy)J;mA#H|I@d$H>^f%FueC0#&cB4;Z+R>S}5p!btm!eGpDbOVji6Dlm2L zSUNd1bpdEaZQ8oURcT}4psLD!&y5MwwSf*E*GuKL#8!0W?M!_RD^!4*Yb;hjxKNBG zx43Ch$M16@$iPT$uw;rnQcUgRFV#YJAWbhceU(hL&rN5Jw7T`3YOPf~H}WC4^sPpL zh(PwKNGsZ*=AF`%dra`SA`AHNOr?M~_7NP$wUcoKB=#1ZE5j?ht9=j+bB`Rd) zp3kwVH*T=zo+O+J43 z;D}&m$Uu1z3`}X&*S{dY-IY};A>;{h-()}edg2H*CvECSd!^QWLXy|8@utif$r z9j8QCCSP9v^(*ITO?&$cH8UT^A`qa~)zu;Dj<|#lJa;}tMT}{#!y|fu(Y|peLS=Rx zByko1op-TAGb2qwMZ?)$!h^xXno**W6XcInlm`Lk3YoMuepNmf_GmKg(Yo=f>3l4Q z^S+svDh1ghQr+Dg&(_l*pYi+gGyq;5asqs)a?XsknLGHyl-cY@0|K)Ytn;b2vz5Xf ztA^zztUlf$4mdeENjrAFO>OOMf5GY|bWhgtaiOWbZcfg}k4JE%jS4c`?I?IY=3PrfOA$`T<%a{BrmdVALx}BRC}n%g;0zj^yK`i zxCku5^jl~H=VB55fgmedNh%nL_Jk?}jRB6u0uPxOi=){rDB{p3@{=ktf;gIYqFR`b z+|!|I{Q)|(p*c;!PxGz9I$-N4O?5w9m^~T<$3jp-=Br&ec4=j#*$a_3Rh>m8rLA#P z^I*<8K3yH1gXr8!3kIo!PKN&Sq5?ixp(d4?c7I%jg1kJIgFjK*nKxXSW0kWDM}U4$ zb-Z5{<>=8yadC0}%VLt`l7fQMfd1s&e?HtOX8aV0rN)NB@y`kbqN;$zkEvjJKA(x> zI9(K4$upx}o;2!o5Y^s6;8(?iF~>5fm^0DQ(Sw)DB%m0!H9c0y(c%4^unZ5p0VdF|8&!I3E7$=Nlx83*9ugYprsA zruKExJEkl?DMv}mX_`@0L7fTeF1<>Wzb* ztmPj*lAt<5Wt)dbo?3az4qElpkh+r{nefgi|LhBH9qHr*OY<4Zu^YwIA$v^%DtDYRil(Bm1s%gPk1qcsA zL!&&L8U{*Aur`5DS>@F#rL`MC6#_<`?{0#U;W9ttcsD9alQ3K~ZHm+N^D9x3^K%fs zYDSxDAYd~ZV(Nyry&%varcKUtg$cJLRdy2^6l!pm0FH1S7@RyX=yXg$u!;8Ujdja% zA3X!veisZVP?tCp_RNo;u@;o*c)So@FS(Qu2dGVH|ig{1-@-MxD^$PbOh zJ_U5zws|c%_pzMv-6JC7{7;pL5aBcl#ixEWOps?iM~cL#kDurfCK8kiP<0YZy(%Zl z>(>ey$pxaYm9_P%``1-Y!TbtoKRBcUWl|J%aqJ&k)-`AO6F(kvH2_A zi%bD7m2h7!e*E|V8X5os_H8r(<#%IZys9XDBO?X|22o?<;~8`AzXMkKHT>d=EH{?d zK2@HiyHfxrU%O7aFR!1!&+W@opLxJ4O4;Pop3bA&)CV+|&KI`i0*bG?zgNA(L3Srb z;v1?H06ro9_UPDe<}q}u0OQbj$%=sPiLbTmZeyw6fVPWWgqYnk zTrH|bKDW5-UCu#no`>^9ZRWEaNV&%J`2$e`Q*535%02)e(HYqP&91mK> zuP?>TJH-u3AngA4WZlJ;A@Bi``{2;mulh*#lsu&R>z4w!8(_zNsAi<-ZKVC4UA$5*NnprXm&hw9WP^nPI19X_IuvN=uuK{QX*$=YOj4Dtn(oOG0_BFTo;X+FjA8*gFp}gLs+512O)^ z)1+&{^zFO&O~9tzr#e3$Xfrs`epYlZK^&%OP9!3ZLH7&z-;Ink9c}Jao|XgUUumL7 zZ4UmSUa@!}jLmKpmA2NjdQE$TyptK4J;wc?{`&(XLrpG#n9$5Xep4X z$)gqg1|V94wgS4&KXc&np|Vo5Q3b6XL8j7s0s?TF_J@cc_fq7uvZ9NCNb`1WFJ+>3 zn=N!-&#;!>y?8BT(bdZlrVWv!=Xg$FvNLm{#Lb53WCmu>1E>q9OK3iqKx=uQN1NfN zCGfeoGkLX*Oov?JIlL*qwM7qVx>v9E(GwgeCS(Oe_6sqH zv`R*xnO|`YJ$TqX$;{kSbx%?)RX;5=j9OVTe-jo8Y`^t4-yLpIYDYQ*m^vatHwSKw zuTBEHz~;dHy}!<6d1HDzQ;0fUIpQI;w8UnqSeCOh*msH0^&2;)6c?L<2K?pxNkUy? zV+zRm{ZFDyxhGkzf%8@i1>wF{Du`#*66ReycYb+%=;nikJ&b#R|DL_W$Xw=y7wqkG zayZJkCi@@I?=JyF9A`)ovs7QoDJkxHf}mzybF*T~iyJp?tY5wa^qq8%OC}~Q&#x?Q zZunI*7hQLj{qZM+!ryU)(2sZ(L_&^NtHe8d!y?Ux&=0XG0icJR$u10$H>&bUbTs!+ zQ;v?;^l)~V{kP})Qw=iot*pAQm+yo!+R^a^b|+t$$i|yHc{o#FzC2-KVgl-#R(|or zhvp|;q7##w>`P4KQPo+09KvLE-c|VQuHR4)|)yvuAam?(faEC|gGP)>`D{((`Ha z5d3*EVywk32Q*?(1F~RCQrsaV0}er2BrCtS!^z2_36dt7SgD$8m*ytOF#fkKxPaaV zQ_bZ$&EFDzd+r~~N!Kl#XtrhkQ@)y-D@DwiF%BCRG1uf+rFiP&$J@x?<|YU9^z@z# z4i1X6BK2s@vxqIIET6VO0e&}JY7u1NPupgx*x%MTC}NO)Qi?k}%tMjy+JUX=!W|Uv zVq4R7%a=%9YLu#aAa?@ju}FwC&rE*}8b)|gqv`rGl+%`OF0mu5VtYxO4v@!qTlb;t z1}yGGl6H0&RGm%)=PCz0R*5qBl0XE9KoUP2h6vb8kypv{Bt(1VjkgZ#85yO7hH|Q3 zfIt9u-%tp;m^MsueIUn{y4u<@JQf%tJtrp^0=*VN#b#%$Y3 zN*m4e(xpq$iXNGWC$TYqLZecq2ksh}9^b$J3IcjQU0d2}THM;wAbU?vPLe^Ml=qp- z;^b4@f!if69wk+CTtISRQ4oj)R=8T3a*>qnx6tdC4$0=`Ch`8+-gy4CVqm=Rn>6qf z#5LyF$D4YR1!I+cj1b$>>N&8RSJpw5&UnQtxN)wSGmLx^A*=(crgnkb2#^f*YO9o_ z9t)_Y1RvZ6^8&L2j6z=Wqr~(r97i* z{rSOhTib!>4f~{}Z}r=Q47S{UF&Sa-SrtjVFi4!+!79V0W9rep!7J0ZlXg1C?yl5o zz8zv>kywN#|AV3z7y!eS4g)@o6f;Q)3|xj|xe@^2 z*k*dTMJ-*6wIYna0d~rePf1&b;mdP2u;GDmHZV1fs}*F)jWD%R2n~Asye>E1k zQ6R_eO4aOchaA*UDPHmn7$>iJv;@J^QUl`!J0^>0YX;m|!HL&*?c$%R5rEnQ@-sGT zYzh%@GJfMSpajniyOpFu635<(arcJf&Q(ONF1>r;e!8EMKap5^a7QN~n-i z5?ps|q790AJk?mh=2iZ=YQ|%))(P8&bUi8HSkg?3jNtaPRkC8rrL>m%zZQwpQEX@d zT|S4HifqyJS83H7VJ`aL%#WUmeBvN0ifhbsN-CasBL2M>Enyr9?!Jq-VG4?b)aGVm z7}Z7-CM-F-!88Kf;zy(6rX}5mjjLi6WXPvF8)3e_SFFwPg6&RVW>#<;zJo0SIEqFN z@Vn12b-FD_jg^pf@%x@j-!l&->BN7{cNswJ`!0Gx(YSw^jd}I}q&}t5x9dE+?;4PH z2}t%dP35T)xI8>5{?C2voG1IB#vl7Jdl;G<(Zi1xnYF=&(PryG->0_l^i%XQJ zmsilyH&MzacT4i}zQ@hS=Pm$7B!MiJ;aL)FyN;KMsH3oSvFtb^zc05KD18%H@Y?yq zV-*py1`I7Ag;7}ch0F8#%{$`Ac}Bi~d3AKcj@BZBSz}{kIyX0$Hu&h+R<4wWRIL>& zuLl9*RrQmuh9w%pGA}KItPBau-srqIbrjasF<{>|?l$@{QC8SNr;b7QEdn0|l#=?8 zUpHh-Q>d`|9rG_T?j4gLk?S-DZZFb;j}|6(?V{BSFF873Ml&Kz+|BS7+{shZ)|LT5 z5XZfildIXq9QmFadV6|I_wq=%55A6F0rl68j0W4V-8fiT1Y%jxs-{Un{UG1IM?vW` z?!yHm$~Y3R@q##1c|n~SlqM`A(?IqM9O!f{0B{Vhl{QiSOXnW~_<%@DAl9cEC{V*O zA-dbx9l#)Pt*m2fL@(Uly@}>HJJ{%uBmq7rb#|V?ksy`~iR}vR&7W@d(n+)ta(S{j z7!m|Bw?ec;#=6UwFC(x$QMOp_ly9JeU%*TNz2BcAQ-V3@qoE-JY#~HUbJ8dr0LK!c zDUPVq@>cBt*8Kc@EN;BFx}?WPNN6Z3Dr%M7bdB07gdTtvBbB~gxVCarqX`?99P8G4 z8@rVG%GMm6y4!slYieo)aPq$Mxlnz#S`6grKinG2zKPqNGL$npH;|DEw_HML83`84ammszPoG{>7yoej5QSwrg0Qxx5XSv)dNcfAgbK($Y8r1kea) z#V?!9f3ne5z?O@=!^0=*HT8_BBiv)A)j1W_mNa2=>`_vZIwZ~8SU^+ak_EmJP`wY3 zJ=!XFB)cx>9i}QqF28G%4wgGG@!%>H`NE1P)9hb(Zf2}YhluXp-lisip|GyO#(?~_ zGQ9ESba;rDynV`oHYT8YMvn@oq};PIL=j#QOeGzD(0|`L&T%fjBN3chRpG&D2A!ksAUb@u5U$t0C-Isb#2m5()Lt2$Wj`5f zE>S!7W03WBBZ{9s&=3Wm=Z$EOv2P+9L;sha*v8-*^Qd z02&1R4GCf!Hf%6@apqc_@0`uGG7AbfGB*idT>>s>T$kU%czhI{r<%e}99%B2W|#Zm zi;6)CZ56FUMT2{}*bg|GML>XCn~woW)f&&g@H5Dj*NoEG02G)AZf;?^#NNzIUq4Ye z&iw!~1d59{06fY*SH(?n6g~C46n1HhU2CBScs2qpkh}1Cfw%@s2maU&EHV;(D9z2e zP@l5KOp~j<=NGa@+8MyJelq#CO*Dj6C}?Aj)@Ef)dln^dmn0;p5$;4p?ERspy%>bz z*_JR*ZR4{qnv8@nhx|)+^7JvW1lDNpPEL%3-Q>iC1_8=Tl|heMscdJmF4z-l;!gQO zQGpN?3M{a{L~#8hBRRsotA-E$L;;Lc8u0P8NS(0$m`(`gi#q@JUI-qbC<4%M9d4Gx z<~jiU#*t3wC_Sm*^EwLAt1;8+Ch>~H8({w<^104hTMr;w@bxO+@CjM?A=G+Okk*oD zo9*%mgtdAG29=Bg8_>}6$6uaaeQi#1d35Z0@H^ETKPl8Q*M*sB+Cm#Jj>9C&Fr`EY z5_>+(Z*(eX*~6|DXmK7&sHss6>|+42$5pIN`R3tA2-E-sg|k7`G~4g9rr$NR}|o ztkC^9(m@XTRc1~=XcHnwzwR>goxiZwgcZ)`JDF<6A!o)&P5me*kIj8dna~W75{2c_4=nF{S2%Z17Ou6pq)2B%d2MO$D$9Am0oL`p}zI-`$_4-`7K#E6Ew7JAnnAWu$HI759 zQg9vAm@~|aOiUE=4P{)Y1VU<1YkASWy|5Jhxm=)&?v&+XfpQ9XnHSTBl0ax%!}!_) zm_iE>3-kb@g?Xp)aS=j07n$o=F-l^A;(CX?FWNl3c8A7b7*jJdN#r0;O*jE?br2j} zTwMWnY9-p3j=O@oiKNNe?xbrhteodTj8qFP!>@G`w%YrAFiUU0AcLKTB{3f~DF9JTm600mT>A{r;=Mt2-qeyXxOub|Wy zfcgOsL_IJ%5rfoCrtTKspppY8D5RO{_z~ytGFqY=Ye6$g=VId;oSz-vZaV9yc#UP- z?dy z3=R*!I-S1dA8zE)&J&40$LZ7xR6{S#Uo$HR)YR1-RK=*4Zxw($lvozZt8mU<9L2)R z^aVu+={{8h!?|6YMe}2o(R-~!YX#fZL)p{#+@ee`W5qImBhWb6*w}ttzBRu)0oJ3S z);7*1%$qlGN@$%BFPb1g?mq0I0F_L&&#=>6=cbaUIjx?WkB(`OO4$aX-GTa?R9-@H zqkV3ja#zHqwrDO{YIoAY;*sl6qm_!v!Gz;Tx`2wvKufD?L%}VuQPhx0l1IQ;+0epd z?!d|nG|iC4YT#BTJ*BNau7`A5dkO9ay><>k7_S-eqj_yuzrK%dC+ETBl7)=(oymmS zL-38Wdnz-5csx5Y(pKX4R%8s)ZZrF+yD?NqYN2NKI|MA+ihUXj+%k$rrYYGlLj&9* zdWW{H*=?BlBc*}e^mx<2`9DjRWwBn3ptfGf*l6I`Fme#FWK}+_bZ!gL?vnbT37`kr%WCd`LvP;BZMNau^J6;>vR*mP#j~1Aku1v>23zKXSo{(` z_GQ_QUF9)*URfD#o^6(hd)ws*#mC~FOHCC?PJL^>!5c{Gu@G?U=x;86FKg3Cc%jI$XAZ`i6YE zZ7vdO0jW+&a9TYAYEdg*xrNirLoqJIM~ktqfy>h0E`TogW}4y4^0>1vZEA%e3(_4f z8o(p}Lxa1Vm7W{j$jP;{GBXSO0LXohP}^|+fEWawBl&qEnPHoLMYN3d&jofkI6>tI zuwR7xR$~RM+b5l!odbO1W1p8mxm_70-T+a6oXCXx;J4RIZ1wW2RfYZU2(mcuWM5?l)^JPx$DXd^(5588b(C#I^ZV)a>fVCRyo0CA zVexb+pOuO;8S*+SJJ0irEpc#Rn6XubG@osZkpRYv&YbT2oGI$!?0g_+6F@S7=^0#8QMUGATmPV7?69&VTj0WGv<&NmKC8k zaAQVAo|DhpgrlJGOFQaUr;F;51Vo3G?nc^3Qk>@z0N1`HW^i0YVq$cS1y*YqWHvFDS5A84D52e-dbL2Ej0XxkMS7#wHnSUGJv7L+FXqYKH{PZ}mmXk66460bU^VhIbzjaqYZwVN(V$a->yR$6z_nIMv6UsEFm)$T z)0;E|Im8eGnV2p+s{-s$Qc_S`g*qbtfRuYR&B|(ScM>w$hX~=xi1_)p3vxh00xjz_ zXR-YdJq;Ict!6R+uIZ$ak^GNbDC(XWzH|nH7-Ufhi9tVqwMYwC{tSh-ky0+MswGgE zN)%VctC*o=w?4cRc;HBJGrJ%;{S4DIaHCMXt*xy|lfbRI=KsiYPFqm`xn{1QgreYe zb@pyP7_02wFf~9+%~8LZGXB7TNV`CYC$N!|;Vs54j;9V<$NIk4un>!~t@Ar=mb_iZ z);1MDPedpz&RK8eOKrtacm864N;$ToT?a3Rl@R9Mb&amkxgf=^rlqA7z)UKILKQLB z06lepam4k4?mu{`q^-K7cQ=VdI-`T(ymkQg!s8QVTKa~D$$PCopa1&I&?xV6_ijV0 z7KxAnHV25GzONkga@u?g&|Sh;*jFqu7URAJ;~a{opBnxnF!Xl|=6fuFEMc9vy4%~; z&qgQ0d;>lM`@H4*-tq5EFsWxqa~xdr*@~`%r*yvoO5JT*_>FUgyCNTO$aipEU2h?q zBl}!;Wt1&!bHtwKV~M#S%bb_mRV#&7B7;b1>_yG6%*+g8r3P5R*#$-*&~SqH{Kka+ z-cTwrdzg{A4PN+|_OWB7-F<8lzV{N7%_Yu{jNAKJE@NGC;89KZ-5zn8XPE0%aZ-ep zAq>nB`Ey)>;M_|L;`hDxp^;0H!Po*@12tc0O3b_9b;2k0^sGiGRNty-X-z2Kau@}H z`vL>2XgCIO^6G+<7Hc!vUk|bZ>IuuWkSXD3Xg#H}7SV~^Tei5&{Iu{|I^F>z05w#| z1=3cMfu&_a(Iu{B5o-3~Z6gM-42W0a^D6y90pCh+o!qgWfQ9f*zOByp$W|?IU~rJ< z@+T=R$e^kD`9=^jpv;I?^4h23pSufm7U1WJ!`SUEv(pxEB&zq__EGmA<-?JmpyL7!UBp{Ai`G4w&ESsB&z?U&28@xs#~9IfEFzwLg$+mC)1he!Vo^*` z3W&PJ?u48=a z3h8cqd zY}PwX=RO_N)()lj)G)Xt zf!&KT;9X$lnDT3xHN5EZCxqVI4Ph1at*z-Yt?p%Ucw;lOYAnfd*BVZZQ$?QHVA75i zvu(cl?hMq3Ai8WmZopbAwSj#Z7|9>DytH1mpCg2uNkVq_+Tima2!aXuRgiv{Bf}rO zjDspw_|Mzgq86jvtqCI$V2Ht|HiD{-O$I|a1oCsb@YS6{YuKKqrDZq0<8&SSf!I?y z6QS~NkJN&ouPD~}A~1BoeBpoqOJExUJ{u+%0u^9qU;c`xkZpj1fNELqAIWPbLz7r1bi~rkf2n?>#3WX~zRrcre1?qK}awR#;c_Z4T^k_Q3Frm2a_U zm;2h-c!BlP+KkNsOWW@N>;kC-M}Ym91safHq;!fTYU=oRS=2PmSi<2Sz$HNScn!j@ z78HL*478->%qSi-e-;1e(rf@OsF_CHZTf?RBAkF zFAvBbr5RYjM;{(;lymG1fR3@l-by2m^hJU{Dlu%y>lH6EZryw^# ziLnd()?MYdw4<&`AyZO;v;zb3tzgA)-E~(?2WU+8U!~lhy?pa-y6}%9Jyqu6pErtu zBKeni4dfQ=^p442Rv#1;|slF`IYO0niU86lqb% z;IzQrCkmh*+Nkl4FqXK^?3J6vx!6BSRoR+aa|I^q#HVN5He|~GvdT1Lz1d*k9U>mc zyL@bold+FO7U}TFWkJkhW-e0z%lklaLq>`RVq0v=yDzWlS<-$TPI(Eu4Z!`a+$45# z|9&P5pp(J&0q`_6J9{#vfo|BCe7`;HcauIoCV=k9li3eS6BNHi{A}0GfW2ox}~uS}mdGCH+%Ee1cZnvR#Foj;9C zgDv3zWNiM3QcUx62qB2xgmlV?|99yRun1v^VyzVKW#9z>c=zts-5zBmE?{;cU$LYa z=UqNIl7JplpzxoiWtrD6%SyR4V|rf~`%togJOasw3wqCyZ5y8jkzU$k>?{P=^HYQ0 zk2WuLIKf~z-nN4Mg`W1UEFJ(&$lwo$!nK+G1?79ZXDiLlJ>KhZzcRiesEZDTK$3V2 z5-E@^KVL4^G3Lzz0x&2J5eK)e0SZAYS_%i`JMu!Q9=ZPR%v`s)Uo!pq3v8Hg@aO?z zfByw9KPdm^Im0A3g;lr=ev{;tyL>RwhSN(6Hdu=jzLE|)WmB3!+F2vd2x-8Z|C)9g zJx0+IA*8tH^%~2qP>t=4pJf+W(iIKs^~MH~!CvrXBqXSZ?eSP2iYs(o_#v!v90X&j znnMEX+2l;P!!sA%d!PhD(Fo#5)xzxNPhF$P(@(w(YZtxDKm9)A#oS}1=75kAZer|` zVIsl#0V@+Cmx2i=36{neZ~+ZcRRv0?Id!kvM5BHepa97inL-FwhQJo19v-m1JRBaj z!*SP-d#S4j>8BY%PZ?7G$)GBt9t>@5&aDR-r-o-Rxb2}|MyU(#sQLVCwV(3E9Rjbr zMrBQQ?J+*HEgr#I8$eiev@A-@g(LwQJPzI^EGu^7^Z2nw=xmu|pv8NMkmGG)d||aq zS-Rq&!2>J?04UPELXZfmyI3}TW|U2L@7&n|1T9!to@fG%i(dFUYIKVm6m=KCz4i2I z-;G`+zA&ih(qYS(HDJ}viKsUg${xrx+rgiy|Ll}S&;wLH^C^AA+7h3jc6iV;Y8ljQ z=ay&zju2}=Mo7fHo{_}D5G?OQQN3uY%?Bg?>?bDG#;pSA5-^zbN?^hW`g(%v@h@B< zhj~p-2LKQGf?4sfAOo>XDX&wy9SV~Q=1OE2djw#c3_V!qt~r^nhqpn_V5ralSBp|z zD`DW!6MP{2&`;2OFiKpz?(5ecXeO7~^$SwD*Z@knDPH^(4h9)K;O-5{MCA4;@|qUn zZ7T6Ap$j}5Hhp8ySL|O$i~(KZX-Z1}jb4tj8c_V9a=$2l7Sr%LQxsr5a;icb|Ev6h zf*~=M1fMEd;5yLuhOP7-%4rdioAH|Ti_!hmz49`2uZL8>#t=8qcQrI^!Qg|n3#P{E zt_4wwL0oz1#!1x_odGYub9$)@SldPPpFKCYZd&9iy*uHyE8MqsoMJKvgT^k|PO#R% zwQ)eAR0{%>a|N#(*mG~q?0aqQ@E*8iL?1?gMF-5Fpl6j48Py@r#^p-@>I=Sj%8s8< zQ>9-X-Vs`37iS7k0^#2Jn{|MQzh;%r$@SRwBmm|RAf+kRKAtx*V^5_>W`b}Y2AILf$0J9ANTP8thHDke_RA0PZcDFRx z`+x|L(*uR}XCJ{%fZga~+E(RAwb=QVUq z>nkv)K}(jvJflXOt5>f&s(j!km%-Ykq%-*=*^Mv(Wnp85@6^k9904ses2Pxzdvpr5 zwm{s3*b4gI$V3@a_+v&003Qb2sQSazTr74urvoiQJW2bZ<2l?CL>#sJwOosm$<^aa z84MPeJ&-Rgu?0m%u~5)wy-rGofp2&X)iM>(x-9CEGyq%yK@H-|ilqWWqeYbD22(FB zf|N`DNy;~;Y9(P@13M6M+mSOB?mN9w2BPbf989NrQ}phkjt78iA8y(L$9_;i|> zb#&s<+B+3pTLtJdU8?sfMy8r`c|e)PB6A(Ge54unqH)mFl&e>h1iQY@5=;pAR_meZ z132h4Z9QXpYD~n?|8qOwF;fv>zYyP&2R*?{($SnASszG9@Pf9|9s0@|UA$U4UT)t}qo8!7t~f$es{1QbxN*bFrh! z^fJu6nXB;BS*SE$*|!a&aIvlM^eR9lyvuaLPc1$Lq@3wD%5GZc1?;XgA5$=0;Xpm6)oAaDdqlpL(lrnA7OfXetzGKx?HW(NP zL_n$oV43-X+D|5GbynTaiswpz9R~Zf4qzEnl&IMQ3aW2i6H`+TBwT~?hU$6QlXE!0!dY*FFrWsLqMSPZH4856y7&AOPOr!#7gbJs#%Ngw%yb7*QfeL{-fCR42AP!b8 zDCYA@wP3_VD=+7>gCRo}dgxK}iy8D~4GNTMiWgyVbKp97ko9H(*3{4j%DVsJIRwQ1 ztpoqM;d8WfrE+AhNvH9f&#?-EIPt=tSHTex;mhv}t%;ML_Evx6zb*>R5d`PC2^$UMJ=sU6zV+Fa!js`^6Zawz>6^;QKnVp#Lu!-FV_n1LC@2J3Apx^LIOH+jBL`0)6YvLV1Nf%wSFak8xDzRA_!w$} z@MD-g+S_~ulc@t=i6ZL2Tpw>4ElvFIu=*`&m4CLs3LCr#6TvX?z6l?111#!{P*&;o%SJI}Wu+aN`UJ#$B23!uX%7kS?Q{rIf z25(7rh6jur7I#I}{Qb~67e#2}fhI~YU6bIU13^Op0_5l`fhXH9=S@&Y{LGL~B@AhD zbh&UDG5er(D8u)X^6()(xKx!J<{JJV;#I*TP6cr06pcihGiVMVDWMl7tU^r#atnIp zvbEZPh{1IY(v$FzS#h)o2ICJR6FA_t5d#Bm?Jt*LCFvO(4?2@ecS{?~ngeIwmF|Vd z!ukI%8W*)FZL#CfZ~>|}@RphcV7OgiU2KV7z9Pg;W%h#(76;js?#dW=4WJ7(a&nlK$6T2YVE?KO%@fM4{4&)zcIjxyFR9_X5EzFoeDCv<*3xEx<5bFKl zRq<^mXX5WT!b8utcHp5fyH)9cpCGeQqF9;MruM_OZL9!B13<<9PTMW=*n>;)4_hO) zehPe|jmXm|JUY@?TN~l50-!Y-+VP6PZYn=F$)6_fH(QB|hy)J?^bWx$*3g7?`{lgz z`%%Edz^Cm3<^+5m2C-7?0!}}E{5TI}a3k>Y@Z3d3zG`WECn$(yf4Qi`34i!Uh&Q3$ z2b(ew&L`kOSu0YnF=N1kI_Cfl!S@s8eiT}8O{L_Px&!V|1|?gD{OwoHv^ zLi1ScZyX9AU-WG0LB`r3qTfeOiq{7SP|dI6Ym71jA$@3I;H7Y{aCsC_M|t)wXO2)P zWcUHFc-4dF?i}k{z*^SIx6)1Y4f%214FY!d;? zMg6B;9#|q+_$HF;!$Djd)Mh@a`r6&fF!I&K?~g&#LiOVp2-O6AOMd&c5kr-9(4g?c zo6$;f!EJN+vI9(jDQghOg05{_fDB-iYyhto7U$pA??s(#Kn^e%4%8)kgxl*)z>29U zb$*{a>zM(l6hmv=vqkKI%kdh0w`ub2I-S1mD6_A~)CdAKdRP=m^FDc! zy>4Io<%=Zo=H1^u9q6}~hTL-e)}qQn+_hNg8wUZJFm`-*WRY=Sn4j(P9NR0v5x@e) zPkh#%EP92_J-zNZ*Z~*2hlRCjN{kn~huxOtGP;MQ!PJ3cG3!D-+)$nH(Z;$ABKpK6 zjGw9!K({5lSwV1~8Z?B(X*#Y9#{%x?$^86$s&cFI3t&cxBLiTewGSc5$S zA%)r}Od2N`a_!{xbf~tYf!_UtO2OocE%GP1oKYF7xE+|>Oh8giEi91oV2^x0*uTE6 ztt|u49#p-;OEJp|7(MI?#DP+G*u3C1xPYW$P_Jc8HikO_Z)0h>y~L6!cPj{fo|E+k zlR)B_WV09_09G6-j@U&K=g%`k!3(ZTME#-?I6%66*IJV$Sk!$3O(@z?0sG;0v*8gb zs6m4O?R(Dvb8~vNz#>BQaNELEj&@Y++TZ4`{V#w_{5a&Q0PXr50q)Ban7Be2ydG#p zt-h2?=m{$pUjyJNEVokp5mk%@L2NxB#kAj`SMT8OQUdS@5(W@) zfTP}%FXKbN(18WXP7<2Ffzb>pqPaUfcim-_(~?7CM~qxx~10R5`Dq86VX3V9SvKNNRpyIZHo6tX4KYA19WDkxB*8(iJo1^_-I z&mia@Jf&+|HZHa!Ax=gIIrgooM+BC4U{c3^v9!M z_Bh~Ez!^|? zehw*9Xa4~-Yh+53=r^Mc-vss@77jpi$>77*Y2zuqi|S@r&?gH7uSfynoLWRNu8}5g zv>$N=qe=+5F_NZ%S9IXWkw(&W>~UFFm>8O|Iv}#;h@hbK#^*RV2vMHcR|1t`Ccl~F zOMhDwV(K}UbVo&I3AmA3J?rCT{CUEp56@d>CSo&8b?MuRqqqSF*Ta~@9s*rYtli3z z(1}m-%vp@hjPL+d9TaA~NzJ?9DqwP5-5MJk0mM4VvZw<<41y58NCb?2Ce&r{t0!ku zbcM$#X>&e-vBPy9WlQ=bds8|SXlt(VxuU|v%s(trsozJ5XeSB#0lVZB`F43LLXB@t zyO?=;wK+2b3_FA^6nizOE{Lth_AxA{=XF=g^c7NkhwblC0413bqH<_t02kn3nLdVh z?SPQKpSy%ich1>^pgi9VO!7dI(3*!#{+I1 z>Foj(&C&F~g-HqPaky^>3!V|8`;Ygx)cp8DmVi{;4jx?0 z0%-ygarq!UpR0n5fyG#7fOzzwIiA@&*X5#OfY4MnWZ8Li`~J6*o<|pv8B50c;;sG1 zd3kd%&Mc5eTUsFoO_ay=lR5S1k|@*TS2&fu!XMnV?{8&r0WPC&4Gk5xtw&Lf57=O} zgAVY=Rr8^d=PZpZA@$njjkn8z8X>^xIF3iB<(jRai`;zCo&>|YYgDar+F@Fz7ZLj? z{Y10UrWGj(URB8a$^c|{3EbFOQ~MSh!Yvc7;hZ+38um7+YCuCjRoClyKv_%~ev~yv z5(Qy}XWw1JySB6M0oV$Vvsh?&QJZQEM~?$X*dTMHaxOu2V1!8{OJBuI=B{I}EJHz% z!ZriSeW|sYHr2|2;tzn20J{VpJ;^8e|D$rimtJTL zaIszgf65lhlZ}fWvnGia7Z-Ql<)e{|($aHZy_Ut?p$b$H{vk(4w*$2NaqPUE{pPfG z9!1#-8VQR)z+MLWU#|w)T>2LdFMm6jOzoRX7eto{Z<>>f%4b;ETj0BlTGY=mqCwSj zQ^#ev;uW-DZ+gQ28}N~`?GG-)MRbS6m&$sx$&9rytSAaYimPmfp@OJ-L9-MU0*wSx ze1~d)-T{}W@!aP_o{R&{^S@o>DvxLvLM6Q8?4iwc7pZp$))gGWkL0$Z$Gi&|k@b5R zs#CQ3zty%&2~ApkZhV4(q}n}f=UXXhCgtnt^ZXogmshG>mGJ1!MO+@nbRq2YwqibR zE?iR;RTrIScoX=r=YedG%AqihC@7yj&Qd}rLXT6z=f`r0oEwX5bFSXnf4&QE0O8y! z7N=NI&BrhBO?e;6pGx~FZ`>T~#EIo>j~fkwB}GNPU$$2pp&SwhBM`ou-VKzpF@1b5 zeFg#cVAP?~L5R`Nwwsq)Vu)hpj|oS)8b6R)z1@OpJ|v{jq$nHY@RLBpVO+!{gRMvg z|5n>$(x^3;{-;<88l(6{$r;#$JJy*3^FVzv&yPGMQrzEau$1Z2r0bhhrGInHppHv$ zXt5eoc*Vi1t#BTM=pcW!e7nOmb1VImCkdMuIFh$GP9c%*KN@@b28kxQ5K#zCV$GdU zEb$T)88l4qDw)MBgWeU%o(n`6v)mhT1~Gf&pn*Ys#9NPT3yEMcWa=*dPor~V5vTU> zb_Gob;wO4UNE0E2@D*f{+p#>9-)iCo%}WTyYK*jfCuba$eiD36pV*_Oc>O-bl(?#; zh(MYiPx_vJn;_Z|=B_jL{gpasdM>4M0T(AlW~?BOF+ZVw5FI)DZaScquIKtxkJY5^d{^ed9DRLdJId}d2yGcV2viMi2 zqr+`4B6!$0nNy9)-{zQOgOJ^hS|EU0In9;qW8!o;A)#uH{KkXuP}s*lK3|T*_rA9M zG+2s&vr4TQh;hXs^JFe zhK`$^*XKXe zNEE#e#yTV(ZD<{uHI#lVe8=M5z8(!nA=?4|#NM(DU&>ijIMEp2}n!gF`rL- z8UB0`LPjWk5xy^JMMr$P?=Pbf92Ur!+9raeTpff<*JgV*12lj}`PSSS664s%Rta8- zKodZX`Pny7?l1qe>9d!Sjvb;Bb;OZtOl5n>ADKeZDQd|(8P#>`*Gs5Y2P-UQN0mZk zqvuzJzqN;K$oVeN##9Q$r%kB#-8B@wy04e-&?_GHGf-&078Wi-qJUfyV06g!RhM+( z%B~qD;{Xs>{cpafpG-3Gz>4R6+-$(1iFiWx0hFbog9rDENgYAJq^8ZHsv~N)aJkYa zdkK+1n#r6*Fdi}zfG`#BuVTyS9`PmZTj~`0GE|zl%|D=~3e$#qKiHa001OwRiB7;g zsiMcKqndr1!>U9xkj$g@vhs2Q8#+`;^TR$6`U9uh-J6DY&i0Q833($hfq%q%u8hWwU znoF*UGY3PN7v{F-rLM3_0&n$YPoTY|*pOjRhwxL*b7$)mPTOo}C_nE}Vb1G4B$U zU1Z+J_CXMi)Ur^kL6l6f0PCUBc?aHDoP}dIMuJasr`THoehv*4O-z^D!NgyA zIQ;4AsY27OTM=b?n1gs$o~@l?QjvJ8ekP$jaUuZMl(av+WV0x71QFM+UF#WNts%(I z2OaFqvO-i2b)H#$m+P5fVb~un7eq^K*RZ1*wdkjc02GTT6IyXAH|IV-NkFVA)KW-?s%Vw#~l~Uc;%8P|Gd1i!ce>L-D)AxghS0Ycm(#dL? zd+6d6%@qlImL}Xd)1J6(5Z{ z1;Ux4* z3lf&N2fF|BH8p3B$C>$bU*QtFJfymS8b= zozYG3{A5nNneZfq_GS4Kb0NIP+=2f3m+>iDF^%R_h!@cwLRRlB=*}%A!<}Cxzf7P6 zP1`>|`Da6b!F9Q2;sKogqseD2VkD1oF_)f0E8R@G5!a?z(+>4ozcxk6iwiANi9<)w zbSEe4TlVBb+$wSU=^2FbAgiN}3s_a_0d65fTeJH3t< zzyOX~>^8FT&=533TL{5e>#%A3MqPd?%zFKjCosMsyg!t~-|LS9dk;}nO2_+U^{t|< zC`(>5b96mnM&(E&vqaW{kHX!$G&o7%y^<~D)g)Nd${2l-0v>7j=JND=4g}Rh%FRnZ z@0u;pp*znrp7g~X`X z*skPaK0OFYU?fdY(yzqbqMq5-CFI&v*MyTapjU8IN(kLRrRO%P?J^0-_=UQ=rfuoT zu&sPvuMv$uzO_t4q6I+qDu)jF;x|ABNmPV-pkZ@SwC%HW=rS3|Z$n5Y ztY9CTtkuTrJ`NZMoRAE-$%PB(N6OcG%pl*+h_)%ZvQgrYkhJsASpax<1ZGlQ)vi+| zgk%tE=SPCK6*L+7Yk9m`G3XN;!g;8!!*CBkEN~QXK*2sO(+!=AfpqcZ6|KemU@C^7 zNL^?~3b&UCK!iBa@3`f}s;ON3@{{P)F=QR4##nsc=FkFM^YGz_)p~EG&yQmkAYcG~ z|K;<;opGiWiK41oa0zBFa@effs-@eBME*EPVe7dI$3!8q9!f7(y$>QJtH;@(eNq zsO71Y)N?lLR#g5UD$k(ujh`)yy{0t{2VJdHWn?42Yb!}qd?chY7zMP(7&5kQ?2AC z5%D8pU_#hx1KXv93eX~DjYcN`)KVZJgI}p&KLR$y58I@5P#Q#44Fx0Px||zAapWkp2_qk(G^I5g$uZH7((#S$TB7&7mkSH;&BK?e53i;lcDrQ2vB~!O#t$U&|jl87qy48%w<3Fu>Xhyu&h(owEDE} z_(tS8(r3_|NaX&$^k|x(J{Go>+iSBFp+L^bdcGX`W*W#X3m_7+&c5rk#7Bztrn%cz zenBRl0|?38^(J#anBsn{(SU!*eb$QS*}z}GrXX)C#3T36i>S!R;ALwm#*#Pc(#--8 zcg4&Ud8l)-J%}JE(BJY}*wKHVob7=C3gXf&t7XrfuM>3faeqKjjrzDp?+_HU3xg5W zASr`^c%F?Y6@7!&hbgappb}u20Z>0cj(uAI8;@lYbqVg7lnNkqOZuM~(;7P3h4^u^ zw-G21lBPp4(7Z$ExTQ~@_M42Em+xUOTUxQES9#dtYf%}~bQ$iRi`Z*B7gYefhJ*&1 zL)QI2{MNqXPiG%Zw2s8iYRN6e+&EHoJhEX5WuIPSo>SY7|8+H-!zKhD^@rmuN}7Sn z6KQ*gy`h6&@L-9BKgvK8!yQEEo2N2I60QAK=ECyGdcDJB=7hW7NqqpjFq zSR3inhc{z^^o8Ij(RIKg^`YBAZwUtcWPZ|LDn8lzx>&PIB>I?eTGt8|7l3pIvo(p#**gGMS!lJ;l^vj~J0KS;6I= zHc1usP<^sbF2ez4h9RROs>6%poZL`dARBgpR5P5+oLWGs6Ki3T{RJi}pToDKUz)I+ zH>&(|dEz*3SWJ}*l-FvQO0XeP^dEm&zxoW|E$b2<>C+_XAP(K^Gt}%4zaB^N?ZHS{ zalyu?O4BBkY<~z4gzz+Av-=$|woV@YheQxq5W%^k))K<}O(=h?6G7_@vj7AIpD(t7 zrxA0(RC{gatd<9Gkq9t91w}rcPlbxjS2*6{lmCXFK4R$jy2?X|Lly5RftW>KT!l$a z{%a;#eQG85^Xdz6gHmDRDe-7n>7PGOkwzH|x}C_I<4q`{qS4-mj~rQoljip!s|lB2 z=pFW5%=)&7Te@LvrJV2d?i4+@4Fj)MiwJr>FH>Ldj`mjcJijzeZr_0*O#dE&88j*@ z>1x9lk;t!VEA{rKukTV=H6m@4!NuN;!ZiA?4{B=SNLMxLAqXay4-rBx0uTtf2==+n zAUOkI%BYppqhT5*gdC~FpLdPvD3oS`FqMLtWH(>vnH?B!QXWP;vM$$>Wg}^khxeuf zHrTcEC^aW4>N}e@09-ldz9(0|Z9XHHHAEfnHf-enTopB#RcVSO5J>?&RhDrZ{1 zEpUcF$c`qnbkN#jPn@=1@vW{>I%%k_jZK3Iy zkk}9;gMbgF7>O|Prf#5-IlK_Nc{$7)l`r}KM3>NXx{ytRcQ}#?XH}HgP*Qr|Xnoh& zfjo+r&|yymarzhVRpsS)$?HV~bPhP~Wj;2Sz=kY%J&m$|U1Lrb41nQ~2&_Fb4LQ$! zcvZj}MB0RSq?+pWVicnrHpXG03mODMUK$r6$3+`;K7eRMm=U5Wr%*;GkwRp2g3kYD z5|$FU6Sha@Bt)HzMG)>G+mTFzM8&Uh;g`aFs`zV)wQchOSC1KkWD3#ky&nJS++&q&1bG#~;wrs{E0s$q7V}MG>K45?c3OA^$979UZK&Wgwc{ z4G!tDX%p`CS^xn~tiSId^Cv>2OZ(K&b|Ynu`+=M@fKz%EHlyLT4 zaX>&}!El^MVPQK^BtIxE+|u<7#sb8EHN-k#g9?w``0TXg=lD{TJ^oyLJ7Q2G_Xe@p zUEx{W*4z20ple7~&~rp03rHP+Sa%$^3%jRq)FvGFj!pBwvE({i@+BF&`1gJn*X&j2KxP`PKk|qNj6TpzS1tv1*);5uE z^?LKq>mV(cVH?8M0l%U$4S5dUs}7s=iy|fR4%z!~2YS6SX6Y}IaNNOOiOsu(@`~n(~sR~wA;kR0i9I$)WREoV>N)Dpns*L zYBLTNxL0ZmmQwnc`wqT1aiUlhmVT!qY~*+tyxjW=kyiF;q3r$YWtB$^=uSDhw^yKx~LY1IG^TLNP~ZJe5v?bn3jt0v6-D zxg41^=`bHE#ul|ZVDc%xci`r3Y?j4@i+8av}?+X5T}4 zIa||udOylcG8Vu)hU;BM!o?e5Dv9%L^up5q1u62Y;5JCb?3$R87Pw}o`VWS9AV93J zE>yLC#7AufS`1ULn1w#U{jl5k=Q?{}fFVp>D(W|u$zY>zM$;V#ba$UVnzaG7r`Iz; zDMx=Tfg0-caFfvdE5LKMTBxc{xyH@KKY^Gh=239_2nj0z-LKZlISjaQ!mvav_W-O$ z92CS@RK6Y#@ua5L_dcUyG|AtI#c{vPsSmtKF%R3&D&V1&p`5~ z;s!%&1eWT=S|p@*a34BMWPd2<0klXl0}BKHAZ#lSA|GpCPa;4~HW%A@nv&ZOM2I9L z3!@K>p&{BNdwQUarsC!*gQOr9z;VB0>V*gF9#YAWKR_{MV^=l6QXtA?Zw8@+NK!Z) z2U8aql>Bmv&7~H;f1a#qEJ=H?M(dIGAaQE6HUdM>yUem3@D=iS*tg9?^L>d92jH%P zo0-<+pbW2=driVxW}cFBa-)~mDTJk%qi}w*ZEh!cFc3Zfo43)6i>kvwn^*BEziMSt%k!1)Jm1~9=L@8o@-UZL$On*JrKhLo_H`V^*pE^@mfRS5 zfMXyp#mR4O3jlWY*g?Xe#>J_~Vz&fO>lbCF)d~PkQQn9cARd_FDxahIZ8+nIxH$_n z=6w&6)a^9IRs@DgrXPWgq~gX+?PyQI8>BycJMhpbJs|a6hm7@5ET1%EB`WtO>&QrB zrVDnbtz9qBK8b!^=7lW_=m|9U5r+Kzc*!8jz;Br@*gv)wY;n9g>=zcwuPDwKBW43D z4qaVsJyuqhmQuty{{46zm>-5@k!ny!60=LVzOD}bhXu(cWN1hgpcJH3V*uC?^t!OE zxTC)xwiX@HhTH;7U0SXcQ*14#ELgv6(&c)TWA)z&7S{aFT{2^6M_TY6lNwuF8whNEATj9i_iLs1gEd1VoEg;;>BMBsb7V zT2hV{4`lw&mw$lwMydoVG&zgJeVEs5p>NUaHJxcuOTa87dZ1;AHc?LyN=0j@RU!<) zK6ndU9!mxRxj6C9*90lAvDX}*4f}I6$#%sn)IB!Ga)3C8mTvpF6Iqjp^#D-9rXwox z=&^*1Ba@`kcLZjWplPs4;`my$1oR|8m2CU=?QkQwcT7-&l`hpou8unMZ2|E4JWwem zbTcMHr)}AiC3{Jrgoq2F;qwKUaQS6_m@E0+34}OA^{Iggyi;!kwip$<6Q>h z6Pq4Isklw1lxHBOFYwL#-20NG&`)`-kv%P<`z z@t(vlqNU3A==^HiB%%azn!_oA`rYa*V)kb*6Y#>6jZKISnEMdC-oSkOY>*LrPadIH zXu4bG0zks(h-*6r`VqD*{rGRqz0FZoA(WA%y{)1aEcKjBIoAi z$s$1!PbpbSW?Xoe9hxq+e0kkHek%WbcI|2r7|l7J4%i0b@mO#P4}X9EBdv3pftz>J(d*oyZE{&z_=U|g)Uh#>abdHkWWA??;M)xObu&07+sfQxE`YFWT6US)6O zugISeRGZ3!shvysj+LUQYoM&gSp4SD^ve(!_Q&qwd>D&?ZoRI&o@T~NrDWaBLvk4k z0!wz~{WT}AlFOsMBfo+l#E`LI0KVCXo7$HbvG*YfftKjK{)boIzKfpPM?>dh7iR7v zJ^Jvr;$*TC2{@=1Bv5`201S~)&)K2A_OPw*g-NXubUFkRe~#%~1$!A-boNalm*8$1 z&k_KN3qWQt3^hCY6J+<~)z7&O88il#hU7!xBzHadkmxEK-!m zj~|;V6w%XStv+&5h6@k|mbcH=8GFIN1;4- zoMgKddZ#E8d?wXYs8QJs_9K;`3buo;Ee@JlSb3Huxwiob$71T})H_4C%mNO6J^-7? zQskr3r-1;C0Ilg|xoIICL-H`P{(3ZaC3Nj=v#StI0JXX!u%t2TDmOIdpqRaJ=-!nZ zoM#tC_t*iVl!rpnQm8?OY@;Z?BgTIbtK2yU>2OCqs^edde(t*R`HXF@U84cR&Flo=(ikPvgDt-+)U% ziKx6*M>>aofKtqAfekbB+NZTwfH!3_B#vt`ipoc#lS{$?;-@x8!H0QU;_D; z2;duJX#C#2(?8Jt1Ss<5&zwD5@_5x`bSz-7q^cV)oXC+RTazs}m>3EP^1cq|+9})U zv&4d)*2{P>YfsDH3qfqX7?@?G-d-lk7BH(SZrBa@u=(R5BY%N)1tx(GOr~v^FA%Mn zbOqenm<7m` zQL6`16WfcspfQ8fh%h|<7NVmfBB0*2T4XMMo-G>0#D79!@2mN$AN&h4gSfNyi4+O! zm_{fLBFaE&cxvH9DyaPS%?T9y94C`jDam$Pf*)eU(LtYA2yF*Rg9k+13m4G;emu&~ z_L!%L0Y512U=NZMLU}>J%!yzX67mA=H~te})%6Z85yVBQeQ!9y6|Qu={1*2YS?zOu}Z`mF-?PpPxI^~&(cSkZI zdQVi)>&Emp(jEuk3$jlO!92%-^d}KN02|Uy2w1=~5R)8;9o^@VUAq?+Q9%p23caLc zM=V*olvFsy2{GzcG!~96WQhSz#!-z7a)+ORHnp_=If(FEFw~3x_#J3xk!m!uTA}^W zUBwIuOY9QTjD#j8l91r-PvyMW3uWqIktjax#-a^BhBPGN2JaBmv)x%csr`zz=nI(SOUSNges$M5*kIU1&@MJ*lf z%T@yTN`(ZVue-Dy+()b+Qbzn3KDZ{pHJn;{crf8uFlfi_O@iK*R(O!Rs93RMiF0%y z<2*=xH?|flZ=2NGj_L0taNvBD?c*zK{ZmAaO_@j8|3d;&wm7QN5T24mwg(X|1UV2@ zLn_%g4OL@>o)W#D^&~!^Kj{|<`rcy;MGSHmL4S`6{#v>O^?n^QGZ6C;l9PNl7Ogxe zn=X!vUJB|0oyO9aVZrj#aqd~tJBQpjliO0~@-Z-%f!}*WXSLsdGKFEJr-608 zu@=V3d<^G;VoLsR#L~|Af!0>E&md`HUbVPQa=4(4J#AI1SSS(_=|&DTf}S!9xrA-p z6i;K-NNbfii+)HhjH9KGxg<@xuWIF@g!P{tM^ZuN-TlcMLM{S}0GPkan@}BL#?P*_KXalR!br7Y~ zlvZnbRX1{eg8YC2`bjUjk(-5tWTjhXFpyUux21y^F%^kmkG4Jq^96Rg9UMmmCDEBC zD<(0qtg^>Gg_LH;IxmxpI-Cl@y#^+hsc(bZaT}tq_l8fSu zIf#`XmYXJhs(ca|xmrZvf6PH{HgHEGLPI!+Q0yls!RtE`Bm56IV>B>npb<#Sapz1i zI%QBClz$)&Ldb7TF@(X`z@(h~3^E{9Z3eu6Pwl}3C5#$UO6V72deY{?`zQy0Zf!?j z0MxGZI2I3AWnCio{4pvfh6uX1uHH^we|mLN360^@TM_NC@*kF=HWnbR6LEAjtwrvU z(wC>xSZs+8yXF#lngNfVAQl$3h#;LL1!Q|{rq{=a_Pezj zg33El+k=H7#paQAvC+?Dn~@LmJ$k8-IX}%tVyqbG$-08&BEdc(%Zef-L8;&yNtKcH z1~Ks;@i@9p1a_Q^NG=;{?9bxO0Ado0fd>k@vg2XcR`|8)NUULf9flwvl2c>ONm%zC zKmHhXan?Rqb96D&F)Z8T^(|?vMr_%tVFk!h7cQ6*fr^^LAn-gA$K%7FfRjpEY*6+@ zTty=#+*HUFa2?2uK#-#iwk!no<}utk0Cu{vK*A@ly?=q8^nR==X`!MM!#VlAa&+b1 zq1SXnfEp(?PiF%Q!qM>t>x|V6qLi{_>=%YKLgIv z3(GvlvyFZ7UFdTn4de-qz+n^WQ=CjAJ;*TaYWn0=$vXcUd0cTjxguK^?_^>va-F;M z{-*d24lU(A&twMgAyo~|$4ds>2e7eDo?IODlskdrS@@B(JdMY|P1@;>L(3+h6hK`| zSF8Z$1=N5CRkxm~36GD(1KdT3g-i)pt*RRrHVdG#GN>UpVr`X;AUF_mD)(L_2BjK7 z9svj1tB&&|%TbL(QQVu1(4@Ui5%>&fQqAy?c z&9WzTQPjKhFhP{-SXzpB8BQCMNfwYZ%Kx0m{~RD1JETJz0xIO4i9^qOlfy<~{^x?C z?9K;Fd;^2IUucm!GIen+eV$^PoMzPHmz5ZnUcr$4~sv{;B5ttQhqpFl3 zda#R8^+dvqe*^FVhkoK9ik6tBpifMO_tnfAWjPlGWa|H3pSf=$pDR}Npoz(f0NAN? z_T2SnZo~Ie0ey|?E{|Zkr8xL6o4*2m!-}VkpCE-745%jtd0|cMrly1p&9rKTAH8^;JVVKpNWoaF<>o9M1$^ z3cAnBY6${_n3OG3FtRX`;HKofv&FrAd>#UOzJL_RlNfqFpm7#RSpMTx_hB(6MpcPy zwEc)J z!3z<9whGDpE78k=XBA(<@%NXNEZYCLP>EFcU5<8i)_qxH&mJASmA1hA<4psI?ah(m zc+`U^TA}6vD$O-G>ppi<6f8&Sk{r_z4tjmL6bWF8h|3oE_I$As1gd4_?G*>fod%_V zP@(DE{{t+pyQDmbrOc7TmC?NDC2qNzqAb7`Bk((pxavJQ;(ENl`~{9cHY24s1;|_3 z9o23@v_d2_357({sr#$puofzJv&QO15CPi>!M6{8d^P!geAv!eG;v_be0l4fN<5*V zlI{qqXsG{bAcPV3b>g9Pq)~l{M87wQ{r>&%-{xf43>GvPW8;aZ)c6mGgr5t!03ryQ zTm0#?fc}RJ!@Ugr!W*iNw^9_q>MX3`Pe8TS!GS~7fwyl$w+oN1V#c(BRTi^10@jLIpYm9+1%vd4n6)M_Qf1sDq-$+ViD=XI>^FTpRxc$AO9N>G=; zLw#-ol%{8t)D`7JxMq(!PZiyCnwU+m3(iore2G@DtZ46}+77Mj99&Qoi3%ygjN_u8 z5bkKxetG5yexH$%QG|w+1dTy-rPPw&9%4m9f#HQ%dEqczOEgF?xCBx!hm=4)ANg$1 za-JC8`eF~7m-r^phWFWGF5l!K7&5r22@o_qWd5Q%H;dOU37^vStR+Sd1GZw~b~XL( z=V7btbe2%^-*l?ZfI7WZQ9_LTQjcodnPOm65&mhL8$uVzu8a}9R-!XG7Y*8hJ#A=71+mm8v!^t}lJ#e>kd#LI^SndiD;0zDMoxYXt{M)#lb2l| z5>uqm9Tm%s9UgTv2p#a**P`yM-gE3wxm-`@fR9PJLWRrHZ?m+QSE~0~DrHO9 zT>mtxS3`AqW!B_>&vGXd`oJ*EUvc;;lTIXf5*Pb)*h~C~J+J6HZ1eH@MThoaUN%4T z|M#`Dpe9^&sBkluTHpH*+pGBN*E<4{8bm7xdE7A6eT$4^Qo@Lck#`6Liy%bB#A_kb z4J4oTT8~0Hw;K{jkD!Q1PJra2Uj4L_N6_@22;7R)xydA1?=NP95TPdQ4YXqt+8?w* zQ_2EWvd?g~W8mme{lI&T)P<~xfl8FJEO}wwMdgy##iRBNU6-xnL3MJ$$r1U&84YX0u&~r!}J&>@yP0V5E{dtnzhMf2HUUD>E>q(!pTQ-j- z01+~|K<*o~*}x|xJkw0>#1;R2WtERdUOln6(pk?XIO!r`hou%%OD+$oIIlnVF(+?W z5?w%&CvU1cqI})v)02f!3f4BhopDeUP#c z(1R`wZEaeYxFP@3>$=qs{c(JzFMG~iFkMzFfB)l!keStTW7SoR%pOZ!{t%ORgWPiR zq^}HplWonLzBuy1gMSusF?ery>I(J?GvyyJv7L0Lp^yh$qD+q_xtqv8R;)QOMdka6 zDQxRv*s_;LRU|b{*atMyTw;DDS?#ORo-hY9K?}6D0~R+ae~X8oSZ8zFdg-?Z^As0N z5zDQQQR0*aLEkAEL{s2_HugYG5}|7hnc4ukptp14BucKH69S%@2lA31hge)2yUgh>Ma0=!G0h_eUCo@fjm znx^yKDAp~AG_DH^>bWT+)@6QI2ybF${?pCfT2aL^MveFSkr zRDhg-um-mB3_8-FTqBVGq2lLVw(_t%3I4iSkg}O=r1LS-eD~4g z5nSvikQoPh#H#U?NO5TqAvfAo9b+WU0*XXRkaEha;V3ch_+>T%Ub;}po$H<~;FIym zBrt`vK6eTPrj7hGm+Knp%###~S%J108WiF&=c+Tfz0LWTHV_T~v^|KKnlZ4h`Yw+b zcTTqS5|IuIjt(N}zW`K>pqDB5Dgy0|Uor2RqVAvs?S!72B`L{uBF=yKdKT zG4=ijM{Xl7N2g;jnT3s1flOp=e9G=z7?T+?FznFXUjxhGIKsD!lPAyUAqoy0(`PQq zc_0@u!UkSj0fijWxAUrp65r6VT4h(adv{ zivPZ+;y{k|gp?wj6LLUwDV_(;qgsUv7+HY50X;24Yr3@*Gv14HF35qH!uPipjy{o7 zfG#u{N}1vvo$2Os^HJ3{$*40OiR92p&z{jC-8d4^re8+1gopPn z0WQw75)m`P#7u8ZbfqE)w6@a~mEGxO`(9&Jaq~j9>#G2VIT6M_@8rH;CD*~3$|ikVqGoVodbx=C@XV$iF2aX zJA@~QAka@7{7a02%&=B&xcJgkpy1Y%ny{^#`Q&Gs?){+6%5>}O=gD_M-<$P>3Z#W0 zIC!jr!R*QfRSTo%4;{Ql%0oMRPrj?EUbC3pwF7pw=BLEPV`YjiZONSi^`Bis5)ux3 zqx{u!Q+_Jfnu)X#8GoO~r;16DK!EZV?iZE_-L07W;lp5^!bQ@`U8hJT{(Bx7otVOq zq3LtM;F9cxt|08-7wg1)*>EWkLh(*%uut1^#0;PB(NY8#aE%h7A97in@%`4$AinqapmKkqzwziukz@4)W2n+=-1$jzCbfi;nf+| zatatMu>8Xs5zvB~dfNyr%D=QjUWIH8Y+Aq9sHaa@5~f76exVpm9PEZcNfrM;dq|?rF}%0{jpY>kda6mp?I)6B3nIG zH<@ZsEy1id^8A80xH+KEd(|AVnXKoA=4}G zF^*~KInoPj(jYtD<=`R~fV~?hk2nU7^XkcImR|DhTZs8?A9`$i&8E53$Uj5;J~??* z{v}6#pMoV~2GC$Zn-Q8^&g`m~%p-077kJB=4`jYa{~TJ%P~rf(m%wQXs1oIbs@iW7 zH#nX>WN%uiCSjwyCkwwbx(te@SHWy!iXVbdV{HH|Lhowyve$>y#X#nqNLcc)ty}}Q zP^|S7bJS2eJ7AHz^8{gV0VP#Kjg}@3n^PQN#ht^Y7j5MDYNdK;O4-CXWPN`rJId z`S5ZU&cSLCwX|2mJ>?{LcWSOVDK!4yQ?w!rX%y9+bU@i64m$MGLFG*fpBe-A1v>lpa&oNKn@Tg zx`ceuQ^_Md?X%~IzWlfl(wRV1+iE*HEK$M$kWptNoK?SS1F(R-h@N^dVB|QsM<6|V z?d=O-dY~*@45ulc2pFr_ey8fwk=Tk-Z`G3NvGa?*9sc}kl#W70dQm*G?A$; zo4q~c*m>NpFqwx2*(UqbzpPiPEo%MJRu$zRlXL*yVV%gNf-mUmobeW@Y9V$uC~pcf zc8Ou?^__laP_V&_kp(n|2W!mX@aT`D*FkcsXSUBCeNh27(k9T^#?3D{wo}Gljt?s0 zK%~jUVdu0eYdP2N*cUx7Km6F0^kBlHMqNQ*)ylesuB@{cQHmf6y*Gw;0z4R(8j=cuZf&DNR8CGM}1*DT!}Eo;|LW(MnpDGH3;#}QtxW&H&DFXFjcauu>IlAu3WQuH`f})S}MrCAHH~e${g=+ zE*o8bTSq$gyDw!GZ1watEQsDd+cCHF#a@xK&DSnCX)3hk1lteWS^0{jjZlG%^&YpO%eR zB=-$=`sMy_-TjBP?dZl??E8z9{4MJCq&P({oYfrh`PWLT)>l@(Jt;?`t6kQW)i==J zZ|9`tSN|lEJ#^1e)baObQV95XPFz}U-x9Gvg?V3pUTbb~6tb$Qsx$10)9bo(L!-Ar z-q7Ia-7QDYR;f4)J$x_kuyJH=SJ~|N(sRGJ6c^UU*zMj|*>@$eC-GVRwRIzd+gp;) z)*XE4Gg7%l{RVc&G8%*C^8zsmdS~J^yFqH5#1$J5_cqF)!I4#PRV?{&xj}`Vd`PU2 z(z*7So%+Tf59bAC=Q}_D(J!(0jk~I-M`Iq#d!2*r>6+qlMVD1+L(hM`a?2BAcO7(j zUZ1zYVf`ZmKZVC{UC*x+^VzskyUN*md!X4N{+pFT6JpaW7P8b8j(s*9@o*XLo43UK zK%B`7t>bAO$!X20jY-idDDl2Kt^{ z@9salZjHYg-SR(&^x)<8LEHE}NyWHQ& z>`Lmu)GI#Ej@{idP@mPAxXCW1?e)&OfDPGQ$C}r5SXpw~zC)DJ(0Q=K!k{>4<9=&5 z^%toF;T-^ov|@BaGo)4=P(&_`u2`;%p#e^*UywI!|us<(6CLh^I( zOkH?XrY*N~)_CQ8wXfNSh6;J)?Q++Mbg++V_MG;t)Z4v3Vygx7SAye@>mSrhdcP0c zvbQ(sd)zdM&bdG(UtI!H7P^wmT|IQ`?#NZZqbonr#A`jxngD%pV!J)fSa0_#iikt z8;wgzY&w-)q#^jWSwr#8w82mDXJ^RI8SR*TP~Ks^(LnTqYk*i3I&v0~v>93j2Yhc; zR+VyfX+8Q;ue$1Sqvbyj#7)jcCTDhAjk-4{-V2h73kVD!jGMv_I6l}Q(CN_1V#(1d zq$0#APwZ3qkvBAu%ae-rTju7eoKW;__D+GXfwH~#uV0ukH!EPHfni0j?|s?c)UFI8 z%T-heyX$BhFF?&J_Y@pJLfTzpUjD9=rj&hYyMOlkmC3eNmsJHl8z1>I&j=1&6!m+A zHC&VRni>6GV{~^$R%oC5{)$HC@#lRL6E|RzDAJSXWu|JjI|r}-#@4yDe8j*Zvf4My z%ULAinPhs}sOcW1ZnKvB0J9+6OyhywFP_X-e31QNdLVwMF6La)n!7uEk#4KQi^TF* zy`L1yTU&M2{EAGaBXt&^xB5)}eMwnqJ{#;}-w@_|oA) z&qpo2a&~XG4VH*(IAB&^XA+Zo+x(2^=r8&0N&|WsbsuDV&$RW_FB$k8DDGsRew~X! z#&#}UvgDb@bW*v3Yd*4_+R-HwBkAKCwkKmlxt(v!=Y%0{hoO z(OCCY@uT{MK`wSpQzM7^Kga+C{EQCImT%~&jODa+g?PsB2d#}9>RtV{qZ5AV;K)Za zPqWmlsPEfNia*Ml9XA*~Qy#Udtp0avm0nAt#bC3T!iF|=30!Zt0UiX!Hqz~)kP1<7 z(hun5c#_g&{YZ1GI+D60Fr{fO3n++~#LVywowJm8eN0)E^7QD8v;z?fw$3l>J!O+&Q=6TZq=r2n@H^$ZwfN&pJcIUK z_q~rSbs3?m9s8n?bxSi*gh6gdx@J1+SZY$AmuZg{3HJXoPTJF{bm{J$H$u((rYrq& zx2k_Ekj2$H{QFgS_s7l=(d4C6h!|ulkjOaE0eP;elV8ce!%^kF!GVIkx=*3TCd`lB~sO=SLl4_2O@>x zFKN%Vjvx7E(Ld1ha9N8>_-Ne|fc4zya|TYD9b)qY^?NBQu~cv($P6qvRo!YK!_YSF0sw#+P`5=cjs(j2n zhJep@+>}3?42h6DvdbiDg3#>n$~vu(mz8zh`W?;8YbgpJ8;M_?sFc=ZWm?f&y~s%Z z+?HRf>YCslC5MJSj-Q^={qxC%Hri$l{Zrl*T8@r7N#~9ZzKt4{`1y|9dwOX*9IxLL zl>D7NJAqXY);cKDV0yu`vzws`Rj z^!et0YfL;75o=}8{1aqhpqVxkHGh)437jGFum$}NUZ6u-Q=Y#KvJQWkBMHqAxv z>N`nJgsLBi&R#F~DTulBJTexXo8vL3`Sar#r~QjlBYX5xd*3X?H0Zq4qWLZ&=L&nA z%DOV<4!;amBTmk9Y4eu?p@NLTQ)Ql4(sC-W65Tz~(_qcqVQ0lx>fx}9n)_v~&7`werp;;x-Rc=q#l z9cI=esH4 z|D*-3WXTWY24Bd2lcwev9#MG1Jmb+M%_EkhXIO+pMil2dHt-!dGxI!f!qXV&i&ETG zG^L%lzgz6{slhnAq#Q0rA;mgablEX~bAh=^N1mpPcD6+cCXVh3R2eDn*!N1|j&!lr zLxs<60afe8lYbsF`=xev#9^mr$%X-h+O5N{YCAUGn)=vBQ zUE~Fe@RWn{85`4v^)0`DS(UebIPbHbS<18BX^%_>hsfk#^mTt37&`d~lNSvE0Tac@ zs#|QXE#w$D%3Ch2dA3Ng^IgYNytvYeD~lW7w7=v&&x)UABOm$u+lJjqE~#0f+48dC zf*n>JRy6CA(A{4N3o|3{dv3JqpP73hY^ir*OF~-XMQ|fhyZjLU|LQo}Q$F71q}f!f z#1=k_`eP;$FPh)BuDhsqx;HPrtK8}0dEY1fax_0x{i;f8|0lEejq^)x&F2yqOMMMo zHAsUm$v+ckGVYhd?iupM0#=DK&Bj#?T@pKY?^ibaRr-Y4Dmu7<1V3qkio3Ok3SzbF z8duy~ee7$w(yR9TQg1JWBh8U+5K6hG6us9h%kFqW|17hN?e}0dqqY0>GgR*#cB}65 z-`E~7C%3pXA<9&!wKu+PmJ`wu=e}=+6F;ct4wT7SH=fLtcT#T~dina-rgl47)tB1F z$DKE4gnV=|J7jl+;gt*gxhoLuN=dapF*|P+(J2TK{R2o0*LWn_?61qT^{FsT?uSI% z$d(VIZ|nVZ)im7HToo)3Sit3#IY*c1_aS!C>T|w>-G2aHz2mKVi_DXfZ5K*=eWk3w zpWSjs^M`wH)s#nF+JW(6$M6#MHLMwLcW z9~D+jA5=5P-Wu)iJ=kM+1*xZgeFeT6@Ty-^o9W%h+M|yoYJPs|K3BV#B{tmXnKIJb z_A%<~lmXwEJq}e75}tZ{Fn!N+qObI$@N){KFo>+%vBhVlgR;f$Mv?U@u9DVT6f?Kt zW}7Qz;?TW)@ENv*iMCjRW#8osrkC?pIvkEy@sAA4 zzjC2(RhP)JIe$X?fsa3S`M(pm1KpXY-=|2Y=j6Hi2i9uu^u9Z4zDD+h$_`0B@{Ij!E-BA1%r9C~SkW`JUNl-f*9n{B^T5^b%h{IrEPUe5b)p2-N_zia8a z?^h%bxIDMZ`}96BBrh$kK_KvFWm-h}vM{L}oOe2I zu7MpZ`ZDLmssy9!Uwo^+n_XS5HQ=GZ^}TuO@@Ib6O*aWYO>Nx8!uyU@UQ@kJw$Fj&(~*}1J{A1Xkn28NdK3ZE-eX!z<2CdzkH)t( zCA^(9Jn(&2v3W}3pzK`5fJ5R-M*fc_VV%!efgljuQL}h z-$0MvvX-_v&kkNcVVV7-d1N#tRwL`5cR>JxJ3Lwjn<-}E0;Q>1&ZcR*((~4v9cX_L zI`Ac2@vClz%iyg^-vjy?1vSo_2fw=>*zC;5UQev`TK&t57PMVdo8Q*)EN>I2#CPXO zwQ5YAi+LlJgR||I1_i4y*`Q{&4yS9d5CAfXR} z{eg9}hJ~%T(-1y#ZKCXqQ&qN`~T>A54f89|NsAF&qz^dNh+cc(hf~hgi0C`qEgXLb)sm{P^h#ONh)b+9wS9N z?M*}DwD&&$$NRXh&*$^|-fn;0Zr5ehIq&m+zh2MRbKW0m!uOGZ+GXVs1h;ub=d>t$ zec=AvBe;hX-tL@Ld7|+Hs`;+J-OHuI_7gFMr~V!lt+T%zp=)O~y3iqhTk?&5e`D=$ zE!$nX*R<0UH6~9y zbMw5HJe`qqK9R`CXnDtq3~1Wic-NLhGc)TOPd4Y8f5z9M9kbm$uO>X7jiwvzbfBer z>#gNWXhWulep{=uZ{V{sX195OMK;`8xpQ)^4cpm<=6EVLIcMUJStiBr?&qnMr0?t< zqie@Y#+(OeT~r%0Z&tx02qCi{a(DeWm^}7RCHC!&bbeYDYqc zzwNfkn_HMGJR~Vm7=AejIVd9XDvFpP{9p-1&e_vp3)-;K`{D*1E$7sZSby(2(4^-C zKu9(-pFs|sJ%b1L?7UYlowbfscp#GZ;$Q$8t$KwKO17y*T+<&i*MHN>fn(Ujx*>Y? zT)0E}71f<-bi_Id73IH&HivB4UjUJ!u6db6 z_9VJ9Q9J~+Z*TFlS8=UYmLB?v?NQ=n@~sE$A#&&r|%3sn*K=a zv*ZtH+u&CoFqFbkdLYW=yk=J4XtORnVK*L^p}qQsT<%8UQzqYJr0Tom9tYvB+9XeN!Xel|v}^9~5!&ujV|Yb$c&=|$Fcg<+7+;#7FTTy@@NF5&uXMND zYT{Gr*0S@R5}*1$fQVQ%xmMap$N64C7i)d7kZA3YW~7bU@xi;j4{8Y4b?nc(bHD$% z-JTo#7S`LBt>F0kiesgmW1T|pd|Sq1cBZmn!O4|N(Q@keJV&U(AhekzVX(Ug%Ntmu?YGT25kPPiD7{H4j%!J4F2_eY}Zp3O`n3 zaXG@t*$%-vGDXS)uVo_Y*O2_J`fc5btg!RKYW-0EiXGFr$bcjF+7z$@`2&;gE+RP? z5r{>V(%qU={y0b5JU8aR%d`YIzhSpD#XtW;4X}Y36TI z(yx`kpI{iNh&lne$qz%q9*@V$%$fOfkXh2ctDjVjT1Sl*I^wy=_pYG;Fxw}?LT&O* zsA%g_(||8aEUXJ_+RbH&4X`@Na#C2=uF1C7o7`NIJ%o;8e(DgmHIBE)%iQ^e6Akf+ z%F|N1*5+nO*}l}Gp*ET4`}6ReotzhNsT3|jQgB?R*lqR6zo|7rR9rPtd~ID11x70|B<_j*=O*r&a9z^PLXgEcG@#RT1DM@`?muf^vn8;hT z!rQp)$x<&^Z)9>>2Decp!h zfNFzhk&_Y8gKyd>nxgu)ap1N$b#yP0ecPw3r)G2F;ZayD#Q?K?Kj8;Q#fB#+P1`$$ z+dK4rakCuO66)`lxc5{mlI=}P!0^Ja+3f`;Jr#Q;lCYcVxK#6uXp)na2LWosS;Q^z@t~92GFk7j)?D-!p_L$SDB0vFJU5Q)W|bGAx?+X zcU23gqnN{Ns--Mv10L}w3$4%WW&%8)&YQE499|NYl~Aee7sj|$ z`|?L3@6&4DAh&5Hpu#Rv8%>-aN!M9JbS#i?akCsFHU(^fUv>J6(?;C`Sla#1+*`?_ zZ}e9h_eXr=2;}! zouebeJX{uR+^2mW)3w{P$KxB*m;AuM)`h9&0CALK*_1lFkGMXI==jFRUXXYRmzk!? zeuEa8o21F7BOw5nDRWAA+xtI~t`A^CZ>fuM*>)jnkg*|atOIt^B3T!k|L0uqDp67|%7nhuz9O;~G{*^?ZuDggj+HA5G zLKFG+q#t@9zHg(4Xi2ZQdEGr3r|GCgct}g z>>Zlx{2I+Jv$Xt9$==Ihb~Mr?X}bxnb#nRg9|GGJ1PmPaNKWf6Z8u+rt#Eoeqbb+v zRA7LdVGFy^_B~LS4p4qT62Ea{y7MJ;mIl8H28*Dh8_euJREATNnp+aOrw8Y*ZkoXj zm$Az_zd`!L-ruihkd0aR6|6otG=Mx#Es}sKO}D?X)(}a%vVrchiw@M%mN4mVWI`7x zDQ6K99wS^XY_~(#-zgF%wNNB>z%gsC`_hVcvX@J=)Q&UA8?~*rF?HG%<=Q?W`gmx6 z)G&${LBq|{svcpP?^@&*CgnH7$7%`~63+f|v+Ydg{2HS#>tB>^uWKmJBr+b}fwam& zz7p8Jz%$$xi?%w>4@8oWjt(qcJv3H7#K@nc_ik<1{@CKh=6vZ({^MV!WOkEEIRe`f zl(!{mi1u8{J3inP{X&wFd*?VGs>2&(JnETAG3mz_>v_M}jdWKeTeeTmO!|n8i90#o zWzIYLt?b?<^7sj5Pcc3uw$gLXxBi|m6g!gVr)pe0HpeY zrbPWz{awA}nEGWNKQdYp&82cwA~4c$xPc+!O;S=IF+sk<@6Pw~TPp-*PW`0WJ3lK6 z_35cF?;|oo@7InQ3eGCsnqs)p4LMg2-b3q)I07TKd}G)&Bi2%l#wq}SFm3BZKEVAo z=8p8B3eMa`*1BCR%`iF=<|hL0A$NWH%NofM=Ed@`lucJkw#%IL@Bi{et686X*;C3# z-+l-Y#<{$svL|Wu#<6VKNHns5RO93*Pm1H6D1U*;o}YA-K#+0g_(3hKA+E_E-~5xw z5>Ztl>?7!SP!nMMh>~c3$T}H&`xAl7mxNjOdPi`xQLf0AB*@z~`ragW#5f)MEbA2! zx;w6F7q^6EyIuP-&w|+nso7k5y8HGVqt|DeasM!p!O9-X=aP|3*j;tKk<}OREj9`{ zU09N+;T0>t>}@V(kfmi~(%`gvg&5ZD7NRx0iwr< z1U+kZx^>U8>1o@#iJm`lj%Rg=>K;M^tK!sP2Y8>W#g4YtaxJ)riI5lKw`G4_cyeN5 zHS^$LE_uX-vub*YS6P0yjk3cyLxdTMM@XC|o|1NoBV1Ah43&#$LpX(nZikv<-kbeL zl7DAW$FR_fH!VsbHNb54wpp6WIoCaM`}ACq?rKU0;Vjbz zb$Z%%XwdeHpzha+zQMK|)5G_s16R0oR)yq*?`=%VVx4mynW{4Cg|9$`$#!0df8oYX z4Vm)ey_s*cDKLdL*s(U%u2-ZH1!alOtEiCn54w)TH|39(xP2TOjZfk*G%sx5lhqNR z?2jXRS7(8B+oiYWlH)-igfh?1k!KuYzd2`=XBC!ZAX-9^`64+`<|2hm3xY3n%A+Pf z-zN|Lx|`(AxkYg$>3{lx>0RTJ`@f~jX7R{mY<)MsS2<8mx}+?FaH8P{k2gKca%)CC zG-ANABYKFp)yO{vPIv!!kj{<6xmV?!RW~H-fFkvma^N8FY%ICDR&tk(Om_TrYs)|T z_HVj0zhJIR6zmE2%ewbkAXUcJ?6jRJYB&gio>&NRkQZd8^}Scuy`eeJ?%g?blN%+4 zaDtMum`=`s;F5ISHkb1O4i_PC9u1z}U>}@X5GcAp82C5>lSK@A0|sj|G}D zcB$NXEWFWUUv%g*YtNYU5FT1f^V8vZVg)x11Rn9J3lPdZKqT+l+&p!;J$v6pM#_9^ zo4?sMGwdkHkS`;gx3fLdvew>L%}5$C`s$803VCmoY^0OBd|U$cj$^l{jI$kI)GF@0 z3Lev#_{eh)PNY_DW4J@4}!;`cOR4T~i>C*7XA+AT`@p_&vXb)#jvX zjf#q}#0R*i6)^kh`XYIA1|{dpHLQZZSLDsz?mvo1y~%)rjEeYph&VzjYw=Bk@&M~%fuk((0derKM#+R9d z7)CLHy#2$-9!?H<+ai3PobttITAhp(;I-JH5sBiupv7*IDOz6k2%FEDZJ#4!Vj~=R zCNt-}DpBFzIR~9zMpfJFb4HXZWk&g;J2zHgmp6ynZHtMl(rJv6m4Tg$!D=-SKGl9G zm$@j%h5D8Uh9u60UOE*%FKQSzDNOkiY>_)>#oOGQHiE#pzAlr?@oF%Pdi{{#;w(95 z`tGojUY*X^kA->Ag_L;xe@>N<#!LQo&-R+2=Xr86-!oX`>6CfS^s^;bSQWGO2zX4n#-1vlqwI9=E1#R6PFzRS?KXr9UBIhf zXgXpm-WwHfr#WBciV|4O{Y;T89o;BFWIzv<^nNJpil@mFmq64OdzR*@3UB$g=D-yk ziHTg2x^Lli86%AlWYKI?o=eN2P>|VkK$_KoMZ~3q$y2U>pt-qOI!C>asB@Xiq#s97 z{dMsV8j&GG)bn1mq1O{x)V??)!A*i&))wUTZpk^SJ0@5D~4E zjUL`6Qd`wK)+l3y3aG6^=tHCK8>IyiHrkhM$M)$-O_<7m8Dhh=p+uipd_RY9W`j{S zmtPyG|GRoBe9Cq<6cq`Fccuf8^V^p!jY8My^J^0e4_po%zUpy;I9%!K7az z-bOh+XLdHZP6F{`)hX8SjOd5FsA~`14_H@aovBE2>IN?2crJlBisU}be`lY5o(}nF zl?F=<>%P-F?#_J>3|+7pS^VqyR&us=5^p=@!&&((k*UDk&q{HAgz9T&m}J{E%(V1i z)FQ%;SnU_t3lc>9_jQBx?zg>VM!bu*<9~ue*JS+Tm1+ZEGBjmKveI;N$_)oT2c78j zZoM~mAIQj>k8A3wZ5f$~mdM;WIeo8)+|4{!w#hPzt$i$%cfmL6B8SGT^5L%dK&nXK zqvLajFablLTNufA_PzOMG~kBpNp6{t;&Sz&B*B=qqn5K;Adt*2stqRD(c48|Zb({n z^|@7X;g7w~?`Gc(Z>lmWjT2}Y8v!nWH|=m0Q4jv`L12({P=0pd8=6&=qoSfd6BD~z z&$4q{zx${<)$a1S9p$d*B#!8sYrcFcj$FvyV!xU6J%bdgJb8RkqqJjp}Y2gFD)n zYUuo-Z>U4Gf|={#y4&MDw(B@vyozd&%HCa3)mGVxzW+5DhcJhx296b5#pXDdv6&HH zvT65YLKE}-d%yCXE9A(3CazXi%~ysvR_Qy;hP_I%7iy^PZ-^q3(+9@7q3lsE6-S%- z%8&LR0JwrG-d#gS@YbsL%X`+2rZmj&omk8|F3v3z8;GfTf)l-FS>qsq{w2!bbddTs zzww_3xcF04WMs^QnMX(Hqc>olX%O>bOJAZ*?!tvz0lrSs`URm@rgT8|E#_AuQ4$`W zW{k-`3N5|H``KFDQC=9IK4CeaI+HTAuTqm{U?DtR&}!tU_=afJC38~lf0E^h$g^S^ z9I&j)#Y{)u>IcVXd!l^-Svi-!)9df}skEe^RK`tyW{oErn9HcaxDY|~#n1^LyX$J5 zCnPkOKFRJ#`U=sq|Ma==M^LOT{4*nF7+4H|gxV9*KXYZOGH41XXusa4jutKxdW^vZ zFiwANC8m}x%c=wo|LE*g(f&CL0BLHrt0Z~@3Gw+}zZE6_+vFPhq=g-y?|kk8KT&T~ zzSS~RXFA`zJn$Chx|ZD=m9G77gX153 z;U=hk%w#`eAjWghzbE2fuAdeESC(QR`L9&jwC&0=SNfDfFF#0m=&@m6yxP^RlBKq0 zd<#a3i2mI8zccJV)dW~hviSnfYo+AMr@_vx3^Ix+AT7jT{+hLGtolSoI|))}MSoEUAqA^Wp^XeWC11D&xT|3Z7| zROQw2Ye+pF6!-m}X#TaLBTCpd(x)i1pd@syz^!-k0TV<^4srZ+fl5(hrlpaB(8M&Y zOhKYQduB@#iUC24`wY>zNvw}kQbcz|Ip`V$!D*zgCO%kcH6VhRA0s;Pj-vk^BntGu z1LF+(gVb1w$m+T8z#Nd+OiN-g4zVDFv2q~j0{>F~(2;)w@bvxxmEDhT#J?8h`1UKi ze@!fLtX6n-pu%~M$WWjf^7`vZi?MwXDi*U;riRyFw{8rcomuL4@wu>mqD<(MlUrmA zi0R0%|Hn3iXA_AV_y!b=pZsVTBN%~eZ$88XA~6wXBor8KcfVYpPYe7|EV|dw`~~a* z?16GCCE1@m#4MiWEa*1`=oSErXF%woiv{PYk}*b8<)l~mB?hSi(6Hk1*WZ2wo1!4{ zrm1Oa20w^g;_T~)rbr@3eT1XH-f1ow8a<#kRsP?^Bz*+Pmi5o>=AQ)a6dGvvH{ZLg zgPtC(C!cV8FKB6fH)38OF4}mqzk(vuG&zGln5=G2X>xBFbRy8`gy96f2!`%s^x@ud zR>4i*OG|gLF6}-hjcH#D^#9M~ddyM~6^UU{^k5Zxm<3o_x+q&&lKciia~;e^l;?~`$JiZ;HT=>rLCm4>1l=`1BJNi)3 z`~^Ipo|Q;JVCo9T4%nWe@$q z=!+9ZH*cTb*1Lzg$!n>fBScj%v#wH72f{&RY;b#kS;_M6=n*L{KH)`pfI`q`yaiu9hJxwib1N!_R3BWjnyRK;Ajap; zxG+B7d+{aaV)9I0wqeRi9mN;=+~@xttmEtIK+_N*E(S1s4G8|=h+THM?T-6}U)-y6 z(cMm{GV@}tRxUjZExMV7;3?R)IS~)ijXp+1Vx#W{qx>d7kqEHf ze$q~2D6(pFgg_t!R<#^u8QU=$g>*b95=4UZ$Q7lXe zoy2prY6A|2kS|jvNI>+Vv1)$MEF9)G{2g#*nAIJRmg#*IK}*HkU9P|i0Sqtbf(Yls-l7ButD*yCpHFS(~U^+|97n6X)c?-CTA5NIm`K_>)#_6kLU; z5~)dyg&s`689qp7MHxOYjWeAd{@u)S?C*g=3VwhG0?M0$ij8bJ0cHj@$Ug>eiym6= zsMxINJG6j680vs(lL`no0e0GZxq=w$#iD>>3E$(3xhs^+=`(1~ba^{RX+oa^(Y4i4 zwq-dG0+UB|y*A%M-U zK8C;*I%1nTU~i$l0TeCC?{%oE(U)n=rD8;UzYE=JEL=gL4Llg;iDPBCT`Ni%_^zpo zt|YZ+LTJOB;MM*fZve!G7&h$P@8WE9@j0w|tRSb$V`3$isA!Y{&29b+UX6Gi1<^CX4+3|tELikk56cdJl(>jXGTnvU!Ri9uIm{_9}iTQNG zk{&yDOyRVH>=e#LfbMwv2~i(nX;!!}C=#aIC?AI`7^z1LE=2tM#MZO1z?MGsoU!{K z%+_TReJXEuuXDqJz~UN%iyy2Yr-SK~)9wcAV0F}AV@FvS3}oxPp0)J{Zj)g69G1MK zscQ*@q>J<6!Pn^_8zDV(U7nk?^&VD?&dx^ZyWo^$4T?*Xd%)(qf$>seSOb&sXTN)< z{&RhnN7)I!mHZL{DutMbe(A(L3-ayIYy*-lbc*5Te@`2i>U1#K@9sAKm!f{N0%}y~ zl|P9A4A4s-OG329Z$&9_4{`P>|13yIqmNW8edi`_+F*F&4TW`2-Mp%VkR<#& z$6Btftvx=;6@#SeY4;`L*=Sd`ZVT(Qh7Uo8p|?d&ciRh7Nl%d?xCsuuVF& zoGUB+uNY@j2hMuj?C1AYV-C}8RdnuTo#?KcSarMGRxSUy5#xri#HJUY69b>V3(n-@ zl_Zz(&jk4>viu4Nz?)Qg4;}-PC?-8oJNTg)uNcnwyPv?z}w4|#yfJ&6P`+lnY zz1`}{KqLSO0zU%d4?XQ3dhn%*ix;{6VW~qB=Gp1~+<(RgSFq5B+AH<`NA|ah=%=SMF44K6a83KN$w3E&_b($T&No*UsAfk)(O#-5(E2OEg@3wtUMU>lZ zzT7FcEU`~9D%3xuUte&F7?{VN(jyob{~l)mCMo{v8< zAdmT57=j9O!vCSXP0$z?Jq*`5mYq@P9M24}w%^f@frYN#v}Xx1o~ot91b=B9gUTkY z@6yZl>0VX)nEM#El*43$Q5rN2`5tj6JfY9Nvl8US?dCaW32d&wCl?;BuQ4j6g_wAu zGxS%uFci?2q1qMZoxHsT+szMgltnhC82RQ(5dy5g*^Uut3Qrtbp>2pNQ}N=kI2iaT z$H#ac7M1{;konMv`qm^-goCjnsi38La={)JhGix9tM^_c2ZD+6|JsCbj1|KTnxs$3 zKOT%cN(y$tLL_3khX2CF;y|%3>K<$8z@*>fxP$3?PXSz+`X4DJ*S>*_HjI1x!~r{C z>)uw|at^bJ!PRj0{@lEIv$BcomuR&fBl;CXL=fs^>;LtM!#_ip%Kl9Q*Ecg*ZMWy( zBi#IlK?2Fz28&2 z1*{|d;5u>N!kvHs1KF?afK7*Ktbc#;djE|x)k6?oG!2w}H1h<;W^xjwWfgbB64;jA zj4lUmwXg#)p=1u}uG(-8ncnv_;=Tfi6EOubw;jbFW>edso6_Gv2cUtD^|FoQKL9jN z+N2Itjx=QV5K4{x13>tHdJuD5Z^)RO^(R$jmUH;}MEL}nHbmP@;%1r&o;Mv0dJ@49 zxqc?dk@)R@hE*M+z^rd2N;7{UfZ~qR?;*OF*16a)J3@16ZPmvqJsAEX79Qj#p^7Oh zGU1m_Pi)1^__*8Jaj6E7sfew#mLh!uDX}Ksf!;-66bRx_cI=-xXIiV?Pa+>FlwayE{RheI>zP0XC&w8ehew?fMAJW#I*?{a9=-da z?L%Whazx>k{@%ss6yrx|nUl$xA^=#oO?i8>Op?<`H1OO$} zlEdD=Bw6hE@uDufF(OfHUqIf<*cLh?R4A$d&pq#Ly2!A|tcl{!>NZ;WkXtVRt43>`qpAelmk{D;HuTmv*H|FSbl1 ztR%NJIt))GBy7*9O+RUDy}sP6Wh?|>J6i46V(ndNt>@3wXVIn$7qZB-5#LMZdjw3M zRnI242R0B7TZ(eijQEjf)mgVqZY51k)g9RW-7wg+@LhW$<;Jt>J#p61Q+!RcgnH9h zQ`=&C6~z*8r3CD3r&bzb#ti5AkwT|N8klz(dGn*i9K>_Lzb4?joLbA1mAwtCAcZrV z&#Y#Z#ig_hO5=w(mZ&TJ?~vdLBGMp{BQ^YK>Hi_ZRSZ*7 zS$cXGiHZIn{1N9345DoCHnvi|#F~u%?duWh)T;fe+V;$8q&a>b_GMsj0B$ zYNt=1{wGW4kVc{STqJW8pFetiB!YrN{Ive!Xy9oYKLZGp&_9M#0$mAJ3PxR6plAsp zbQp9x6#6V!CSieUp+}?86|*o~M|s{h6iB2qI9(2%(bmQ(w&yO?Tt1&%A}gAIXZ*A4 zN^6Lq5xO%VR15VS$wCZ^HfUE%5 z33oy-9b#=b3Byo2=I38uD zX53RmV1O2e$Zg}782l9e2Wp@dw`?nb`@Nu5_i046&Qwfnmo>N6cwhKd`um|y!^o+2 z&4*AZ)BbSP6D-nkX2mvrII^T3u9n>^dP+`gkh&^v1s)&na)+;s1|eK_=BL6tHtxTg znDCiai*CK!ZcdvtKTQD-M;(mzN>mwUpSm~A#ZzVltIXHRz8Ik=%ihz~-~kemU!rs= zd7cRUm%Dy;zS{x;ix6iMk~##i{!0>%pM}@sdv8&MU_t09{H5HF@1!#jF3TO-Rs%cl zptG)GD<9_)+3O|{)r9QbuHwrPaa;>MimT_$363ctYTpKs%I@9U zyeE6^p2kB*P85Q&doenRtcTO^=arM?I588UweZ6E66q&&BF+L!i`BO)ZS!gbDaLeJ zkdGYR<3FqB_oju3_;N~V)5ge)YEHDdwmQgtF*|b>|0Y#j0uO{*n-Bn%q$zl-F88Hk z_KhB>AR~{^KLGO0jYB6-2yvgbkSByIT=}+n69Oxm%p2COT?=uc76Tfjp@QvJk+u%v z$$iL}i_bQDjrH5J+}8k?UEsYvmYPJ-!|px(@#bhlx$_Z&_TL<~%?7jkz%KrPJgj&N zS4j1KK%%g6Gj$SG`47C)PAeMh*{3|!VjIz$v5ear0J2m5y1X0z#`|8&{A{v{%10hJ z5WLO`O}MFm#y2+~^L6Yy7tyC7x)Lcygmd0oMHJBdm*({Q4j?`pSsZ21 zgCB2NLSoxOakIdO>$OmCL^7uKw_Sl31N3QL2$|>PKjxB=HgK#uEgI~63MMoaP;*^} z-dBY9Fe3T8)t?7IA5~>j3pr9c-o)Vd2cS3t`cLRI+>&2Hi26NR>0)(OLxV3ap~+Zn z%n|`q-eg+Ru6LgTLqbe&+mx6QzW7RxdN>Jt;{%ov9}vVfg8Ek8!N`6T5-NUt)06Pd z96H@)=A%IT$GS+v#5!cokgnYwv+(1U)uK@T07Ux~A^%iCUhF0}&VAHcO7c(?eU}$} z!0;i?Rxqn`)^1s9^=G0^KLgNZQ5q*4MF<<5O^V0{5%q3J&brI*35YtO_?bil-GB;L z{wZCuq{4jGKVsKSz`G}Hl$BQp*f5O8gA(6^wZA%k7GUkE8FN-YQ~JXZH4AlOtgEPy z4N%}d?bm?AIRl~MgRcg6CI156-@>k_IrW{>Veg5a8=??m-D(+G8*Pb!!HkSdT(=*g zetK7e9w6-A$IlbtyhJQm2O#-`3|B-d|$6VNa4 ziE*1yzJ?lK`!d(hZqMdGXd)ybZVEVGh=Al9#My0dwJ)(;Duwm}O#PFdL0cBdwLfGH zWUiWE8~bks7C*Zk)(xiRYwXND7;lD(Y3CJf;fbz?mw7iSf7G(1CS<&DmH+};#I$~Y z)sCz0F7FRIqeAd*fvR+2f-3`&KSC#rZeu{dJ$Pnr%xLtW%jZsuqv%Dl2Kiqja(Uwn zK-x9#JLeEsoKoBy$e>XzB1%Ab92|4@4I?&$Q+$IFJQ|6JeLsJqg}ylf$O zh-+FpTtw#bnc))O?vAV+$ORo86E|Yh>&_{sE;#GUgFTL;J(bb(cmgw|eCwN|Rzpm=77jyZ(^p7ErEyNM!<>cJv=f6BytL-i)*W$vl z%)`UuyAd{mAD0a3irVhcy^DqU`8POJmDFuE+AYp>r!l&Fc+9)qsh)LSn7zrNdM4{m z*P834FCO51lBfb>LM5_X3v2?XAcdPWEVPC6=qWLcfTJw%_6rPLsj&LH5BO z9&fr)L;YPU+SYFo2KZae7{E&jU-@`=*6b-MloK_tesgxT1GpP?s)fg!?eASlOiWBO zokh^;O90qni26AMVGwRdTb zikw_^ik!2w#V-;TPOo(?OybN4wp0DXWB4cUAYV_jQiz3h78V6(dkR=2|Gm$^H?+!PVP#%yxWh^6u&0N|{Uu`u&Q7t3TwjO7^D(HV2JpeP-B0}Isq;gSMW_hKF% z9^&s%kavYc^za`Wqf>mG_3h{;jcozI;vDV%}x$HLRG&5ae*St zDX|o@7$jD0WMVoS%d4!edtL^$XKi<@rroh;&Z#CSh?*mn{g%m-;a7uE#5ct9h8fms z&@6F~hWbOoSAHHI8H1FD&O$h9wc??Xzi#I5ip;hAgn5_dTFRX+ujYmgBoxeICWJOJ z%`C6GxJ-Kb*V2R&FG*NR4=$!$j}s4i%qazQU;nVy_X;?Y+JW?CJ!gGb=9GU-R>Ad^ z(zy6bg^t7uI$*Pr8-G$o2T^=DeN+9swM*Imt-o(y~{e++G?d>(&DTI=Q zT|YbNjnNA)A0LIbJg2nQ^*lV3s8IP|a791jL)Gp$OPT=^HyJ9C7Zh_qtltTN0+T$c ze^=3xd%Vi1v;Guc#}m<_;%vh~GQzge9$LZlM8%)i5jH^E{aE!b>`*zmu&S0>KG+O_ zdT>vRe50eIPb3~~N^_N?I4`6!?!KIso_+-w)}zkzA9MEd@GPOswG8EK;Yd$Ue_KnN zNFpapm~CWw67l;}Z=O?tC9$%ANY}Xh~ zxkC!YXLWCu+QKuck6_YntW@+iQi6`~t+YN`MAhzKvi6t>g8j1%J?4VXBt8KFmdn7V zqo~Y8$Ol*-%?P8Wx`iuzj4eAXD%uej8-9n%PUMIg%@>Jgq3{hz(NcAHz<`}JDhs_W zG1QRfbk{v>DdLO^G9vKG5^P;Pz7JV!Vd#5X6{{BS#X)QUY#G%@96Dp8gxzZ0%=40w zC~%kw>b$?qV6=&wqM@%(u9~^nz_(bezo<^UzQ1P~1BozGWxTS^zJD*epIerAAU}Jp z*bZD-26a;p(BpNmm$MNwefP!g_VG_bcdZLaS?<{RIP0Sfap~z>l$Dj=-sFTjsW&Q( zjE@)@ei5p+T;(qgKjJuqo8X{yl~rnO_A$9m z+x)#tjw4Z9yW>g3cG&#T0He*qWCq`}>853;CA3zfs9k5+OsWdifRK#k*_Qk8<1o`p;iZ zVBc|ST(|%sB2{N+X;dATL`qRCx8334DThP&BrwpuPM;iB_q3B4_7#0B(^dohCrfxf zQH^-kEQ1Zyf{5t64vRx_0P{?In1pRRbbWj8ID-iD1t4s{prAK|jfnf$`e><()ZNKQ zGHp@YU7>R`artMv>*?#s!;CnKC7~{B*ZV5aG2HXz+qY|yawoSX>g9TQc&vh+g)FrN zCW42RIM3d_%YSe1RV)7lo~oRj?&M5&#Lk^NPdIaOaCjrPWyyCIAF9cXV-iov)?MtmnjpQ4~9 z)TOL95`U88sH9FHz;}+aW~2X^_)qoH_V#v*k#>1U$TE;zFb&v&tUa5A&AZwtJeLP< z`t$9qJvH&HXh&d3E#GFGrhNc$VDs%l4sCZu;uUoB8J7_M|L?DuI8>{@8mF~mMu+5r z9TBaWr04PIQI+^1d^o?2tgNwpycRQ~*R&EeRM3M-t?=+rT8g{#(Pm(q!_;7cwSb%z zbN#mf;vV3az<2CR!yo>;{CJhAXYd!t8_U8Z&R)3iiufST%CS{D`1w~>R#uLF0A^)) zh;QN}&aK68CMI1%5f*n!+u0d5VbMFL>HbX6cQWBKAeYW2YR2B`ICeVW>yDQp)gY~l zr!n3q-f&4EuksBO6T_t2cx*BkE?s)Ws_)2z5Ah8Nl_voKOR;XT)aB%M$ouog#Kv|Y z0fis?gw~OY40HX2uRJ`Xr(leN4x4NtmI2P?--Ot(IPV(uA`DKUl2lSICwGSCbXDke zc!8rzCmDX!dzkK-8Du)(@_Cpo`TOWAPn+DjMR+z9)zxlTASv~J9v)`#c&w576z38d z4vSm)%Uyto*ns01i&IXH^kOSq(ub|X9pC!?$d zSYm=AJUzr~o0}iQ8-II!az~#Ttp8$MTH0oG2n9q8HKeRun478--^^$UzA~{SD7Cn0HjI&+U*}cisx$w(xDx_!W@$Cqw&u9c-^&v;;$g}w zPhVcifM+sFyb#`*W{yo=4T3CE*BZ2tFg?Zovf6Hi30(NLOilnnDZ+JSXz!okSYvW$Mf^Z4pP5~SqC zVRVkq3ef#>_j!-lN)Oh3+HR2IItBq@4o++s59H`-#^_$OzrG*u>Qm46euj)m=QZr6 zdI%pXwk?BV(B&f`21i2D80D)LFs4AMjoSF+xQU4%>Ud(?RX0AN`wZ69cT)(Z+mSn2 z9c4G!4)v9a|fl_iyOa@q#cdG}_5X6oCBlA<#K?X*5h z>?69FYCa??8t*{ez<%@$)z2&&DZ|Ix4zDrKo8iMl!m;7}`I2iXap)p9X3Wug%P?8% zcvkZ9eoBj3oj3~*&$BaGw|{x_D&u(wfvj!peR0t27IP*-KKf*Ed;SHIH`?Cb06bmHatdB4W^8JD}Z(C8n8 zQ5U-UQ0Fq7=&RXbFVu}<=V8)ijG&EvAd;Z9$ql9uXMP%Cbp1Mys3H zt4MZmz0(*Uct{>a#6rB;_)wcZ^-Rx}`QIDJXSzCidTyAu=7{l*ji8jpKsxbo9Rtai zW8l=OQ(c7*9z3X^PC!YG`--7q8Y87?l9o3&ScQl1(r*f>?fo)>`xQkLnVD|ho6+*7 zucFNKvp~OF?BDZ}^mQveg7p5N1Tdj8)#4D5y^+zFe9S0MxLkd4vCZ2|A>qU1zdZQm zj_aRX7;txZCR0@n40fPA@gyk7!=20d=naKt*5#S5E7t!cR#XFW8%fryoDC2*5Wbkp zWElevv>kUXzimHY`3Xeyu4_CQAo_pmwJM^aFmUF~8Azu=P{K<`Xi|p7Xw}Y9O@(M| zE2dG)GMc zz4ZE5bPm0N37~JWE#%%&+_Bj=0ZEulQs5r$cr}Udku$V@D7Q zTC5Io>3SU59 z8lqEnDF+thPajHtdGhtQ?8S>)kqjecxA?%qU+Mh*1YzLgOY=6_95`R@Jeh-xwg&>W z#*Q1xP{^pyFz154ve%n80xIE>Th$~-mLWN~^wZcIl|+$_9xL%66+U(en{{{u^_iCZ z>gUewP~L=IF)^%d1N55I=iU`X&3HfB3+=b#^^PKi4+i~h?5Vxz0ieE7#T#RcFduhM zqB(Z3o?Le}uH?E19!2-U~E$Ywv z8)T1Bqc}%>o>Axz{C*XvcU(bX1qly$os~ET#5W(iuG}y=ZR&>H=rk16x+pdGzh97@ zYjcRo%G!p0S>nQ6CbwSm_xG19V>C+EA|z5Bp@=@31+5&5;&QwPn!QJ}@QxQs&j4P?5g>JszK5VBfw6xW8IjL5^l4?T>_)d_1t-=V&>MIRa1gDIUf-|8OOz z9ciq)d`kQB8C_j(IQyUR@o-1&P*rH2Y_pDVY@q38+x+N0hz!}&wH#09gs*5g^U2=z z(a*BlUEsqZSgyre7E=4}qAQG7JNCyX*q$!O0SCSPND2~JRsn@4ynS!sUBdE-@vc0$ zqYW;~JH6c5^iCreG3^`~%R`oj9z4W1Jbm`;uY)0IdZ8*z1_Qampy&T(hdLjeDU^e z+d_%I7$3K)xf5U0S5jK~OkYqyz~acELmzKtBqWqx)YBU*DJt@Bi;j%^)KFXd=XMKP z8;u+svP5?6`W74#LN&c{!{T{hpajF4D@w}Bx0hIKVPUarj=(9&PvR%d|(0JJXQsO&}`1zFkcIL?o zXw@`=I?B8Q3KR1e_p}9id=Egut~fIbJv&s3o-CBnlI$xl??1|Ll-k#aKDN7@OkzJF z(=E2yMFjmc6Dd3^?Pp_4cA-#ER!0hT$Zd_Qqjuf$>Pl>ycv`G8rJRp+ZuhcZhqif- zO79-a8FhM^w0+%*jGX8Ae77Ukt#CEYy?_5cX9GF9^3AM@TYCDD3~Tvy*z}_&?H|#~ z^L=P%t7fK8?AUsqtSH*&fJo7~>rL%kCYV)_C}tH0UkS_Z~CZ93pNAke1R+37RtYtnS=(xnjNh-cI-n>Sm3 zq_sy>-msFWEgB2-nbddWOBBM*oEL-bwU-#U(fY1|a;gUG^1N=l`bmTcYbF|_!>o(V@%dgFiXn(WA|jkQ*!q+QJ(xGa;|wMs%L~)pW1771`$tS zyX1Y75eh#KzkSwcnErOGu0YG2`f$CZK#6wj%+ikaT-SDxQAo>4G*MjB<-Et&#I~P8 z74!Pl%NK02k}cI=4`h73=q|_8ia(`@ zIOO)ts_9hiHvja9(o$q1Un$mnIM8$I?3QC6^~i#2S4(cz6!5frIv3NdVP=*XN`6{b zrVxF$^*WYp=&5Hjr%e^@rFYy(zC-&~-deOMnAGv@u66b9v!VPRhObJx+e6#0R&BcN`S2){Ireh1=LsvmGdBHawum^)I&t${ zVR}XGJNY@&V_LdSsd%@SXVV`Bic=8UK+ZR133VJ3#k|?t5W9xo(pF5qm z&hNP`{VUE-A2s$s2~L5rkHT|9ajxOi#cZFV&feD^N690H_5@H*Z|ll*jrS?r?4jh1 zRIsMC)tJuwtt~UB?Zf(CL_ZCqek&!bQSG;tmY+L&Z*<|Q*h%}-JtuW&_I(zAc9R9C zDy!bfw@&KYhY2Felc=hy>I$CE`at7p#pYsf^J%vZt5j@Q@k?C&nqv3zu=ST^Ssv>s zri324xoNG2k|p7TCI&_C4st?L3i~UN*k8H_xY{IJU3ae0`J3ALfVJu~`s=)}rw5EMC;rK>v?CFS0E}pOx*xuk)CVqM2*&FIU zT3;BKES|7x9kXISVIOep%$7#h&6_j3IAhOAoji*r*(6gJvXsM`Z@7A^Y`)2%ZDFv_ zZy6bid~OvDcn*C0bNh*)uF?E$C*iJA7PXno*h&4IKgDn(M6W*OSf?|V_I(B!2(uAu zE6(F`gG72;UehdG(A8RzObvUZ}j4+fi@@1_s z6q9v6a+@0!Jl;Ag?#~^Qgx3 zNU<+@D!a}4CXM0p7q``BP59)zE|WuUcBdWrHb{;88SA=#We6! zK131;?lGhLQVdt5?Q{K1imzFd-6CZE$b*n+o5-POv#c&n&TJr0FD0Dkj|<+DtV9Bi z#ErvyAPpH>5(!tjQ}_}%_atr+5oXA#Fp!`dY5gZ9Pi@-0n+<%~N}J5`4ckzZA;O ztN;1+{{4RFm98Se|EXu3ip!qV_vf8SyE~YvI1y~;bu84#qfSUS3pq>uM~1sv&viPE zY<2kA;JoRqM0BM`8*OoF^l&fg@yQMo#tC0vQvb;!6HX@jS!%`Eao3iS_FMdt%{VHb zxNZMs)M4Ra!ru%MF=E8niot%i$U17WS&Mi{(18=u8N|bbe*C`m=zQdC)9kc=GKH7# zPKQ8;5ko3Xb#42LGYw_x+S+UI{_dO(s|*Vse}-#$K}^L|aqG^C@UQZVXaDSqLPGYF z_x#SpG~-?fW>5<}PhEtp z3dvDIn0w7Gzh3(em4|?TE|v^&3%+T3XTi>q?sT6Mz5v2tFQf6l>?n zr*$0HaG}m#v+(TJPnv&DTzj0HoD5}l79@N|Q0_87qehU_-6M#q_`8pdOi|F)NuBfZ zX(|GTusu{ZSX54^A@wHnrcIkjkyZ25IM*GdOvB7rRnJe}>^SkK>?KzYV-2?UEj|j} zJE_0b)kKx0uq(NcGa%3jZHJ_0iH=7Dvv>4lS&WHrlmbW!R`g2JFQhnetF9_$b9ejB zY`yHWA}Bi7z~}Yl$>|Q?4tNv+68)H9`S4ZGKkp7$7NiBf;8~?H#uhK{Ci(gKaf{ZPqUwlvOi4vWPD5i0 zl!&6XdA9}@tTB&PCW&r4`1IS@O9o;HCG5zHk7k9Jj{OoTm+ZKm$@a{EVEP=;Q~c)H z9%OTkCO>lB)bw4G_)7+be##x*wRLQg-d=kZA}m_W&vIWpf4;NUFS>JsH^#g5t;BVe zSX59{_zi)_0L1{*6ptc6A4p!MYtrh~N~KaI`s=rB*|H+whuc<>>)c{uTVK6;HT}zV zgWro6dy<$rI9hHdE}#Moqh@qums<2e&oXn}tu1<1d>3rk#vgpV*dc!9XYN#Myn~SP zCLBJm`}%vRi*43*x+F=~4qLj{@&SYYOV4!MnWsp4T6(~iMwCDBcw<;}aT%(-?EV~6 z3*NChI@;P^L@g*K=xLopBANXEQT85ySikMx@P(uhiKwiMO18>g6_JWkDamfAl)VWJ zAtEcv3Kgl0kUh$bqQxa!X7i5gKuIqc9-}5}q2iqis zQv`ktQ1P2w6xVk^*Cv}>D0*-Ffd6D-v8@j-`vlD>uotu6Z#!nwILe`4Pq9CpX8)N-Sh*uZrikV73? z7heKv$T8m~w!J(#tR_c-@51~>l_SBMzK4svcHelL^5U3^x5OqUFAzV1fI{{Y{mEg! znW(9yD0!eDA{VqCP%@2GLPtxdRmpX!Qq%M#bj`4v$m{IvByD%p+srw%Ccl*d6AGgL z>?kptH^%9@W3P;sXg%dt?#Iv7s*RuB6iut}`5m8)-nny+n-~0Aa<2b;%Rs)lvNS`0 zYeZ9pX(N_?$IKO857#D-@uF(&m#URVd+7Co`9BW2YzzB1r7tWfcqAtMz?|&i;58XP z=|ev9$L`%2WJ!Q37A-!Yw~PTv_BUszHt=|5f(*;+`2{lEx!~$e`Q53nLdoX=`c!@V zNMY60>kRw`-aj4cP5WKFUCHMh(btkh^1%7or)y?L+XJ6H!RQjvlT8o?X6xdQ>5e@xi?A~CUM z5S5VMJ4*84GOz-jqJ5E{C-O{PtAA1(*b~_w3$PIELrH6If{CVE1+lOE_*~FqW=WOW zqV?(Poztm8?Xjyhk_u`(K{gx=m{59d*KR8$;3aOKK;Cy}M`0SPvYZq(DjGu49=umn zRBKrp2-llZn|E1RvJ^6?>?R2?0v|R6UO^xYxOZ}(BLE%L5Qv98`!7ip>T5b)zj}4* z&G{222%G?LhM?F{)boXb_;o{6n~yNrNa*Fe_o#4Twz{bV2oBNFct-i<8#Zf zjwIVtBn7<3W<)>`>-Q_&GhI2BH_$lVomMo?M;3J zvz6?rlP9B~@Uw{B%cL#Pm}mb=@N8vyxvZa`UlzkFm1>R?2yp~>*YyTz`MMfrPtH4a~a~goHv6m z0biKX6)!EbsJcsSp|2$_Y36LNT#xfzU1|L8utM*d8KWo~0cAGwO{U5n1is?zEO#cx z=B&Yn#@S*EBU7u``{)Bv)Wv zdD^)Gr}TCf<9x%#eAX#nN~NzSOz=|R3@jcd0BDAx&qL`aujO-rZ<|c$1IgChmFk;krS|yVWLh{yY*e~kc?M)Hl2&5gSM?#k zSvLdrHgH*UQToW1(Fy;{fT&YWQVCKMQM-bZy@TD4%<1J&U11+fPErGn7G z`!cGvD4Mut=CC4?Tiz@R=YN~K?Nen0C`cA5=IiRxke!+n`T9dHH+H4u>dQYMUeY7+ zP@DDVt0|lna@Ch&QnrSX!*0v4^;b_BsB?afuAR2sNnT=G=x&mQp4Z%hldU`}drvqP zpMCRkzTu4PHKUD#f~i^MX3rHYZ4^a|V%Ro%?YXpz!ee1UQ+n5liHz?b|5kq8c6-=p zgn-lI4{vE|ueM3omEg!{QtlPwTq*kYuW1%g`%-mP+;xSvw zEqatqYE+7#43LS}|EUEO z{_Xiu8MMxJpY5da=afGav)tJ1;5gd$ps`Vxo>T607@I+0Lc}%QV(#!#EnZx zAPef{I13YnB%*E9mH9L_fsOYD*QGV1aeWfaPEkG=49x!NUd}IC0TL^LL+9^$c{wYd zsotGfSU8FeeGG@kA6g#r^`X>+%8}r*^b1{d3|S$9!0wu0*>C9dyAWEV+D7ukyIAbrrEFcpZpulvy%peu^As};L5#RhXT+M| z7%8P5K@w4;koB8d7gF6;z#aUG^XB^S^uQg3-o^l%cZ2Q=M6z2AD&uS7aqfRnYSgCg zNN^wHk1yEtuT4$W`W*Zbf%SiL6w1HyG$v|UNK_s__C@jzp%T&=o6f@G@vQU;i|o?N z83Z4JpM=si%QdBl9Wt+mh?;6GspQ6u*XU(33u<>PBX;Ta_nVs@?7(Bikgv!qrnF|Q zq>Q$6K9Ky&<6M8u6aR4P-zpI%rdyy!XQwu>f=)Ny10{w|dMRYzL1AI#=FG^oH%KUh z*Sxx_9ugS)i{NT+gebov(z0ml7#|aU>P0KjRR<*lQR)5}X+1v(NrBJ73UHg^Q0bDE zrMp06YbTkyL$mpfYgO#hVY14*$8YbI+ho1{*wkTco7E_=X}H}yAy%{f134e>2Iwj% zNPpD@Sa^1vlY5cJO+!a{Fp^(`sL!lNT4bXXoHs>E-S`I8z`&ZnA_r>Op2KBG^o6CM zB>3MyVg<}LQFub0%y3MjyHA%B0tZ!=Zi1x)Q^qSHp}i^yA(RRK{t)ma?&1`IfC6Ic z?i=|c2k`+f@4z{<){CZsp5zKh=B`zZ0wTn-ts23Z47dLM@PnT)o;{VoLBbk3H)`)% z1yBXbAVJB5D*DKrcnxQ0g1Fqs6X@khQ}eV?Ra8J^y+HRCUrlLx+O>e-=?!Qc|AW5h2x4n=u{?%)FrLAi7kd9K$$a~nqTDS9a6f94&_E?&|cOj``**Kq23AU%dynEWUe1<|TT2fD8bW`I5?dKw7S zqbJ;`0*IL78x=Y|LfG=Gdp8?UJbDj!V^9k z5T6s!V9sDle)lC5K_6fqqa@T)PFS{2Lo?Pb_Nyy@$g>~JWcWCGIQT9E>~3>C;S+D6 zltax<6{x(N)6j{i5ql2e&17+6P$DEQtd(E?hk#=`30LG|)Erdiq#1oTum#Wsa>G-C zwC8E*;3eJxhUx=pFs;Xd+WJAUnwHUO!#03*`!IG@og2K9*y`#hQ4C(?3_gpWL8bL5 zS*4T+h|ZIj38fToo(NnkJ(Wbm5}03zmLjk9b2nkO&c?3Hag$2^EtDbdPYyRclUr61 z*#KK_22N9ogxmZY1WJPoxkWe@zx=i%upvSdUCg}^K_qi8tnRsQ3NX>3&wGzvHxU=| zefc$Xb8U9?)<*jgw=h6{#F&V{VW_Qt1*vnrN4;(}J#@|uWWp>U=m@`jrqpoXr2H0K z=0q1B5)W7xvAl}zpZ5*_)ICfVm_j5VgDd8`m7N$^TIW8!cTQ$@(5DE1TPXmOJBU`! zKZ!jgB;?L2ipa$jba{DsrkD@;{Eb{BBE=rc;WR%daLgww`cgTe>Xg9sf9@K8=Y~_I zZK8IDtj~8GRWmh>Z!iCyTH{;gf%=gFIfq5fu!B6HtK3B?Vdb0i`w09H0jj&N59(wZ z=!B;7WwI2M2(7-G8)~dHhhaVaJiCvnzy2ilsIqWGBv{^nVxtsp1HQgMg0YeePA@Lo znpDHi&d$WnF2vmq?Nui<;C%cV6R%{JZpboGv-bWvZxj<5=|?m+uPrAGm5Y07_Z!p> zUg|ZCANhu(Y3e7TNhWka&Rv9d%^G=~FOj)e)S$4-fD`dbIH5bPg>!-6#wU@kJntR9 zlC=oU%FIF+npcQbN$lk3m+AWTD~f1JgZF*B##dk;%yq8`;B>Dc~dP}oJcyG=gGc=JXRCWLd4|RINoIK@QgjqA({1eQ(XZ{%ABn|4^^2?9%7)W?wBe=I z{Zx)`A9x$(<0eIv-YVO9x&NRcx7M3G*v7uyZ#nSvtXPz&;D;{@qckL4L7|{4dk%1K zT|d}X=tIj$43~|EK`k_>Jj0_NEAo$)2F^A{JbtMMc+FumTj@S~!En6P!sJA*Q2+!(*rED}-VX4CZR6lj8-tu#f5*QQ5 z14Mfb;yWtvfSiZ~-`iBS651W6qB~*w`3ES&?#I+BjFkTQt1}0J`JsS|7kw)&Y4ZEq z^Tp*&)EoWEDUV)y-e9uvt7h8iGapRTuW+tqn%ek3T!v6BAvWg`6BA?P{Bn@E7Q|zIj3#V`sPTx)i(r__)B_mzxUa}U1}>wlzvU$MOQx=FQKEFR5@xF$MN%TN#V) zq}3-x+bpkF^UZ@XtrqG=`O)R&suWdiKkgPKsEsciWf`cACCgFr=AGjR^ZoxeJFWr% zxlcTcprArjyV3uiT;r?w!M_3lBC&l`ZhGKbf%9LLb&{WOSQzq=Uo+tXo)^u`_~gZo z4~qNr@4VR8!y_+$9-k+9i>nhO257fL{}|?{pRWZ$ucDT6F7~dfTfEY zPe`tFj8ZGb=AkLZz*A}ji_gvVS+Cq-{KZy0>xDczXzh@L{5=NF`*h)=anrvJDeQHA z`>!$Ig2n(jR-Kf1_HkG^t`I6tQ}~78^57|wapzE3yW!yVWB#kZJ{=xr(s|yp6Zs>8 zkjh4O_E+|Y2}{?1j(4^N1X#M+7Mx0R-OQ-_?|OTi4L3==xf&*-uoN0R4I1Ii!ny7)UDjA zzjo;K>Cn}30x7(W&7Kacr%ugMD5O^xk4Es_ZfZKuG;zQVleoc%R;<)bS7 z-nvc^l-_sLB@;pX8YOd+1?P^ic=Bsd-lOlt4L>aLUpE#W?Nx^bDMG<{&#F=9Fe<#g z>_}iUQHDco&O0=5X*K%Xr)5;Xp|Sphn*VCR*dkA}ky_M&VLPp`Tr@++=accCWus!+ zR$Y!!0#?MV=9o3W>_@O_eS)H{IuIh|62x=&ZiY8h#1^p4FW85Y&F{AFIueJ7h@SU; zRcZ9}xWY-vWDir*a6&SZb_sFSIpgwLEIG4FJ7^geMKLkmJz(I2+v0RxWF)lKzCJ0d zH4d$_@DW~GePP<2@c`UackOuJ_T$;=>ip^K4ASA=U&-?Xp8K$tmfFN^>Vm6BSd4Mw z@F~92i(YN)k9fAyj_Q zIP8FW=|e-K4`TOKluh=x3SX{&oSU2W^SW-H-AiIcFfwo{5EM}8nbXE+t<#A)#Kw`S zdqPk97QQ=#Lv)G27x`b;lUKP~#zL_OO)8|;|BDku?;P}m1Q#b3z+G987+cZm*!mn7 z-JQ@g*wFbU+z6V-q7rxkt&jl_%c1o$R1Js)ACT91AGfuI`D2LcIE%msml?Hhjp?(g z#f#L0V4=8Jm7?Po4Oa>L@3+>cryq`%hr|eBnQP0wb&h`qyw;z3v0YM9=l^iU>gUh1 zFORM)6_Y#(-qDHZx`ew%`d_nwhzaYS$vQqBQIu17;>({R*roEn=hvDEl zpZ?1mw#M79QT?IwDWBL#F*E*acq}wf(Sjr1p-i+UiTnOLlfh4*d;C0r4Ia(J?{Uwb z-Q6IiN^uyUc9$~##HReee>}T|0^(&1nM~#*q~U2k2f6wzVLc>5swc|4)m`h3j|D1$ zByVw|AJ?^TZkw1^Y^9n zfBtq8UhZL3)F&)qpLujAy9IWOio~FE`U)|D-z&pvZ#5rjNg|;X`i5(oxb^w6`3kww zXVTvOZ*0nFHZi|`7xHT$N2_knt=IxPOp$0YU<U z-F~se@4tV@t-~0<>HeD^%vT-Oof$cF+9_u>?oYh4RBvjwR7oYne#8sH3!`_KiV!B- z+6Kv)1^jCfrcIWufA-?VHBMTlxhm6i(#n+4VIPRMS$GF{k6zj_=4Z5>hvxvGr6ijF z+Twf!bXT3gUg#d6@QFk6J|HE^6K&JO5sx2L5NTgPLf%H|6dsk#08gL1`~Q!5U-T-~ zc~wMGGK`pQg7&o>o&-YmpC2TW;}uTACykGcbU61H}02V=2&B$O(e0&Iunx{wr;)7yxyi>Qu6S=$0QQ2do>pYeyA1~l^_oQ z+D>kzfU}KRHii;uJCRLIKS+2^ZE|z|%Jgyp>rT|lzCHpGb7p?)Fn%|J|AP0g1N`sW zj~Yr*-X&e?Z`R-QuOaqo?Cy9k(&WBFW>QT!qkMcs8L7X zKMGA)M5N2gj640eI+-*GXCL%U@L1kU>vzAqFFSw#%C9h?Cq>0V7>nwndD>>j(KF>? zdoIzo>1M7=myobf&M1COU%b*mg}9EU6G1@{;+N@rkHrS;st6?8c`SZBzKkq#@fMA- z`Sr3gU*>-$vvK4>3XKmB-`{~yqEd(aqa!1D({)kdyKmCRE3AF|%lx}9zILALu@Jg$ z_1UAEfwH>ixK_j$5pr63%;ox?o6g{~3{VQ1a+q`_R&TU%#lJ{@S0&9>!K zIYuva>9UK0)>OEt$=v)@@=Y4g*O~hiW`3MfY+A2sKA$Ae&&Nj*&G7H!Iqp${{7H}B zn*w4Kd~bR)c8#T9NRyO0$i3CKeE05%E!=?;jLJjOoNHZpE8B%(Gk=w{rMRZfJL`p- zp@om{dviKAQ#G5n9B26f>kH zd$9=#l5PEDsPp4O*x?3w>5$<`eCWK73C zEBW&_(zm|a@}rZz)Kgh$V*kttbvn$5Ahp$~w`IA6s^67tfc6NomK!$3rwxBx&%9Co z;<}Oi8ADBVr<~2zA1a%zyPhX}_#i1(+;TO+k6*)QA=~3rYs5==JArO?bCPlQmpGCq z{5O9&3>DRFz3ib!5VcgU;{%3Ek6o&37G7uJu*etkAfPy=N-p+c%l- z<@U&_%A4PHwyZ1@48rO>A!r_m{oEFAd~r+}P4fJVrHJ`jk@CxQ5nc|i(ZwATykBB= zg<&pF2sp;v{~g@>S>@^>uk+S7ks>A!uWgzt=IkXl&U3ZJOq~AC%IU(&GjngbzH~w&jH;)fdG>v(>}76K8b$2bMVH722YB zw)2QGG$^`?XWn6Y?ISP?&d`Cu%KD3`_U0`1t}cnzE2^_~?)Mm#mQHi+sKOn4&%7%> zF8*MVbr^P&7YWn5%F5@;hm^phz1(rMyGuY#^ZI;^QJTx-W#_p(GC&zRYne< z3yE4E57A>dkIhY`=4VxXVJ4d%d~Q%)ZfIninVF=v_B3+sQLFrAi=XnNRpgJRm-$Im z?O8_+i_)L&x7SMN7do1?;ewmOwkJOn;|p&=PQ>hjG!N9TY=Wk7Zg!JUvXeyHP{58ww!iyO% z?+b?Q6}h`IWHvEg^XYS#AOE}2Hj&iSKz~)D3Y!0OU^!XG>DtFl&aSaxp#&ut#J$je z+#{HKkdIG$E_P+N(d3gCT104idAV(2iH5t1b4@{ygzG8hqU4l{LKnq*Z5|%sDRE)4 zl2~xq)v9V#&8T}^ko+JJq>uWEb&~-~Obp&xOK(-*kLc)AdGq z&jj5vM}G44nO-{Zdvsz_rAXkmkHE&B8|^6r9LD~EXS2?E{NY}?W!vuVr%|UY*0=e4 zjabc~Q%(Er#KDW{$9__D3}v@ddM?iQtSno~t_awsSEa_-6bupWOq=-TX84 z6&(-WYPQ%*q3)*TO1V*o2^{J^8y98td61lt_hPNBA;8~|kQfiH_OLMLf`&|F+?TTx z<`dRzBkW`$lAGw>M?TBPVly&T+_yrQ?RMz(aQWBSL~! zqcC4lLX-8Ox7qfH=O|LizQY7rPiS?q|k_NbBj zxuRQ~1Nw9wTm_>_+4f}*?&go?(J{7q6bqV(8e|=*olJ?QBhA1J1Jnz#y61+-r>ci^ zzYt_(vdjXT>jeCIANld;Zf?kk^KT0En?UhYDI zn)c)32e>4OqTjQsws!3{_B->V5qq-fJvu0|$ryCc_&4XrOO00Ur}L>Nr!a;&AL~{t z{qfR*Y}<1=qi%1nz@*XprYy|cWWC5~pWBDZjhdGt0s+4jRIk0q1Z575B=i~NKHbrrZf$fNH1 z>&jK_4QZx6z6U;fb0;@2?PYWi4!NTmqG2eS(o~TD;^f=J+s>CnS)IwJ z0vvA^w`8|{2nkfY_xtFhq?D=ee{+)D9$|pA*SNiGGS1bfh_xNh4DnN#tB5}|k#!C` zvUo*h4f!pRM1Fn}iuECN@#1ztg_cAH%5F{~;ayj+KXi@Q0s;->Tj_8J(}q8Ofi$E) zem*6+mc=>-uaGGw$<6HE+SO%(G~51Wze{wpL$81GcV{#5hw8=VdUKQGb7%GG@-4D6 z%uRYeO<*Ku_g(1x;7>1Giww{?cJ1_N;O#7P>!BaJ6~wPR6dYkQt9#V-R#GZ{F4bfB z(a$i-&8t|pP}|KNC>z5ertxJ|=$QOGcjEc?-vE=n@8-y0GIX<3VKuvr#jd>E7S{fE z*SCp^Mk3Mp`Zg(y??71G>6-%ebK~XKgT_3;D z8Xmh>t6sdoxxCcssIx&R<$)`JRh>I0bAJk3t~9AfXKj@4-MecD9A*RBsQ)c?aD6TJNe6@8KIF{N?(Tn*Z*kd9 zzbENn%Jl~ifcXkKZgRT1>^7(WUhfnYN_jzVc|E<;)C*#tV?Aopb+?Ntfs~@N?V3V0ybtr=n ze6%WrFf-W~gVN=LCYrQS(aQKsKxT^YU72pe0{!jIb2TIep7&lChgY{3S?a#Ke&T|}(YiNQnVH5j zaVm&`Yvz-Z9u}%yChGjSD8Dd(7(X&VUnb}ffT7AE>iNY<<$Qxa=lmiT#LzEdN`^We zqep)JE_f9XE!Q*Nw-?CMls9)851)!5>V;2Tiu%?fE%jZAL$gV4+?JnQXR3$0u_+3B zbW+brS{t>0AMH94e#`NoBqJ4o1;ytuVt^B^fIh%v&tsy!3qUWP-~XVDI5dL`N@1`| zaZNQo>D?&+XzMq4)kjL#1n$r{Xm>K0O!)!to&W?5vu|P@9CKNA4wP0r1{1kn@0F|X zGYE^^A$?5mZns5=1_-%Ch6e-P|L_TGX#~XznQh(ZFw&mtqSV{z-Lp0vRjtLL$JJLO z5sEDyoJGa;al`(i00yS}Wq&$B*sa1w9K7G)L*4@S9z99-@uL@L)PPPC@11UT@8H=h z&89Kg%L7^j{8JATWqv&NQyq)CBS-IKyjV+S;hSheb};9%OIG{gu25ZJOt(WEA$g5o zU!^4x`5p@Ki3K_&g*}zT>S@8qvAj0$%Tw`wh-{S{sfu)BKjQ9$ZE5D!s@j^;Z#u6| zODDD!EHCVOCo&`|qI2W;r(^srpUgI1N0t**mwtxmH6x?ieMci?=ld)BKA`;D`thTl z_xB4G=(gx$2+T6aV?i1Wf{Dkutw>pvENf7j{K>WbdP4ga{?SRzWqsjzs5MSSpee8Z z#yNblMbb@%n1#`dTTqx+KH%((#4}&@%`T4!GAg(Y%$r^G4&V!HQ zqYpmzGmxKle3ltci5=tO^XG9_2G7*nC-(b`Ew)|yau?c|6OR2GX&X|8C+M@lgw(!D zO@6dvcS>`9lk9%k1yRy5qql1u12}wtLN0;P?q}l;eC9lPx{o#PHo;8YwGlm&tmI)h z)nfmJVPI={Mo%yC&;kJn_;28}uOcV4P*CBr>HhA~?XyvX( zR992}j7qbFwEjIhevCs>0%ebO6|H|K6EYu{DnN9E)ry{5VT%fSRt{QG-UC&CSK`9y zQ;f8uqm6Mc7OfdH06UUjZa*p{2#E5Jj9&cPuhb_3#{gebs2}xf(ajtQ^awRN8Y_R6 zO9MDOf8dD-)R>7O!Kc5U%xiiWbW8So;wv>LOoz=#YLrpBe4UsnuHmCW=BsURDxoRn z?K*KGk9hMwz~9{`Ba;}JVc8} zmiKZTj>*hcDp$+46u1{&JHvk#=!S$t_hIKpPmdkqNkm?@S>7@EK5uBB+Vjnu#YbEH zuxMmvhO;fC?}sLEdcOs!qr2E}9^5_AIAh`#5@Ty?39Dtd68}8cy~I@oK=D$|h`Faz zX$K6)J^%XFojdsLoP^6>+wWhr^DSC(*crca21hQuN++gcldQyuh*!_5ze|RQKrD4SA znbC0Dls(+ry1IHEQxI<;@7+}SlbLo$_RvK6W`oyUYt04UB$X6)Ro3ifzDG;Yk{hdY zbNHk~!pTeHfysT<1syIo&mjn*&MxR}1e(%znx1sx{7K%G*V*PK#D<=@+br&Q^j?~o zR@c8fTjdBQ>$TTxiL$ zCR($QI)K*!>1KH=Lv)P%7d;k_{lsw0KFH>XNk_%uoa&d1w(TxQEl&G9@O__0HVQX7 z6)-ZG43074g_hUVfzzjlT3)(n%Kl2T*|(CBl{MkBLA$dvsWJBySJ=ypdk+FE`tM?- zlE$p+`~6T?CQY9|Co_Rvs&a-vRfzv=I-g1?aUq3vqf*DT60%G+9&UP=xAmJ2@k}DS z4`3F7vf&Bv5UR(*8aFuixbo|i*N1ps{wK$roSOEK;8Gu+tX)E=Yw}}8D&UHnVP8G zyT($6QuE}Sy-1J7x=czT0{Hx9w$lvtbk9wOGeaEvS#)8%`V#9pXeSryHp}zcbvoyP zmH?4a5wSbad&8iW8U^|5rZBJDo-1_%7kqrRZ?>g4{{hO%E147EkCw!^v4n*70p4?0^u1% zk1WA|r2&RW2*hUde9dolepOyMr?Wpv_?sU>s^Rwa~^Ih2zXu}z7MW#2x@PK;o(8XM+*3#q&2FyjxU`E{5Rsv}sq zn|}QQD9=UKin(iF$JJdl^(eWN{fl8oQq;Xh_MRbW#GBl%$l1g{(%w`gabz_*HLn1S zJgtqMud0d^tYBZM;!Eypvv?<9DUi!5OF828qb z^mtTmQ1`w%oIw!Ht$YfVE@(AB-kT(Ew~pGJ>@wtJ z7A0LbD5amOZa}wnv2}0A&X+NmJvvOWR)4xR>L+>b(7cMtcj%t%y|c1-yx#VbnF`b~ z^f5BpBiAF897VSY3Vu1E&Ewdg*6?Hd*NYRn-PoY+nl$apuB9ldO=hX$*D!6{5&yJn z_(_V;2aoB!ZyZa7F1Qsm+YhDnU&)@*mlw`+XrLSXUU`AxESQmxIL1(pW{at5-X+x) z3YS8Kh~r2SavUc3k0>o}M93$W*ENH$zj;DIDQTx!74{A%sT4|k2XcmRyXLKR{H#&E zP;mssbMK3p((hSGiBd*i8ANm5X)}Hqyy;Th>do*n=JZhm>6CQO>G zVEjj8*Ns12eds4^f1&g*Bz+Hq&;mK*qZGa8+kVcR@pqmznJYvEWRuV^-J0KH&srPN zIn`GvnWyl4%VS+x%3mXzk=>QoAC3i7-t!S=rCZ*?)A_h68)oq*-;{E)RhG12L5 zk-+0&z37zKe4_XK&5QiNxX0&5Q^_e5SHyTv7llVC_Ll_lP3*a3R-7_>RaZCM<3;Cy zPApj`K=(?H`%sy+enJ(Q0D|Q0kGL@YZ^6a35I@O4mPrYbHc5ZU9-OJK~VapqI(&r;q!UxGcN2+VBQ&eM4 z)J}(E9ty6Y=(*IOX05bidAItZhTnEJ>TdfDwrry%`^2dSHy(^HUj$bWo@9C=v1eh>vH%-zAK0VXYu3ylYI3uAMeILV5 zEMsCX7ZVc}q-}E8Kw#%n^iXJ{SyN4&kbJ~&h>r`yU&#WR&cdI~({60LxAsRvbztG< zF?Lf^IpOUE^%eIHP_2FX?%5jTJ1!g)yZgEVC7gbhS>#5Lf7>PVs%gt4acDa)7cWJU zW6w(Ep_&j96GP#;^!#X}(V3m?o)Tqc9RS28KGB)Cc^GBAA*M1?&kesTwsol8(L_UT zq7$AP2LlaMULc8wtp2o};I%n|DAqW-hc-41<1ZQFnH54wO9El$zvwhe#aM#0itJI% zn~$uqyApXXJq93SoyZxM-&1#KM)Qxm6ERzUmzBsKmQd>ZDbgPL>V_tsML(;?L2~eF8@;0@ERR(<;jz;)`F820*C~!<|==`$|$Sjx>Y^j4; z(RiqqJ)gm1)UFiH1_SjbM%9@6bO!1g3IJb|`}zh451B5 zVSU2fZu2j%EmYSMrH9+uGYvN~80Pcuu+pLO#hD)W(V%8k5Rw6mzAeY0XnFXNh#}cN zGjqFp?=fO^qUsz<-+Sxre!~;*R_2AsT~?j>qe!a+i~jtOeTw?ydR0~bv^g2MjzWda z8S7M@9|V={eWJGfNXqbwqi^39qzGwj@}KODGjdY^{}VF#cH&9xsYD4fM_-dkp}fRidW`?9$)`xi=+L*n1BZDCk`95-74QWEyY! z;01)Q>CGrnTGvaJLdkc}pC0eR6MKe{&e;nKBdy8o(ljEh3KH&%BE>VNAsSpkJU}J< zJ-V6ZBoUjhsd|Iz$=zZFBrv&MO_Q zHTMy@1kYX7Ut{&@cJgZkn=#Q2epk=3zy<~;*QWM7UUkC!UPOe&R^K$f1R(Eqfzfh1 z`Ys|pA^&8)r#$A#kumr{fXG%nwfzMy{Uy)mE^Cj!y8*%wm`Re_t%-*8JwJ#X&n9DQ zUD4tmbf{Qm_s}oo*))S9gZFXi*Hm9GXPlFyHTqL>i!1eNSUDx?`qV?c>c?YF7oKq) zj~|#C`E&=BUMkt!U~7=XrRq>owu5;^qrL;z>Lt+79=*1qF#uS5q@24r%~G;{rT`yJ4CSNLD~167b;t9&Ny<@^kmJ9d^=en zZvJS|eTS&m-6Qc2bgGUV9eni8?m4E#+}>~MYQOT|?va(kC=D!ydBw$f{!7}XAq4{sgYf|}D&YIdKyYCz*=UD#mH=~JFn>T-PihwqoECv8() z(`Gw%L|c&UJ=|XEoT&Zs3RqmzyRqvod2SZQprcWa4azqQ<*p? zCauS1*9gp9gh!f4#cU2HQb(bw^c`%oU1(LfMcPh4o@TZLcqXw?)9%DP(4AhKgqyy! z)p0g0nWyaQH(s`#s$Smhr>*nfrlC?=6WJP2Y?yx!)fT?pnPEyQ1L}>ElHW4kFL8 zPoMb(#J@mY?bBI9A*$i%CS^sZjleqSfspilzkXHR*)P!DA3%VQ z5M+d=j(%%%XU{)+RKnti0Kw&gME>z6DHV}fc2}OEG((IG)1mX(zdks&^9&DX7Z#Z?(q}7b|gSl@dJB-(esY9FK?hT`?UW%qp~shrfWBYidEJV zsw=uF{nrwX|%&eh2h)hX$eNNDerlu1~XR%xl8XS)Ft6GXJic$|hu% zz_Z4_EzaePwK`Uv^$!I-O5ZeSY$QS8Ott^@?OlZ?eH-H)^JCsP|Y~-79)19DPCKPTi;Tf8@m5|!&iEAvae=?Vs)1U zQN$=0TUF4{tqp#Y&V-~M`~!uj#`^UL%Z6s>ty<3>PdMPsi_|HYQTgJX4NP8(nru6Q zj;hvXVVIE+wOZt@Bgm7`Qv^h@O*p3WayOuXR!`<+D{qLV1J_2KqCT#ba9C=DXW!##f zUO)Hwd@WUzWxV4)xo0Q^%o&_7e2qVUzutbWa?mJULkfW)=v`gi$_7f%{g0*daL*;iKP^yy|We=cWYfE=?A10_2hZ9z((%LxDUOb7Rh zK&%iVT!G;Q#~J@J?8Qd~`b^J0=XPHQ4$o%fcmK9e2!lOh1>2PaK^Tmjw|qI0e!pO- zntQG3xSfdbL~8asv*)RsC25Ol6<$S+pONjl{R${MK?dp296UY_82;_4`2e9FW`>b+zPoU%^V$ z%a&|pzJvPR{gj07y#OL7#;SI9j{kVqP(orBXccs7-S>7PBRMWTlklNbCxHcX)nu&9 zxAA8G!)t{aTx!XH>1`Jjk3{cHyeao#5Lq9Abf`hR_-fmGg(YDoCi@3AWgOQ=`B9}( z;F-wwgx#VkFYBnZ_9sx>#>0B4%|gTzZ3O-4zzvA&2}19*B$49)vK& zCa9NJlyzVOMtC2z=L}MZs@=g!(X2K9to==4lutgx#-VOTkg(%(LnH3Vu~NZZLSk)=8zM#!ZO12Xg3MaLgV+TpBzh*v6ju&V`gz< z(6e5OTjreE;X%kE(j4AYI$WKcpR!QKCS3+usW#XC$`H)rP6;xVG%bf^IG``QEBpLq zJQX#jN&mQ+=+EofB1MgZeaB;(1R?kGvagGoes6s6M3RSx?``Vh8fomb2@}dI8Q&Em z!XDlGb)#9K?Scrn2J-+-Jj;g7o82WMo+O%^bf`63qvK^mazLb5XvQxGyBNyM><2=l zXN7#F%rDVAI8hEbvrYqkO>Peu7zwz~=Kns=;41X#9lO}X-X3Nj;j4G$RqL$LeOqR( z;srb2Nc&3bg~Z#0Ulv5xRK|;NqetY;e8RhT8#xY#KFq!;f5x)y^)-4X+;0rk=v1M8 zHjy9_?9vVAfi*#3F}6uo=a~hPe=(5lse$)mXW#gJm)20`{@}gqoccgT9lyue2Yl)- z+Hr$OJQbsH?+5Z!%UN!a+$6bAiXeQTb0KB2eRQp!GL1yOSXQ#UBmuHR%l5HNKB?t$ zKNHkvHr|Xq3qmtgSGXn5&1Dy7ki)G1%=LLZYHvm*bWOGVlg z9RwJ-+aq>q`n-bO%F?H1L!U|FaC3gA{<|8g%V?L+ziSs7(p9q0zE1{SMJgdQIE)@k zLKOiVzo$m?_N0=e)o>z{-FjS;>d-@;EiNld7L{6$S4c_k#M-#WqLjmw2X~8(Pgchc z3s?%;zDt}L6y{<&RnxvA+GkBRZ@PD%Hrtlo=-uG&o1$(r(SquO3Gs3*4rXpQNB2W2 z8q6k4`tYI2>>GU$0Z6Z_=V%Q=jbw%Vl$|YA|2>Amx~|S+WJ*r^<3HKlL}B*e=>w0? zD)yKLoj34kI6pEtlvf}`9|wLAY5ml3`Cr31e&)U7feM>KbIE7_ zD%o-_0OjknWS~i|i>-v#-phNWxINKaEU2z*Dks}qsVDDt;$qieR$Ag>6DRpY%*bfl zr>wEhi~fUsU$mRml1xN*4xEG2To%V?kVrV^08J#kp?CIT`A4Fi-Hg_C;%;NcQjH~r zCS_q_(%PY+(t{Vg>Bsd{+ruKcI3@E=L%Q#GHpNLKZ|u_f=*?$I16pg_?yoo4&2Atk z$6DkjYOus{I}D}PJ+KpQW$UCGH+l(pm)=5Gaj1Z|bakmXJd>T!VsZRoSm2W?reA_| zsETt1lVnxeq}KzL!0W@B^>W=0JFi?lfJA}d%(p!d*u5K#hIt3dmX{VJdghacW8_YT z%rH>Kl@vINk&N3rOCdn6#J29Om3RjZ*vaJun@VS+)VP|pMl5`veU9Iu?P1tdnKR&Bc33}?!%jlC6y0bEg_ zj7T^2B6RDF#sNFYlN(6{6}GAb`BOu|y7-UYnL#sU??=~sRxJcw_LRVB5|M>WJfj9s+{ChN$YI$u-4p&Sw&?(MtRjQ6kN{qWJgI&)5nxpY+0 zpPZ+3bQm1N5Gk?kmhjq((Er<5Vd!N;0}79h_436e+KmR!k3Ejx_Bmo-Nx@N;mWTwE zCxfpQV}ORHL80+ewvGF*%i!0;QuEI3AJ7K@=7UwgIZ3MVgtxxg1~iQKoK1P{?{# z>g7ZE5UVF=#T^aPufkX`gNs(TFy(2pEp~Y<(*XBaOCoxy6Ad7^8?V2c_IU6>#^@{#P=bh6DxVYBEFwiz zpYRja1K$7XEWxoguW@Fr-8IfN5L}-jR@b9PYcc1MR@j_&iYEnQ<0C32I5W?@3j40K z$x8s9*67^a!_j-y2`7dh^a72}zt*5LJ#h+x+r@NU&y{&G{<3mnwC#i7Ou^wcXdH+R zkpE|EWfD6anW3Sf#vLWM6s!x@V_ zuUA6D;aaDcirkQ(_TZbG0?wV z+WTQlC=s_8{Pyizi{hw_-c<_4e-{5y9N&ZhstkSC@Qd;&-J z;P60*ylB_U!AwZYie5;#4orUZY*0?aA)iCd*^H1mY=^|gA3nzH*nfKSSap<8z@LYq zW<{HSbsPpj;9FK`VB-c~8gcRfT)bZB-DHdw2$1~*6&j{GHm@aN_4AhYeiDuKyuN9XxsfGo9)edV6|0(Sc(1l!)cXV>?Nn zKd-NaCeek3ByQ0ngSFomPgGy0rVJT<~{)usAI3_(r_w7xhDg;lAH) z%btrqL_mq3ko;@#ZH)`r38kM{6*MgtdE3j

    vk1n%s4$wOdDEFK=f=k%&_X4)4gz{; z7(!4&RIQv_?LPoPZ+QJ`H?#3c?NnP0QjqB8qK81X)^FABVtDVyhO>wCkF$6p zc$F;8WY{WdKO~H9|65#c<@(oIWQ(iH0acbiM9-plW5PdALf3`}aT7`$CxbIk(6f%B zWeX4Y6|vhJi7tNVCTKnIV>jB3kw^~1O*>N08yN+D_;3(nCYfk0oEPMVW*q_o0vPgA z^wR9H4*`|NQFlUX@&~#|$0Nn4eUFGpdPB*>UJ9vEQ|FJrkq$aTv8c z>#yPTr+8B6MmCzk7)65Y{{?cHh;;(dTIgD*O0kphs5AWasN>%Q{{Ojq*twSFwA2-@ zo^!}Vtw@BRovZzVm2S2`S$r3k0TiN(XuC@Jf6?_N;8?C}+Ydrfh7=8kNKqtG$t*;g zq>_>;ijquao~e)`&5}s1NFfQC2@w?)nP(C*XP*A^ep_qr{q67j9sAg;)#CL$_i&Bp zb)FQslQmN2K#;3*d28Ju~(({t>?lyK|=^)-nvO3y@_oj1GG3uuS|WWC z|L(2U9_2TUi$r%zR{@M0Re?J{#twqZHiJ)0D%|(ywKZ}A0mqknul}}hgFGjpQs+#6 zeN24!0~z+4!vFHR=oS*9i5vg4T8U9d1s}uk|DXBRKHO1ZWhIZPH!voQifn0nDwiNT z4H_XNg0B0Q6=>t;8XbkK3Ivs%`xeEB-wuIj%+8&3AiKKqKlrEZLzQixl<-q5EG$Rr z2}?PsMB~i7!Cs0a|r z_p1|$654PmfjCrKd_hjpbtJi+Gt{dN{5e3D(oq0Wz1!*#_YXw@L2yzWe0-bAPr*Ke z?&W_D<6d<8N65=p&&XvLhA4ekS>WU|fjE`E!l)*Zcb5PKHUzo`(Tj-*30Lw>aMdn< zIiqf9$Ol$}itpdAH1vu@fF$hj`GQkhT5*jv!Ql<=@RMNU25qduF7}H$r=a~zkK}4< z90IiT6u4l2a!-SzkD|axYA^n1ZV9~n@^WzR_#=-8%^~UG0iKF@VOWlY0Z|fD%+?oA zfnNrU0t_uKsnnN1mB}1+#giar?aM7#&()LYbuUm zi#Ags8htcRgH%xSsQ#+ou8P~OYNGxxC@GwlrBorCe&R;iFmmS=4SKJ4PK>RrD z#|_+%Pz?+n_|)B8ipteF66k)pT6qL)3mFb?M1sY+@A}ggf-p?Y&o^idv(Mj!ceBmc?o17P^$7? z{iGjCRJhEDTC29-;o~ek2hq`?RcdII;waHk&<#4AJqCg37h^k-62pwfjq?n>)dvY` zwHYXyU)DXludiJjn(shP#z`!w;*gzA04NDH!08^$E9(m}!RiH>0~(f=yn!t`E#NE3 zh|9_0M*xA=Xz#&{eU%Idt|s3+ijm7du?>uglTz{vC)oW9TDK2g)a*64u)yUYY&rV= z2MDcPwDll}*r~T)7O8NoZDqJ2&p>9;Ri=N=BWM69TLW@-k37bX!^NU{m283don%EI za%fBMdZY$wWLOFOKbS@rQeX$2TNC;8>Sx9TsfDcE;uMANi<9FmeE(iGv6_%z;W-f- zm6VmKAqqMOwr;{5H;@DlYka3E9?M>V#7<%RC~r_*eW+hPZA!}kUtR1zL=3p6;l)#f zTTgheV4T8p)<8_K{DXhVEs%P-L(`YY;S#-0h^C&*_hmc=zlGTB3h23Biw25%CyCw< zpwP68rmd}Ww&t>9!dmvLOMC<98E}H~uQ%Hvg+)4Q+u{^PBkM49`2ADIMbaQ1pZFLA zUN8ej)z1?XHNlTp@j`F2%W*BOMX;=pCKuk!H5yPlkPjNJ%Lqw8DwtAl1_IgP_Sdhs zB=)*oeenXqX6}pSrkv#E+%SWoyXmB&;if_sZ&%`6eV`_WgbZUuj4_}xPrhct}s-{MMX{d{aWP*`WUg? zfds?Mj%ZJcP_MlLAza!x9w{Hehp_TIsQQqL6aF+fr>e2!*RKhGy)pzk6+wW`@S^G} zT(L_8b{59-NPmg#+>8sAXBMLPtj-8LTv#r2=9ev7zWl@Vo=RP1G+9DJLt9e`JsdT7 zD{^K5vX);$D$DMp+D20Jw{W#qpFds3^g7KdfOlahMq0MdN6zDy^^EG@4Vdw#v6nFM zvMsZze;-;EKp%j=FnUETWc|lHKtkw$Ivg1@P?%8OF#eX@ek*oQK>ckfgC=&-u%d&9 zqA8^i*O_GnPF%7HU>(k~LQ)g^;ze($o6J9Sl5U1Jkboitcvv&XZ_WF4n9puqCEswb ze&{$pgc~AoBSB#z2&bexrY@%cs4|gUqo~M-`4_@838TZr&VLOQ*)CBQ`KC#E=E;Hx zVa|Pj8EUNTJ~6mSU@z#lWr|C9u-An4rmcupB5QRne5p~n1fEYJSj7`k2kF_*zIEFo zI<5rgJaQ`{YCGfq8sxHgUIyDI70p)L&G0NZC%D${^L!Yj%s;NsZCfpA;$6MsHW4Pt zZ0t`pQdOk~p%p|sUm;+|#YK_)vGoUC8cE0kJTx3aaZwPD;(LZSPP>U#10Zny8NCuN zZqd?yHMyK?HJlY56KYVz&Kxmp{Avy%_xbYbO7 zG=Z2QBm>^{EmG>sCjOgR=%Tc`;G3hPR;6D`4TI9|K%Rz*%2wLL5y8ao`cshVWBd%6 zR>T$utLBi9fx*K$Sv}?os=@>{17PaU#>}*OSA@%cMv1xIJ8l<0M~t93R-^~3h13P? zOpl-01sp3BXM<0J{YgL381pBCOLCvIPn&kibnK(2vJj3B4@4HU-eCTkQ#)|E$P}DO zMduQ;pN$F**WwtNB-cuk1XXP)?q6jj9nHcwI>-rk*mo=>BJzlmin=13!QweLRh>(= z3F;v$@LyP|9WKMd5L~}H-s~knky#9;BsCVDyki-b%k9zgrWD2u)<;($-+MJ&r6;?E zONSyD=1zh6lF+aK`rR=36*VPnW9oFGpmYkjc8b|8dJQ3Q`%g}`X9>1{l2H`n34{ww z#_iDi+y%Q%3c+6IBbr$*&T*y0Ijxer3=AsVG0^6PJDD|LU*FRpHXDy+2> z)J39ROenU5D2}Z_q@(az1xrl4C6VGG1ce|a4h)mFi2J@RY~LTPBr)V#SC*_^&(1vy zVb`N6HoiD5pr!06M*yM#wMdLX5JgDB?ut@_DK0SnW?0r5#hHQZ@ps@|&dO?NA9&F_ zpsl9H5FH&&b`|b4?f6Qish?{ff|(Leg#X1Hh`6cT3t>uAFpnaWdd4eFx#Zp+aDZG9 z3Yk?>_Kj(Vo2kF4qZo#?n}TfNVGjO;Z|)0Q?t4$l(?X zWi0v+NXkNj@%T?>oeb4$rR)^m{!c{(?F``Yh^Q~tyu*Q*WTcKRvtY0w1BkFUq8m59 ziP3U*jgrv zL??5yXd%I;y4-f5YH~c};p$NA>wM<{u_`cBM0srYMhI0_dffB4@QC;4VI*;FXYHw8+ab`=%xkZ z9(ZP)svB^~*gymXaV#H*E(LsjN%0%(Cn{!Y`uY!MTtIU}-3a*xk}!($z-SM|J@JU0 z<(gW{k`j+6qu`Aa=A@GvuNpN0FQ2h&99a}QP4nwE8)52QZIeab55l`ENeF?_!p`F> zf4gR9?FU2zj7?Q@bYNHO>TC|HdZAa=yc|D@Z=aOrDc=3-R*eQ6E=YEP8_w=Ov1`|5 z12N&?P%sYu0RFfy?2|b%1#niT_1(UEH-m3&r_**gLUNZ#=@)O_hB_kRX$DY~lT{t( zVET1_F-3V(TIxHGDEHccq@d-`bR&J8=AJk`EIgm0PZY+XBhW&me}ejV(QT_x zigs~#hi+PI>_S{ERV}SR1999B$0|owXaGa~2`t{=xu*luD9D$YiO)J>q<8I|l4WHq zo7wWBGKK{9yRKlkrB#v^P`mf&2@+6}@ zdX$@{Oa>36h6({>>UH$=M0k9~6h|u$!?hEQ!jN4^i769kCk?woQF++S27s>MGSehd zq__89+_@bYCo=R-(~$&T5h5Oh+U+hxW~Ab_JzVGbadIzV6F|PV$Eeymtt^58<)4Fx z4*4FAIq(?aql()S-U=hhN0E`6=O5Nuk;g@T1WV7{qS3{?PHInXuZ13b0wja*;P1LG zs>XbC*wBwN!QkC66tz|vl0kG7$`2_s>4a*Sl7uLLi!oI)J&bs>RC%-98Jq#vnFJWl zrv+x%oxz3+<&R_7d^FP|pnXbA*+4UDb##=2 zgM(!FCvsx2Or30-V84g0=uGQN&01|}J+K+oTMDsA{5O?m56((FB-N0{p)QWxx>eh2ipzWT z<=-mP-u}y%FGnPH_|q~3*sLuYoI7lvwEKW^6I8y#aABxL>JBAM$m;wY2z)z^tS9PQ zH${mYcu4)JvT0w7m0Uox(poo8rIPzC&Fqv-l<$6)0wQ{@Z38^`y}1Jys`OeLkSQwNHQo zix%pl=`|;Kr6UfA2>8RAe5mgQdI(YG5ovi!#{Aqt?yR8MJ$7L_Ckma)6~|-mifMK` z&HjQH`yPKnWFR-7-bC_kks=Iy+S{To(csL@x21UlqP;o?I7q3Ii8>M)Bw8~*X2_ZA zmUlf&_I7b>PL9zd&ZwtP)l+QHdSIp?b5qhQAn&+ONdq?K#<p5^>2lHZeo{(k&X5EQxKJc{> z%#lwLg-2_~0%N-{`%XCJ?4YYmV*B*kk1Ku9WkFs6G?We)TgktAH(J|79@W2T(wNDE zAu`ejS3);AA6=TLZ|VE}!FL<--)V*6x~u+RE8bsaZxgYP_~W#Cc|JqJ98J{)J-c=5 zRuZBk)J@;Vv#Cxh@hx`=;_MP|`z7TPwqlXdGWVeKs6A3LaytW5&*)?=c~kA^a`iM+ z2~lN87DlUb{zh73nvF5?M^fE{8k1jj%^kj_g-)-rj!otc4k-{pvU_0q;g zCq9O#&3h`_MBcI2SO7zf#*e{UTVk1phtV&hdTM#p1=C+w7_E%#?Gn8kbbvkY`j;`8 z^L0eQx2$Jb6P<595x@zy zDZ)^>0In@vbH22}00VW8X~_bz#~OE!+u@`Py6RwHiE^#g_VmXy?uLA<=%)pIvi1k$ zks`?{w*m*_%KvU(I{>{j-0UXho4$r6=FYCh>G6T$M9)z%T+*B9@d@}}z6@8}2AcX! z@S(`9S+b2n9D2W>#AexVx>V3=JAGW6D3%in(brk~J}Rs+XWij7r$9M~(6?xuOcNdB zE~gqBJSBmn6riAdgy8FDs_4SFopFCi^jnZ1{o+Arv zfm+*0#vF1uR73SQi;Exm^eal3r4FcYIEfHQwItSi4CXU;7Mq@OJ3W*YQ2wn;)O;t0 zG!H_FdMCd0TroS=0)KY@&4mLMjZV#*HeZ(WyOtic!|+O6oZB(y4yq-G;0WKDJz$%$6OCKA0A|W z84Y?!3AFaX_>JUO^`}Xr4E!qSfx`VoKWo4+`nJX z&%oLEFk*VV;Cs!&6K6NzKgP(d6p5}_v#RVU3gZAICeV8EU0=-5YSt@|r>?eCwb0tCSdDV-&&x0`@yl=LCd@6bWKx?JpN?DxJ{X)vTg#)gM# z0f9XoYQx^QM6~G-@bPduLSz2ONZ5)Aev zJwd5C?lbjB;}*}rokx#??-{v%=*h^Rq3~ee z*mAeduCB6Nc5l}Xuj-xBnM>0qa^XSQ{0sV=jsdZ^ z2IaWC>&Mq-ecI9byv4YdE;@OD#rDbJQcwst+;wEmIo7igfCkT(C;9w95nodR0O~ksheU5l;2aQ;jQ8p}D|J7ytCx zGkQuxL;V$r^R+N@Oi9`gpCUB5C&35?s)5I}AfHT~LB)>NqenN5+HrH0j>?{ZAckc! zwE?1U|C^rjgI+X;D@?0(q6Z}JDeG&y=OG)35xbtFj=;7PVL|V>0D}!1H?klSBB}+L zvrh2L{xzdU@CT*8E-GefJ$Tb=7ewJgt#;>?4F=uLH>iPQh z<3hikut>b0d_-0L`W#m9h4;T2cd^CJ8x45WPren6=HX+awd(?8z^YNw9v$EgYHAz| zfP7Lup#(%745?89DL8yD0y#jy>Nf?$rak@Zubqk2X3#(zw%1N(Tv)18Wf(Mlhp|5) znLB{9X_sJTOP!sH?1L=()wm0^@()TcX>ZY6;-5^iU*^_n7l-02;43$8-t34zf7+__ z_(C}$mbP6|Im07U_q--~s*=!Y+e(>$i#yKY-lh}lmANnfBZeLP0w3L_4Ux8H>!f=*jj5fJyrdJl6*5n+LZ|Tky z@|+*Y98f~0Jgc~LdcEB1i@(E2R%>RZGVN3`x1fW-JnC+0fdqe#0zhy|K} z&>8T_e2Dl2RPRK7px^$7>F^!VOOAY6#c}p-3HUg=H#}FmK+Q_1%`+};Agu-n zE`JyhWBHB_^I~cO@4LBpIX5@)FE~qWSg^~;H&CNO-Bg_CA^QqR4T-GP^}{Hud5HdoBl+!qY~xDv=wa6l%r~j=&wHYNBguIl`~}capftNuBalwEp`=zs@E;&?#RWobx4>%qT1W)|Kk~?7=S2!V z<7*qub324FK7uYphk|`azy&m^KBGn}PxLy7az?pwGo%~EB_td@(INQ^4fc4an0ka; z7HYdLe>;Bo$&^K7vOi7D!F_Um{ImRLERf}_#if9)U-5%P;gKS|Sd%tt7)n0?ga}PP zVrcmL;h2Z5%F|(7-WQo!nq`H@6%h^8*0B{rv-*mF8*|UzZ$%`cH+)wOaOQp8Ry4 zV{x^W*vX2zQKR(ZYEo}f4}F#VRebk(?48zx#&ybX^vjkncwBkfw(8eirf;d{j5ZFY zVc{i99`tXHi5L+0<)C2UIjH6%o!2|*Ji(EGmGelD{^(}@c{E2Ny2&T~exKDqdf&&Q zN+XE>3|}Y;hhe7%u}W2AZL6M5SR@@&Kvp$8Mk%DHr}Kvtw}1Hf@yL1BJhQE<6mf|> z+mmXol-O!X=ZOw?NX)v#jngVf97oU~E0xuAQT8hC5iqnHGFtW z?D~n7Ui$j_d0pD*D>Y9~2B}T*4tuh_8Mi5#o)nzgtx#Tn!78FkvvmAolUHV&J4>n3 z;>zm$7W*(%M@BbVr>zEbp^(@aSUZ$Ca_bR&=kDD$`Q%$S2Mp2nW!vM;1j5Xz~-oY_HW;4&!ozc5B&>#CH)z|FF`g?#~sORzA zZ1d)M#Y_Y5``6=E*N0nL4%#%&E6w#`7HrgyDPPuEl4^M%Fr#wIx#shji8VV)#0D2W zZJX#)o)1J_i&MQa=+CErwWeDKFtRnRb+f z4);BN{P@huZ|=2duoE(&%F0R-4^HH>d$u@jzj(6l&DlX`1>1B3QfHRD`19bUD_5qj zYZpqiEyVzjdz&*#zLdeE##yLgX&}`r-$;k-jI~B!t`5z~>&SH4U{V1?AD(NlmH|q{ z7R6onsqPrMY0Wo5o^i3UdC(LYT$ zz6V(yn9JDI@oKb{ZUANGGV-GpQ3>fW;Kd$1cp&LEW~J*Dbb;rmbKUB+EpzDCo`n86 zsrO0%G*7e*q!zSo4pu2=NQ#&7@)B#CB<~#A7qdT{dvG8&zJ`8O=k)1yLTlH~T0CJNSR@}h0O0{eW1tzQ*=7!x}O@uxRksQujX4{#NUH@q9Zpmics$=NvG6}lXr`PnEcYme)f`W5FTLhXRvh}F@Tg-GvJ1a&2`7N}qy1F{= z4mcx*`SFd1JE$lbt-Pqfkv(-`L4j{B47Kg5I#-GpeU3SS>^;gM#oFmha66Bo9tMfG zvku`viJ{3xy8UPk0k5L(AO9S;5;}gRF>QDHtSsE1v4({0?d({6x+}%$5MElkhqN5f z*RijMb7u`H_Jal-;oPsDKlc|`hAWrIfg`h?ZH0@7j)&0ow~f}n8q&GyQ_mkxfrNk|6-ie{&SbM_E{wo2|F?Fq&1?zKcw5wR)J z<%}D{_bCjQtX;Th(HA*&p`Mes6O#z`^VF%QNa#mbi6ggQv4{1c|Y6BEVZcL+exP?ehzv;;hf zWFhYg3R0AKh4wG!;W-Ck56)2`Fm?Lmo2Z~+=6&~_H#7hqN*}*?E64K-q|i6BE?VUC z;nbn{7KrTmGO}|2p48>cWEqj*X{?K$_>dHz-246CbYwoD2?93+}X@ z;yh{x1@v@6Jsiok;yeoK7YTt-`-P`}syYS#= zmM5GRgFFXp=&CtQ%&2g=>7X> zR5IsKYBEDWv_kHpsB#`ONI4xC0M9;p^a^hH$Slu4%>~*&b!0LD>FuQV0pKj*$ALc& zSqV7a<7dy90EGaWad?dv4zjPWuj7CS77@V6-Tqfu$m0C$34G^`fVLeV)vld?n|gmZMs$Kw3!llKE+dyxa`&xIwXsYk>_ z7Pk+b!N`J+Y?Ez54oH#UFMF_f2<0gjBj-?|IYGy%HH-MU?c8UOV>jyc}ip7wjM;P<-AMjSwD_Wb<_<&CD@NV#$d zu423zBn5lEBz%$c{!R+~z(|grbxJpgjf?Af?TABvpmj6jWp-Q~i^RPb zWpyrW30c|6pYzdrot^XeO^{687lATg@#1K_s+E;EPQ|M;UxczCKBy$H9>u@veh(zn zY-`9K_4ojEf}R60m1NvfL}VnJ4{OH5vS`uJ1~wd(A}9?ep)tbdh*)G8I2W;*MFM@KbD*Axm6AbIS`zWI5SXf+a2AQomx{in{BOM(0Gm0HW__A= z7G%EmjskT}m*>Mq?t||n6hU{pLDbdGC!N39CFfkNMqI(=AFL5|kPgh5?MkD(_cj~${B|6Yr`)H@ zZR{RT(qH5^j7hE5a-h5i6q@sEe-+Men>UV0rM=4Bc;MUhfpYyJbA(qsBT0^2-P2WkI`l?~RvphuXEQv%-rXUy(T5C0jAq zaC`ZkR{vSA0HosWdvLu_K!@NjuS!|Vb6`TI3hSXZu8O8ACL9o!HudMvprVc51f24_ z2&bk%@Jg8>zMnDKkJqRyLtMn|4y*XDuhB!0Ou#qhvu@6!{PMlg6W?FFg>3VYorY^D zm2JK9oX?l6mi%?K9|nc=57W^%Sj?oBmMBDK9?&HwcWWSbUJ2zX_j;gZFpg8z@1b?G zkbMDur+W4gMAA*Jy_?Y0j>^hLA|NhE820M#-W4b=5iM}jvJEI@1^bAIVRGT~B zuHXOQ5@Ilivv%I~eea3Um>Esf%M$HYm)7+dBaj6 zI-$$1dWxo=Oa10%rwXjo(q8Pw{LEJiZ%<(0(v~FH(_)dav%qoQ-(e>Ng?UgZBS6Tn zq5@*SVV_a#fS!%3qQwdlo5n9^LVTcrXeg`ZYcU{WI&+gWSFEO9*$eZDrb&Yc59XaP z!E%O=-$9D_k_^v~- zFXH`r2PCLG%&dGj_sK)$ortr>*71A%)&b(`;zUxTwG7F=5Th=XX?DMm$$aKd&|=^< zJ9=NqL(V#9(ww*^KZn5By?k&ED_5?hyy4++-H6K!C}HPj!W*82B%momJ`6MurSI=B zC3|nwH~A8?tm=kAllNo0FtAF@7ji;bsSP^pB3et4fRR3V(y&kqwof`>=8 zyBo?I{!Erh_KyNG>Ra;tIwMKjn^1*uP6A27kG^Tu^gi#)ba<-9$BLKf$b_qUBc5GI zOpFzNZ#?}vF)Fcck^)?#3Q%=b2Wq0pbNal(WXCNU#jLPUhAN@S_u3w|4;5_mcq`X3 zp7)`sec{`e@I2TI{ZO5Q86G`-E4G^)%c}=BHlQ>;3@_jUQ4M5RzaK~}fP~5YM8Wd+ z^hv$IvS*w+uT}%PFq51crbtXRj5#`e!&f(Fy(MwcDBu)>n8O{q13Z%yvc1d{O>K{o(%-0oUQ^h!wU@Tp9ORH zaRENxCc$5@k_@EojA_yh8CWvGj{r}%55{u$zJ2Q0(1z{gm5g)wU9)pO%^rBL^@Bwx zX5B9#K_aj;#NrFt*{i1pNiY=4^9An$HY&n4gb*s=+O^vjC%3Fv4E&aVk!kDYLwKzv z8%Cs=g-8VIhcjuhv^or(fmeW9x|m2&BzUMvwqVED#ST_k9d;=cnI^m7X#YOzu1}+~ z+uH5Z0eTsV=#sxZ=d>YcLBO&e!_k0At;JL0z3iEd5&yGKZZ0zk{f5)-Gm*RaGcEnJ0 zgW2m~EG03T`*0gn!bM9YWe^gb4IyiXapi!ZpaS4D5fxp=Dov&$N+u=u$*xEXP7WOo zl7{A++z`>414@UM6dhAn{Jc${nWN;bT|0VFgT-oIg?)!@Ab1)bwZ*mJ%*;@Q0J>|q z>01HonApU|@$f**cR`X7>1>9pBjt8LL31 zRzb=R3G%AdtI2q89YM%Wc1c@&h7_Mp2xKehDe{ZBF=|K5jTHWj7#5$ssl^e#Wdf64 zJ9c1(1>x=`r<2|{k7<#)1H8XBacPn+=t$GhEn z`)Gdbxc=NE{0@0XT7;#3(E&4aBvT>)O}vKE@(U98SYc}l;it(RCgTVo3aaRy=z@5Y zy1L%yKiLvpknZ6_hhCZF)5jN(D7q?Z#143HI7`Sg;>c?w3#-X+5Q8tG{@4f~WNf#Q zR0BfCDIma(Azab|XT#{nTy3kZ%1z;5C*hu`sJWm};Xtn%b-K#To}p~IX0~CTpPnw7t)~kWd41+qZ59s&@X)b+?z}(A?Fj*m2l_ zNm}IN0t!tVc!c<>K7cGxuqMeo5_0eQuzl-idh~MN;oiu;3JP!~%lil4{cziPgtSjnNn4|tWXoF%d_6vR>fPwSxI8D8gKdlqvA8I>|O^y(X+mJxxS*#l7Y4dGFmqmP%}cead1~d*>~;QwFNN| zViP2mC^q)|LCjxtf06q>^+rJ)G!!<_DFd0bg2iSLg0uQ3w@)7(tEq$%wge1P^eAmq}7$bB3(alsAr0&NxC@7E>fu1gJyX zFyDnE(tju3v0|9sMh1*}Ut!nw0~tU#EAFh|UWgq=nY6Xu%QHx3Jo^KJN=B`lgL%K0 zB?lk)kO`l8CH#Vb*n+=9=X_u!5=DmnJxJa9h^3qXP)S6%w0fr z{P-cXVS^Tl>hSCR4{|e!-a+N;?z(@>EA5};VKI-^a+$|yFntpq3`ti#R+9IYEDSnc&mZmSJXAVrU`R_eHJdoDp z$a<|+dARm~Y(>tdxiOttmnBMbKe=SzlTVD?7g*>Zs5aC8En2*2l1?LJ zbyd%pPvOj|gqe}>>C{QZ?T6}bq|m8NvFD@1LU=RqW@6ntqI9~@B_0WTPr^3B8 zZhYt?SFhcxr@WNp+U={vA`KsB%r^R}TFn{;H&5q`&Urm&$}A6>T)wI&*K%|yOMpE0 z%L86aRgsab&XGg6J|3I=#gfa=8&Z3~#N!8dRl8D>1fO#FwnmE+ohs9*qT@QfGxA?O zCy(Wsjf^|nt)3C3JIyvT%%*v!1?9O6C?hg1E+63N2GJrT5fv%SziXqgOmaI79YFystkv_nr)A*jz+jD< z_J`c^fa~woat$vjXX}cydnzA06fC>QX) z{E~lXbI{mrq0zJtP;TaxTi@(7BP@+mUfHv8K@la%RuT#45{0ZIhY zdbuy}B!Ryqd^;GWst6XpORI4G~!WkD+gMPi9Yv$eSFC`6^&pOOXdEQ(p5>ik1=B2&lcKfYy z%85GhX9nx~_rH}mwGdWA^{C?&1L47#v@v5lpFFAhMKhiw;lo2$O_{xlFMM>Q@0CuA zHC<)*%~p7>hi9VpWw%m&WSoLu0khQ(1AW0}3v6D$p(OKh`){tW61#(7UvFf4_ya$gs}c$Hc;iUK`GlRd}K*NI-PPS^6%geYag!$o7|Iv zDr;=o7LtVG13L67f;TGJws>b zmA+~&bxwkLfP2~0uP0L@7n~idm<$w*Uu--y5!br(>wNp7$UbfUwDu0W%s7rULwdP+ z$uG83XO3&NCB+CFjY#V$KX+vMzJvB+w!62>b}^><6}vyu+~vkrqC7t{cU;f?^PIty z1#n{(1P3c!-yZ zWu9SQ^|bhVb7x6%>2!F~+==nDxar)%8gmwyat(tr^oX7w<41ejZoHqT@A|6rNy8ehIf#rO?DwJCA#N2Dt{^|KHBoE46!07p&ZflEM?|lXlOp2 zQKcDCe9(UHzAu{*5qD^+x*e!E6kTs4!t1lW{+;fPIcTMKm+u~UJu7BW?Dgw$%%Js7 zK{!kLiY;cd49SNF>ziM)IeQJXQB=w9vUlN$eTP#1QXE=cH2@DH=vfsK+O8@ANiNx&0sZFN_ zB^Lf%+%6Ipnma#!KYT?R&I?@aQt*DO=LW^!YXrY9H{Y+>QD`?jwr(JsokB1c$Fk;j`MtZd z{r9|bobq|8yuuCbovBx*5|6xCJTv}f&tw-4Q*KYr-tyhW2v-s<1yIM0sPEIjEYVCz zKy1t{P^NLf$Ca=TEaHXQagx)35lR=qMWo!d>g*=v3z8)A9XCP6@KAEC6~P`SPI5YM zu%-maNu1H+_-R>Mh5Mb~u-1B2aAtp4U{-VPIv$pXIK6sH?$NXT;D=dk*naY*<$AY) zZO>kA?qj=m)TFI)DDDoYTpRxWZO>eFj7OAbRI?}F_${e8rTfF*0_~H0?QeK~ zs-4$q9PpdHr>F3CLixaC*GLr)^=9$JJj^pO(f0eWk<$uu-66_%g4V%2YkKbMyh>F? zR>yvRBD(lzVs8kum)V`^M#sSw8V$?nDA75+Ryu0NwVOe&@*d4*$RJq%8=asAEcoV! zh$0xnkevbpLQm<@N;6CURrM0e_}J&zj>%3Wnu_R_`vFspQf_>KP!H$FA7xyMsL>!^ zG?EsvREyliG01;k32rIZ&0&-G-IXI=)8SRad4q^@KkmP#d8USa=ts`^VUH`97W)_} zb5N2V=F5n6oJ?iydKgzMd1Zbf`-}zs&AE0ZtPxL)^4v1bd3RO*3AQ)OHjve{NPgyY z&UmJ~&lE8w8?^@J+Vn}% zaP4xXzS85g9Q0?)b9f6Bk}RHSm0ha4Sh}c4d{viS}$EmH3eX@+`2! z9b@T%Lvg-W?$R{Ix~G0cB7x@ANsJL+3~j%E z7ypGe)35;~8XbN|3n@{?7K-LZ{|Z%H02=5%qtif2fM9)Nmg7nxn9I>=AQX?As8wEx z;y<2+zL~*P|I)A0Uo&Tt+WK=2k4{(0uPQZt(5tlYn4doS))RLiKcqrOibT=%}ovn|Kx{bycyKR#1Vm%gdHdb~`GamMQV z#fQ(Q_8IZD4$_5d`>1pVZmb$;k{)KSWG_sE!&^4aUXY+Sn;=j*wmJ$oQ?szd%f=x* zah1e#mgTC8s|D@bc1-Tb(sQKrKUc#rq_YRlO)mJc{(ZZ)P2at=^xj7+syq;nybB1w zLcF8BPX7FNj}6UA2$dwn(@6`+r3k5o`J=o4n*im^X(iWnev3)^bY+H1+ z&`UDU$uZQvu)!=l=9_@p;x;C4F9S=fY7c~!cF$XvGW9S|y;NYPU25-a)dO7J^W3Z55fN_-&vDwB|I_YCNB$5(0TKtl z9ZfyaQ9rvRj>IAh8yIr^MZQmRyIgAIxbot$g4Y+P14Rt;VHG`N{(G$An)PxA?;8yM zG4kTyEHplN9DLJ7^#@$PnYIKG6{pOuiH5G~y#hDNyAguqRnMO}(l=l^oBq4}l}ClW z0_Gz%4juZcJ8+9+cW=5b$|WI3tK#w7gF@Z0S0+B+Pm=g{kwNr*WO)<+Dz2kgj!28t z(+N(Av<_Uh`5>E60MPmV*0W2IcX06YCpg5a?>vi<0(&1|JTz5R-|6;;#yYXq(feS= z_MK@`3(4~%o99O)T&@w58lQ_%Ltfd7iu-8`44(}bcnG>xs*|31aj}+&4i37zB;X^fvCY8pG$xG z^wNN4Kpn@M<6spcXmDiOkIQZv{%Uk8Wuzz3l=GZDiQq+@XG1(Ksd=;T?JPHj)fzF|Bj@*get5N4d zeQ#J?&=;68S64aoesU>NVrDXp@+)YisK3D-?@6||sb=^jS@WMLt0liPRl+Li7Or_VlasM=b&&=I(E}p{*yb|#@Sn0DYS_G6o zh?iG*rM$CVI8slt%#Q)r?@s4uYEvc}R&TOy`n+DV;Eb$OTb9DaYB91yh`3=azLIia8p6UT^OOA0$kN)e}96BKrwMRMHL?J7t8n_WHO_! zfGD}NWdjrZTE#nddG#4S@9*n1_ZMDKRtQ3%rIhw*|FvSV^v%!f5ZU-(P4QAk8!Za= z7lhu4@M&uwFtO@5lb(%paL6nC8Y0)<(<@ZUR7UWfB)|J&T%B7#O%A6~eF`VcO8@xS z%A_yO7n-+MnN0MmUTH~b443r02_|yI%+vd0_{!k+*q!T3E%aIf9lDkJNUVt9s>n=R zSv;+Klwqha<6@QFl@$qUJvO(7knx*zCX3N4eGUj0a-ZsIV!WV#y?({q+A0t1cUF}z zJx-KRPbP2@Y(P37j3T6b5)yxcR>PNIr$j6OuwZDp2{Sr>XzV2Kpn(We?navZiE-I9 z$g-M}@^s^7VEVAQfb=j@q-UFTba#j5zJ1qbMgY2?b(BX(oE7-v{T80;t4n$NyK&u9 zi>Jo3pX>4wrQcg6K}V?;c-AD)^|vXRKAQ|y`iwMr*peY%W#tLC_GuI#6Efx*z1c?9 zET)me<~VrOC*04Ss+Mx>^!7-bKJhW^uIT(DtUFQw`SbIuUvD?rJui3+z|nhr44gXJ z@IF!&pF4dMXqgfG4yQw2Vc(ubPh)&?wJheFVaWZ4unC;rZSW zewSb{T%nDqm{|ujDShB6`drdK3YuO=#M*)QRc(I40uln z1|7^k++6pd@Su*44`9G2dn%vPFw>%QtMk2#{P7U?mzvdL@SgWBYB0qBAiGS&up(^j>w88N)dNG90P zuuSch)!Kvu7>xNu(~tM1c;`u!xryUG_#;1VS_muij$Nlm= zWaQiZNTD7JofXcXR6d5wX!jPZ7h=(O%{Cg%tnd55yg;aj`_7#^U^Ci9S`&{sM$bG9 z3=EK~M^RNb7ogNHr$1(@KfQzDl2|5T0M4ERZK>mg49${n#IB3eLl%wWPo{4Na;6De zFAx*n^$!)@2b7@8mA@|Q9CJb!c?^@TiapT60u25xgpAcr8i*lob z4d7o&-vMR@p>5khxm5}AFVv5>hxc8bwg<5U#j(|+lApAjMyrjRAKxE!RYXDc4O>L4 z=FdN^GET5-!9VABUA`%LtV(V^nAtogwvL!1q!AHw$NscgW~K>Zh()MruOu);w+E_W zPkr%|0U;rp=<)pl3orTyONmv2Vb}>q1}sW~bITMM!xu3yf#8D-!}v{Q!wQ_lz*L+r zh04&4$Vk$hFXz}CEK+mDu!_bJOr78eko`Ze@B@F$up~8y@vk{n9Kq>ay+Yis#X;0`e0531V(6&cvHjD_B zcV=s9MkHVXbO#f;Z3kO+QhE4~oi$~prCqre zObXBzM~YhP(+4r+W{R*aK6ud!yn5(bO%4D;@N=Zc363%Gwzjs4KO-(eAc6+-1U`(A zIa*ev2h0N2|915IiCMNmy|KgRx}K$6kOZ(CBM5O-bOS<7IQ7$t{h0hGI6exbb>x{a zE%`ypRUkZfj(eK3OZ}!WxC-*S-qv%CUtKOn_8nBcpz*HSj&;F_B78G;?bl^YG2VJ# z#)ki*Tm7bEi+N%o9l3La2=2K&g6V-F1z%gb2swisw2h zu8jLjj24#}VEP_p=b<2%CL`#kZ)&Z;SVtJyfK)_Xce1xSaXd`d1D-KXiNPBl^9ksH zFbe{p6Cv!K8}wI>P3253-Aij>e%Q6j_sbbzyY)sb+@`gjM@OqZQfzK+7b6!5CVN~uT$7k3$X|Bi!Ubu-pX6!*KB;(+a<1A`?faD%%>b3W5j@9$j^zvB z_3`BqEUX1Qtj53EN~DSgk{;miUXiHd-(L&!0L`bPFuHjx*?bA1Gzbr8jXFIzm|U*( zqHZqC;!&u@xwKjQahUF;}*lGM6rO(0uN@F{W`Od`VI0qGPN{<)@uQP?;shuQUb<$DjorF|8B$Px5W+2R1AzqaZpZ~t8!GK$f=ecFPksGWI5%hn zel(ZHvFa>l(!WY~TUif8^g=?aMpYie9UqjE+(D-ucR_@yI8x4m1w4g504i8pOJK|7 zmpNfrm?~jh93LjbG(r-vNz0l03gW$*! z({8^3I$T@==q<@|1;0UDkaMH~M2(Q#=*c(HFkK=@JfJ3Zh>6mW7$rwHak}0Z$xrLMjOW5#cL6FxrDZ1_4Y)Vgx-xY=4 zO&@`mU55JlELn>E+c$3HgP4f5`b9nMYcH&#sLvPkG*f*YGn^sAgp9!LMt*q6RB}!) z%0tH8_5#qsaqX%U|3I`O4s^Aw3a*Sedlo>~g*S7okjBC|+D9^R8$cvA=v~o%wGaOK zj8^!wzn>HjTw>I{`h?GiXcaM-llhF6o41u-#eQo(#SkPCb&x-AlxEg`{=97C#?Kgh z;34K-vGZzS@An)+y{e@-Ky1_}NFilHzf*lQmp5^tYjh4sY}tjXi?>kv9x+)ZTkmeM zH;eFUnVf(}NC~V{*{Lkhdh|;ffMQvxRR<#1WCn-_;D0Lck%DW{EE>%VPJ5W`DvxHb zs*GcN1^fK@@%IZUrWe`d8nG1kv7r)TtgPmW_hTUgMt;-mJdu@nVPcKe*0>N|F{MI%&uaqa2!pPXUk zEBlPM-e`&@9SD)q0gcU{8aquDI#nrMA)G0*+{01vN9H#h1YW;BB+0`g4~nvhvu6`D z?a#d@-6@%uZ64f10>k=I4cIFUs*={UP&DuhS*hNvR<7F37Cud>rtlJ?+G<5^cgiAs zi$B`GAxDJ5C4cNLe4=KT2O~j&vy7jsIL2o{cp*wJ7AmvJJ+X1s+>NZ0NiZ06G(I5~ z5PKJ#`)F})hi7F4%Tq1XtgIe)4czYhl9N(GzrkoEKB{CN#CRHB1aiZ*;2Y{W5OYJ- zal`m!u~JT$E6qYJ_8ib^Zg$^(@59R(_+x)Z{uccJP?Es&i!w{mg2@@tjKE!ic*QU& z?Ohzu=|TAM8VugHA}&e?kpdv{+03xpivJ5|cS#njwjjbmKPP;^Y-_ynO$pLUPcW+&m16w(K@2nq}mwJw|Vj}8_BSRi5l9H+0 zI6l~Y1^mp4dzQDNI_u3VA;V5B3Vuy4le7W;>)jQdR z`UDZ?5?nn|zOFl3NJ$%K>>KoCTu)Jw(&MQKo!1po0z&jQZJjH-9xg^G0-k#rh3gY8N-ZQzq)qE^mOXNq_2E>=AmSF@(7 zU(WwqaY;-sKI^{w+w`M;c;cYTni}h7Nt-WSiQNyrTYBS!T)uz*0#dcXs-pt?8}Twk ztLn+I+=E`%03|Lb!bH8cQG;b{7S;LT4yH#maL2yNaCih2HGsF3&{I5_*HCiQrk&~! z4;OMPD9Z=kmlO_A`72(RhTTkI`{I60AJ#&c>0l$NptXJ=GF4b@bsIVi&Tij3nC}RuO4I8pyO8rAES$c1;z@st5j6bT_`Oy3d+XYPY#Ox^n%k zOyoA_gbz~`4Ia$;jZ;zTv}u;HNzy#O5@y3&x%;%;DL& zdo+tQ2q>6S;q6Oaf+T^!NdpBVCJSC;`RSpGpe#C^lgGA&;+7<35O%^Faz_R+bth9F z+lGwM##J2Kus0rvA>5K{^&5CX$QBoW8ti6WZ3&JYRS{dNIycKlWW7I*q3-xAp?$V5 zzv*3k$jswNP-_EzJZrOU{iVU~I-->#Ty%PNZ)S^X@Q2zZ{LrtUzENju> zIy%Lwr3N0*l7W77tgEii-q(@Zwm79B?$l zXL{JD6lYSyZ#Lb}&88DP{zA0qTelXS-8AbMzM3&~KF4&E>m)eNoH4Q-JZzssC;8SW z@4k71S%1#uO8PKC56RLj(u7}oLPCPk{n30pn-KO21Zg(ORtGM!@SD|6!`^nX$6k|9 zl?n?wcw2LMY?4yxs;CV~{48hc)1H3V!3H-#U@3F(OhXw5lh>VSbkUg;!m@tN&eKwE zJTqhMt$jYj9^yNkKyitruwjcs4*V zCq^wMCc;ehs&gDf$;TjFQ@+T1muPTaabpfYsAsY4F9LYH?8av{p#D6_aw%1)8NkhI zcYM#*7|NDbQs_xC0f4_#MjQ`C*L7&tB{S`*ZF%lKo8F9J4(}v$}i` zX%yKx`-0qsf8u%J^Zc(cN<&FAhUFtnq1fJF*CO2^Gjhx=2af z#f4TVVNw*-ZPoH;<1Oh9K!u34D;6fU9h;+`nwspQp8aaDQH5!VKFfu}GOAmTHqp;? zHC-GpQ9b$c+wVVPzwN)c6lR`PRkSiSy>Idp9sau0U!>7(jG}2VoIjs?&Kxy#&(MGn ztd4nvUBY&XcY_CV{I8$?2Xi%F6^qB?0H4a}-3EGk&2N|5YoNjEsJt&_kD~CfzIlKx z;E7)^>3|8`bn;cOz0%6t3CMy9{sOk2@xPf0E@dnuJpmpB(aG{HuX?)a^p|CLK=2uX z`^<=+2?PbKg#cyr>8as_PX7Y_)wFVUiLxEMsa=-}3it;m1QS{POL=;lN;5o18JnvD z4u=+Q-%LRwGW;tJ4O8?aJT{Kvj10$iSyk*Ad!rq#oNh_uV&n(;0i|08J#|XnkkON# zu=vb>;H@9Q-6-K8ZY-s$B3C3%f5k49Ay&o&`ba0bA|;luBS^-&F~ zVXau;*`o;bjV-d{6js8ufC+rfji{(fW;wwmTs|Ee?B=8(#x=;ZLlJ$n*q;|q%*aS< zFiYCirSoA5m?^*H8UY#+)r8~#MV>~hm&ZQG>*A~Mw@5xI#%b37es%OaP0nlAt|ffy zG?f(uG{$;B)M|5t1DdN^FT0$c%~%e&z3(qZ02;=UU0FJezz1@v(d&|c2Mvu&x%<)j zVLyHtNG9{n6-|>8m(T6Fc?q^Cx}ucqm^ciFf&^r6O*pC#&L%D%dUzgf%O=~}+uu*F z8d?r=yxSuV2j$ztwm~jeNr&naR1&+S;qmV+C#1o{A~Rc@GbjnrV4_n@J@ainLN?f_ z&Gt=K$@bm4Cy%oP{VRE(Q>^Z1pWn6mx&4Mj485tR-UJpHcUHi1YZGol%P?4ia%jmD~ zVomZcL@EhMp~Q5uwBmB{WhYfu!e-^QUFMr_zmGdmA%d9rfX5vGjA!7DGOzB^z@VV^ zXm~tx5xK=KjfcEGek>&N!p6p?ZKY(u8if(#gQ5Oom%%ML)0o8zUxQ{3*I2vPxqCHi z=WuhELi8(-$HFWEfp)NreOT?Y9({DAwo8hm%5v>?d>wbbdh&kWPsq`iEz}HYHe3rx#u;`=U%19t z0A+yS*k^j2GO~IuXd7FA1>*pl&fiUWOW{TS2KqpGe1F2-rt~IdD(?>$4x=EFKJsD~ ziLk+YCK&_T%A>O^-(D>uU+q0HLK~jPcV(FF=gLL(yY-HZ8?zW$bwmSaPY9-(TZ2{X z>QX<1%d=7SwOW0-f4Jao_uEBhC?;a6js-_BrTn+rK3tyhIyh-+64RTi`qx>Fv55^lxSM0OV zG0OUg_*}c0X}TA2OYy(32*aQmnZN&qLlzd|5CqWf)cV87i@61v#5q%>=LB8>sfGoF zf8iUfuWLKdFy@6dG*$u-iht^9<{8BNh2mEF%Y#*n)WP`uWvt22QbR(?WVHLj5ylgG zXq0$!_lSv(VuRo(VTm}V((v7m2$2J87AimV*-#?SQ0k}r{@c)M@Lk0>b^rkd6Vm1f zS41tMVq-QV-ea^AacW38n!6UQw2r>MACRYsmh0xvchTOJ-%Z#sQX*2I3a|u%JN#fJ zLyd_IGZLBT8O-k7xs71NTuw61WLiwCFm;JnWZ7JAuf8u>}*5xl8aCP#OU9=N*gFf%Lnrw(mx~;G7MYm;cpzfFgm!d?0*? z9Mdb|;)!uSSn+DnGM&l3==q(ubpXy2mEGht zXOoel!;*#-EnDQXYZq{8+=-5ZF9fkPCu2%KXmZd{;0LQLw_;J!7O!y-Y3R&Jk0favQS|kyFA@}Yj80}{s;ssON;CPkB zb!#jO=1}ic#Gv56DdC{V!h0cCH6}Ke)%l=^U9@`+hIZ`tQDOT#y>cQr3;s+#(_$Ys zZVW~gmcoBQ_eQ^=Fu6+T_wh)dp1}hC!sTE*ZANW0OjO#jO~uF86O@+h7-p_N*s~`Q zB2%+%qc{=q$gRe}zBii!~`quqH+r3#xc#rf#T$5O{ zC+Uj=ww(D|$jX90ErSO*s)p-mWT+W2DM!=jU8Y{^l^F9<>_j7tO%H}SJMsKaK^*-9 z8+I*Jl<3>w1whox)pP1uS>kF)Yy)f@j=hdIgtN-x? zpu1Uh{*EjEIZ`hXMKGYV5*{1XUp`^to~jBkZhXch3uzc8flegsif_kff(J>|t&Nx2 zY>Knv5GDi*X6N|{ymmr z&$Do0EEI=$$zSKnRN&K`dg1<>UHc;yYV1K*o>|cU`nA4q39?dS6QLJ`VXIg(Dk=?l zPQ!yH6@jVHSDz$yMGk0FP-5&bGmCocfHhG*eOQP#UXo}*8*oP7&HGt>E7 zDjq!qXM#$-``KM+i28w8zj`J@DSw^zrE>?Ee)oRdH6J=<(=Sa&I%Bp(M6}lumz{RneLC{D(X5MG7sQ->(h%Fa$8Z7#Zi>w^L`{)zi$I zCig0?8~3I4l=-&bubui4!Y%LgdLQJaJ2ySgeObS~TXW;vg!c> zM!FJHNLsER@-b`gPuNJIE;S4z4Tef@SPdP2fl%v#JqZCBs&{1xIC1JzB#mq{3vce zz4EBve^UaE6uFEtDWfYNrSQ}eqb0lo(*+IBWUR9K5us)IS|rE7T9a&o{;(%QBurPg zaqn2 z?4Hj+R*>l1+6c7k#GwL}N2uVvuYSfE*(dJdBH1++bgD4d*ZzPvQF> zOHGuo5P!AJ;{2$;|Lpyu1wiV7=~6Tl3j4=nVRi*j1?fv)Hgd(BpcRlnV3G+3BVWg< zg}|fN`Am5#j{knCEX7I;bD6w__niheB}l*^8EmI0$mV<(-KfdeY%)7V(i2>sjVYcO{K8Us9V8TSr7rXH86ih_L>iFhV9 z`F;2WP8i5$5dc>9XDtjze*Hs*c!%eeWc&~)y|xzva~Mz)BS*tp`0AYRYq|z6DcMt; zG#TTJX5^4uqx-r5llL7d3(DM?A%<jor1?XQcV%i4JSu?kG{#@9G0mPjj<=Qf*;AI6Mk{_4~5syd`1BUk_gzh1@Dg&O1 z3Z5hD2zECy;fbD^BUn?mz{wp7Fgr|O$dXQ7jB z*SukpjZ6gD(g|qj69UCaFey9_iqJCwr31s}YuYKY5t861@_?Xj*6qmzOt#&nm-zQY zuF#Ziz?YDo8;=(mhR$BFz}BS^L=o7ek(ny2Q%4O?Aw!culE|gOVMG83RDWfDVly2a z!f|}d+h60^LNN#HV)J*MlJF+P38jh3LU;pJ>kwc`z%9?QUBza4dJng4?rSJXRf6yz zuLd#yTmE6*>Vws(_H<>CYGM!`LQV`Urgl#`(eCD=i{Jy|b|}jaI%6gPAU2 z5FjfE!eVz4F~$U_PKsG1;IPzN2uxsZ!h{&Zp-TtnyR9_cD2Wl{jKjWQqFpY*cN!jk zVBCaRCMPD|vaSJy2nmM2;hEJOH^c7Su>k(^HP`K>wl6I!_^UQx@ts$Ne*95@11?qF zo0SQ?26o7=ZPLe{&2Qcxxv0hm6GCvEt~A!++T9pG@;BYFpk-<%a74L^CDmO1tJ&X> zS{rtf?N%VuWI7$Ssn)(bN8m;|tu-y*RbV$@MIuRVcB z=4;^o0ox(=(8Nxg1SVmx!ybMyH>te+W)NWk5MOqzDItIt6b;RDc|$(zI2l!VMG}w+ zF9cyaA@f*lb?uMo%J}p|yL{3O&t)MJdG>xiFVPF=pDILJRgIMop*=BDS!FcmX)6u# zQAc4n>Ua#YD+JL~dWrSS*83c?14#mn5+|U6Syc6}bB-p3?H4X02lfXFpTAo($h*M~ z%t4VUV1D$AVAu(B=6vT0E@eYKhNT({o|r*mt-TnMWZ#eTRxQWm85rR+v%Do@J`?iT z8!_P1MYo4;M)6O@28sgtperc9;(yI*uEueAIhcf#9<%<`$&-aB6ecPw)BeTEh>sv{ z{%G#{7he@Z75>k-PWUS7#Lp$981#P?eBg;X0B?*fkjjwwDhW(muoyy119+S{G8>X$ zFLtkGE~|#b>60f_K^N7|`NuQ@kwj-tu!!3T%CqGI;=^E6Iy30ox4Z^S+hN3|u0n#m zxT$4L$z)nKLvJX8rqlR-=)~ovcB%kd(HA>(CuMRpf;_z=%ByL+Y|JAXA(|y9XjEL} zSa8!iO3=1xT(|O!xslOYdyfX&Ozf0#C;*%rr$n_YChRvZA$Z1U*7hZtEaP&b%RpbM-)4P^3i_m(kb>ccWDbR(j_ds`l{1qGABVzdhhATy*JIvSc^6Tw# zQPapH+8zLtRaY;d%Y^geQheLD7Bkn@8|E_!dBnR)$I$SJ4flcte&y{pP69*VDIEpr zgiL%$z8o4XH`P~A7%?mZ?oLet@gzy*ZAXSMs{7P?w^_5IOl`Vl@X-8ioHS-(1`>w; z0C;{>AyUlr#+6`FNrA~Y_S+KP!wJ3&kpSaov#QNtP(3Tg%vbH1JBa|Q&9JyU0!Gez z+m@}*@x<#_2+ErDyGc8E;_wJCic84gAtuAGlTNWaRrRp`g z!pmNuLPn)MW8g@P6d_uHdm9OfC2%1;O&rIuai?)zb6(HTFiV8j;uOu{JEJ2Yz=tcvX;KN96 zRJrLkTRZ21C9`0J|0K$NE>K^_e9YZaN^{-*wE4cX;CY4T0O_m(>%PE@ku6Kn)$I4n zO*omsNCEN4yU_M_3Dx3!4#kvX#CqkvqEBcjIATPlF^7l*JkKCn3aYHbE3ck&KMRvj|`0i6$gouY?lQ_Lpr!dcL!V5^= zf^k~f5or9@s>8Iu!p=cQfM_+1B<+E83H>J12NQpCsnW(Q3b9 z&&H%rt_jwfnMI-ueFNGxak$9NLN##Jarvy4Bnmn zDE(Mfa}4hLBGuttYH|O;a$=t5P19M()D*K6btL2$b6X?qVG+QGVIs@wNcUh^-HCf8y(62Su-4e-@!F1_+r`^7Cprq86&D9TkfkY+lM3U!6})r{7xf&#IVHoE6I#MT zAr6tPnW5@tkBSa+$W5TNVL8^bI4?(I#1?sAb>so-Lhf4@29x9&2He3i%~A-~3W!qP z=Gl&qa=B+_z^Y0krt@`%x2)6U+e3)5j3J;Utd!d-?{;cJD!_Qu?-LrXuU%VBvK?0v zR#!xX6!%p=w(&gkVeLqTA5Imq)Q;?%7lv(Ha`)T>NxS!x7IqtohT%%;2g@ASfmr(2 z`Ub5j4j+UP64Ndl9;4L;yF=^q0?L9(JooyDB}@L<=jRpX0krz&*bUa)Bx^tO{tROKe44I4TT&IX@M0tN%qqlKb&=T zIT{2{$0)LJ0^t?j4Aj#4k<#Gq*y{K6Zbuj1k|S0xvuo>Od;J||c6enNs^vV~brKe3 z%B3P8=#zkHljqiGGSZC*j{=n^{8r|Jo1-j61&jyoSckF?yg~IRpWbinz#*)x6dqR_9@kK(RZ;V~Haz&L z+%Z{$?kk+)*MbVK27a9HE4AnXT~F-Mhc=wSNI4p}dy@$mW-gB_sc15bG64fRI0Oi-+b;mAPqc4uaG;jP`Hg@LxV4Q@&$bx~T zHx%b9i3VF^_f7~e$p8!G`U(7=F%YylH3{Dcjg%W5q}Zs6ihaS5l#Eweq`nJYJ*Kw! zO=z*q*iOaE3YSsKcwq7>t-?j&I}Twy{IqxJ8ZHO1_Mw*W#Kc7XhRx7iG)RqhuV~L` z`C5Fw$-)2Y@AKpQ!@5pRFS{mCe`zCrV)d3ShP_fJdKXTHM?`cxMQVJ`LGQxu`Qevr z%ix}JA;qY2w~{lPUA|fR3oE11KVKrwh<6eF<7(6tG|N5O;^nut+-DMw`>-8W59wMj z+WOTd-9}`tTQ>H@uDl+Sv;b@yhOVC6b@XR;#PX03`?XyzD#Ppli{r$O|*&m0OJj_G0=MGD`@aU&iHQQ9yYmJu* ze|HOy^ANy73`(oK=p`fQq1aPiT2XTUN_Mz^@=o$8oyQ@AfJ4{AIX(2JAo?HF(OI^d zE@e7yDFz^lRMxR-LiMt zfS;bn+*ul)O{qZoqFDxj=_ofGNixvJ%b4`X2n);Qx9NKS`uI;+%YrYNXyGSAOIKtJ zY^hFN;UG0`GT&~nE-W@BZ#3vlPKuwZ`Ru@+yn_CPnu29cGS~MX$y#>(!+20kMn2ym zftzX0cA=dbqmh3_FD3qdqw4kL78dOWu|?^()~v^x`-5imi0qm24<81{T|R&P`V#>$ zgCLAxvHX4b=#d-NV^s$Ff6<5!s|2qhkVc!Za^wmo`K{AS>@qzt0adbk`3x99)>tA=TM2Dc^ z*;t@S`B4GGg5n0ew-i!hcj+o#b}}yn=Mo@{k;9QTssvQ3unX-wPieE`ykIRwfQ}WyNQskXG9e>75 z3=KP+}C2`U>;(wVL~p;t@mwn=FR)_^V}<%!u%2U%qR}^=ya!_oF z9w1M)O}aZa)X4*DtG|9-BNn~h%4hVwxw7HgUateW_JXBW=|=6XLv>m`N}1s6JDTZt zxD6<4D&BcfSYy7AFLz>rh91|hiH-<+R-Ui6lgK;q>n z`=xuZqNJjPPeOTm!l?>~xl**xRQ8t#Iy?vSwa?f-qpTE>;a@z~?bMaVeZ_N1-eS+a z2l;VcYebFzS{j%BkmE|_?i*5-4{GiHDX3s8Vr)Ge;{Wpb^Zr2VmYQQ|!m-BPf*{Tw}gGlHppyKL12xotcMi;o;j}AEWAQPk6TM2zhZ- z+vJQ+@{U%oY1Jy0_6*;#U5#IwoMNvgr7JUv62;7oG9n(G; z94kaeKf3sy`zGDbD>+zQ3p&>R2`G(=dQ>&OsfJ$SkZOu0-?d41)J?NZwl7!2--S1q zA)bo|#BIO6z}=u&^?@A6e!l`WRs=#hdQNdDx~8P9Vmumd^|v^7q7mgYORK=vXG&5Z z{GG(ds>}x>zXlg9<|~;jiDBvMq1p zYH45S@8Y8(?E?YgntkDtBP2~RiAzI~)IG}=I&bYbNq&A@@&`C&MM-^!MV?ueNrlNi zwV3SeBZJ-~`c9flA{5tZ|KP;3t{`G6@%?dj_P3X4eGAOLJV&kcYL6E5Gh?hLj?o-r zmOIJmcHd^J34JLq$$3gj(z;m?E4W=QmtA*PjBtFv$8^)aVyo1{dK>5g zmb%K18L?RfiVuW~dDa*Pj7%gcNQ|ksEog5JL?wZMtuRYI2STljik@g&O|pb$T{X@P zp0iQv(ai$=HrBy{a3$Sub!GgcWV6FPPUxhq*OGF2T%dd~YEk>2y;~a|6(}>5?NS4E zPIrExdq|v6@!;Mu;2o@4^fY~-bPFGRFOp?g2iKMw_GIGdRN&xGfyw4duiJ1XEe?T{QC08i1DKmkLs+f<{wJc4Px@|lx1Z0o2ix1RpfJYPhZR{3F|Ej zk`}kJpSo_GCTZOxXg)Tcv#xE@wXA5UtW@u5Kuq8=%OukxWwkS`IHon5_G(yphKjgFwu$ks^{T=JF_uJ$HgzWQ^ zwn=w-eQSVlkLitgPsR4`12L25B((j#q@13&nUJ~JR9zizF8_;%vwL)Ud;0=UC zC=7o^5f|S3vIhsuocq`12;t8VlkfjTpU@kiU*Y3JG4}HpT!mFoko=fjacP1H9qu9APsSMbFao0XUrY!RaeBop=FEi?VwNazjIv zubJM15Dbb!Id!Muc9kzP6jz0S(=NdGtMHLFF;YdgI%@Q?^;wQ0)QqA)d0;eX5xisg z4~PlrZjD5M3(EIJjG~y}^^Zj=6co?~-ijX~Wxs&`h(EURs zVhjRMW~BP#4??+?1|6pchQ$N~R%HfwB9J91P&;>;CtJUN*j;ug6#|&r?tt~Zkb{)< zOkG!N%NTlvI0DL9mVdN%J9ohF96$j#8;YHd0$EQ8mov#~{&Tox1heC{nR#gR9L;;1 z@^U`7mY2gK#=c-OqiZ0;?)%zdU60BhbfEGWXp*oH9Cq-I=y&UzZQ^bI;J4V^15Kmf zFgyYqo|%31fcMmet@p^!G}x+~TkPa8+}Q%u-4l#RhHVr5{d&O-g10sUu0h)|@Q;=2 zjRw#Fh}{Z+18I}28}y`MU7SmZLhA1Js`q!_o+Q;E~&c2wf*|<>Pt-K2iUCP8tBGiYLMK z9tV;^(%+CkDMN)HFoWdEer|~2bi*u;u)5q?ukxjs<7hUJI zQkQRa6Su!t#?G4(ASmY4)}3u{=8&Jg<8I>Z0k?t!B!7oCHfU0O4g#LU4E?uBZE_j^ z2QD3TMs$c{gljZqQdv{RvYLsOs`Cv?RwcTcKWI#O*MMOQgBHjHN|&W|HZHlgbF>q2 zd@Lsyo4iEJO~6ugnbv2o`3JjYTDwjRl#+xF5S0eqDr(5jhbw`Lc37xJm^2zFTgh6< zt|AaAa8Kf256C0o{i#e)?GS6XlsGcexBt}zEIl$cTu?Q@^V#K8-X#{^5ET@^QKXY1 zf;o^iVnyvxX)tacL%~O^6zm4;Pp6EUo*zYYTGD%9*umyZ2jH2 z1_5<)sY&nj%L>E>jDSO16$E2jed4~q0zj?(qLgoC6Lm{cgE1U8Fpoe7{^a@d>ORY{ z?aHV?l5J#^Q}bMv>}9m1TJ2=|+!ebf;yry@weeOaymy|F>cz|lh|`pgXwbW)sVKIo z%EW?5$@+Sy1I4XwrKniDQ&dRtyg6dO_wV!2Z^)&DVw4T z>pU&xPkB5;tg;6T8SuY3`RFsFo{AwN5n+=daG>+{RH;fX%qj)a5&WzYrAg|A_lRqRKX{ z@P61>aQKw!*7Doo3*JMnVc<;3rpzb2gpoAKuuBHA>fgU?)s^+@$xA9aN>#t`v@;$b z5CDZ36Lb=Kh>gb;g>(B9lXFAoUlu>^P)l`n7eBkw^l~|CnDv`QDJk&4XQ^h4O+dmB zKZTifTC#zmFP0 z_yCiUCH_xxfyqkOQo}=sR@lp#Rh3j+C|f*hvgEr#lYU15a*3bU=H`GY0fve=5R}SV z@dEc0RSAPXx}q=N#g*M%o@c+PbCXUbGyrT=BRE~QQMa%uj9vSX6TI!Fi}N-SxLI6= z)UXJrpw!MJvpgej^B?v*_hOt!nnkpW8V_YUENmSeP@g0MLM7{kD3hBI1xIG;%$XB< z#&qVYF=dj9?;{evnIsy6cPr}tlTi8zefACJDIYJ*NGGv&bj-}IgO>+SX4B;k4kh%k zUW@0shu@CC=mFSjp#c{c1h_@`6N^c{0vQA&RQkQ(d17WWy4OARZ{Pb{tJ&T*Ywy^> zN;Sj#fCjEVx=;b zJJyxR(41W(26&YoHX#zQlp+KeN=EP^^i<1s-_(u-fDXn3{8Thh(%3}P>~$|Hh?TKS z$Ev=e`|+gSP9I)aPMz&ZuNxCK#@9xauDbJj$dHFYCLCE4jfdX$13niFvW+ zN}rOoM1P`ozm)ED)8A;d8U41K9*^K3O>e&P$`qsYJ)wt)G`&+SBn622ME^ z*<}Uyj|LS*<8t9tdOHuVMC6<#A}qV-e;D!~CWidm^s2x+s9f7xLnL-@qU~rq7gBed zZEmuJ9rdoFVpjD{pFDa22)h>niJ}M`k}O-);KBWo$4z(ZI?eeCynQLRiL^G&wE9j| z6j!sO?_(scwK<(>@w!vMA{!fAJYIy#-7%ZII&`Zg)?ya@*AXe1&bfBUqvX=Qs{zUL zoi>u6&Z{~sW3OAveo+?mL4i?GV&+wBvae`oN?mJ+mZ%zr4=6N9-VowXPKpS?e)N<3 z95%4e{*vuqdeNq1uV+;OIa5Mc6J?)2x)U`;d_BM<6s0VBnSZ{8gEc`yr$>Kalu7_n9PauR7I)24_c;L;wApQ)$_iXEv8lvK4*;+BJZ4 z;~FrYFE)+tc}-4ewmh(1z0C4$0baT(8@vPxWRcTKRur$b+ zlO%JZ=ew4Lu|p*Qw#8Q%Q$1TV%anDRv=qah86^IL=_&!A@wPNj?#mqy+|~+LjrT&e}8JC;wk9Z6i$(k9KoQ?#TYrYhbqe=h-8Qqa376aq=)|ids9Pn~9GzN&) zHtt_%GGLU{mR}>_o;rk^PA!6Ep zFBa6DX95vXcmvbfW20{gw&pjk=B9g>Kt@{i}m!l5+eaeWhzHAMu!S-pIkp>LL}V|JXk zM`UzIF5X&xR$T77ANJMRjxnzoJNy`Xy&Y6eMBw@k|L|fdgm5iSVWkCQ%h&w$EH-{V zS4A1Nu28|Fx2KE!WbJ)hz@0Grd$PwO#8nszzAScLyCy#Gw$a$z!>N*ea+O*!7j6I} zi*{NiyDi<>t|WUv*{uo=l7CH!zk4ePI<*Z#v6-zI;-anYXQ&Midl(`FX zNA*%pw`{7~UNBOAt*oy9dVhXQvL|=5*VU%~Ai#<=^}Byc*qt1fn+j*T^uGKr_A5%O zuE`4Z>Xpk}!|5>6iX>$(k@)G7p(eLIqfL89N18OxwS3L}bK02AENv)2=%NZYw>B!nKb&co?xYk8gXpi!hCQn-|0%CzWN-b_S)zL+?K zN!wimHx^8psexc0!iZA#=@h>VUmxd@O)+_?{yjUd3xDf4sWZ!QszCYy2D{s;2U%EOaZ5uPA%ikHk5uuszJBx4pb&aOt5TmKs-%m zj>^-?f2ou6CXwh_LD%SMmb0HdlPK+YeIUOFOuwGWW9U+|(8WPXwPanvc+dl-`lUgj z6~b|(V@sb)T7gDBaL=9(heUeR2foINHIyBhYMK4lY^_d3%g8o&yZUVzmAxx?JMr4Y zd@0f0T+^_$=llvOsd;FllrtC4=P2mWXcKe#8#*ZH^tbl@qK=kuUZA4vQYZqBHiE;Z8NB1 zOivwC#kai7Eq0yoWVjJv=6?6fT#^|<2n)>D(B(n+ZoIa`3|S=28T)*qcjrt94I&Bg z3QD!e2-PnToS_x`mn0R8pq8u)Fhl1gVZMmf1@n`r@F38CZ-J}z$_6%NFufD?nQ&mn z-@<~MSCW{tA^K@Xq#<55k$d*Xjv2`cMRXcaUqb~6dSP1CEHx6$_R6_iLHQZyzhZXr zV1@VTKGkL>;BsPCiAb=qw3onY{gdxxofLo0%!7k*K1DYfk;FGPoDd~0uRRDe;eWs7ozzM z*M1bgFo+$2!h2Bl;kpCP`EHT=F9l9COm@E${ULw^%SPAYl=I6Qx4_*K_5NZo{gqc`x2lpL=A&_|R3KziT zhkc~>O$lTXwL+NoaT_0&`j{Z}2H;KN;$qTB{JTgZ5!?vy)*m3y4xt&25ugfUr$KSN zjSSDjd}JjhYe<7z#80kRNI@t&JZ&BjF%>e@Ug3g+RjKakn#EKSk&q!`r-#nwhDw3M zTQR(~Na8>D&KdoC$f)o?WflE*>kjk(s|X6A3WL>N^)s^KzFD9Xdqvigstb&zk{A#75bJQ^pv10JbdvZg-{Y$}17SJmdPo0{sm_ zverR3D=?3Tmpv6BKCdAiXNDogSDn^Arb@0j)9QI~j|lkJMBDaX9yX$`CE!3N%i{{_ zdPrpCGYEH016LdfU^);o7?Eg!{uLz#R;Wo$;4EB;O+_BAu)(yX6`det0jvSU7uGS)ez{#4Q3`5;|T6e1&L&$ z$KI#aIba!&fWYH1V$>(>qm@_BBuQz6A&U&UVM~~Nz|i_;RZr~UWne^OO@lhGM&uyJ z7O|%T_8sj6*#dj@;KHduf(ZPttHav~K&ta-x#^5ID;#WT=C83}Pwl$!`_UQ!1viF-nfK_4q&KVP8i8mR2R*1w{01muprClC$!a2x9cfKg-rtXV z$@4~XDTs2frXUx8Llvs|<1t>sB;kv98NpvOxoa3!B|i`z_ZC^zRi_1(+=ZtLiE|eb zxrR3MGz6Go7TBqDc|IXtdDkvgG^OA$tlbP#4ql! z!gGy`d-5zhCn5EA7D7aeK545Ey$dC?=(Q~Jq{)>>Cb;WGyH#(0@D8%W>lc2H>Dq9= z1RX&KDoto#6vuwXf#Dtw(#MwvI4QP*4u_quVR+gyDz@~g$2Fb zFyXV69mUxM1!rPp>s zJHkd03pC)FL^X4-L=Xfd(9x8sLXt&~pjUSJC!Yd9MvjG_8HJTvX~DEqfS8Vmd9dpt zsx?~qK66Dz%-oPcVI11fo)mBI%e@H3hMJv=f-q4^(^*-uag~sLd@LO53X<{+KxWhNV$Zlm+*clif0Rf>Hi8%V7n|QKpnr9fH=K5xQ7R5AWho2Z^lWi4Jte0z5rn;SpoR z#6tn`b^T^GN8bN;;BoxQkQ)N8sX`H#Mivljq3iwu8AMk59b-bm11kBhQyE3Pf@9lk zSSxT+M3)S=-`-bVbtO1mL=Cf z#dB1I6qESB*xDv(6UvWhai3#0&L$43e=1y8Pmjbkf>d-2Z-t`4DhvI@gIBMXfS*Z- z()z;#$_6-J^T?q)lj9v)X_Kt3w?_EWj_2F0AIBQo%fmh<0A1B;cg*p$Vsvu*EU< zVxMNm2vFEcO>S9E*P zxGHchcJ3RH9RvR&Movrcs*vovZ^d~G3n)|PUS|biS19FvoX<&DmUuN6$khMWF^Wk1 zlXu`0fi};%cKjRMGgP(@FNb*Z_lv4eI3_T9tba{PHs*u=E~25wV1L$j*Z!lVdR&)` z5>;a@yxO1%c#Cb43z@2Ocg;1z-@x_f2K@%wE1Vss1Njhcz=cht0pWvTEj=qiz{c=m z#dOoR4Qs!jeX{_&(cs-*W))vkB29@h6gx2$W27GgStv{;b$V9J7}h|mwgH`lxIL2m za8~PW80QvR2S233GEmI)`RVA&!LrqcM2amdcaIu21jw1^&)Cl~de8JEefk)2*p^L+Zx+d9goB8L$MMH-Rvn@*p?*$#wS<*-kPBquo17OB zIJ#U`wl{ES#qNcuYmrgQ0-yWU(Vhp*p8B~9^bK2*LM7e_rz=rWiRxvz^fgIM+gk|Knb{ftOBlPiAB{@lNtuhnO9Kvj}$luBSjT{<=@<_r#$UqLN3Jm})QE{gL0? znw+r^O1060MU~1<8+>l*%pUgx2RU39zK3d%$`AzW~VS*=7H$x!ht7;Y+Zi5W*_Yw85yCa zK7RCQxssA;ejj#8rXoeB=S{?jhx_l;QX=HV+OyOXL{efrk>tNau?bQzd zpX+}J;b570BP)%;aHI->m2dA+OM_TLrYF8yc^GtZCpl2qBgW#h(W60ps96DPZh@v`P5iQnLnq99g5 z(Zxz!idtVNB7~Hkx^j2^EVUa|p&J_taY(bMZu)cOuShREgYxnXHQKxY$~<*{mh0A% z4BY~;>-Sc~&eXIfWi@8zuqfJC8LdK(9}is^`t98w4Lu*Dw3EKXqcfOWRB<+loCD_} zV6)lNgTLGKe(9B_-$21$LjfuuAn=LNP6o3o`WrzES6!Ram8B>MtdtEXivR?Y!&*lj2KiS?{Hp{CRCRs_E*KM<+F z5@VA=J>9o6E<{8<;2w*Qj}P%G_0EOiVDR?1hAoHdSBvQM_{aKZJ9WlliDHM3uU#N7 zF3ymJ3$O0V4szS#A}+_SA^Z_WYfMbcDy6}!E!$vg^(DnT*l(U7i4?K5)zH{K%QDUW znBppNn|ngR0q^RFPg6oEd6GfcO6dA)ejip}@x3)DZ1Zb4uiES*wgk8x_my2n87Dvr zV5O~9i@~(fS^3(|xGz`K^rZHowvKfVy>n;Pw9K`ImB(3Zb~!Khb%nqqA!rO9#i1g% zmR3W=tWVteHU(#*_V8V>bn{8CHB^Gt93h3XF>jnc?iwMZbBZv7DDQmw8H4Dp5ty0!$Y z=HcO4red(Fr?w6I01VvoCc+_?kA@B)ac9me%%YPr4(aOFJY0&zaL*6qpefk9cW)|4 z5SivV_;qyW-N}sjANqQFN71h{TBE(k=AcElOv-RZA@mlJPjYXBdY0l2_}|<7)>53Y z5{fUEpMr-VafVRDvbQnYZm|4CfmYpZD_#hXfv~92^S#7cq#1vg40It{(@V#ZYg!WJA(TH8A`0r^c0cB;GZ53Ek&2NNCG+TC-eXr3FS z2EB|vjH4qv^5fOHl~(hzJV)14&H3ZK zr~Na7{Bv(0x(y1j+-_elh}(`In-&saR@pO`5Rdz8!~qf+)8gDNQTxZ~uRMeFr$!egF1F z(zc6aMMVQi8g?b5BC8}TDp4}BcaxH2w~UN%A<2r2O0tTww=z6YaCdQHoYtVcdkGC#u znyH){PxDG0@qB`x2BVDNs??68AbB7WJl?kA{plcYyFbMs>-Og!-2cRTe*YHQ=6`O- zT8w2A%evvBMS0}_zTfr{7%AEl%q-9V||~W zB#fWkeHx#DIy!K~{Lp#fV#LX^%0>Jb7Oux)MBZQCvm{ZC{(-8{cNKvDm4G_vnxyMF z*RCb~4F;phK6SL0lrw$qnj9n5UJLBNT@Gkzv7x~hxGRW8t>=j{25>19G*jiRIpQ~z z)EG#UX6Zt#mq^N@d77GWV4P_Vl>ZKiXsI5Bj|esgoS;MoKyO&bn#-MB|`wL?i-!0%GP^x-xj&c zbcZwY(?s`<3n+n|4{I48M?;_^`7Cf2Kj{O^7(Bo@dq;U;$85tH>-s6~SqD9*D+d4I z79sorSWE)0{YsHhGplCH{jibKEDRt0rGeuG4*VdQNZBpt`8r&;vi;<`Nr~!bz9kq8 zR@)iZ8$ZXKBqVOdm?TU7J;o1^?3_6(x7sf>$8;>YHl06$$=P=Z^p90sou>8xI zjML{|shKKq0HLZMupP_?M37s5oqVNem2h@*(7p}V^tjX89-+ZZmVSa7^l|L|-O-5N zRK7R0&0lm)z0ZAnd+o8KfC8Dvc3|`F0TM{@CZ_bwz{J*|LdJ}%{ZQL_Sjl&KEy|IO z3$km9w`|KIns}7k*D#4oz5roG2tJXxC^AIY79s6GPeCkW7ONBpWTS)8>9%KYtE-ve z|8)ag<76=84iuO~ZY3~XQ{fp*j{r;~wkY&VmV8AKl3Tk-3J=L;fGySKtDww{OGtn~ zsJ!~<5eAh2zNOKTqKava#U?w!6AQ`88pvZG_SjbI$H)y`Fa~tY6~o2chvMH(HQ&ZO zJL<7%c8TfN85B5ZZ%Gvd7rw`#8)3)`i}{FtV=QC9`663V5J8Y0Q#C@hfoYcj?&uld z7o=UmyE<`Pp%8WjmNL&#h#jk6FNSeL{Pvfbosa#I*WpQR?8(EyaT5yL+;M$#Ue?VO zPh$K`dY%FU&rV5_L4TV)95%|t=`YzJxg5p#FbVcCJ@tNc5lMyxC9?NYv9#; zrAj@?77@A)dYlw(-UK^=3=G&uBdka@{ft_i zGf!o{k=XDeIVB~fE{_F`pe*t=x$=0zgw~;)DIJ7ajiupkOF?4&y7vPEiW4YCuePvs z54q|%!3y?-!`v}-^%ss4-o$1Qx-!jR9xjjyJCFI zj&@B_DpW=At{}0Pc{5yiro#wJBB)Qb9)*-98(i@c^G*D91{$sYoJD}aPLK2ZhFp6d zA+qTn9L6)bbnNG7=tIL`=uik8OU@JOqm(1-!BR?`uL$98JbLU{NbpqtVK_b!rghJg z-b*(Cc+Nqm{SoCzrWhaV{*8A9$tT;tb%%(^a`<7S7iZvvwrwOX-THA8V8}LzbNmyfSbn#upjF z6cd3)PX3BYk$A)E|GeQ#fsyi`UZ7KFZu{=#pCGpB;?0&u>&v6ipMD&9qa!HIj8rhwPf?>Y{>o3w=UTmd`CHTxk2Za~ zF{rX`p|NP;7WhkgitE_VYnW?S9io(e<>3yS|EUI1ZoOy1)6L7L^o0)z3R2}}pKK#8 zgF{7&p8M6ecdsbrO3-`dcV_!uxB&fJDLlhKgq4? z%E)n03JEGhLI5O*N{bjm3GUm+1(RJHX~{?d;;8n3rwf6_Xbn`no3W`Bgj%7un!@3??i+poB+(7i9-rm#*M>-=7~HNV82G8s;Wv^D1&()TcXes zoJ6;%d9{}30xRXI@CtWmQK@tlA;jy56sv}pWAy(y9vn&Uc@gRf7YrPQnxj595mD1- z@n`d}nZn8;vPc5rPkIW7D=hF4PJ4r?gtW)+Vz!Rh+i#AxJa@5U_eMd>!jLr&=;-L| zWOGW_d-wZz97>cCde&6*@f7=#O<;5;(15F`yLRM~iPes|)9>x^+ch`e1#? z;PG)4j>BNxT|zE1?_+ZP?(bl^^$HYxFsnjubSe6a-Qw||2^MHs?{FJ87J9hl zFD}dySDo9d*T3H&tfch$%iq4taPu;TrAwunmCHZspuuU*Fs}?)LQhYC#rml{1oyGu zt(-6qDaD8*tdRyX{A2OnXq|Ye*!uO_b$lDCsTGHAikt>-LWnCcbjhdEy0E+vE?eZz z!s)PgTuJi-SeLV~Hiyarj<{ePc<^^nybs)91Po12frsJJw+$AZYY(vW#N8y<%sX|| zw67`xwEatrC4hp8fw% z3vCe=e&etJ2$Wzf*k0>q6`_B31HN&9ENwX|_!mY6+e#HJZf|(I&MB@J4E!OehcL)> zA3z_S_qL&R=q}JZqX_Uw`&WnkR)cq;~>3>aUGBr{8@o;VSs7){(t+B{pw3>9?E?KU_kLE>Nz8^6rr1$nfSf^?-@LqsvkdoHrNMlt-8apl2ZQnk7k8K7SUgq z3+Yvk^-T;_(Vnkh)s$?&(Ywbdm)GJDa)d$0ZDPa~ZRM5HZ@rb_v-YOmO8u*uDa7lG z^usU(1HY529kc7sH!N)Wh(eoK08Se?^w+H*4aOyywK6QrVX-_I|2au%waB@{&G1a7PSn>H~ZA1|eln#J2{HxC+c z?pvqzbK>HZq>f$>@dXyRtUk}YIuc0Yj;+mk4$1kvZ^L{|qLdVsI(`EzQ&d#+uI$4V zX;YhcK0}PR09l{#Yy)Z#5F|(-oU|cdkrL9Q0P6=(%zy@%tQnj#TrrKvxoTUHX#}{(>{S7Ywhc4K8~y4{nyHVLec%hLTNGNrEN@ zYPdk$PWCrpzh#HTEmHLpq_;n0$Ah4tn0|vo@TgGRY7HC`X2un&?!C(M`Pp|sf%PKX zWOYwVj&+(ty034Uk7`8vQ)p3kcB{#~3}{4Hu?~|2cILtDZPjBq8#ojpi+MJ?@2M+*%Q%#5ujz&6C$ziV~$vhdT%MRqcfgLrr61Xpsrqc zOXx&xx7g%i@tpVVMDuEFy@-0dNktK=9_;S$nm}HH!%x&aKIF5%m9n8F}Ex&HRAi(DCKeln{g%u39O+k z4R;(@jTnZVQ>y+@irF(1;OKw!vn+4n{dEIfCQU7=i*hrby{a`vaSoObu!=vr?95Az zOlTFE{C{Z)&%)uCwBHND4zB|I{EA1qOIg|3g*t6Qlt-6cmNaj6vIz-Vwh8y{jpJ{u zpd>{s)c3VCRUuXd7+2@ruKpv+&{s{h!8LJyU5!n3P~6cDl7n!8vzP4;s$X7pP#R<4cAxs ze*uTQi*OBW%cVNclRZh)o7a9Q^}7RYi`N&E@;)lGbV;_WPbQ2KmCv5t2-sgRz!8f~ zdhXM_MbibqSfe0NJ$8(N0ucdYf$Mlsqo(7lC`2^?AU$4xvmcs}uN#xTVeQ~jli5h< z7W3v3WM6=$BlQGoOx?(YC{KMO74AFEQ-8iQ^;tr^Mxjb?Q9Hs>(M%t=>H6QX)SNJ1 z*`6JA0Y_Z?6HsyyYMH+id-4e9Z@A^yjNsN>QJ67?o)G3$I8pzVtUpGi#b3X60LlL@ zs!4jv%;a!di!#nHGBgp}L0U~Fv%!E$N$DD)>ES2yzq!B|$(lKe3DO?Z`S7kY_$*nr zIk3B>(f~{VIZ9$<3_U`x6%_rdRv|j_t4dzB&7L#f_J%QS;;d3~_rCfk{Jqaq-oHRN zV30pkotS?cdZj_2U4+VK<7cH3;YR9n?j=$OEpn68ia}m9pvOU?666ht%?Qf5@2FFW z7(+kjis3-jw}piT$WI<^`$ZslJuG3Jo1f2;KWBFXe+Z-ukrI{DrAcVd2WgvnU{_fu>20j)P6t;MheCGt9I9tC&LCA^{`S zujyhO(-1C4eL8<4_liYKhK2DT<(-CF0-Z>YgXFGVlzsdT{4f12dEkx+EKdNJ2{jLK zBCAVcSC5hx4S!cyRg=g$vm%9w3=eK&r0Kzn!lnQ{xTnp{ z&GiKO4r8&P&*(HM@vK|(m+2}7xR|aVsLPa4-h2NC8*te~M?y!1?^dF(MXvcnM35dA*K9+F z1j3#sm+8ajsyZOZTE8lrhmBP;IQH1O#N_B`0dmF3*dkri^Do@sFL9~Myy=#(ARZ&6 z;a2}`7ErQ&GxsMkat zoz-{{tN=>b#IeaqpQ557S@u)tIrK5T78f)}3i{}6D-@4#Z`I?DKc&Wn-i<6b%txC| zv|8R&&B>()-WDy+TOWJ4^FaMGO=vl>!~p~|ZP%<4gByI0RiKb0Qy+vb(b@F69~be8?9j_3>uKB5~g%Ltc7i-BjGJ( z&u=g^P21b)&JIIVd#=y;WPpaHFW;z4HWpicz3tf=3bMfnAgfq0l4(H1)+?O%fy*{{ zAnT%y5)xm}=FVGNc!*Dq<;8AHQ|V{(0{(votKWpM-SzkDI*zK-9uY@>jSAl-XzwZ~ z9(cDQ%6vfnk+ANN1^3Pjn}m-r=Vn>I{thN9Vj+70??S%X4}J0LEJN$7V?Q-1x<@E# z;(kiC5TH4Awg&(Tm^Wbxh1eX#9Dx| zfqN0fA0ig!IcOr~TKmaRBc2+DP1eE^F*vO}O~ur{5L8n81s1; zlt1z8-teaI#}EzlvI&H%1j~iG;Ja>L%CqY89)?GWJA=A{*9&673^Fv$R_?rq%lG%U zh)EzJ`pH5!T*kMAFT>*^xEjejHwvJj#vWYxmU8-+w8^9lI>-%#Ux)eOrHQZ_PIWJWOh}K7_|0 z&!G73afV&{T_gvPA!fifX!69r5d|xriLRIi=4PMjy@cJW%bS{XASqMpzuO4CyAFp!G+t&s^;f`#u>tNaXD=L0Qwm7?*GZ2Kw6&DsHX|SA_ ze7I%v3SwJ-v7Q>*+WNJ>z-dzQt6pWYo3;D6q-L#Ml&^ItP?=4$pdh!qjrVU}+_3xN ziC&z}?dT)=D#(WM@is(a9-|`nX_^`(6cvd_FSNe`;(H$*3#DvZ!+7XCUb25BJ3IS! zIvuP<(=jS=4Xqq_Ifu#bP=EvYBK)^rhunO}%A;y(VIb^ds-{b1h<4Qg+SJoq1HlGnBy;T!d-9;FnQ?DgMBR77!zivgCSzBV*Sa_> zd;+znVPvv?;#u463>qfb4`&_!l`qnG8Y|Z}dshGefyTN;{%Xyr8oIEn`#6>Sf8od_ z=3}8Mo{%Smg)}?s8GmzwvBImTjr#_neSF}xBs8k1A3H2E?U1)a$;o#Iyt)nVM0Y(O zpON^;G$PrMmkam9-}`#+tA1q0V^jO9cR=gqORSSzcgdy7Qrmb7?c@tjjSVw}QOUh)=3Ai^(A;fWdjf=PXkEe4|2{ZT8-D?K(B+D6I{(LAKdNqodb zANQI_43Kq+LBTgdeqN4EM!~Gb7kVs-E%c@Dx;EGGlN7}}di0dnCtcR`rA3x{r7h&N z^oFMyGE(LyiaKp3`cMB{@GARZR~_yb+$DIiS<6uo_!xz zZ@5vhs7s_YWQ#g5nSQr(JGm@pD%e=3S8v@zcfTlpyr8Xi;QsA=I3fKT>nl57EZkny zU0|lzV9VRtvIkfTf}&+P=?@=;!ef-IXMjG>WnC&-947oWkyRsM7I0QuOT8hVHh~?*6ihY0VyMx6xWmxXNZ*+IP7$gzP&+Fb4k%)! zJi_V?QYU#D*oy0zv7IspW4ln5LzOksUjL z<|?hWtHew)R&_B_?0?mie8()O4?vSxtik}ng7qE2DxW4NC&SJBcXt!PE~KpVSh9qS zL_m+%c#t}_`Diu7Dx*W5JXv*sg{J{Gh#v%!2{y@t{y^hYpXL2(5EqA*au5Tzw)%W; z_ej1&QA#u`3Ul9?Y1k}sSErN{h#?;Mbox1P6L=HX+})Kr?nykB(679DQv2Q&bwXr` ze>DAQDq4NoibQ9%X}6j1f+)Jw#l?G`;huD!X%xy${?0XX! zDXsYr@y6a=s}xmpJ{pP{Et%k>2o`T}+D|$6$XkUkvHwBpI4wU|vD8tQ_w|NLxhIF^ z6xgN2t$$9+Po8lf>02=3?R-cy*gbz&*kGmd@h5w9Wmc}HkWPXccp>hdvmn*TXT$yq zUREiOd@%u0i3T>!tHrO6>YKK07PRx1c%1ox>$uVfy<;t=JDxx9k?u|WrBs)qJHf9z z>AyRAAWIA!W?&9&a#96=GNDgUBV$UCg3TR%wGOaSgXa(rnIZb0zbuy%t&rd=LV5#R z%pY$!1N34yp)kSwkmbu$z%C66uYjQ>qI*lrZA`s{K-aa$U>llq)K zj~^)>5*W+*Wn1j9_uGp%Lp6E(l$4Ba{g1u)Ckc9zjKI1y>AL2NSrYko~ z4k9o#nuK|#KvcCwAqTqx(Tt?EG(syIjUMD@XORNQ%NUxDJ?yvcN~ksqgWj3byg|!+ zRgZHVo-!O6{naTgDCop9HA0bg>`!!%NPNUreTRrO$*HmAxGwN*u6`7O=b|BpzrI9KE@F$|}p zIINKb!_Nco$Bls6@A;WePNA%wm1|^q4O#hhBqyzm31}> z(&*rg1fnoS_vAz1!6qgGl-669OicyxkjW~6!S*+tz;h_xWI~L&R@A(@g_{#c-?Cs0 z#C1Turkj9N5KeSCJ<|MNq*v%46g|N;RbV-2HPZE!mDzAfWTB|WDCCQrbEGr=uV0pr zn}ieZ=1i`@?`|NZM?JfOg2L4FbbWsotoHU$1jNMDrPiJX-lwFg1c3@^kr2HItE|s& z=^wW>AAq27awEV_BKV-~cfkqa-4zc%mXXP#MP5KX_GJtmFW-fw%3#}U_}Xh558d8f zmX11xEUE3vzk_?5aA4vI>UZ$-m#&_YiyntAMdd!yP^x>#6?^39y{}42_e$bYpR@TjAX|2$(s+ChG+gEbw&2>Sof(8mcLPr%kv=pLXzL!dg0RQd(LHH7vX zB_*}TrSa6!*HOsiCQmlNEHcrBK@?0XQ6n)?dJth(P)O)2v@zt5h>KUB-H?=&L^R;3 z{AlGNV)Knz4oNH;Y5?40gU#&tbYcM-9Eb7s7P7>cq$J(4hu_7-9R|l_({fT-sqU%7e_r3MxV|Ssf3ygz z&d8PcJn`P49XlB8n_qV=_N~v8eEC8{4D6pya@gqW>mGq~4?Q4O2HIfYg_6DM4S)YYFig=9A!AK#a;PBPB+EnJ8Cr zr00yq^i*tY>jHm!pj7391+Y`ds zU9*dV2Z>d1%mjyqEc52ATS;Pbbl~7v0m^QN5Ueus1f$r(9cDVX8B*;|11D`p}L_y!hh;$9sXBf3| zX&iqda`&f=*)q=sU*D%D_qK>iD6_LltP9S5d~nBwD1nI;TA>z;%3GGPunHIz*Dq+e zI=H_v8lY!km0DU8qDK@E|E%vK`U|*^713P5PoZ?7-lb4vr+b1yyxhbBIkNDSi^~_V z!&x9SBHOmvHAO+qeQn7yOt>XhtPIi-AWsebwo?qDzc>TeW z3p0%AiQOPH2^bF&E1)aiC?vE55HuMn0Bsj0X1L9G-%)_f3d+fQ*E4lm_|F2-gxfk@;QaA(PK%gIx}i-0*{dO5bzt^+M4%VABiQx45FL2wQA zaVR2VP>MjAEoU7Y9$~%Rm72?wO7bO^S+BYUS*2Wh8|=2McyNIP`u(hjSz|<8Jz{00 zj>m``%)cL{ASh`5U-6xV#CNr;!|a>x3JMsR1yNY(x}?&I3cFUrB4M1!4wgk1Qn1oa z5ezc~ECiV(Mu0>kkzpD!GCEoe_vk?Q1EB*Y9-fq)Sh-z406Y%E`Zqz&lBJAPFGbzw zVkaDIvGmBGzA$d}H)P*>yRC2ZTK1j@edk6-O+rrRHCfj_Uqksu7-?_3*CmNmRcOUz zLUgx@nd~6JKppf*Q=IaH|vrh*hYTz3)9AL>5 zTZ!n5RCf?HFG4cObS(c~3{%L=xn$f^YBxkEtvSMR_#UtPI`q1vlrLj4+ih`2;<2x9 z`oqk69aD)}hIGJw<8F6Pr?m#b6?>X3jV{Aza%Soy1D#-uG}~d#NY|tLcbOvqqU^hk z$6x{t0d6>=`&$TAPvv9}^!5254o=6oL$OD>%=s1yOA%1?C>U%2M*S;KA~TF9LX%eM z81fv|jyMwMXFt2jefHOD__;lOw}G3x|AcyyU|oU+KZSV4)9D!AI~oy4x*+t{;frxs zw*-ofCCdzB+BsJvx~F2we9S7;XAF{EPBvZGkwc>0ou}%!zFqlnWQ%W8}T6dfuN@7Lb zQUhb2qpbztN^~pZ2ThZLqIs;wAfG&$x?T4sZklX-c=CMKmG+j@RrVI#*<`b#L!k9A zR8N>lBL`|;RuXWq3poAh5|GQd6|KddAXSlk+bac=fke9c~8eJF>$Y2 zrQ`|JlS27x08ZGl&)wH!y_eHt$m{3HR_Cg24YRLPj-&YZfZrh4*yhU&AJV!^K!#c@3N=#GEFWL7**lGcb7i zlvT!}W)oNmLboEsTtsk^Uzjo@Z3WSHLyrUhft_X_SBGl1j*LRcTUgeKYu~; zZ&D>2w0m}(gBA>ob~G{sUTX=WA~cOC_a0zksDIFY>d)DPR%~Ma?_V^Azd?&NFwK}}5(FzaTWY;4WKEC_#Zh++0WG87&LffgezlhZgJpQ>h?7gCdqOW*@xG=+S ztvp~DriG4osd>_8IZKp>9%bE~!ZR8rO|MJrHDv;V@xv zB=EUP@V32L%6|~A6Qq@4Fo1y|et2!r_G7i8ufM-8?~}|0EVcTBrr8t=pWp*R9W~v_ z_3}!)G$|^Wgr1Q(L`B`~%#$d`Y%YCCy$nT?O9?g zr4HT8QmSi1EUQV5|BoKI&At0GZH*(O>;HMzrd|IneULw1kFEOhgBd3jcP-vnVEOe^ zr8xtz@7SIt#=sgV9xN99JE52UGUsi?OiEjSh|qF+Fx0mYEO-G3NEtqqLrF$fQ{ilh zHL^3%olIWKD{X(maNn8Kllv978gIWVSQRO^3T@$jXWTOf3T3MSh(F}>gjt6yg z=WRd-RxtA%Q@>_r|1*3?Kb}lzv(_GB-!vbo4**tPzibm-%#Xnu@wXWnCjUSs6Z)G3 zsY2$VlsiUglOh!7SA|hg#{O$ppK2W)9lh$RnOgfxr?h*An_fa~ZkzS--bwuSYcnmR zN~&Dx#DL}Tiih&k^G6KC-h5(QC&(!lZuqf$ScCqhhjo)hpzq@tQfyA)d|(T@+?FlN zPsGm57Zp{eJ7S#|dDlIscdVPfJ@|`XBST)@pZYj9sgW*Mc5xxAQqWDn{bsTr&?A~&}mUJVTW0%VHjw*dt1GfnnLG1(E zmR`-+0lpgEGZR(^qQxE@aZyro{EzZW^rPwUNBIMh2=~PS!;A;>&^`**)I@mEhi!ge zcQyL&F^r!+3rua0bi{~5pudWdSu(}$YwUL$PXUlZTfuu}Fxr6?Ifo~0mFm&Imtf~m zP#Blf9bbe0e63u51?;m7^;HhDdoLO?2-4X81ygJpA>FmJz}VdKl`G#LVwQ_@(8Ra= z?_Y_0FEwyZY90R__ODMfRzMQN0G!4^%v1<^bJPs_oHxn_LRZHBCt#YQU#K=eJOliWv(y${S`$M4_WDI5Q3Z9wN_AK7)M8T{c^0vi z6mMdUC-uM-_eJAtRFWVwmXxX#Unbezh}ymplcJ>?a__9gG*1A zJp6F@4o&JawKv(O=PfHmF>RUa*|rb1YdrJ)liKvfN?U+Fug6+Cee8EnJOIPtjeylC zFVAc2D z_%bsIsm&Fg+B=RikYllF*x?taNx6z{K!W@#LTBWJKhzqZ?7lJJIW($Hf5!2ooVssq z*A6NE@p+d&j0*G19)@_^Y;tyRH>)H*T5@@Pk!}=9`$F5A)cG@Rb2C6PZnm%8qEICl z>UTdvn%aO?!PuR)^hc2_KbSnA#u67l2q>-gv(a;+HIePKb~|8K36><_i+0CvD_uj75yBt>*gO8yYgE1FW1<&J$bK; z+mDofxi8WOqTBTErxnd`&pQ6rF32I@2=H#L@;jjEmrkaM(YO`#k$%Twm;2K|k#>%_VvHn17>;{_9^qp7iL+*nCq= z^*f~0QwJ-+?-&Sx`l8O|%zvTL{#pwfwF-yZBz5-&JgxtpbXO+*l-jH6rU%!)Jus2| z^KFT<^Os`howNhG8*a|$I>o1(UX9+!GSfOnLbDBKIHhXVZx*!V8ebnpXJwk1aM$my z?bO?|gH>(*Z63Ke%wIa6mo|-g)PF&>UgpDK*7fPmRAuKv z7j0jgRdrgW+%nOf%Itw@w2w2dILsZ*hd!3`t5>8edp+Sh%k1;L>WY);T;_=Xu0O}L z*_yX&IfyZ@-iEBE9(|@9Fw6;a~N|4N0yiyrO3#I@;gmb?r5Ax>DcGsoa>FUtx8t z{mdi-onLgv^EWH#r3zFgj3QPmS$YNNUHyBG{}YxUwk`*SL)(aycLQsJQxD|qDOSCE`a|M=kee+^Ior?U${0SC{Or}nR7Z?q}KN@;TFu2E5|=_^~1Jf~1ow8`ucRSHgz7F*R*NoH`880_V zw$EAl`&CK1g`KG!Npo4WQ;i$jg1FwZ3g%+>p~)e;Sz%9+RGSTS0a>WZSZ;V!^4nqN zJGU(Y%FiD(*51sU)1%a};%S-8HQmaSXWQazRrR07Ij|b8{IX17pmhf!4#r#yNP9;O zp1D`;Jz4rwxAN4+h0Uew8^I8vVSEpSlHy&zK3T%#CneSIOzN}AH4dsDmR**R8hW%Z z!7BH7fm{?CW%tmW`tZ?F8tdfcr?vZp3^;oBy>cwk&mZqNGtMn}^p@7m4!)Jq7F&LJ zy`DZay-;MM`Ia-v{rm1C)+JqQsk2#k{MZ6_$~`+!5$CQ!XQEjn$l${u)EmnYFzm2% zU2qsT^$PpcxOt2H6?t03Z?B}-@wYpFs}vg3SYNuR6o;RWj)@AnRg`$qN$bPo9!s8!(~3pRyoKVCuaZOPEL*T~~gJ>B`S2VbdX8H=Ap)%0&h z7PvN0pJ^o2rWXr>TGQl^0H#lQ3#5c-;V>q_2iltYlU*u>?|Sm`UXmjZE?Hac3S)ZQ0}H1OLUNAaMH?R6dgjEm{CTgja< zf3LE*y3r0{it6=4*T4QAy28Z!BkGQ;a{am?D+Djy-`QI3I((%qYcEOkhHkZ!QL*aJ zsW@;a?rQIEkXL1m&SyMwUng>b&$QDMYj->Ok^6g$w|PutQe$(Q{9@0jYxDh_ezfBs zk8=y>RF}%J_t`5O_eveDkvZb;dE8ELn4v4uUwizp4JSC)XB!9h_=oWbeC86^KO^^N zw3k}?=BkxYdd{lLPialqq7t-(`$oeZ7M+Z{ozx(`!K~>+weHNVbMKOamrw|g14&Bn zXS;bT*OaE0^w6~=D(~ASy7jQ9QDNUCHm~`RQy=XSKq# z!H_}DOlNZMlNCpXH|^(jNs^AdcVBN?NKBhP)7yqb0jVHVN*BMrx>Yf;b&prKy*MN@eOn#n#fv%D5{rWb@1b71@~&nn%~kH8+qV%PehjivW`4Y} zjsZ@Lzn=O;4e2)>AS$*R~AZbPvQ7=gre=bwW;=;C$Qd(3>BwS2sJ>RDAYI$?&0EADsxMT@&Vs zU0orko+n8#m8 z!0W|#vvPM!YtlctpM5^(>^f(E%;o$_^dl!fU(B&9SKIIMN2__Wi-%L%VHo>fI4&o@ zJr#9r{a1C%*^sVLndFXl0n-YmpI%DX?RYHf_{x$u9u<~e)tNs7y~ba&+#0!CL+Bg^ zLrvWrB#I1u9AC#)@~Y>|eoVG5^HTA@`yPM6H9+O~$AP}E2#gt7d4`UMwuPN}GU0x{ zpm0y@a&}hD&-tQ!3X>nMQcH2Lk{FGS7(Tfx*E;#_QKEUz`H6@&!xDu%8QJ<4r(2d; z&|D|1vL@m@bQ)bcbUoVZMc>Uuowr`6S6h9N0E2l~~MO?a*DQ@BNMzL`~ zXO5BMDc$uUo3?EGr_b6i@qISVXMDPUSxAVqv2lynP>ycppaS#6dHZqsqr;6(36~`g z&wcG2pDq~lv+_{%SP+}1?^*1b%C&m_SJa|Y4K9a;c0#ovfIAIKYd0^WWPi0*nX|(F zT{aViiZ2oEL-u+q+`peWJZYf$GsUB0SH=4QC|J6JK2r5zq`+R~xD<5~plNG(dlNYz z6*-G!=X2i;mylIPs^NU;1a8ev^9mjxCK?h?(1rp>&qD3`xAcmUj{0hjFO5qJS)U_3 ziWg12s=a^f-NtuQHlsdF{yS=R2YaWc|M+vQ_~9bWJ@>0B-ktV>#8SM!0lT^ZF~c|e z<~L9Z6&B8w~Z+Ldt3WF4kkZ4X5n#S23*!vzA38 zeCK!P<eIela|xg2&6t%SS){Tu=+&%#lWiOTN#`>Bi4<9hN_Q4dsq}o z5!8j()+xD&e&2Rw$ph=lThqi*)mN5>t1$6c+;mEEL`#-0J9-|ftdExzyp-zP{kf%9 zf-q45$j!tjD~wf$QM35h&gZ0`q`Kzq%07%MIXIosYo+Xe_h8bAZKbs+6B2~z zwy`r7FS{w^;Ujva5HG?yf97`a^2!N^zQ;uMMRQrf&mvajMK?ovsQ%EV_VeET?o1&g zIluW^_q5FFM}V66I&-@rrJF5KxYUfk;7%%hAhgdb@Rob}+t4h+pXnJ{&&tR$d zA>jqw>_pT2pb+o0l*Mgk8R%k;2_O6U!&qu%5y$9Z%?~Y;4boO-%=|3(nfG`__uH>% zGL@kmb9D)tQ3`)HUBCT z;-;#5d+mmkyYw>0#BY}!u)ek`=9mc9zm%9Ip4nmNDNFF1aAX|+Ft@|qln_v_T^)95bG28DTK z75?Z>Ji6W(ZN%;5obkaO4leO#>C4~FE%IMwyq&B5oQ1GAr@|9XF`Lk8v#%N%Gx03# zaBfUb(V8~$JkU=*{WSZZg+=}y6Iti8n}tLAX47u) zunW@E>G?gorufGD>13xx{=Ai|s$9O$lW(vwT_YuNYK`-#oI~y=t20Y7j8j^o&Y^c7 zD3WdtJMnGs>cC)Af2GQk2bq&`&>MB|!lHqy0;L0)IW-x0ebP9#&o?G9@12c?aqF!B zI|dK83eADds0jw=+=Z{ZG05;*BqE7WOSOF5X4MLlw{A4Aj!G@}rK{+n%wCPY?5nlw zx5T^5(wo8Og?0O$>4=o{qz6YhHia8$PnkWlth?P(QC;aIy*Yuj2&AG#k#D$V*E#bG zGP`%I;9TnRsBUBNLV?_Tx5f0;t8;&B>#x@IU2^(y#pSfOyrS;@LS!#$dX0Mz^sb18s~Cd1IDI-&V;&}nUoboz0OtMQ9cZ|pH_I)sMYGVLKJf;HMMmo6i^a$?nT@4hM{=_a)?PJB_(=aUOIyS|OgpH* z3iZ}&Dd+37ysmQd$dE-xC!P1GP?l(N*p7YsYMFMJyC(9tThHV^Nc133acC1{4Rq|6 zlwZ=ZKDG#DdVTlOqnxh|ay0b#dm<}z{dev-{WQPH;!Wnc`d7LnPggeWFyQz@^Anfx z_zk^-Vbw|V7Bldiuk+i(JVgzwo@*QEq_n65q$>AnRBe<^zBZ#W=x4;N#%rK?*UZCRJ# zFsSuRM=CZ#?w`8c_TljZ7Tx{+>Snn*P6~R?CmgIs^v2Be78>lP=TI|L643g`u}4B_ z>{8pP9m}?+lpo*QsguwsNgBIXS8lYf=~wUfKb+6Vv5hf)?o!;$^xaNxR`J)K^U%Fi zp7KtrmiF?jrZX93>PuVFFD%h@@Q#@etz~GSMjY=>>w42%)dh3NP0*jq1TGOe5XWpfoRn)OS~_RsTw>(;OuF7ObZW8OD0aN!MIFs0O{zMpxC{Cq<2K z;Wj`o6<2S6y+Sz(_|{Jw6;gg|33*T2t=~$n8C#4!tWxOkY6|Cx- zK&88c0|WKa$8W4R0^PPXp5@O?unT-GlHRfl;xXJJ9wWEGHVOQRYYTe{^4))|lGGgz z)|xvyvYctf$1smGM0(l3zc=Iw2BMQCsmfP8=f0P+Dv0tCL_^zCJs@i6WSG05O3+YC z!FGIfc$b;fC2Bgfpo8$Z^fhKF8QlUv!UOr7u3QcpTw)9Xm7&da>kc9wz#I(a?f1Pc zPejGF2SVje?iO@e~)n z^y~MQO{RJ``_t`(HsKG;A789HtJd95U=I{vWpbedEPGFhp3(h1uIBKxWCC#xkAd@s z%4$YRlqwVDa=PoFbE{76;#{8sgjuYbS#YKJKNe;AnC~Uv&Od`tuPk#Uz}OKg%w5qr zi+5cn2^A2Urc0Y;Rl1&e!}R-s+qP4>#-XMW98XBM%gc%PqcSpFvhTE`mS+TTkGmz? zpN1WJEmD?7@-|}I`+4S$H2qTfYi)%~dT#_W(^DD>b57Q4nxX@Fxqk$#+e$im`SMrIMItup8&gb8wDpF^BceG$8D73nijyjAOn%u zC3LQRuc}hd(te@8;U)AAjq;~2((8reJYZkx%tz}u*Cw~b$M0!DuILS%qdPM<-(mG#AH}(xx-jZSC+)N#^qQ8&sq@1pMi+?fB zFR4FV9)Z!4QRu_~VTE+|yxawIhYr!%Y!aG`_!hPDYY)uE&8u0_y}3WARiOS_~FVAx&b~)Yes&K-z(`^)Bonm4I??|*Dp?8AD&xT zwo7+@_9FXEyO=!ov2V-j(_BUis70;W*$!O`mU4eS4pOUVPn?>h8)PzEe5?vi3ClQA z7X}xZmExIS`cpcSRqC%6xHg4ZsU}Uo?$G|U^BeUZ|CLt`JZa_TZ|VZ#?NnQ-Ns`F&C0pqbMCn_o9MT?#8gII?sd2@%GB!O z?C?tZKv(f`-RiB?QYHg`#Ep_&=YF`|7aAF!Q=N}I+E@4@YT2yEn$;N*oU@arljwMw+|PyXQTH%k`xxTl!LXT<+kAOOI>2KFW*BHlIyC(^WMPgkAM3HYs2LZIh+ zYu4j(D>tzA#TH9%m{+vad+?lv(Yr1yiAhLMHFog`aPaSsR#ex`E?+9_weJoPY=>!g z9~tS_Z3*+s*Psen&9jGPiO(7a3d7{`FqtvA=}*D5ksTf$TR#@=T!%n`&L)ZbbcoPo zz>|GU7W{GL)#&Qkj`#)hNLP@2duH!RplfPbX?VY7r4vXPKj#&#UAWbf0?V3r&;$Q& zTKMdUc~~MBPIkY5Z6I#=A|d3Dqh8jWf-Bsmd$$>_YW@nb1}gO z^keG85v2aOz{A9344y>E%Ii*JAd0x-lZBnjnVsYgszS3B6B$6uV;u`oU$A*a%@?~6 zf5&U9(c0vYr~W<6O)oGpn2TEDA)kVwL$UH}5fcPbyJI!L+e7{rbMFBZ)w-?iPC&sx z5Jg3@f*4Q`ksOsIDmf`pMO3on*fd5|k|04qKyn5F$uy`ah$u*Cnj9q4WauWt9TS&( z?{n^{TmS!8-CLJhwbtI)cF&$+eB&GA9nXus_9^Y2l5VvBAsH^C*x-1085)rBq$YwX zX3BvaGjW+);IxI{9(zorh#iYbTdQN`~Z)YQ}(9~ZbhhBX4bqu@2Vf;y#*_OEN|x~vELs840uh`JdR zTb!-pg(4msK}h6I|4-MxEWuAk9lhrko`y|&!qY=8IV=rlOpL+3$zzV*e0Xe;6SrGxE#IaU^HC)8(sRG|!UeuA>-{-TmWpu7 ztU|_dgZGpvi;FU@(6+}|@dafztyo1h^}jf(TgOg~v*F!2EN-yO&_(QvH6-;?7AZV` zWn0v!*^Vp1BEP;jl6#Slj@ZnonEq>UMY^VOG{b8kk@&clOGQA^=B^iW63{m_?knYmxm&42BV|;P)wSO z4h~jl`dmQ}O=nJKFz$iErr342eb6S?3~)*c%{xjJB)cwl%u}(AcweqL0IR>1!HRkC zrB5l1qZn!nwF#WnW=%o2W}kn$?`*|4G&(#8%4*F;?cj=7XcFGL|6aC{9H4eXIbUPl zQ}88LAZH=;4LMQAdAw7R)L!{;^xD9Y)UG2k4kZ%{ZEFvEGe*PWe4$?F&vCxfJQ7OC z^4=!i*@2^k`YMlgmKe3#A>`QnZrC-bDIYoo1MpV`a8JMm{x=Y;`Aui&M89O3VdZ6^ z7m5~qjcCwX0Do~j-1g%mNe5~W#0ODPxTrJN!fs*~_uw2zoY*8?e++mi96QeAv@r7w zcKRjVeXkqSlyAQeN+jDCiJLhfj4LbvE3Y7TTA{vSAZbkUu!Y%96k7?xv$vIcsV(m2 zW)&MJ{hpC0qLro_yb>!^wy>YKP?7mC_Pd94zu19zo{^bAZFX6qcuPI;7LM0OjRM8t zfGJauJ$!cSEWUVazPJjl06JhiTWTj*BXX3qLfeZ^!FCHB$AJgOm-rH`XzQvSA2;~o zt@mXvv8H@Y1Rq(9N{J`rjeiUEW2%BTDK?#ZpE)d=tu0fvQ-^3e96XR5*=JT`Mo zi>tD9;T%ZlUzE7SqrYxT2B1`A+3q~DeBmd)x?HgjF+{r-v&p??O|Q^C7DS?BDZ2=o?7c}c6Cwd2 zY#Oh7Np zBzbsG*@fG-J~BvYYKAS(jxnks#+OR#HczDTxo)xws)$=Yy1;?~O&(fcQC2MB_kfYxPJm#7*XF{t0Luhi|p@rMRA~ zYAxZxosj6BFz`?Z43%R`CvW1>3aIyxnEN= zit<&tI*Kee?f@tj=6Li1&NzT;0!ltWSrLGm>E5*VQOLQ4$^Lx^%=#qLn zRsfoG!#5sr_<7UfIL3~jU`xTg;wAWnO|g?loj~;AQ2NC0QsUQ3noLJcYD*0J{!CgA zyzg!)Q+2lQJ*e(&YJ@k;98|$EKj7HP^lKzBZeQ@IyYltolhj| z*M-1S_wJ?9)!Y_V$MS7#Y!JQF@dwqroTURE$9@|Y6HtnI^pI#0mOol1OvC1Fs{DX$=HQhA5gHft} zPzK{nrdiyz2d?|xcl>lHk-tH`ra+C1-9Id#zEzv|S`t~Dy0K6hszO0_mNTbWpV&_a ztq7i!64&X8&oTo^iLZ&zJg0LE>|FU@^(U#W2h*@cl&p1S=c&QyEY)q!lw>lK_) z38$0(x0J3$i)Qy0S;?Ni*w{PaS2@7#ThBhH$A9Amg*?qWXah#XR8TEaWKhRYnX*49 zoq;pbB%LH#=Ic~j@?wxpi6djWkc0Ey<#W6ZZ^!0W=v|#2lvQ-~1ZrOdl~)GOu6IyO z)QbPm8GX9)2mWblz8MYjMZiCT5Hk-$0G_9hM|O8isYR@v;y<0^c;oO1foI|be^8?i zZm!wH=zwTq@_jE53VL#eBErJZjM$+Zg)k*51vq$a0NFT=WtSz4%}#1oE6?=C3Y&1q zc(qSC125v-?Jv8E37mifGy!U2F=1=ywYm;_iq$+oH_Ch7;1d-01~o|b-+27G!5R?v?KI;>;()| zp%)Js%_G}k*P@k0DMYN>`|WS*%GVgGW4jvSWM`V}PV{%oFd#w2Gj(>dNYG#cM30sd zl=mDYBOhDS>*Iq2{q{?pW1OvAas!`0*a|-I#HgFSmlTxY;*tx*$9e}z2UH_(y@P;O z16aBOz=x&JKA6wo610@eOS?L#a z0C(W9>wE1X*zdlMg~W*U!ltJOW?e+$11ycPxzBSDMp&9#mS@!1ZybqZ zU6ts?lcfV1kqUmLE?2J5iLx9fD11m%cUiR*sb<&Tj!U~IAjZ>fu~wXvGUNk0ru5E7 zL@>53^-m`g4v-7D?thJ8{^@4)bgtyCe=XijDkoBJuB0gMdWT4Kxj=D^+5<9GlDJ`U zO5_Mj%R9!$6BTs#gofL~HVR*ETzf)y%elr9?*o=9b8n?~^}(8Ag^|9+>6h&J*=M21 zQr+88YD307-$vc+wtR2b0#B?b%U)?4g3Y(JLX@msyA;(UJqn7AkD%LrB01yKyLAiH zn#-GOGrB4s&35Ae%$)-^Rr-X8*lQXo$>u~yO}-dg*U6Gz{(WO+JCxM2SfsJldZWYR zc&hsgG>v3;&+4t-)>8ivR=X_sn0$}vZo8S%V0>IbCr30Nc{g{%$(hW~6BO%B0cB{* zwV>hpM0&mCmo`ED@98I0lU|=5tOy zmOR-}EJP`3PI&a{RCWU<@KuCl=AwGkg}SL|9ssa&2(uxxX^96kZQMfG48^9I!*ozpiuc!}E)XAHk!-?Gf0~($EKti$rRNlz+?N>Exm?_|s$-c0LdjZA zZ#D#!C=Xe;u=42zGl~F6lI|>mpqAlA93OkEdQnaexpEaZde>5Z;X-`YsaYQJck$pC zkx@yE^+F%<2HRbHD!V;Ur*D9d>W)IGK^SE@qpp~MJVo9I>@hNRuCIBp(rjMbrrp+6 zwow}0!nnukYGnV3o@M>EXyx_ni5h2AO;X7seEJGMs$iuiWlY@EG){O|FnD@B?|r9p zvV^#Xu5xkTW^M#FyLjPuPHui>NFxFG&4AY&Y$L*4ud&RiiZQcKZJv8~iTzJYmpp(g z;W6AYyywonpJtsq8tY#)Ssyy*4h#kkTw4oqIcj3}^p{aE#2UbEt;G?(-d}6-kHD4w zFgJqUBX-dLj1!oK&`Cvw8MmMRSI4yXs(bZKxUK>h{ z2@0K=cGvj6p|=tHoWQ1>mTUKz)9Kpp2TI~m8%>;SaRQa^yt|XbM|U7kw3faPUHNpx z+2NxjcjkVL{A;9WuAA7m$q{UlWWGki$M-Cvr!s>gIWru;(LxiXW4R%b++Wl7A&~=i z^4!tD(In6GF_^u{>kXko-a*9+N{Hc-gIL%&=*oXVbL1+h&74KjlvW8)Bm4CEvBT41 zcnmGQf>{(pxhW92>2xDsRv^~=9$GpvT-!33YUSB%++J)IH!%n5;qO>JNYi^m295Q&+a=D{+ETj$fE|abi-;t8t!8En`yD#Lx0#o^klQ zX_(yYH2Vx?B#?2le9sJem}IOuFer76X*weIfAx*dA(?urx**!oXaZGSRbB zPFFiMuMCFuIBfcE&RP#WfgzyWu_5JvnQ%kfhjn*8qpLhgvJHm5B0>`aT4 zg^m0DJS0r?3+VCBB-vSUnpdmB(OC`Nz}V*yFx{yirlg7U-j-hKcH{^M9JZL8zmVfu z2HOHc%ary46UY_;osZI)W}$DVNc`QpcWsAQdJeUiOB#%X9B$~e<-uRL>?8C&Fc2yx zFEBBUmDPi&h@q;gH#Zj7pqn2Tl3)E|Bkc*f%Zd=s4jl?c7k&KCcTj~*Bj4)d&>-x< zx}w<$T%1G_T{ez<_Z1FyQ9$^`W8`HLV7SG(@3Jt8mb1qd#uLBB+E$6oz5T`xUIFuE z%%F}%yG7mJu~5E&Ks@}b&Xh^90-Ash(GO~#(TYz$m1g6u6<8zdArJ!7Ch{;^mz+bp zia1}GPE77fGus43Lq-mIv2vG&e741?$! z>F9)(=_cr#AFT*9MwksOYYyh|JI2WSu0Wpgx>il^tacktsZC@MTrQmRv zD}P+I=;xucR<*hHM1PI^QTyq{j)zyP+Le4G+6rfGnjU_7ug5U=>)DCg)U8CdeX}3@ zjW>0|c4)Y@g)?#Cc>DaO8(k+fNU<@SL1k}!rf^z&?k5`Gn5sX2-9DF0Bifi=9x(avmn!mePHkJ4K|A1&CizSlN%m6Bm&gN* zOV`*CR2j`C{$NK?tyCak6qjT9UMcc zjoABQ5ILQ#leC=TY}l19)0_A0J`Pa%=Gl{!@S939y28300L&5dtXX+lg-Klp!M*61 z>Z&h|^qC;0x$#aMvF<3|X|mp1p^i#(4z6x5!cH$TUx(qcdZm%O$Jnswi=)W3Ib(ZiR%DuOBSg_QW}fC>7y zAZDT`x}Sd(0u<5~o08uagDWrtGo*R`acZJ$X{XE0n>S-v#X(Cj)1-roWdT#0$AR=y zb29UxHrwNZsz(?BVJ zNKpTn&E7K4!Haw#*;hXJdevpxPruLWprY)-x|rjLp;X9iL$qWabqlK4P}5|T=;_$a zs&A*$GlceSpu+MC>eP4{RF@958OSyF37(-0UpVCDIw@J2NO6;Rt^ag5M5=S{lXrOd zuY5uEUOA>oW*GvGDL+2>M$3kpm2Z$5>Nqp@pI}|{NaaN<1fO@33Lh5CJWUm)*d!NM zxnCg4$=4dH@1&-d=J38>E;jDS2zfuwIvn zvz0d^YsiHY$WW)${uDeo0`s*#+yB^s=_{QGko|g`!E$9=aw&Q zjexeYJV`b-mTy~RQ7XNtw zy|;AB4ai_brdbW>TyI|(%%dB$|H&Lw*dsHTm-sA4faoMqu{x6Ju$Bp3=yxWM_dz1J znJtTIZE)4-Zim{q6eO^^U3Ab}hQl6&3b}6dd+D{+?g?z}vv}M^+f3bX8)$;fGR)R4 zTMW*@N~fFW_Vw98TTV~3E4Ab|X!^1?IZogf%#hG8J)r0xpHnaI)`Kn%L}hk_Yx;&W zYf&+en%*e1oOEJp1*>aXGjN}D&yX+Jb}lTg4b?5-TSQ%H$oI>UzyqPn=d69q-i#DrR7-Nd@MO@;^kX*SP%COUt2u748Q zQ?XcPzEw4&oePe9 z*sFu(2>05t?g6+fHnDJqin*LY_eI{uKn1U@XXP%r3RB4^0#J6!$fT}lf!S1h z(4$ngPkkLspU7wp8>3vd?gsN#5H=$%mn>xWZ>EmNNjT*@E)~Mk=i<5N@_0L{j~FIr zBz8v>5ITZvt+BDI&z5wZjb0Vq+TsuslJ=GWZ6vR(UPIeE9q8{@ubkP$UEf^Om_CZX z|2-$G;d%fRiM|DejsEb4o%mpQLjjbPJo+Hd-+d2Chj|;(Qx4T?s^&VqPci~JonpC; zHETJG8lmO$Tx0)I(IN$Nn z1Z@mya)#M!m;Rh+@GY=nv54t3nz{cXFZ{Vzt#T%Q`LN<`^+2(6W>sP;_?I^2L;-F&qv*EYZ4RWK1(=*ODo5|KyUP@uYL= z+0T^$Np_=^{JAtq`FAkU`1`vlkwJb&VTQsNFb2~a5C-~YT@@Gn5m5`akV7ZZ!%GiD zOeuF32Nmbsc2w;u3Ud5z*p4U9XKdxa-g z4JM{43MSZnJ?<>Nx}R!O4edi_=sHzk)>ab=2r9%9ZBbgZ7ax3P#a@-}<2i>8gsqwI|e^a-^JK zsw8rb_Oix@blr7o1@)cYm6MxR9Bjs<;sUjmoY<{#*^ea=?8Q|_zmm7o#7O7U6PKUv zCpkKwGIOr&DiZ#c;*8(5_}!*6j+i@1z3xb=*l-xO$AfAyu#UZ9ay`v5W#^jXur*dV zJ5kCNFMT3Le~#tcP5*`bLK~atyi1YR$6^Q-uRkX3s3mw6R<52mS>4Gzcj@QoaB1+z z0$r;1V}i-2^FD4a{GMoMkxPy^vCAlTn-v$u0)%Q!CL*RB%1KtmIf~23=;5<4{5Sh) zgh8i1>C_tBY3yyBa4j6vhb5e{uz*%X+h@bxh#}S1gg-t*a}lQsx%A~5F_du1@be(m z^?JWT1p@w;Eep-CR-!K-cZA~dWseiPwM`-u3^o^+Q!}Mab5Manw|1%8((x&QC7qnp z;vZuMU6dg1ZUmC>YEx{&r}q$Dv-E}AN$^6*lf{gya_T6+8`QF}ZK6;?Apo##s2dDu zkXU`uXhy~05@mDy# zuMf_N?`pck7qev08H#1Wn&}Uf%vlg(;5i-(1u4qvO%*=hC`2a`V9n*vRn!CBFYM_8 zqS$^hp-npBbX6GkSrW~MA}8A!sp~e~po~EKgWg9dGi zV)&sL)MlRZde8_82`8d+7R0Z5oT#&i@q#ImcIP`0gyS@B#BEu@hctl`XVo&uvAj3^ zBGJL=iB6qV(l@ktF9=y42bAj5T$I|EpU&}jSwiuW9)=VRL_<5H2s0Y4t4^b_IZjpW z_%f|%cW0ZX+{%^Hu%U3h&H*EmGxI$+gyROca1*+=SItqiPp8krr#+!E}QyT-FHhY~JGI~bie{vdOIS@nf-Z$B5 z^s|S6u@hwX7WFty;|cg(z~PY zYodFbi?ASMUy^mJG88=?IxOz>QRHV2==+Q-i(sz5w6HtdEG$s9!-q?iW}JSw($WKf zwle&0as3avK_yYzl2YJkY@|b5@4gqjm#qRuues-hc4jGGsnf|Vr)JryUNN#4NuIg|C~g369sm9Wz?XjT`M*>uevs& z-F4)y z4r*qIPfkyHSp`R4pUaEn9X{CwJ|~7XYh?9Dzv1sI!NGfN;0Yy#q-=h(*O?{PTUH(% z?6PviB_6a0=LQ!I?~PRpJ^EwE)B(r1-Aj-#Y=lvP*)Ipw#WrjXDl!7$=d0b;TDIDY zAF=OqXHH?4q|=LamnsTIlLm1Q$d8Pa%Ts5h`MVgp(_dei9DJL(!B_7N^R`mVbMH=v zpB_y65b&(>kod;nxFxZfP9ii?^E zyrLCt3#FvtH%VFLZLNC5(=MlHu$=_WDZ=aDagxJ&w#6w#s$p8n=E)sUQyKe|xJ;VQ z9qTAhHC+1KGbPkNv0m0f-(M#)Sv+31hW5Hspx51Deh5?=*6is-?XPx4O|4c53=i!3 zKwp1FphM}`jC}+#cv>J-XQO9?A&|Y*%44%xpeVn%Uyj3|j8Bmuxj(0%?+wjWfV`$3Tb-QAi` zj{_4|T3avgYQK9BFeQ(`c^;-Zb6GDoMzoq=86L@i(&}vg15{QHa!x+J%xPAbvz7ys zcc8yqFZpGECl&C~W+Oi$XP1^-S62TqV?{D-KOYbd2fYS5bA=$_FenceTWyM<-#_dO z-38!H_<_bcin1*N<9q%hm!%Gq79qvbnCBK*6x;K|JJGTS6a~GzV3094K}UYyrK;A^O2|_lW&Iy&@*Sh^W}0~xbUII2DYoT;7WiF(nv~bB(k1! zLQqjFk=4L+3LX1Y$18hL1H8d-TlRU~l-INtZnk%oL=oUKzhUb?`<>5c<>j5Mp3>>y|ookQmundCyu;PYu0SSC$KFx~x#tIAdXa)nkVbQtyTQCVF#C9A%@ z_)!=jfS2U)Xx4O*D9`=Ejqckw%5bkCj~ISz{&BkQl@r-luc~U8Z)qAFjyKp2&L{#S z3Wp9{zd1*-bLY;CVOVKVe+B56B{(y_fIkhT14oIs&0Rem9`NEcZ$X&@jEokjH*4DT zvSH`7Fa;P~$LMwW9HXJ)@q6_K7t9o?QV#TTH!Z5Ai1?DGLHq7DGg#`PEj za6W)9{CpR9m-9i-U8f%W8-u`q8GkATRNLznUQP_-Ii#bjA7Gc8u)K6T+i$=TaBttD z0di$PLWc@q!+r@=gjP7!i~BS@3Zd(UWHSV96N^Rr+=S4v0DboBl{2f+>Q3kuWiteacCJ%geqOM_ZFwfb`ytmZ5PAJ$KB)@xR`h_E zsiEiGtH}f!>R`hDKY$wW&H}GBbif=Sd8olW#YYj3%X)f;Zkw4A-?E(pw_jQ)9eQlO_cC*UQdhw3 zW5+mk`{s@S($EHwhQR{2F_BUG;WA&5Z?l=5JYyJwFbbPO$cl{_Cd~!Nv%;mpCxYMu zEF-A3w8!v8d6az@;*S8qr4)}e39~T{{=&X@;pdKwS?x^u-FK*sp+2b zBXI8dK%BA*rsYWIlZyeO`Smsh@^*9X0&%c44c5(l{GGNt0H^jnQ#k-)g$kzTo(}+t zzoOGvFG=Q>rvcl0mF`CI#krjg$K+byhM7=$SJLj~_XH4Q4j|XHh?k%VBzzoZgvPeq zup&A8@M!I4^X%H6(056p^(Fv|%PnSZ1C#`XQy<+XY5_e+<5>8)Q$ZJC>R=zG^TTW3 zxsN$K`fn^`cz$RGYF(*Np7S0?i?cI4*Q9BH0r@BFQh^rrf0r|peyY@ViyEF~1(SsQ zt&`b)8rgs7-GB}KzyILbQ7gIU6E}eWx(({PI7EW~CZ#~+qy^U6@m-WK1(A%>kZ)%l zPZ$A{O&avJF{ZUl0hr9C?c0p&*!-3MpnV=f`6SPM#?>ZJFL3`$_W$+0Dg+_u6zPDLtwF3DnW~CL7pt6?#@%ZDZt7 zTL6H}FFkvnmR`Ct65Rxha4-P|-5vpD5p_E)s5)e^Z+kKRzd_0VHy=w=8}P{~YB76o zCPCn)&}v}_rwjl%zldP?t(UC|SU8vxtqVC$a$y6*f~>3`*;8PZ1^C9p+fL6PK73G; zB>xG6d`=Q01B|+0$NLwu!M|taT#aer2pbj`cJgJrRWDkS{|EM^)5q+JXLiK}f%h_& zBz13rTNRzG$C`P@Z5ng;eOb<`S)PpfLl$afW)8wL2jLh14DbSA?E5e7+Xqw$xoBBH zX&-CuOg7bU*fPcap+Nl?F1FOo}2a%s4;HdKge(KaISREV1er&jFYxJ^eaERP2$jS z;s3QY)TkJ0mB7*#(Com5wkf8C+qH6m{6`L)+rW9-D(v9hLIXx-=3O7#E(ZgP5Sm*k z%M@IQfDb5vaLLF3&D^QJqoAnfDLjA%cGZB57ZK5uae)m9n9}Wfgk0PQq&d38rd@w- z;dB$eU6cSEftU=&FTc{YPh_j_hRC$9rth?Wl>!Lww+|nXM#VS1ay~DE)0Dw2^qAp) zKpMl2&Qj~BgTqz-=%{`sp%S2th!1=c{=;h+go8d7h<<=SN7-3q0MXcYO6M?c;-o%Ol3^16n3flK7 zK(ua2TjQMADv!=oFB>L{*P7aegI9(AZ_`hm*;Xrt$^n6S;S;Qb zwg+pBXTbjX3D6tOIx8&Dh#LRT_^wQgy8j;dmB( zq(eeOcf75mie*m+kk)0Z|38wlU$6XsOv;AGxbO5&@l6jtc=9+n=z$$-!m<>y&GiRf zgV_`)k083Gy|~$({kepQ0e~#ZNr$n9S(tO$25ds!jpAWIwIH_flgsk5f1@sQ9PYp$ z$Q#RER2pbDQ+@rK0qPzBfd6fFHjwj=9y`k}w#Tca?msOTz7cL@>wU1q?*U@dVSXdz zrj>Q%dGkGRV{>>f-`e$vOa1YEk!Z&K`;S#s0(%tbglef5ofO4AP*YGq%>($90{Mr= z##Ur^jv2hj0Tm78e2R7!eb{t>UmKS!Lz;3rgpdDVXPbxqpRluUeWB4GMe(}eWBLum zXR=!>>MK$T%F19)oOPq+K6lEV?JB~X!?(pKsWj;hoe)s!^t1peSz(k*#Phj`Il^Id z%kAubI=}MgC79wR{?-txzJ8VT!al;D(4``@x&f_aF-HbrU@8i_EMM;iMb_I=UzUS| zLW2bYf1uIYW;dnoN|9Y)T>E&uaMy%;BY9%%T@Da6lPfAXXPfFT>oP&uvJTW<)TRD&o`0lMN%I6^n zFi6cJh#_|)Y9$jEc3d>cYkjUZ!#TO;tulxE4se))P%4Icha+IH^9eMtpomBL=kBbK z^u8`WitD|d_YPc{dq>0g^x>kQ_=19ajo*n^yI!T(gtA}&mx+RR;V1?`I(5Cw=@fEv zb#Z*&s@S#%1k06P?g67XC>J1Hak;Q?-vZwngiDkf;0MB%``WfAt8O|V!K_d}e+C_L zm+MIeX6xqbq@6&3I~Q|KP~7Ljr+=MWn8t^w6BEOJ`M{qVCut)3V(SG#86lZ9%0JE; z!qhcpHD-3Ob^3enn!^OZMOP{~w=mMR9W@z}#u>odhaM4gnPf)b>+L`-;fF~;fC5zI za1%EV4EyoGSplFO%3$6>O`QNY?i&f`(}1^SBd7j>e1h+3hLX=KCH+@QH<5RiuU0_S zcvQ3o1;d(DqBd&^dn{PB1_S1o;Zb<$=QoU5U0E3b^J)Yc8X2MVG3o^w!iqhtAGFl9 z{-qG4sStP;ZWS6(Ah56i9~0~`ZR4=!z9-VzZr!>?+EOa714v*2=D-Szw`m$bGxi7; zqX-3CgToJ_1Zxa31pLeW%PZwzp268nO4w$7J@^oF+>toUPAs>|)%A5vSoGkg+qr(0 z=j_~qvg!-9RCGL|W6XATb$O&Gnfus0WAlA#twa@|=?$eHtp4BObBl&t-sW?I1Cl|Z z`D>O-wA7C+%dS{_ph;{>i^|dZUqy6hXrAdlGJHW+w(nLCYSM`O0;AW?${1%@fFDL* z=#mar&ojuLEV*1*vuyZuj!+(ESRctF7j-KudG&LN;Zu8p=L^)@09UCQ8^yaVxNhVW z=Kr(G{9}wm7qGp`Ed5<&j{R3+_k3>%5Q|bCcu^Zv)ms7*!&v^eW2AkQN{nyqB^X!-?KT5R!&#`8<FKBN0jAVY=reAsPn0+?)`s^ zUfQ8Ie4cLI3_&y0m`DsU6GwIMV%GC)Xnpn{seBhtf>~XpKp@ot!MP-FjwM)YO2)iyBG5h<95OtwQBHfRe!6_@~=>T;k$4 zh`(Pk+};jLkGQyi9SZ!p-7N>UNz~ArV6#Fotj_k|YSFW~`UqmhQNV8lXce7b+Fo!$ z!}kcLa^Y&?1O2Z+YP$Vc{oC+*rJ(`rDeiaV9|sZO)9!8~l<8v58`=84xzI`<`3MGF zdp?RB90K3q6c1x?^9IM)BM5=+XtN7gs<_}CEO>UOU%YHtLSfw^d0HjF1nhx1f?M&M z1~3nzXXbxlcm&=e!}3?&65wNjH*s^kIeFfr`P=^Q!GbLRi&KjPaY6`@?wJHV^hcv{WF1gfd%N zBqeMZ4x4&4#ZRK=HyT_KpwNR-h_m3X zOaP9>9dmQ{DILS1oYwp$DGyQ{Z zPI>ml?T6bW-{1Yum)csY#=uta<{F}lWgmwckL&Xn&nLcl^E?H2=baGP+RI%9WS0A> zP{&R&FkTh0?cN0}YKYF?=|rsBvOWP(J2)id5%3AnMNSSph#_}-5B}$+_PhYc=GeFi zdQ@P2E5oh?N>jg5R9Vq%1btude+`a}4FvO&n}GP{XT6lvbmncqJ1$`k6>jOv|04xl z3zMo_ua+E2m;{rPvE;WhZ;-F{r)=d9h!I@`S@C0=7ngln>>g8 zXW%M;RR&5EN2&NgHisYsmc}5n&Xka3hp~up5dhDQ--5^e__2hV>XQ1Bs|pIezH^at zk>D3s3#aYR7A$)^nNWsAiAqB_1SQb^4@hv~5VZFP#vSk7=5B*;IwN?t(s%WNZ1@=+ zE3a%Nc#@%_WRNYE&K(EL0ASU@0|kFlM?(Yon0NGx?&DV%LY_FVTpM3*Zf*v{K*oay zkBeSb(Y|$s?nd(%!%~lH+ywJaz$at3FiA;C-$uUx{2z9n&eqMVkP3bRzi~g*$>w%m zT7%!Gn;#+W&ccX?g#VK=?3Op8%WZaFao>*T*$RQJS9E}@a@1)5(6hV8)X$-dMhJ{@ zI!(4}qSRqH(4KpO%+SPt}@A8&^$K} zL4x-}6Jv5V@8ohka<`x(Q{YXVq~K;-1u({=J=RHgVWVf-|{aPo>4C~tueN_Oq#O_BY;T#kfgLm;^~9izMi%v)6{MD=}qTk2Hx?0>yZk{Nhye7wS$TlZ)zowV3RH4cvziavhswR_O9~{9D+m9*mdHa7^un!1?Zarn7+sDz%6xbE#2wWp!H;`d-dMAx z_qYH2RJwJu(VjQ*$&t%quZI@AabA(7BT>Zl2I1YK--nhYBM3x%>1ZrpTw^Lg7ES@< zi9h11TB?xkmgIDaJdFW;J0?o*d-?3|y~5^`Oy$*xmYO?^-K1x1Xh^j)&#O!xt@%f0B>1+aEQ&w%*1zhdv$L^7D19yDoxjO4H}ql z9^Cz=p_6nkrjXcZDQ@NyRda{fvQU-&Kq;zcfbu-YEkD zJoGg#L!|30bxdu`HO&Q#xZ2*s{5qPN!LSe=;Kt0Cw-9%gow zp>r|2%Q$r;W#qLj*0Ck}Jndt$+I>-4c{^K=0#(ya^(nfb!ckTqVjOFPS;Pd5f;n^3+g z!8?v!vu1={VrIb9@{53X`iGaYFj%x<7j56kDjV-Ie!bj&v9%bx+*dntO1HCo6{p_s zdF*&+a_^G#9GO#lYxNKXg4kog0X+CI4TF-1O(zqe1OlXHKT-vQ!G{81K@Kiep??%E zV9F89H122+_bqx;l$MmacWb1Cs#ZttqDf)>vdt3`0sW8o9s-b)qb+#$!@BZd{p z-jxyL*Z2F@R(db@n!7Wq1ecHY*pQMpzI0mAw<$DN1|JG$TEQDu0mT=6Q;Zt%Krqvd zO0Uu$*=gk0@y`PfhO!D8US58=-qMbJxn^f^?0-7(44bPLhprJK;r*c>*|7nw4dZFt zQm@}zmre`#rQ+4Y$wO7cMu$D8-)5gRWexr^Q-bWHA>7YtGD@WQXkz47ddTrCwS@9w zRchH<%5!ghkI5=hqmonGN3$vQhM9G;sJ_yL)5Pm*0osE_Sj@!1U^}&~QI~~C^z^LU zZ3_KHP+pN>I}uOr3*+!S!|u8HGb}Y{qi&_PvysKkx^mKXW@2fRr}BiFg{R$mtlMpq z;*v^nwW5yzVTk=c?gamw=H`|UxnR?IL8bQe*a_9Bq>+)_)2oLCOsq+-0SLeyRGkP< z`PC4zB>8H{DtSE9-}}fFVuZ`3DXKO4P#%(Ob`|v!>lxqbi)*`!STVHdFGv+DCQaVA zr?7;Xnbu-;Qx&Z;?v0YEIB^+mPLifVumYBc;+>&T?!}PSMT^&zGdp=yXk0m4L-VwG zj&Ipncuw`)>bXTArDl$1@r|DEC|&tIc32{tfmNAuEXD|9Y;?GkKek!C{`-_Ysj_Jr4p#STGr*{#F-|FTV|b6fWyD9wFRb)TzfMI$3Szu_dIW@UCpe zxm*4^s%tXK4o`TBb{AdsF9pKh)B4#X4AQ0x^QnavRio>E7wmeao>t$=HY`^2J1o%F zl$hsgu(e9Fm7SXzcfm5WVI_0%S4ZLy$>RWvY?*P$A?vQh{kROu2<7Pc+`>)ci3u`$ z>Xb(8m7x{v+xehM0|=@`MXn@I?D@U}srfijZ}rvu_nZiyftu(GqZ_6IL5-tJBK3yPZyvRguwi1ZCHw!m(eE*qOpuz}=;A(nuy z*dJBNQ-!X+&c4QkxSZI6oVWFNMtRxjm0_<~xeHl5G=p0*=`JTFHCGK!6*?MEZaR|D zxAb0!?o&Vz8|NjfMPPt1t$>GL=Lbi)0CY%?qHEQm)Mn?WR)TQ$ZKpOoJ8#GeOclm` zYb5>t>cUEZ0~M|@1OQ&N)tZ;CZrJC6_ixowFU4zIv-jzmYD)}~ zxnlqK0}*M3bIh%>?;M78&q&9m6aw?2PiYaknnHFP-ZxLBmYTs zBBk^`Sv-8KIm|+OED!j0VJg8W3-le|8yW&F;=~>AUK9NE`RU%U;NV+J<9|QQ=fEB2 zXW#4VNdUwx_LM)W;!tYj;=2d^;}D+ImQ%%DJ<~JiOmg*Mjm()}SQsXG2t#=r2li8C z(4aM2?Qy6-8zpG=48FiSKMgJf8PkQZhEF*wDyokzy3!s_-7nh@^68~zWPJB9($PtR z%hx@vjee)?pA%ec^h8LF+k_gWUTbW@{;ZSzJp73d2QN4a!gr-%;LrgBFfGy3KkMo= zZ`_E4d;&B8Ac#8-3DM%>qDZMa%o*NaC~rhHCz+)ezf? zIVIIM=i;j+x1b{bdV#tb>4YSG1E@eoru!`Bhv2CmgZ)7VQY%CkWkC? zFZ5`g%h-d%V&lc4I!g3aL@GMZ9AiOEHM zw-3M4Lj-w8fQ3=@zGT0~Nu~l^INS;eihdGCMt?uurxn`wiE$f~_x9|dw2u=wbEXv< zf;m9yGb--$E{}?io}xbj2O%e_2d|r-chJ?>FJAM!`~k=z#@;K#yMtz&BqY6h&(Z#T zD=w6>@6(hE@#$fc%NhG9Yi&-4?!v_0?cy^}+bUsF3MDIf?p7+j7B5C2Xi zxl9ONxpL+9X*Xz8wU0wm_s>s^9c(Hf^|I|A?Y1q3Pv<|##Pp>{uzlQV!dG_v*0qO- z;rWCPPKp>Z_H;R&21zaQrzbzCI!9I{@eHGkI4NXUf zhT1U_=xfU^pJUd+U~rHaqHYLpSYImb-9dStmU}?KGol`!E-EP<3k9DqLy{`ZXN$WN zjtJd-o6n3S9ohqd_f+biaLKOM3%+0*#H!6q$mY8&4i>?M26#kJcCBr(p}I7QN%zCw z19K9Bw$0G)zT^eySiAT#!0+Gf-TC;UYOIuaI^lwd2(PZ2S4P(Lyi1Kz3)il7!CDd) z5pmD;K4PsdtK3E8;>-nx#ZV1@MWP{~tAB*o5JZFpCa z3L8fY)^yMVaLR|6Fi1Xi=1gegXbbpmhQ-FlhJ2+c?s19E$jHb-4;NaEjbSk{Hs~j! zk0;l#k>gKc!JU+F=K|PwZ2oIz{ctnXg)TUbTnk{A4F8ITr0pME_s54+Q}k#=kduU^ z0~pjeQSpH8MM&9^`zM*SV5GhrW72F>+{3E^izMS$3gpZr7vv`5^uF?N z2rj<=`UsDG)#r2!4L!S);>UOrK^0nFO%0#zkqqAo1TFgBRi==o)J|2wlb*C^hsTxk z8zIN9^03zzQz8epj=}A94HjkC@#`8IX2L^6n11l**x>{T6hW;m3?}#g-0FeRa%RlW zdTycd=GEfoy#hQs%v>t4YO;W)r{`$bqt6I3H!A?s*xHeKTeIw`S;iW@CFqn|%tTJe&hpr{p?-;_0?|r5llSKj?5fEE0z@|cI6ukoHEv!nAfk(T$kZ9E>1oL0kZshIsa zy_Y-#@A2mcQh8%Yd?4h7^OW}3!ivH_z{&=(1#&7hIH>Q0*NtgCyOoxgr%57_Ah)?X zQP@;&I}Ewy(6?X~$f!VuQO8Y*uxfIFvEEV0K|RTnntFQSZ1f^Yf4>NlZU(-#(1b1k zdx~yHNTQ0ikK&`=T|u9|8GRd@Y`6vockRd;CFGjM>DT8DPzwayey`#e2@tXZdxcZ;_F2KS5;@e3{0slZ%cdVL0*8dds^VG^p zne;o@whrV~6kJpvlQT?v#_{^5_{`kO46v7j`o*{DSAR|j{9Ek`+!3Tgs1m_ychmJU z{L1Gn0De8Y6Oh-CYK*7G*}8s1eAIrO*#AOdlAaQIF!7}NmQ7!!an<^;K-W5@29!Qp z`O%yE&rf<9=rdt$YJ-Jw*r9Zi9=-S8f8`F6N`Ul6WC{{O&>=!*9nv`Zy8i#->rKFF z+}^P9Er)~?rw~y>N~IE-M?`H@B%&mgMwK+rIfjG=J41seMbacqYBw0$Cz_|-yb+CR zOY{8QZ-w(a-~ao+*SSur-8-yzt!KEO`?=TGji!r8uFD;XJAJurX-#cy*InIHzV+H! z8Q_UM8|3w|SG!BuPb$@#%OS%{=?J;c1dSGM_G1&W(lA|UjkB=@5 zjEE?eTSIb{AuhnXb#B%EJFNDTZg~Q{;R5TgIZj;hgf8CGQl1o#62KfRB!zJedgIV%pKwvwu1J|I=x$D_LJO zTYvrXWs9=1A#VV!_rg3vTaDa&=46_?QY7YYQ9pQ@i(wz5)^1z6N8YJd2k!v1xY;T2>s%cxi_d!J zFC+;OF9{n)BgMMQ|0_c{^K%W5>TVd^!8aG49wY*S zDZHZ)no~07 zry*7_Hy3g;$J_GWJo};>(o6%8$`ZNjK=#*r`a7{BFLloXQq+eFODsswDn7mOXo7CI+}e z`=|Ael5WH_Qs4~$b*6{?*VN7s*yGLahvk?qi-6zpwKLA}@a-_T$i7Mid2`g%oZs_F8^q>2j@~KGJlz zk$ku&k&HP;ZbaOC8RIK6&*bn+%sSrw=yZPK8nA9@@~S^i?rlwA5eQ>yTM;#I6yWDM z(U@-FhzU-HsxCp4qLTP?MVIryW)q3GUWUb81hNf1_mS0LD~QJ50fb7{vE#?hnvd4@ zI9dXGxG3|2l^5r5x)T&s)oVutTCx{o(dV&oCUds0^*~(m2L|_}3_M+c{)&%|R05wM zCKa)Mey_WnJlqzvW{}12$Nm0r&2#j@-IZG+VJs}%H#+G_SpCOg*87FkAdf%eIB(4R zSJ>rYK_U&vV41(PU9obd(DFs;=F&G=K+mDER{k6gk^#I2l=K1$-r+|NcEdAAANogl z;gjTK>md2G3!ioqqf7P!`D|vPxh@#`G|#(rgzhz|TM{l$pMe)ZT{~xL+Q`HG^Q!{ z|9KALYlke>0eaXSn>^?65ERwF5m|Zq<*mA;JpVJR$(u(p1)32AJNo?j@4w~eU$MC8 z>&4AY%IM3|2t$g1T$QMH^pD>Bjdqm*3okfxL!37R4du0T)xCnyfqV|5g zt-}Q1xAmuW`)IrpEW_;Vde`%-7J&It^eJl93{FPeDBs;#8+VFw2Wt|+1~AtIa4tLDGuT=WM;c=_o(EJ}`D7!%$zDDgS^5H~k-c>j_6 z{q+(FHajBdpYi8_Ha^Be1yU*cHHj|FWynx3j9$cOsb^!8LlGt?w{M68dog(cbub!VC9@3ep&tqk?d)aUl50I z8&@pIU_|^ica&d-fot|0@2NGy>xL>|^~_oM$rz~dVJ1C75!=g*6ZsaA8sPER0&G8B z<+8xb|G%AZ`G)~t)s25qFN42_ncC2x2ZSL3eHqQ32x{)U*~P>8^SUZp7aFay-ZgD| znx1}V?LN$5{XZ`6!s^m{MXh;2CF6k+7;xr`YsGMgb+cbk35{Njh+ ziHTbm{~BGAYv61!Qs?>rvuUmMi&w-zsEFSQ32|vs`km6=KIDaIpi?y$)vJ{0{)Co( zqOXz`cL;EK1Iy2wiwc6lM$#FNiEPoB)`{_=JSzz z&h+Z)*b`|cou6-t*YY?uof+0i_bvH)G5mXJgP@!BT50QQ0@BCM^9Gsa?xNm?AhhPj3 z_I=vRWpL;F80vpd($jT_(Aee?Yp|r{z0lCm^t104|G9eG%iar#4kg%h{2Tk%D-Jbs z72B2?cufvcVnNWT_Xs7Gw}zWIA)H|Kc@qtQ1rP=dT!7*8pW{e!^##xzkJA(D30aM1 zy)6U0pQKZHdW7z3^N}dfzs+i%9u*c7I~J+r0W+VBd^cVzQYjR7;=fLoQtb?(XT^9s zHz+@6xDHx)Om-VGf7ltOp1pc3R3IQ%oVnHds4;GNS0rh;hUM4pkb`@zK${C_6pI>=9<*`N%+Ms(?48JND># zKqsD!v1|HiLUJW2Zg?qPDUCz{VI~L# z0Pzg$EB4kJMC)Q;VRed_!;#-d!z~CQQvS}|{?au06{L>8tn)|Pu8c=?4KC28p%B5( zqpx3Y4nspcb(lkmWlEmo?rsGt@scT6jP>!Y`NJ)4l-P+0_kC+EmG8`t8eS6*skjg_e)8t8{c#-9cI&Q1+R$#w0hyD_2+6q?nO4R(mvH$gJ zJzf8BP=;V=5T(E+VlPyPdFS}8?yszAJP}%2go*h+w|MaL4R5xc9fK(Y=g17rB66s! zI=ouIW%lat1y+TUoSzhVkv@4feeuHj#RDDY4NwFAt6yyQ;hyLbTieu?bSx=irjxbt z9a;j6#+WU6`VdQfR%(Zn$X)z$-9eM;#LWDR1zh|5+=oPZXzQA5X9mUb?bD+P4G#)p zgKgzQ6P%rHcz`>(nM_n+!ITt7QOuwNG=QMFbJ`i zXA00E+s^DZ#(rHrQ^POkFHNG ztzRipT>H?W(}Us4UY-XTqy6prlgMS(;MX}dbmp-Bq`Q)#sZi6 z2|I2c26Vz(Bj~6zBxZuWt4G_fbKt;%gXb$~=XoMsJbS`Fz|1we+o<0_%|y>AxK%CS zOlb^myKVcJa|J`Ng6UJ%-hIKJ6eT}C(O!E|2QN$I_a zRh>7~TPFlf%*;~g311LOLj1`-2pjCFR*y{|>T-@`W|uD09UZZiCQ6RG?J z!o%ghs{WIej=2xL^=?DAcfA9*7N=pvzlwPv1INyY#JFvQ< z-BQ3T)DSX}{aU{^SnR(py4L%>qKMtPGEG z82NstJGiY0&m8R7it7FEI1Xpn@pW-;(z43a-=q=5W z2C7raN}KL0dr2MEK-c}lj5sD4>E=~PAr%kV|8UB+^vwM`zr%Ro-n~_p2Am#NQuKut zRu%7VRJ86Bj26sEmY@q)SjKlaXyiKF#~i3#nM9WaPvjPY+P8_c27P*Qq%wn>aq`Vp zgPin|zT*DtVk%}HEhgG|*_sx3FY?0`mN6X;4!IjY_y_mxOL5wCTiqBafmNZun3VYae%>1lIoX4X-PvvgA$AE zjI0erolt3fH{hqbaqNTP)J8HN4; zBG%(4yLQFL@sshMssUIdE)XCSz6AL>f6-V0|0Do{`}_oNl9KK=Y~7uWZK-w>m0w9+ zfK3#8$c_gqq0g%Z)DMdc#2uZDjHyh1b0ikW++19;`OUw7e08kRd)|D+7JwMj(d>s3 z&mh91R$2fZ-oSYEzA%^UPuJF_gTAf?OmWFp1(&ospx@OuVW`pMTgN$YA<;a(_Z6VhT1UyyIYoprlos#_7Aq%RWK|;7Ac3!fw<3`+xEoF z=9uPZQ3;R+_)gT>0d0kDKX(KDCCjtSeuXC_^>Zc({TPS|bqJ5rLtnXTC$J3CkT>aT5+b=))YWq{K>j#I##rXe8{; zt>O(XzOpm2jBestsyyvJ*{S7KiTzfH5E)z`RRUEJ7pKGbV?K{2DUd#3Yl0J@wQOns1rrBi7k}|K-YaOV6})XjTefpiZJQoJ(`y@Ra{Uts z+)fDb5Wz4k1tO&y7`}$Y+Yb@dbvIb1)FA8w%k42Z8fJrCHHfz}uy`9*EDTLe&$`FG z)9g@K|F)YeG}^{u9NgUc0h=`>3YE#U-U@EzmA$C?=bwN6a8@9eJj&3fNeM_Ed!#G{ zb}03)-H z=GNe;x!fb+SW?#o|Ki_QTaQ(Ec#c&?7UoKg`KOt@u0-r?UvpIVMA6y4VA~LS z&RZhMu0T#P01YuBK^?^pD}hXHpNlrdc>w6S-J^Jh^$&$YX{36CPWKZymij5zQ(^ zQ5MFQ?2Be2I>GV?2_gHlo&PI5usLV-yOSaz-Is|p8FoX$$nSi%$S?=ieIy)MP)j;Co$~o)FkX8 zVpDFYV7r8|;QXRO1fjkx^P*U1le_&|T3TIP65!9pRhiG!)PK$bz<8+9@{z}iv^*a| zAB4K+26bVz=UW=kw><#{ehH-`!a0 z3e*dmnQX*z>HsMw&B3QKtyJznWh(Vri!F_Zr;th{HZ+dA#YSP|@uZ+BeJ&YQ#)(Xa zvjhz#@yiao2es5?stjA@G5_RBUAC#V(Y4p2fi0+2rvBkxz_8iu-Gix#aQN}}v-D&G zTbh*?j6Y#(;PyNqPeDJbYw!sE_eoUL%NwbwsTFc5}Frso7WeAp10#t@xcc>)`!s$AD7=)Dbk>*+q-;8R6>Rr0r6*Y9Bt%Wx{$L} z!d7OTkZp+?6T!s>GK}&5gKqYz5!p&FP!de~GWh=eeoGIt)z_eFBq%i0@C~*FNtYr> z=dRF;9H@$%s&4q}BZxl|S7Z8Q*0DEZOo+M%P#XI(#o^-%Sf&TGrj3)1Adf-#ftMAK zEs~dA^$MM+XA7n2Wd9ZDWquB-<6!+Db|N?PWGWBfM6K2PCdO zN@^E$&9mrLI?LPG-haZb>aTtU1pD=$*bU%TiQMsq^OD7jVd(@cm597no|(Jj@#>db zizSy>=+o#81Tiewg_1AqZI)MfK){;RaXzk|M@5a`X`y#dst0#hyC7bq;mQHxouA>GVRK4yD~-?A7%V_W#a66(u+0nKu$|2$xYEt2h@K*A=} znIPY*#w8eB9J{lBqJ+Mm$okK6L>0T-%9pq5K6_;@eQ!uLQls{tnd+%K=x+(%({>hN zscpa-57y&5MkVE5iJaQ{*jZjUSblNvUfzo0zJmU6=G)>_diPy^qSRZN`UN58wTy8_ zAIFk;AB|DkC0Hp$|Hl3U2Lklhp{z9skKf266}WB3r-H#!m9`97SEu!9Oe}k&8)_vP z8ur?rJAoBQ7!{f!fvR;TTA??4WF-6EA2!*}SyWY3wV6l1J=iiEYLAj825F!Pl2f~N z)68tY)ul?bX6jxsk8m4sEk1a1{dQyZu#w`y3aBs``I{!2mV)C(rcs*Y_2{Z88)E3^ z1ndN_bht>hC&h$6ez>>ns9LIeC5nXBJT|DAOZ0^>BeNZYK6ABs0`J1?5S9Ya5f|Yq zY!XpC=#|TiG5);JyY$}k1uQ^2k$_YZ@sWXhtkHB-s1xt?sgF@hkeYz|O^C^rjeK3E;3(sH6l-tpVBQc=0o+_VOlW#7DPTAW+|G;r;Fl!J|52ofYB z1WQx}h^Ckbm$o$thM)_ea`bCHd6#CQq4YOZvN?DPyRg=FPzy4Zq<3t9FzuOI+lS1i9GEx+R4RS`-okiBCtgy$%U z{kQ!mlj^r7UiV}aQ`xfeW0FHiW)TOvnLe0+s$8n5C7?Mu9zq;Sk!AbE&Ko$Nj+oB0 zYCJoo*#wvyaj(IJR|_PVoFw~|GyG|uVcA(ynCQtDhY(i~C^Z4YzTO)6zSz<{*La|o zI;on{SUh;uKJmh7+!ZB%|9cw?i%LK$4NbRdQ3Y)cA%F5==c&Xv?gY>Ng><0g(mg48 zL!ofRq-{Z^F?5bL+mZ|&drU;DM*a+gg5YlSLH?CQ_pNBR7AOfzB@jHs>Ha6?hwY`b z$yIDUXl7w?LzafoF`pReljuIXqo{dn;WiWnpOz>bFihIP*=+vaovFtKMsMmKw5(^M zrg1JwJPce!p2ow%a%YHK4vG9?@0jsW%c9zLPr|nD8^2pS2P36h@Kl3Ktn+F zeM3(n@(*Ue2z9eQrMjsyG3Is*ZEUrlT=~VQnZ^w+L(dIlIs1V_aamyjn>%lc7nEPR zH~*sQy6}b;vz_}X{`>re>o}?zdQ-LWFnU7;($jVWUWs-<#BM50jTl+lauPLWyj;^?!vGvP{1E%`{LF8P4T!y3@=QYaJ-RD~>YlJ~{MGerns!{$)P zBoOhL1>xTJZmipI`Y92SA!iv2m>yY%u*8K(O%XC$ZXOL|n}oFoyW}=tH{hN~Oi&Jr zLe*v$Gq>L#Ef$I*_YlP-ym(P}qvD`mfRkE{bGu`AQr1&UA|e?>N*8T7Jw`_?leL(& z_)2ES7pEP66(2ly1+Qg?~ji_t49)G3+u>5Iq@-g(hhGlQ(Oni8A9pRTt zB9#ph(;|7{mbQLy^evJlo8t=>fM+z;lGE|Ps+A~7odT2h0I@g` z3MR^0c?ce})70l;4_>e_$w}wCvqCL92WWyx)>K5&y=dRE&dYcB>&lx?&)UxZ6S%<@ zrfCpl`Qv0SU@lgUS4rMOD4NyK=|m9;jH?_Z!<7A>%ZiFBfI>a_RaX^KRLs-pTT|Y= zPQm$*_5_Ps+RL&g4Kpn3AEWNX-%X8mJ2X4c;{hv!RD1`S3X#;j)jNQ;@b37y2<<(4 zE<<~QJ53YPbI!>8%m9ZH2?I>V*(6J1?(xYRE$D>73a<$Q5 zV_{}?-A&ikZn7fh!poC_p+!uS&pF@@_qrmAjtR5QDcXP0>su;~|DB;A`|52fcsk;} z)Jme_hXJn54tbYKNtDz_JOr5mIif^`yRHr0nd3~~y6<|{sQ}tZ&U*;VGU%tOu;oT9 zrha|slB`CnlAzK2P|H%ZIaKK}!kG0p#q*yK?}PBO!}-IC;7}+IRv#HFb;{>Fl6&~n zsbp-&3kWv360HJ>E;l0t?bLjJE-W$1>zT%#RiXwfMmxNeZ;Yn2o!0oGYcu)uL&LCV zzV!1i%J&f{s7;R_HZJlK^ZhpIZgW3lx+}?WuLXOp{Rw&IrAcPVlI~O2C)%V7d?&t{ zD&M@tE%|=TrXk(@HcGmC3Ds|^*Ogy|iSqgItE!-MuIiV5iiG5C@3XDE0fHNaE{=Tv z6g*T|Sa>}akgD%YuZb#UFtV)u=C@`ly-QqZyVul&I#Lx;*uc+qBM9vB_E~*JbUA#fH;wdba_vr%pdarqz^K*p2nTY^OwU4JlVs{cx)e}zv$T7VV=_PJ zWfxvvS6A1@ZJjLsIq5z=*3hdb-jbo*k|WTfC)|=F$|0LsdOa(`Pc>hUD}=VQ-5gl+ zZGz2j`Np|BbjY7xR~P&}=P~Y}ZFO7d`}6(dlgE_%N1@*2KQcKb)jiZP{5(bmsq;o~ z>i$9`pAll&(=q5VFsh58&&@(ekCD43HCb%5x2)Zlz|NCqc<2VP<+nSi`SY(!zF?f5 z9Eek{fw*Zj`HQIx6mZP61ZT7d$-T6~Xfctcijs5oGnWT~zqlId*1#rhG+)_ICO? zJJEhvYIDSLw7d`F$Ypd;N=LJ`!wacE|D+8BbmGyi&)DxOdbij$?!}AaaHh2c&Xn0q zb)p%(+59}YKGn!);h)_0O{0xjHipGANsJW#+7MrL>OuI=i{xX6UDhV-=v_en=%us%aJ;Si3bO-*uBXUj}0S>&3^8n z{@Q$IeuqFQ8u%o4?mYhPA<4UC^P?qy;MJ@+&-OmNEmM94-`Abek|HsN3s+wKbtf{L zLC*xr2!{GrGFnd>o}Jm_fOEKY@QFnr{AS?K1;z#nyAd z+o;%pOIyZ|Mdb#XWhngjKivI}aNoinH9`FVGY{NcT&M5BazI-s=%-KwyrH-1mr z@<((0na?CLkv(r=e^yVx39t|rQ1K)n5St7)1>PzD;84i^15{?82;!QN0SK{&<|IWRN~@OQttEnt(7kAJwzf&k?XZAxw*OFcKOIpr=ucR z=JD+}+7lD1WKH3R`tG>pZlHXlp+N4{(Na2rid_FshG8w8(iTlVgJ`%Hb+rItm%^@sSBl0v?vY=V&TE?*y*W z+|hB4k}ba-w5Yo?#EuF(PX|~@64KH)OUnusY;pPgBIKj8TO8G@QB_)OGIPS=oSUGJ`d2eoQ zacp0~Quv45WeLPnL4ewZGe*hpuU~l{P%606 zh)6BE*Jo+-lT>lm+7YjHDfu2_@0r6#ey>~niEB7&vI(G~!ke%SGSW=7v=^|fAl^K2 zvZLn_&0v!7lLyyVAK}BP&YS5}(NGcr5FZHw>F=Ywn_q9Hj}6Aj0^{ZAL(tRgv*+lc zJ%st;_S{`a~fF&-xLkw~I> zWYt|d=u!Rsme6WQgsC9bqZGYLRPWAr8N559+4tJA^~tbtK+o$5QYgv0XPx7(m4NS` zp~qLVE4c){EE{uHNBv^)`Zs2Qa2}tEG6!M4;)rP#dk1$1p8B;j|9n#K+%``i7OR^% zHW`j3g7u3}%pT1T&a5UPQhPAwEv6<$C;V2C%7ut}3R*v|j7v*PA9+SJJw1rMGpR${ zwp8PR%wa?K(W|FiTQ@6tvpmFUEhm)ybs0(?05^p=ex8@~lI#L=vSQI6_z$RX5{fFf zAFz>R%)t=nQDP3d-bGXib{BB7M{#jMn~0&qMGOwxfD8qE}DFGI`AxUnU5>>ce2bQBdL4YyWIN@5lT?^ z5Wko?RHV_co)tgS20TN7v_xx=_YpJH!Dg9T8ArF(-hOwJ3&q5;-e<&=P2ZF{nLqdE z#23Z);7*;rF`u9|+(4HY*VtEauX>aF-p*(hC7ee{h&dWvaL5H#E?~i|*tS%5oe+<} z=_PNr84rAF|IM*0LI)(#CY?k>A!Dp%INy}G8_mG;$r_rPnqe&S{zC?x^F}x|$6Oc9 zM&38uc0#7tqwg!1Yp36R^}iQB1Uj((RDa|VH0KDF&QOeD(FhVSTB+b!ZZv`i zA$XJz`pHSqQK4!P1RfPZay`o>0+|OqN{^25$;p+8+AxyZGF}y#M7yuCuJLi%;npXa zHc8c`jHBJTOQv>l-5SeOxU6_lZk#r7Q*#?rJ=f^U8^b5x=mmbhUx^QxE}Ob`abJLr zp&G-HCU3Fs=wPXV+>iRd$UTA|3bM`JUiWj@+|t_PGe8TMY#60lh~!t?|B@c2ZZnk9 zIGN9Wb?Pa;e{ksYkR)9#cawp5BA&iDtm~%*Pgj3eSAs%&G zJjdL@K{V*1eYe{d`~z|{DeyBmJ&DZ6esy*LD18 z%^i+Y?v9oX&=1fTWELDbk)+lxe&osM5%P16e>Qj4OWt%SmG(Ii5W`t4&*5?F!pM@l zO@mR6M@Jh6cF-(ie)6MFYE65Fq(e@3;dpCAS*$YV_!@!=jz=%q=OJ(XYR`7-@vJb1)^IwRGM3d)@=0e5H_^RcTAi}bkg_TK z?|-?=kE&n3ekItMlrI;)3mTDRj?VdaV2U&C@&(o%<kXHNTj# z5|OY(S`ssH+Povs)46A>$X^8m_Y0mc{v(uonkLLH(;i0iTyv{s??-3i?fDh_sC0~! z=Imv}C;AJWzAkqCh2unlUh3pjl2c+`gzLbll-&mMlHT#`n(278NV<5$sSDc7vXJCU z6w8mcw9YJyS`&5zLLXfzHo{A*1LHr&An*^P>MuzB*YVW zMgP+ScA~f+7zf*Q9%g_!!Z^fXf@;Lyy|jJw&F0T*XUsmo^&R{CL42Tct$6*9C7M1d3wizi#tEwnrBt`Vv=FfK|LZ)FY|gX6VGyK*B*r*#_p{zCjH$V-;TMS zJmYzgGFjJWlqlbBGc{=AQ2#b{u}{Hup)JmiC1)+;yiMs!(U$rB;*?l}qn=ma7#^px zKe*1y^r{Z+x4k;*`Z3xqvE83rZE(P-OuvszyP?4A+`%h4{m!no`=Qf0vm}_P2*a_9 z#S#Kq)Yrlj&URIfiaXo;g6Rr7+ii(|N%h$ayxBHzS;Q-9DsGSt=wsy9fD-=*gSkfw z1mc`I%Uxq@SXEc|l)er})WoE07SJ%%GR;z_uQ4lQ`0`{1CHA}FyWlc9OH89v&cljURbz`DN1QV7UCm z14qt|@X{#*%1MS^X~%8uknS|c1tVGOOR9#G!xFo)oZfv~al!n|sY>j_dxgs1))h`g zgmAKVha~gUdQ08AhT=+ja&3y{WjD1_?(rK;$8?UFF)sx-Z^*QX*Eu${XtL@NSLY+? zh>B&&x$j(i$JT4mM?}PrPK&wQ{68E7EdPg+59lI8)>?hkI%UJg`tasuP{9*d3sx|DM)lu*fJxa>ul7}=+y#^fyYG50p z?nfBJa7CUa_Wkck$NE(Vt{PR z5s~#r4As!yA8@GU#mxa2YEEuJSD$O}ogHvw2jqsPraOAqwyrW?%KiDaVC&j&PtBy} zSx@rfL%{E73axaj7GDJ@kO4u1wo2HxfW%Iq;zuF;6!pXu9k znx{FKCRe_2>eL`oSwz}>%}E`3+q-0{e$=&O<77aLrKX+GeaD7U8Hg&RP*^p&#@m0!M&RVTnymNowgp6^n=0_g{{O|JD zK!N9TmJO{Zi}_}{mdS8cGorO`)_J*Hd}?U%O3j@W`Hx+*1_z%NPfH7km7UhwJ#%G= z)Ci|n%5N1I)g#JrvCHRH#LO3af8@j1DbcblLJ>GHGK!mx=#vtIIfIHu-AsZ*;`3#> z#Gc(`s#i27HXP#WSi(t(O}Hu0i8)c8Q~4()wntwWA=+;9POp^vEzX6m9$uziBCp&h z?%wZW)onSeNQbfLoL>A#tP!~%4!*KxZ&3B}iQ~-4&a$TncQS37|2nemdzh|NH>>gk z$NlZmnU6J{nw<*WO&X(Eb-wt{u;k#X@84a`(uu6VLg+ zaq^oz`9?^Xnf~;P-YaMQBhoMh-YU??{HJ@0FzyloN0L^fId6>z;^~Ri|9bJ|x1sIR z5n>uaelZO)|4cs|vPSj&rmMhUSMl-Ztu(M>KL0vWFWYXZf8r{CCzXEimW%bbD+&oJ zr?DQIr)+jq(<`!?`7de}O4}2DMSj`034;s=rzvL-#WjrbbDXrU@g2!E%TmJ6ZO$z~ zjIfd+BN;6}xW4Sg>j|l%{)%GxHXDYvc?MxjZZu+2tYp~xMNGU~Os*`XXLWQvBwu7# zcfXliprza$TNabBl$%ngIo}apQu)OX)-EqSFUWn9QO1D;uz%w)dQ`QXo6ty#UPQr_ zOIowaTKl%h%fs}&I(^8qK>5>@;Ew#Vc6nm9ergyu3-edD4#CKe3}xw zFA^`hi#q<(UwHSn68v{$RH7+#C?S#px1(Hfu}Nu;MK#wbN!>#PXWpC?m{hcV=%Ad$ zZ(f)EX6L!F75c5Cuv=HgcqILw#`k%hbzIi*gz3ecRCk*{?(jWkArVeUEm&xpv#_f^ zL#rc{IdQY*7+kQ}`wtaG+#Y02>fXf_#k&`gxoxMi8g89gwdmXA=>nxcd9 z=z5#7$?sl|^Z-3LD13>*9FA)mA%rkqOoNa>9UKWz_@Pd1^eIH|=IhveublA_=(l%P z_Ss#eP?OPnb_%VDw-{`#taI8heF+H(oV{xoUmf^oQvkoD=XPako|QW=Me`~ShQ?F$ zwWQ?!*q_BSt+T3ZGq)Fhjl>uwozoMVs~PS6C@v|+H>ZJW_1a^zgr}fC`i8(q3gT7{ zVTSt`YGtaU_YYR*A%V#tIs^`s14x20rm&EdGrzwdt*nKyN}SdPJC7bez6F;BWmtqb zXW0|t@A&RMI)CZq6*f+yz$czRv73?CM$LS?&81;wEjvr&d*OjruSl!SIn1YH!nZpf z*s$N_&&xKa5(}=zb28wuzSFqPBG2f0E0S#!1hE&nMly#_SF<3c9DAh;-@Oy$jPk{e$JtIl8+$Tz1^t!Xc!i zzHgv+nPd%hCA-&#_UVgDV{LBe9UDF>c0{aOY4S(~q2yJoHE`E+F&3f0@`b5))PG?&_oFI43927|^n~zp8d97R^K{rC=Pgj|=KI5vAhT8)eB5F^x?&xW&kB zWuPUNJlR{<((Bi=M&9wfwtUuLW*@ab`F4@NjcMOWh4{>bO|A1)+R-v9VcCUF7X!w4 z%P>V)nAKZ{gWbpB`^R0g4fu1dyS4pA?$+B8v=bc;0Gqd10#*b-p!eRB5T?Q`>C&goat50Sr!w|7Y@pdvK-i{fZ*3_{MM~b3T2+$jFkG<&+t_&5 zw0v8)w6w>dT9Q}Jz{YNeq8nm&>hc|Y7ETtd!SeGbvSEax;>RZunXlsNZyM%v3{ zVQiGN+~BzFyE|+KLoIu0>nx^prnir(5jSh)?s4E?^gdHxvFpd--OL6y%d+)swB6nt z>UJN<>bfI*hmIe2);5w0FAd_o+*k0qf0V+_XzhDI=~JHgz6VMbVqtMQx9>Vw+>9rE zROJtPxsc@edD-I*_#>6w1#36!H{CnfcZ3jEli1-&L%Z={tS2K6%}YUJ!=m*DOJsCsnwclEdA>L??#;!}|UCWZ6=X)}>y!`7^`5N#ZX$r%YYs(&7xTJ#M zPh?)pgUhx3r%Ug45{XEoO`cJ>Tes}$knSp{IDx4R?$7rbdmPwg=TU1L!=QEym2wy? z{|je_+gRl%QVgUd~|xy}*`7^IxL5NbRq&2YDSJ&ARiKk|8r5|uy~y^m?Q9x6*dkyuk!@EAdRZSQVf1F%<*q*ysqetCabqpfL^E4G(oZ?Qkn3(z= z*&IUko%hlg4dn)7KC#BV*bpuJ!>0@Oog|rj&b=-gjg{bM5^`GP&W_=9v_t!?lO>c) z=kPlDSYm3c$j>$Rr<)SZW%dJs#2RjnR;K{hvEO2^PPub$YM5>Fi?9?4r={v|kJ8!18$7yf+xbF9xc^>%KwG=N{BGfNYfUX(Jg@KI`?q&*(YTb7FL|(9AmIS? zPh1a22TRc^m7J5wv5VbT7Z|-dz3o#zg`%l*&;$g}6hf_RlTjSi9^Y;%~-dvI|UYDTZdET&&;6rgyo+Rp^#@J;03;#$RG1&3!^ zst0xo>GM4!=vkpV$&_^P5X{~W2s!#(u{LJ1j;D`}(g%Q#0QbtcP;}DZ&ixpqzKWA| z{d&4NyDC$|d1|dEA2ojx=qb^#=`u_nl=_q^2{ z9T9k-(C}gIhac6`=~Fpi!1c^1AI)8~dk+egGy`H2 zXC%RY&LsSr?W-tZaSvqS{TgjO7?9^Z(v6wqT~RFnT(ZQwN=c>%Qb ziA#Um|J2|376iW|{hDAX8g+b^L^*R#M59Ahh?>%f_TZyLV=K2~@3x=ylD@Xb(t~w> z)A)HBpQnOf^*^dfQYgbmqEyY%%XCC&%xe$9^bpD0+ zc+UR^f=^Nb6Auckwvl$!=J${yMVAH&Q7HMVo|$>%0ToPqKAr=AE0tgL{$k3T{Hz-0>pAO+&e|6RZ3-6$23DOH^Z zMaIQ@Qz*4vP*@6 zYUDuHy@Gn4g@KfH?5r~~LNgZxFkAGyx`5KyoaD~4K!e$3H2bOVUg$ja`B^N7{0Zoa zI;i$FZu5zeA@Y$dK@EWX5*}_43SlyFcb>%Q8KN-Z76>L9G z4zH7eaR8y8GmxZLXG;N?h$H5XsLM$GlLvW_33>87bV9qdrE5P44=LwPB3*L7q zy=2`6=}JOv9Mw{h)k}pH6%E+c-cS9O9s$h)&C`Cf+E^T21zyur5T%@v_dzvWmpCmy za>D<+=1<5e66&=C*~AibL#r{U%}K>COTqX*IHYXn6JWfA6PcrSJNeUZe8amIWkrrI zLTL&5ktmso%y2Vire()Pp>T(=d-om}WK5LwZu7qLMbl0s$uRWp#B`Hg*}I-B6oaoU z`2(bBXz_*Vtm~$yXpLOniMizRNq{@7=o>JJpK>wa#SNdoJGCwC~m-Y-Y4z=9Av1gkXC~ z>rhAU{XS|;N!t^BsFJ4DwkHGG+nu$_NN7Lh69IwfehpOYv=I0#+3DEZ6mo$9J;{L) zOba%yMSwJ7m#ARHP=rrouRG?m0Cap}7Ya+o2#E7)w~7;4;z$sW7k1qt`$Zm{cOCji z(@Vcc|1vi+HN^$yBQwfSPeG_a`5$zdYDhgte3!ue@F*^Ew*=nH=wFh=ggT;w&PImLYomZpTj>J zw?qvX&$jp#6a2osWkq0Xf579dC^xa z`wJzAmkybzyBER|QACL4xE2KQ+GMDPI@ON=Q|gp27Ti?9;uo|=Sz0=aw!$gOl+EXj zfnHRF>x8QR-Qx8dwvc3}ChX76`^WcN`R(HI#u|Bh)qpad>qh-((o7`sL9G76s5i)uVMFzIlw6r zu4$^x_Nb_c$0pC>G0M6A!jBEhjP3Jna*@T;31V zG0@WyP7ar@87$y~4lalcwuW}w*vrLc+OX<{j5ceNE^cQF zYtAEG;gO@Pg$UroBQ)j{612He?O3(7Aqh^sx>hi4kJ`o@S08`eNN2CSJ%pVIDZ*p6 zY8y2(NpHIcyDSaI^{6Sb6+CisMhY{x;@tur20dx>{cUNH#ly>0mc@=7@iqWnRoE<#O)Tz-VT?~ahsVif>okQ2U8*(#_< z(uOXYecuh$d5c`{!K1~FIXTQ*ByZ2Jln<>!P0dnU!=P^yS-Papfc5X*t$93Y?9^cv zKx;kh>gpQDEU(~Z+dy0?P_LN5V>zpltHO7oiT=msSFxT2txmg$-;y-*fc`&8NH}t} zV7Kl>|4IqO{3RCW&8n~Wt3A-6LLIQVmeKj#_r3#}3M8#l!(jUqMXGU=qk~&>uiPWI zO6+RmM0PXHV^ti@>+BkiayQD>l(!E}E||iOZ{EEr35z8g)@G&o-!;RCuJW}X#_;9u z@%iu-(gGE1E1mc^o|>oroUQL=e0fvTgYsdM=khZAlj;m)m2Sb zc*n-YWsOb{>t1E}UI)|Pq%Zfw*XQ!aGtY5hozOT}9>_`Hcy&U`sQTffoA#5UG)h!h zSg7RGdRjtftH30v*PYjcbBEEBY4gd=Wb8EZZNl+Q`OEzIo5_<}-8LCvlMfq9Vt$q#bx5*PSf40I9o0!-r5?DjabG2%1avm6UaGHMC2u|SwW&7)rSUu zKEkHHKJ0{n`CA^}>ZC)=U$;sa>?0&?1A}IPHGiltsMx#CAa9SF@JjF4{g(=T{TVe2 zxRYp3*(cFK)%9Ic@Hv*%=bomDHF$iVaH!U(sQvva3XRbqJH>$$8V~LVI$Rz=+>(>G z73~$(&_s!yrFPY>pP2^(q&cy;h9meJ;ysi!SA>D=JT=a=EDn|stg&8wjbO!o{`^_Y z{C+GNi8|Gk#}0=rJB%G8AE5~;^Fsq6Ze;_mF_OV<%2286vTyD-Ipc1Ja7IFLl<3x< zxmX7|XNS{KVx=O zx{Pd8=B`1jIYGX|?z1U673xoHe%P{rI^Z7|d>U47#5LPJOPGdQuEX z^!Gb{(-ms#2`z?jsr(tAe}-Bnm}bX%K{&&StJB!&!WI#c15Z-w#p_uThyRFT~bUCMG7-l+JG~dmMXJw20Zn9_cibb^xp)l;S0^_3CU51~uN8 zpLY$dFV!VGHFb2k%my-90{tC(ug6ijyw|0u%yr-I|ZAwNwI|4 zxR`AZDzd|V39o+%ucN;BU(`hv zR>H4AGz49h^3jNDV|UN{r|745i*X|)%F$g`+j(`?mXaR-)H|IU6wJ&PFft*>ComXl zyx37M;Qws?2|uZmB5#2G7~l!kw(p98JL4v)K+juWssYh9M+kI8A{w~BJO^~B8#;LK zBv1ie47jcVc(No0uw_8<8cg;J16I2N6krPA^r)euVG2(SP{x2KsXzap85Z8MSLp;@ z3Zz=%8c~vxSdwa$T$Bo=7>o>zOmqzmb&V`S3{0(zEv$^pwG9lc3=Bf~-+~rRA~fXY ur(~v8;?|%N6bf9^&7c9dp(HamwYVfPw*a@EV)qj83RO>6KbLh*2~7ZUh!08t diff --git a/ssn/images/open-window.png b/ssn/images/open-window.png deleted file mode 100644 index 19471d21fcf862dd991aff2145315f5b84687664..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19211 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

    AS$aIA&whxK?~{MDRjS4 z0;%@-&AAK2#5dr5-;klcrlZ|o$%Nr@J`wM}*>}IOHJJW_t@)~2Q*!8-$tLQER`421 zA%!#6foyI}22kHZ?pOo+tCxzdLh*|2wg3?lj{< zz%7#8Y`<3&%`@a>-Sj>EbDYZnnZPx&hV<yB6r84Pvi@NQex@XQvbElgJ90fM`I=Ig3IZMvb+>S;#X~xTO&3Pt5#H9 z(j+~}HQx<2WhT6D5Jl?UjvmEMqjbg z8`zRgDDvyPsr#`?zs4wtk-`(D9czkYL~sb|{z&$~3y@`=&MrytMPv2yLFF}3SA9JTU7qXUs$z=TNZ`*K-H3V2M!osds zvxdQ8iQa=x2X5&qJ8AmD-{>6pr-4YT3S(v?*x;`Aty)-FmsCU2Tx+;4My>?$hfr!_W*QC=x4k;o z2lc#P=ag#X*$nGZv_edW=+bdjBv{uRt#B!@exy^np-(t+_qMyx&)-K}Pn#Te`F{LW zi5hJd9VogF_P|byH0t+L&A!@1Vh6JO-f~h_3ZhL5PGN8lntL#QoDl4w+_EvH<(RY6 z5}jt_rm742#TZmcx!*KcEW)~aA$3!k0#zOr=39TLiS6(v*Shn;l4sv8*L|O%j4A6Q zAW>~cQHTposk9fVQyI5_t~7bNBvZvVcoeN(UIeXf+J-(g}wuOM%d4ZmNkH)B_|FF+*qZ@YMxrnJ} zSA?%&tNe(5M>0?ZUWf=G-NjDUt=k{izlf=y3L7NPQhdF0bHR82qTUdA|L~T@R+9xu zx%(o<&1gujQmmBy@^OH9o*#v%Xm)vGbFHCSM$W5QbRMh{lx?c{Zl6!r=Af%OJX54Z znu{?ve@%p8CGW;PyKap^iE<1Y6RMz=*HEQTBA-Fh+9PZed{{w>#LORN$uPu7SLato zYLdxcUl_-T*5Aug1_Bh#QHK`C!*7OA&u0i0TlL_p_-~4LLg+AWSnsGVaSpPa`a16t zS^eF+a{MV~*7#zyvw3{-v`L*srLyFlDg!?N*|7xXiO^P5NaDr5Po}+C{QcGQ2Af{< zrr0kQOvtlW51xV{V(Duc?T&$HQa|f}Trbm|l42PQ)Wo@#mk=2#QSUG^c#Kv+j|om0 zzEiYd``7gpCq8+T5P>vfvR%ppi8H@7L}lfaBP`-y*%M~3nmcXs8Gm7DEQO{PMTysk zxg~Rw8eh6(01a7wp=|Ym7yPe#1Viw9J+wl=$a%pv5ztR7BVPWq+KbJ2zhpb_#Vx1) zlWT>EOTqF`ZPjYQ&%hFUB=a!`Zl{fB6Yv3%YlX)0h=`wQfOM74nINc~bMPqxrsl_pdBb4M*&tncrFyq_(=JN4g zFvNPy#^JdDK>;TvbrE)n6z`tB#p>u|0Jx?UM*L^Kb^*y~1Hr0&6)v=S6en>d2T%6k zcbx?8x(3(F#=RxgEEcvV zTnIL#IKwZ~9hj2$M+9OLC;L5k5x*XpxDiJ|EOQt@*9T(pyio}1)8**j_n02eHwL7C zDhBrOn@%Pd=ySo2P_H$v0u2xzvFV1N9&gH0Hci=DtXomLK5USV<>?dmY@0j%aUlQz zk}n+m(?3BfL-AsTQbP|kIA8$qk*evT7gfa22cM6BjmElINE^L8YWD&RU}VN!Q1GH^;Kvm(HQCR*?ehB7gWK50lHAM`%A4qm;}ZZ*W+YH&#fQrjoZk z23v%F$iMsB0B7Kdv6o3deJLYvV$*uLbM?*2Bln7`P~(%MyS=EscU^Y-Pw2I}uOZ{y zqL~^bS0>bM+OnT4k%TFtI%BV{BE!GSI0xOpN8ztN1-2E5<*zx2SPVY9bi-z&(*a+% z6<1%qPoro*-kC3BcC-#Ok3~A_AqtPRN@KVE4xn*IUi|cjgeh%-3R({_ysmFQMfoe& zADr*KEZZKD*~~j*bp2~91gvQ3(jaLc6&|cPjDneRW-vra-V! zm2_;Z0S03&?CY1OZ5|1>@BSXV&7YHeu%{@Rdsurb)3Txl(Y=cfheU75&gU+NHJ$Np z65-lWtVBLB)H%c9tp*S8?$euQxUrZ_1t=kzV!@p--`YJ5go2S=S7B(Wq=3?gx$~yjiNpc;g8wXibd@63Dea`8QO6-=^S+c;K)rDq{C)HwC zV<6}kLPeku5onYk8@~jP=?uz6o(m{|+QJvpbJ0G+e#e3*;M}@8YdK~2qZh*D-vunR zNaGdO9Zw4j+2IF(%+X0RPGTbSqbKx-N$u{|?cJsB>ZEB3!*865jQV66uH&A@r3K>$ zEI)o}`4}#eCw?oG)kc~aHDv@GO7Z*Ubh#YNg5OY)Zu8q;M-LQfub_PBf3-u#@JOti zX3J`njdZZUi)s2z9FL9gu@H<|iQFUFr+DlyPxph#Nssg(Dhgt1PLan~-m&bM@FlM8 zYdhznp|BjOmBR{YFC7PL(5B&h_GT{~{IZ|pzVnMOjUpa1iWtz7q6czwhS|SoG3mj0 zo8=4=k4myBnEj)To19SUp1+BnVtvu4W$(0Y{eQkVf3^A*7nAFUY@lEVYmuPkqs$ULwFuvyv z6eEex)*i_+XHiRG-;gJ^ADZGuiMv`iLIDgA=A}VXqX2+GW>o}1YW9K5-H9%&_u|DB z#1F}axDg2oz6c51SS@4y<~Qx9?0|?1{d3a;W+ht>Jk`DnNQA*pE|ISpt0ShEvK{4q zp&u2XXdea9iUwnRgs@X4e(76;NU+M;DGvvxsUqah)1!bcSQ1QFj?AH!exlKCA&{Vc zxWEp03U;WRA~ikif##F+RS+dFLP5&&H}6|=vTfwjk)u2WsnogO*R>(RKc;1aTx2Hm z5HUt+*EYGrxB>X>mcWuG(g6=0?nFE}?a+NeBTW0v(QTo^ zN3#LoW2|{EYCbMK{+#Ly<&B@#IHI@|{Nsakg9M@n!_hYt7(rjlz3@u!@ZH099e5ye zS)=%UFXcWM>Q?im;p@oMNpY7LI8v0ewc(678G~snwmn+d^l_(=AmnIX^6G!tn+|y~y z!448qDHN4_Zi^j_y)rpYg%jFwZ&n0>Sp0ly+zuSbdz*HCW0_={9Vv<4;S9KQN`Ufj zSP$KQI&A6IJd#hi?Zywo1_Eo33T>=vNP(Abiz>eXZ6-YJyv?rp7(vROz|2Q0V|rJ! znqT(d+;tk$YCBeGax5VQE#7A8oM&p=-(Ab32_hsH2=VR#pjea#kJUUsZ(m;*+Qcvo z>s7&}qEkgA+?i%q8zFcpbhnxT`wR$$rzzA*Y8?qUz=hk`Q2 zU`zL_+w)NWvYN5M2LNmS_HV2@{fPi3yKnJ7=A_HFO|fb(YeMBdeZ_P>Aw{_nC~?=| z0eYMVkB9(og(JKab#pLa^^+^Y#(w;`hBb7+xU*1aHDgX$>Fk)%G5$?{K@9!#SPWR^ zJ!>IEwe}%M^y#)H)Y$8kxoHmni279}?OQ$(!Wjb_BD`}xt%#aJ;gRE!5}Y{bhNUw6 zj5C!IxGOqj)I;X2reiqSj2i_h^MI*}3~onpZ?_ks2hRD7+5&~yY&G)Be}GH%;P3V= zh0MiKoEZc4TdAWuMCpMZj*m1-%nBgc6{Wf2na|fW>5uB%>^BblWI*UtBYQ>>sc(G1 zq;=g;l;|-Se3FY0a8ujh*S&(H@1MDZj3ZBdWd@o7kZFV~GY; zhN2{m7u{^y8O_fJlZpr=8+HyD0S$ijx1)?)IL1g|TFgxIG)(!7vIcC(BS8}-ANYsJ z;cZk0#*rP-6G-D573)#_0q&ZNnlK#aoAmmqNpAir?h8A+)%!&08fjm8nIJ#+{qW$g z1aEvb@o<|W=&4$1ln7e{z}i+lWRZBth2RklrLFSIy@Sa`4PTdP-1CKZ<0rh$_rg!J z35Xw9o53uOc+h6N$o?FD87H6en^6Moc>*qb?Y~r~q=?+L8`a};_c!Wa1w6Xk<1B6kI$n{jJ%=e4eS`Av`}#|7tyYQ8qxLq^nQ7)u&NFV z*t?!Ac-iC(PyAj_AoLH9e`57E=KsX;WF;YSJWY|qaau7d5odh09~NbY-%5D6_+228 z$II@S_ku)U^JhjFL1eGTL)W4+%Zp=Woi`2NOAX&!jrTo$#|GW~mAu7x&tqpilgdPQ z#gtEJ)Q^3vMU|udMf!yp*Yb>S$DL2MZxg<)2R8!mYj-5@082XLnM3vi>u1+If}1v|3-)_*1f11Ol)+rrh;A-G+qm)k zuAsed9wwBxE#%32f7kDUzvX)?A^>37)cXSfXoD|@0T{S>bbW#xHQPIcx;A|7-QGrC z5xU@}L&(EmKRZA?vh|*aKx;iN*MX13_NOyXHc7+?QonhBLMD#9KQhbK4|EVe$t?q6 z$Uo28Vmcfmb*paZUO6V_nt30cn6p#;!^ z89Y9)uNdQS0FtvQ4SR_oA3}T)LZr;kP&9&;Gcu~x*6$E+=TmVWhH>nku%XC)ucdR; zyAah#@62n_@+{Xrf5i;zxc73v}WUSmc zzX91Jb7_90u{xOgm7s}|Q=}t|_E$UwIs~~q_>ThY4q$8(yB%_#FHn%fDeFM~4B0BA zjJO;R5k&*1@j*K9kNC*Bn=!~)kgP@b*o04yGY%YC#X>763ZWS2}AZ?##(t07F3QAkiIgpkv z!IHzZQ5%EZfH_DWl1wmVwl?GGfu{?Zg1TvfIkx3*-+#s~H-8L+qzp1FaHnOKQK4*w z3sp39S z>Xu1Lmp%09X2Nrbe7xPJEckBFkpT~zWB)8_g>)ZhNeP!G)95-`ZTcx6;Gc3B<@!d| z6^qxMjwmp3@}16AiJi-%lb`$|k0k3^tnlY9s>%s6^N$9!9l|OnCedF*%=Bnleu;K0W)o~WN4?0(e z!fPdXR{hyAIiss0N_~r8rG1u6x~N!@6(jUFCvEGi!wY zqm7$?pWVO_@e_yFM{1^}6Dcs!Y=2Yu#m)(A# z*f&GNF8T3MIFDjrPm7d=zrwz58R*Ta@~aB$Apd7up%!d6YbcD)KP)O1peJ=C|4Vbi ziDhMGB_zaG-q$SXd_#@`8a_EtjTPx=Q2JgXx>1c>5n%(9==tf6Vz^LtURP&SWP~ed ziqe?H=gTT7Sd%5RDU`v>R z4>dbaJcHqn0cHA-k9tC6FE*ZFZkF>XUHa>w+BIo-G0q@hFgCI`WDs!^!GK}huY0Kb z;Mt;+;5vd*LHl*Ams8rgE_>x7-L?US2rV@&gOQc>Z>SZ+g$TRMDO&B%L~g4EC!AiB zUXi&AP8L)Jxx8OoVp#KO-x6N;k2XZpE*>~Ngv_l|dA~-|hL2&y$>-SRlK(|Ytv|#1N{O7_dU2cjk1oeSiD0W7oX>}JLN7)#4pzzsn>N=F;7Yuf)7$_C>ZljJEU#7|9 zIG7sr4$nUdDJs`a3aS*puft|{lYgeJ7&}HRporlqHMVdKECdov?+*`5PYzN4MManG zg|TR2LQRohwex184v{Gtn9@NQhE6NQ4vMen-Vw%^NRtf~S^b@(Jq(Hvq9k#-P2-H5 z+>SHu!jN^GA|p-Z#Xc=12?M2hL{-CaP&j)Gyg}2;FI{Qky~7C@N|LVT^x7X$DUp6k z$dBnJB07IWdoaiV;Zjk86@5hXo&}=vxO%7p1%q*|&Ja^_qCv9zqF8VjgYcw}peH6I z`lj5VC)SeZ0C)`~R(KCILiW_+O{iYjZee_=z%3(s2gTjh#g8sruUOPD;lW6*YUCA! zLD?>LA}*QE>T$lSq$JyFj2?KdI|*3s4%e$FExKO(e6y4^C7Y#Ui>kdutGOQe7$heu zsX0hl<*Gv5N|U4bB)=nDehqi+O=?M`h-Dw8XRC&k7MCMfgwt?Ii4d1+m>UQ)EZS>c zoEBH*{J_g(ss+;RJe$M74C-W@OS=QBcqHNdTfAv-G(_$9aJFGEgNZ5Va{D6to#&Vf zCSnlrvt(dWRD33**!k_;b2o*4maw-nW5M{gY({eD%a%zT(ZEPY6nbdd=QE@c5NnV% z4N6=eM3%Rhbck~+-AQXnix$d-V#n`wOoFvl(?5Ayz-h`Xc*(2#~OQZ8Vm{~W%coA#-zT@@jY!_@S zYJWk``?ZYRe?K}pibI~mGd}aauvasN^Oq57*^EKrS`hXRy$xd~qyCYcOU0w@%F>H5 zT}YL<&x^PzhHQ$5gFznV$`^KR_$!j>naGD}o$Mk<|kD+T&xQnG?uf?DKmUqq2fA01YQg>`C4#HN07g})W8{NI`Kdl4TVGikk z?fgBg3$9tx|?k2+bH-KLrU>UJ&hUdGn|J3H%Gg@NH~^*?$VvR0-~j#~aL+0( zN!b~42s|_V8!zFBz9TBN+x$sHpMfG}^pGQcQ2mnvDu>UnG_6vkyB-{>XIjsI1ML3_ zlOcX1+ktjwk?lNkm*+n>%k!44OOT4^sa9SENZpl7eQmpU*P(u9(dhrY0JH?3T9|o0 z|I3+Xet+r#<%aH!{D0MQrqOJzYaEY?BWN|PmQu&i(neLA1{J9whGR&DtEhP>syH#! zOhe)rO4|@Moerj}IB3M&!%0-Nw454SQz(iSX($r2xEp8PyY5}t*o8@4Fv}yQmcNYU3iFyV$*F+f4}iX$bgE~Zyg4OHNg39PnlAaCtiYPld z>O%+pQj{n!>6D+KWc4UnZT^vJMitD%76%=%z!Gi1itsdbdHiO3`AzlJVtL5ch{EyJ zxl}h#_k^e)Zrb6XrXlIFuT918@Z^=0Q_J7u|>ucb%9>0ooFShWA zsHsStwx=-S?06Q3k35-ndVEnox;VfxSvnT>A+l$M8=Cox66Qpj_?_ct?ZLRA>qzaN z8#7$1%Neb%f94Z#nX=1lG#;XtgTi#Snk5l!n_#t#7Q#kr=TFOPO19esB?}3owEFxE zf76+g3OnUI>cr+eN@kIJ!paQ zu8r9WO5M47b>Yz4HIXGj(~VUFwGwOOCe1w?`Y0`jge8{{6kmuW>H&Lu3;4T`zJd7} z>>`FZ|Iv8NHK?W0&J~&RW9C{xr3!i%YEGoWXjT>(cFopnsC-=~QRSUH)Q^Zk?W5fQ zN?NNhbVKX{>>*i|40b*Oo-FzMCI^1yA*Lj4S6gX(?f{J# z65R5vSK(O3xm#tqXCaJP0_V#V)L0Q=3hTH2eO5O@D%kd|-grt1emjzH<^t&H(W(ceGd>|?<%RZpcS-NzKVkt?zX9}D4wFcM2MyF=fjM&7 zl;r$*&j5p)=e6BVcA2FZIKKB*)0Yln-lHR^JA|BQ_%-0(m(Z_>4p=*&v>l&=Ud z4$W*<+S0l=I`^yCx?Oh0Z`4zlEBdW9{j4HQ)W6G_eW)CgYE=wj`qu7|9=Z#EykIz8 z1T7T!J3Ee1C5Wp%8W*X31HPLjWwpPlE_Th{fr+)g&hWnuNdH!~*C0+v}pc&iMiOy*1ySq^HKLBaFoowFV<%=OTTHDu=#EJG$a~2 z1{!PR?j8p>XXS5VFc$31XY2*Y`67RlIzN|%!wfznV29PHxs|CHwXWquw*w#_O$R&8 zrgqPBn|x^6Q@^m5iM{Nwq~@921A7fq+9|?g-pKB}(HuM}eg6x@U`x2H-6!b|9<{q! z0D|v0{1yyx=ZwiP%`MH?@W1AOuG(c$(+gS~zwHU!KnOTOT?Kwg1%b4JUq-2^ zqu{E_a5xGM|E}on@m~VGzlZnDh`$$*!kL4B0QT<)!QOb!pkOzAz~5{7@f(7>%QrE^ K8Bq0HWB&y|BE1Iy From 1a17b2814f1462f4a79b1773e6aeb687e770a03f Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 10 Feb 2025 18:37:04 +1100 Subject: [PATCH 70/74] Convert Patterns diagrams to SVG --- ssn/chapters/ModelSystemType.html | 2 +- ssn/chapters/ModelTimes.html | 19 ++++++++++++++----- ssn/images/Inkbird-system.svg | 4 ++++ ssn/images/Thermometer.svg | 4 ++++ ssn/images/diet.svg | 4 ++++ ssn/images/forecast.svg | 4 ++++ ssn/images/paleo-atmosphere.svg | 4 ++++ ssn/rdf/examples/forecast.ttl | 8 ++++++-- 8 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 ssn/images/Inkbird-system.svg create mode 100644 ssn/images/Thermometer.svg create mode 100644 ssn/images/diet.svg create mode 100644 ssn/images/forecast.svg create mode 100644 ssn/images/paleo-atmosphere.svg diff --git a/ssn/chapters/ModelSystemType.html b/ssn/chapters/ModelSystemType.html index 68bd5f1a..6b3a6a5d 100644 --- a/ssn/chapters/ModelSystemType.html +++ b/ssn/chapters/ModelSystemType.html @@ -34,7 +34,7 @@

    Systems Types and Individuals

    illustrates an example of a sensor type and instance modeled this way.

    - Thermometer type and instance example +
    Mum's clinical thermometer represented as an instance of a specific sensor type.
    Explanation of the notation used in class diagrams. diff --git a/ssn/chapters/ModelTimes.html b/ssn/chapters/ModelTimes.html index ee42121c..28fbda0b 100644 --- a/ssn/chapters/ModelTimes.html +++ b/ssn/chapters/ModelTimes.html @@ -20,9 +20,18 @@

    Forecast

    A forecast may be represented as an observation where the value of sosa:phenomenonTime is later in time than the sosa:resultTime. - The time when the Observation execution was completed is before the time that the Result of the - observation applies to the FeatureOfInterest. + The time when the observation execution was completed is before the time that the result of the observation applies + to the FeatureOfInterest.

    +
    + +
    Temperature grid forecast, modeled as an Observation in which the result time is before the phenomenon + time, which is when the result applies to the feature of interest. +
    + Explanation of the notation used in class diagrams. +
    +
    +
    Serialised in Turtle
    
     
    @@ -64,7 +73,7 @@ 

    Historical observations

    - Observation with phenomemon-time in the deep past - paleo diet +
    Observation with phenomemon-time in the deep past.
    @@ -78,8 +87,8 @@

    Historical observations

    These provide input-values to the final observation (at the bottom of ).

    - Observation with phenomemon-time in the deep past - atmospheric CO2 +
    Observation with phenomemon-time in the deep past, constructed from the output of two primitive observations.
    diff --git a/ssn/images/Inkbird-system.svg b/ssn/images/Inkbird-system.svg new file mode 100644 index 00000000..0c4777d6 --- /dev/null +++ b/ssn/images/Inkbird-system.svg @@ -0,0 +1,4 @@ + + + +
    Sensor
    Sensor
    sensor:IBS-TH2-plus-T
    sensor:IBS-TH2-plus-T
    rdfs:subClassOf
    rdfs:subClassOf
    ex:12gth456a-23190-T
    ex:12gth456a-23190-T
    rdf:type
    rdf:type
    observes
    observes
    hasSystemCapability
    hasSystemCapability
    ... details ...
    ... details ...
    qk:Temperature
    qk:Temperature
    sensor:IBS-TH2-plus-H
    sensor:IBS-TH2-plus-H
    ex:12gth456a-23190-H
    ex:12gth456a-23190-H
    rdf:type
    rdf:type
    System
    System
    sensor:IBS-TH2-plus
    sensor:IBS-TH2-plus
    rdf:type
    rdf:type
    rdfs:subClassOf
    rdfs:subClassOf
    12gth456a-23190
    12gth456a-23190
    hasSubSystem
    hasSubSystem
    observes
    observes
    hasSystemCapability
    hasSystemCapability
    ... details ...
    ... details ...
    qk:RelativeHumidity
    qk:RelativeHumidity
    hasSystemCapability
    hasSystemCapability
    ... details ...
    ... details ...
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/Thermometer.svg b/ssn/images/Thermometer.svg new file mode 100644 index 00000000..3d3951fe --- /dev/null +++ b/ssn/images/Thermometer.svg @@ -0,0 +1,4 @@ + + + +
    sosa:Sensor
    sosa:Sensor
    sensor:TemperatureSensor
    sensor:TemperatureSensor
    rdfs:subClassOf
    rdfs:subClassOf
    ex:Mums-clinical-thermometer
    ex:Mums-clinical-thermometer
    rdf:type
    rdf:type
    observes
    observes
    ... details ...
    ... details ...
    qk:Temperature
    qk:Temperature
    sensor:Mercury-in-glass-thermometer
    sensor:Mercury-in-glass-thermometer
    rdfs:subClassOf
    rdfs:subClassOf
    sosa:Observation
    sosa:Observation
    ex:SickChildATempObs
    ex:SickChildATempObs
    observedProperty
    observedProper...
    madeBySensor
    madeBySensor
    exSickChildA
    exSickChildA
    hasFeatureOfInterest
    hasFeatureOfIn...
    rdf:type
    rdf:type
    sosa:Property
    sosa:Property
    rdf:type
    rdf:type
    38.2 °C
    38.2 °C
    hasResult
    hasResult
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/diet.svg b/ssn/images/diet.svg new file mode 100644 index 00000000..e53f445f --- /dev/null +++ b/ssn/images/diet.svg @@ -0,0 +1,4 @@ + + + +
    ex:Community2998
    ex:Community2998
    ex:O299877
    resultTime=2015
    ex:O299877...
    hasFeatureOfInterest
    hasFeatureOfIntere...
    ex:diet
    ex:diet
    observedProperty
    observedProperty
    "mainly seafood"
    "mainly seafood"
    hasResult
    hasResult
    12000-11500 BP
    12000-11500 BP
    phenomenonTime
    phenomenonTime
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/forecast.svg b/ssn/images/forecast.svg new file mode 100644 index 00000000..83b2f1db --- /dev/null +++ b/ssn/images/forecast.svg @@ -0,0 +1,4 @@ + + + +
    <grid/299876>
    <grid/299876>
    Observation
    Observation
    rdf:type
    rdf:type
    siq:TEMC
    siq:TEMC
    ex:EarthAtmosphere
    ex:EarthAtmosphere
    ex:Observation299876
    resultTime="2024-03-06T12:00:00+10:00"
    ex:Observation299876...
    phenomenonTime
    phenomenonTime
    hasResult
    hasResult
    2024-03-09T11:00:00+10:00 / 2024-03-09T12:00:00+10:00
    2024-03-09T11:00:00+10:00 / 202...
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/images/paleo-atmosphere.svg b/ssn/images/paleo-atmosphere.svg new file mode 100644 index 00000000..adb293f9 --- /dev/null +++ b/ssn/images/paleo-atmosphere.svg @@ -0,0 +1,4 @@ + + + +
    ex:Bubble873
    ex:Bubble873
    ex:IceCore12
    ex:IceCore12
    isSampleOf
    isSampleOf
    ex:EarthAtmosphere
    ex:EarthAtmosphere
    isSampleOf
    isSampleOf
    ex:Ob873t2
    resultTime=2018
    ex:Ob873t2...
    ex:Ob873c4
    resultTime=2018
    ex:Ob873c4...
    hasFeatureOfInterest
    hasFeatureOfIntere...
    ex:CO2-Concentration
    ex:CO2-Concentration
    ex:C14-Age
    ex:C14-Age
    observedProperty
    observedProperty
    observedProperty
    observedProperty
    7530 BP
    7530 BP
    240 PPM
    240 PPM
    hasResult
    hasResult
    hasResult
    hasResult
    hasFeatureOfInterest
    hasFeatureOfIntere...
    2018
    2018
    phenomenonTime
    phenomenonTime
    phenomenonTime
    phenomenonTime
    ex:Oatc349
    resultTime=2018
    ex:Oatc349...
    hasFeatureOfInterest
    hasFeatureOfIntere...
    ex:CO2-Concentration
    ex:CO2-Concentration
    observedProperty
    observedProperty
    240 PPM
    240 PPM
    hasResult
    hasResult
    7530 BP
    7530 BP
    phenomenonTime
    phenomenonTime
    hasInputValue
    hasInputValue
    ex:Antarctic_ice_sheet
    ex:Antarctic_ice_sheet
    isSampleOf
    isSampleOf
    usedProcedure
    usedProcedure
    ex:EarthAtmosphere
    ex:EarthAtmosphere
    ex:P-paleo-CO2
    Allocate result of prior Observation of Age to phenomenonTime
    allocate result of prior Observation of CO2 to hasResult
    ex:P-paleo-CO2...
    Observation with observedProperty=C14_Age
    Observation with observedProperty=C14_Age
    Observation with observedProperty=CO2_concentration
    Observation with observedProperty=CO2_co...
    hasInput
    hasInput
    hasInput
    hasInput
    ex:P-paleo-CO2
    ex:P-paleo-CO2
    Procedure
    Procedure
    rdf:type
    rdf:type
    ex:Ob873t2
    ex:Ob873t2
    ex:Ob873c4
    ex:Ob873c4
    hasInputValue
    hasInputValue
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/ssn/rdf/examples/forecast.ttl b/ssn/rdf/examples/forecast.ttl index 40a6ca5b..bcfc7d5b 100644 --- a/ssn/rdf/examples/forecast.ttl +++ b/ssn/rdf/examples/forecast.ttl @@ -2,6 +2,7 @@ @prefix owl: . @prefix rdf: . @prefix rdfs: . +@prefix siq: . @prefix sosa: . @prefix time: . @prefix xsd: . @@ -11,7 +12,7 @@ ex:Observation299876 a sosa:Observation ; sosa:hasFeatureOfInterest ex:EarthAtmosphere ; sosa:hasResult ; - sosa:observedProperty ; + sosa:observedProperty siq:TEMC ; sosa:phenomenonTime [ time:hasBeginnning [ time:inXSDDateTime "2024-03-09T11:00:00+10:00"^^xsd:dateTime ; @@ -25,4 +26,7 @@ ex:Observation299876 ex:EarthAtmosphere a sosa:FeatureOfInterest ; owl:sameAs ; -. \ No newline at end of file +. +siq:TEMC a sosa:Property ; + rdfs:label "Celsius temperature" ; +. \ No newline at end of file From e2161cb2618ee03af2c50d1e8bd92257d1cfd020 Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 10 Feb 2025 18:39:56 +1100 Subject: [PATCH 71/74] HTML formatting --- ssn/chapters/ModelComplexSystem.html | 5 +++-- ssn/chapters/ModelSystemType.html | 2 +- ssn/chapters/ModelTimes.html | 9 +++++---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ssn/chapters/ModelComplexSystem.html b/ssn/chapters/ModelComplexSystem.html index 01ca807a..ef25b072 100644 --- a/ssn/chapters/ModelComplexSystem.html +++ b/ssn/chapters/ModelComplexSystem.html @@ -7,10 +7,11 @@

    Complex devices

    href="#SOSAhasSubSystem">sosa:hasSubSystem property.

    - shows how an instance and type of the IBS-TH2-PLUS may be modeled as a complex sensor. + shows how an instance and type of the IBS-TH2-PLUS may be modeled as a complex + sensor.

    - Complex sensor package +
    Inkbird model IBS-TH2-PLUS temperature and humidity sensor package represented with both package and individual sensors represented as instances of sub-classs of sosa:System and sosa:Sensor. diff --git a/ssn/chapters/ModelSystemType.html b/ssn/chapters/ModelSystemType.html index 6b3a6a5d..0ba9fb28 100644 --- a/ssn/chapters/ModelSystemType.html +++ b/ssn/chapters/ModelSystemType.html @@ -34,7 +34,7 @@

    Systems Types and Individuals

    illustrates an example of a sensor type and instance modeled this way.

    - +
    Mum's clinical thermometer represented as an instance of a specific sensor type.
    Explanation of the notation used in class diagrams. diff --git a/ssn/chapters/ModelTimes.html b/ssn/chapters/ModelTimes.html index 28fbda0b..f3c32002 100644 --- a/ssn/chapters/ModelTimes.html +++ b/ssn/chapters/ModelTimes.html @@ -24,7 +24,7 @@

    Forecast

    to the FeatureOfInterest.

    - +
    Temperature grid forecast, modeled as an Observation in which the result time is before the phenomenon time, which is when the result applies to the feature of interest.
    @@ -73,7 +73,8 @@

    Historical observations

    - +
    Observation with phenomemon-time in the deep past.
    @@ -87,8 +88,8 @@

    Historical observations

    These provide input-values to the final observation (at the bottom of ).

    - +
    Observation with phenomemon-time in the deep past, constructed from the output of two primitive observations.
    From 63df0c1d408b1fdacfb19081b943735f2892bb0f Mon Sep 17 00:00:00 2001 From: Simon Cox Date: Mon, 10 Feb 2025 18:51:12 +1100 Subject: [PATCH 72/74] US-english style adds a comma after i.e. and e.g. --- ssn-extensions/index.html | 4 +-- ssn/chapters/Actuation.html | 8 +++--- ssn/chapters/Common.html | 32 +++++++++++------------ ssn/chapters/Introduction.html | 2 +- ssn/chapters/ModelDomainTypes.html | 2 +- ssn/chapters/ModelFOI.html | 2 +- ssn/chapters/ModelLocation.html | 2 +- ssn/chapters/ModelPropertyDefinition.html | 4 +-- ssn/chapters/ModelSSNProfiles.html | 2 +- ssn/chapters/ModelSystemType.html | 4 +-- ssn/chapters/Observation.html | 8 +++--- ssn/chapters/Sampling.html | 12 ++++----- ssn/chapters/System-capabilities.html | 4 +-- ssn/specgen_output_for_ssn.html | 12 ++++----- 14 files changed, 49 insertions(+), 49 deletions(-) diff --git a/ssn-extensions/index.html b/ssn-extensions/index.html index 436fc8e8..b5160474 100644 --- a/ssn-extensions/index.html +++ b/ssn-extensions/index.html @@ -95,7 +95,7 @@

    Motivation and background

    Notation and namespaces

    The classes and properties described in this document are denoted using Compact URIs [[curie]]. - These classes and properties are put into the RDF namespace for SOSA, i.e. http://www.w3.org/ns/sosa/ which is used for the core elements of SSN [[vocab-ssn]], since the new classes and properties are expected to be used in the same context. + These classes and properties are put into the RDF namespace for SOSA, i.e., http://www.w3.org/ns/sosa/ which is used for the core elements of SSN [[vocab-ssn]], since the new classes and properties are expected to be used in the same context. However, these extensions to SOSA/SSN are packaged in a separate graph (ontology file) which is denoted http://www.w3.org/ns/ssn/ext/, and is currently available from the GitHub repository.