Skip to content

Commit

Permalink
Merge pull request #261 from w3c/251-collections-documentation
Browse files Browse the repository at this point in the history
251 collections documentation
  • Loading branch information
dr-shorthair authored Nov 27, 2024
2 parents 4d8e71e + 682d841 commit a8d8016
Show file tree
Hide file tree
Showing 20 changed files with 329 additions and 148 deletions.
9 changes: 4 additions & 5 deletions ssn/chapters/Actuation.html
Original file line number Diff line number Diff line change
Expand Up @@ -192,9 +192,8 @@ <h5><a href="#SOSAActuationCollection">sosa:ActuationCollection</a></h5>
This term is non-normative, pending further implementation experience</p>
<p>
<em property="rdfs:label">Actuation Collection</em> -
<span property="skos:definition">Collection of one or more <a href="#SOSAActuation">Actuations</a> or <a
href="#SOSAActuationCollection">ActuationCollections</a>, i.e. collections may be
nested.
<span property="skos:definition">Collection (set) of one or more <a href="#SOSAActuation">Actuations</a>
or <a href="#SOSAActuationCollection">ActuationCollections</a>, i.e. collections may be nested.
<br><br>
The following <a href="#SOSAActuation">Actuation</a> properties may appear in an <a
href="#SOSAActuationCollection">ActuationCollection</a>:
Expand Down Expand Up @@ -225,8 +224,8 @@ <h5><a href="#SOSAActuationCollection">sosa:ActuationCollection</a></h5>
<br><br>
3. Where an individual <a href="#SOSAActuationCollection">ActuationCollection</a> has
<i>more than one value for a property</i>, each member <a href="#SOSAActuation">Actuation</a> (direct or
transitive) MUST have a value for that
property that matches one of the values for the property in the collection.
transitive) MUST have a value for that property that matches one of the values for the property in the
collection.
<br><br>
4. Where an individual <a href="#SOSAActuationCollection">ActuationCollection</a> <i>has a
value for a property that is a range or interval</i>, each member <a
Expand Down
204 changes: 118 additions & 86 deletions ssn/chapters/Common.html

Large diffs are not rendered by default.

20 changes: 11 additions & 9 deletions ssn/chapters/Observation.html
Original file line number Diff line number Diff line change
Expand Up @@ -265,9 +265,8 @@ <h5><a href="#SOSAObservationCollection">sosa:ObservationCollection</a></h5>
This term is non-normative, pending further implementation experience</p>
<p>
<em property="rdfs:label">Observation Collection</em> -
<span property="skos:definition">Collection of one or more <a href="#SOSAObservation">Observations</a> or
<a href="#SOSAObservationCollection">ObservationCollections</a>, i.e. collections may be
nested.
<span property="skos:definition">Collection (set) of one or more <a href="#SOSAObservation">Observations</a>
or <a href="#SOSAObservationCollection">ObservationCollections</a>, i.e. collections may be nested.
<br><br>
The following <a href="#SOSAObservation">Observation</a> properties may appear in an
<a href="#SOSAObservationCollection">ObservationCollection</a>:
Expand All @@ -292,17 +291,15 @@ <h5><a href="#SOSAObservationCollection">sosa:ObservationCollection</a></h5>
<br><br>
2. Where an individual <a href="#SOSAObservationCollection">ObservationCollection</a> has
<i>a single value for a property</i>, each member <a href="#SOSAObservation">Observation</a> (direct or
transitive) MUST have that same
value
for that property - i.e. the collection is homogeneous in that property.
transitive) MUST have that same value for that property - i.e. the collection is homogeneous in that
property.
That property MAY then be omitted in any member <a href="#SOSAObservation">Observation</a>
or <a href="#SOSAObservationCollection">ObservationCollection</a>.
<br><br>
3. Where an individual <a href="#SOSAObservationCollection">ObservationCollection</a> has
<i>more than one value for a property</i>, each member <a href="#SOSAObservation">Observation</a>
(direct or transitive) MUST have a value for
that
property that matches one of the values for the property in the collection.
(direct or transitive) MUST have a value for that property that matches one of the values for the
property in the collection.
<br><br>
4. Where an individual <a href="#SOSAObservationCollection">ObservationCollection</a>
<i>has a value for a property that is a range or interval</i>, each member <a
Expand All @@ -315,6 +312,11 @@ <h5><a href="#SOSAObservationCollection">sosa:ObservationCollection</a></h5>
that property that matches or falls within one of those ranges or intervals.
</span>
<br>
<span property="skos:note">
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.
</span>
<br>
<span property="skos:note">The members of a collection do not necessarily share a common value for any
property. </span>
</p>
Expand Down
13 changes: 6 additions & 7 deletions ssn/chapters/PROV-alignment.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ <h3>PROV Alignment Module</h3>
An alignment of SOSA to PROV is natural.
Compton et al. [[SSN-PROV]] and Cox [[OM-Lite]] have described alignments of the SSNX and O&amp;M models with
[[prov-o]].
The alignment here is based on that work, also extended to consider actuation.
The alignment here is based on that work, also extended to consider actuation and sampling.
</p>

<section id="PROV_Alignment_ns" class="informative">
Expand Down Expand Up @@ -167,20 +167,19 @@ <h4>Property Alignments</h4>
<td> subproperty of </td>
<td> prov:wasDerivedFrom </td>
</tr>
<tr>
<td> <a href="#SOSAmadeBySystem">sosa:madeBySystem</a> </td>
<td rowspan="4"> subproperty of </td>
<td rowspan="4"> prov:wasAssociatedWith </td>
</tr>
<tr>
<td> <a href="#SOSAmadeByActuator">sosa:madeByActuator</a> </td>
<td> subproperty of </td>
<td> prov:wasAssociatedWith </td>
</tr>
<tr>
<td> <a href="#SOSAmadeBySensor">sosa:madeBySensor</a> </td>
<td> subproperty of </td>
<td> prov:wasAssociatedWith </td>
</tr>
<tr>
<td> <a href="#SOSAmadeBySampler">sosa:madeBySampler</a> </td>
<td> subproperty of </td>
<td> prov:wasAssociatedWith </td>
</tr>
<tr>
<td> <a href="#SOSAstartTime">sosa:startTime</a> </td>
Expand Down
68 changes: 29 additions & 39 deletions ssn/chapters/Sampling.html
Original file line number Diff line number Diff line change
Expand Up @@ -266,9 +266,8 @@ <h5><a href="#SOSASampleCollection">sosa:SampleCollection</a></h5>
This term is non-normative, pending further implementation experience</p>
<p>
<em property="rdfs:label">Sample Collection</em> -
<span property="skos:definition">A <a href="#SOSASampleCollection">SampleCollection</a> is
a
collection of one or more <a href="#SOSASample">Samples</a> or <a
<span property="skos:definition">A <a href="#SOSASampleCollection">SampleCollection</a> is a collection
(set) of one or more <a href="#SOSASample">Samples</a> or <a
href="#SOSASampleCollection">SampleCollections</a>, i.e. collections may be nested.
<br><br>
The following <a href="#SOSASample">Sample</a> properties may appear in a <a
Expand All @@ -279,42 +278,33 @@ <h5><a href="#SOSASampleCollection">sosa:SampleCollection</a></h5>
<a href="#SOSAisResultOfUsedProcedure">isResultOfUsedProcedure</a> ,
<a href="#SOSAisResultOfMadeBySampler">isResultOfMadeBySampler</a>.
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
member samples, where membership is either direct or transitive through onw or more member sample
collections.
<br><br>
The following consistency rules apply with respect to the Sample properties listed above:
<br><br>1. Where an individual <a href="#SOSASampleCollection">SampleCollection</a>
<i>omits
a property</i>, a member <a href="#SOSASample">Sample</a> (direct or transitive)
MAY have
any value for that property.
<br><br>2. Where an individual <a href="#SOSASampleCollection">SampleCollection</a> has
<i>a
single value for a property</i>, each member <a href="#SOSASample">Sample</a>
(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 <a href="#SOSASample">Sample</a>
or <a href="#SOSASampleCollection">SampleCollection</a>.
<br><br>3. Where an individual <a href="#SOSASampleCollection">SampleCollection</a> has
<i>more than one value for a property</i>, each member <a href="#SOSASample">Sample</a>
(direct or transitive) MUST have a value for that property that matches one of the values for the
property
in the collection.
<br><br>4. Where an individual <a href="#SOSASampleCollection">SampleCollection</a>
<i>has
a
value for a property that is a range or interval</i>, each member <a href="#SOSASample">Sample</a>
(direct or transitive) MUST have a value for that
property
that matches or falls within that range or interval.
<br><br>5. Where an individual <a href="#SOSASampleCollection">SampleCollection</a>
<i>has
more than
one value for a property that is a range or interval</i>, each member <a
href="#SOSASample">Sample</a> (direct or transitive) MUST have a value for that
property
that matches or falls within one of those ranges or intervals.
<br><br>
1. Where an individual <a href="#SOSASampleCollection">SampleCollection</a>
<i>omits a property</i>, a member <a href="#SOSASample">Sample</a> (direct or transitive) MAY have any
value for that property.
<br><br>
2. Where an individual <a href="#SOSASampleCollection">SampleCollection</a> has <i>a single value for a
property</i>, each ember <a href="#SOSASample">Sample</a> (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 <a href="#SOSASample">Sample</a> or <a
href="#SOSASampleCollection">SampleCollection</a>.
<br><br>
3. Where an individual <a href="#SOSASampleCollection">SampleCollection</a> has <i>more than one value
for a property</i>, each member <a href="#SOSASample">Sample</a> (direct or transitive) MUST have a
value for that property that matches one of the values for the property in the collection.
<br><br>
4. Where an individual <a href="#SOSASampleCollection">SampleCollection</a> <i>has a value for a
property that is a range or interval</i>, each member <a href="#SOSASample">Sample</a> (direct or
transitive) MUST have a value for that property that matches or falls within that range or interval.
<br><br>
5. Where an individual <a href="#SOSASampleCollection">SampleCollection</a> <i>has more than one value
for a property that is a range or interval</i>, each member <a href="#SOSASample">Sample</a> (direct
or transitive) MUST have a value for that property that matches or falls within one of those ranges or
intervals.
</span> <br>
<span property="skos:note">The members of a collection do not necessarily share a common value for any
property. </span>
Expand Down Expand Up @@ -602,7 +592,7 @@ <h5><a href="#SOSASamplingCollection">sosa:SamplingCollection</a></h5>
This term is non-normative pending further implementation experience</p>
<p>
<em property="rdfs:label">Sampling Collection</em> -
<span property="skos:definition">Collection of one or more <a href="#SOSASampling">Samplings</a> or <a
<span property="skos:definition">Collection (set) of one or more <a href="#SOSASampling">Samplings</a> or <a
href="#SOSASamplingCollection">SamplingCollections</a>, i.e. collections may be
nested.
<br><br>
Expand Down Expand Up @@ -639,8 +629,8 @@ <h5><a href="#SOSASamplingCollection">sosa:SamplingCollection</a></h5>
<br><br>
3. Where an individual <a href="#SOSASamplingCollection">SamplingCollection</a> has
<i>more than one value for a property</i>, each member <a href="#SOSASampling">Sampling</a> (direct or
transitive) MUST have a value for that
property that matches one of the values for the property in the collection.
transitive) MUST have a value for that property that matches one of the values for the property in the
collection.
<br><br>
4. Where an individual <a href="#SOSASamplingCollection">SamplingCollection</a> <i>has a
value for a property that is a range or interval</i>, each member <a
Expand Down
File renamed without changes.
10 changes: 10 additions & 0 deletions ssn/chapters/modeling-forecasts.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<h3>Forecasts</h3>
<p>One MAY also represent forecasts as observations if the value of <code>sosa:phenomenonTime</code> is later in
time than the <code>sosa:resultTime</code>.
Given the definition of these terms, it means that: <em>The time when the Observation act was completed is
before the time that the Result of the observation applies to the FeatureOfInterest.</em></p>
<p class="note"> Other means to represent forecasts are reported, but not in the scope of this specification.
For example [[Lefrancois-et-al-2017]] derives the SSN <code>Sensing/Sensor/Observation</code>
pattern and define <code>Forecasting/Forecaster/Forecast</code> classes.</p>
<p class="note">Describing a plan for some actuation or observation in the future is not covered by this
specification.</p>
53 changes: 53 additions & 0 deletions ssn/chapters/modeling-homogeneous-collections.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<h3>Homogeneous collections and data-cubes</h3>

<p>
A homogeneous collection of observations shares a common value for one or more of the characteristic observation
properties.
For example:
</p>

<p>For example, <a href="#fig-observation-collection-3" class="fig-ref"></a> describes a collection of remote sensing
observations using the same sensor on different scenes, while <a href="#fig-observation-collection-4"
class="fig-ref"></a> is a series of the same scene on different days. </p>

<figure id="fig-observation-collection-3">
<img alt="Collections of observations 3" src="./images/OC-instance-3.png" style="width:90%" />
<figcaption>A set of remote sensing observations of different scenes on the same day</figcaption>
</figure>

<figure id="fig-observation-collection-4">
<img alt="Collections of observations 4" src="./images/OC-instance-4.png" style="width:90%" />
<figcaption>A series of remote sensing observations of the same scene on the different days</figcaption>
</figure>

<p>
Collections may be nested.
For example, an outer observation-collection might share the observed-property, procedure and sensor, and contain
inner observation-collections at different phenomenon-times, each of which contain a set of observations on
different features-of-interest (<a href="#fig-observation-collection-1" class="fig-ref"></a>).
</p>

<figure id="fig-observation-collection-1">
<img alt="Nested collections of observations 1" src="./images/OC-instance-1.png" style="width:90%" />
<figcaption>Example of a set of nested collections of four observations of the same property of two
features-of-interest at two different times.</figcaption>
</figure>

<p>
Observations can be factored into collections in more than one way, so more than one set of nested
observation-collections can collect the same set of atomic results.
For example, the same outer collection may contain inner collections concerning different features-of-interests, each
containing a set of observations at different phenomenon-times (<a href="#fig-observation-collection-2"
class="fig-ref"></a>).
</p>

<figure id="fig-observation-collection-2">
<img alt="Nested collections of observations 2" src="./images/OC-instance-2.png" style="width:90%" />
<figcaption>Alternative set of nested collections with the same results of the same property of two
features-of-interest at two different times.</figcaption>
</figure>

<p>
Effectively, the results of each observation-collection correspond to a <i>slice</i> in a data-cube which is
composed of the results of the complete set of observations.
</p>
17 changes: 17 additions & 0 deletions ssn/chapters/modeling-location.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<h3>Location</h3>
<p>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]]. </p>
<p>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.</p>
<p>For example, if observations are made of the atmosphere at a specific location, it might be described as a
Sample using the following pattern:</p>
<pre class="example" data-include="./rdf/examples/2023ex1.ttl" data-include-format="text"></pre>
12 changes: 12 additions & 0 deletions ssn/chapters/modeling-property-instances.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<h3>Generic or Specific Instances of sosa:Property</h3>
<p>The previous version of SOSA/SSN left an ambiguity on whether an instance of <a
href="#SOSAProperty"><code>sosa:Property</code></a> should be generic to all features of interest (e.g.,
<code>ex:Temperature</code>,
<code>ex:OnOffStatus</code>), or specific to a single feature of interest (e.g.,
<code>&lt;myBodyTemperature&gt;</code>, <code>&lt;LightStatus&gt;</code>). This version solves the ambiguity by
differentiating:
</p>
<ul>
<li><a href="#SOSAProperty"><code>sosa:Property</code></a> for the former case</li>
<li><a href="#SOSAPropertyOfInterest"><code>sosa:PropertyOfInterest</code></a> for the latter case.</li>
</ul>
Loading

0 comments on commit a8d8016

Please sign in to comment.