1+ <!-- <section id="OBOE_Alignment" class="informative"> -->
2+ < h3 > OBOE Alignment Module</ h3 >
3+ < p > This section introduces the alignment of SOSA to [[OBOE]].</ p >
4+ < p > OBOE, the Extensible Observation Ontology, is used within the biodiversity community for semantic
5+ representation of observation data.
6+ The ontology is composed of multiple modules.
7+ The core observation elements are in the module < a href ="https://github.com/NCEAS/oboe/ "> OBOE-core</ a > . </ p >
8+ < section id ="OBOE_Alignment_ns ">
9+ < h4 > Namespaces</ h4 >
10+ < p > The following namespace prefixes are used in the alignment to SOSA.</ p >
11+ < table >
12+ < tbody >
13+ < tr >
14+ < th > Prefix </ th >
15+ < th > Namespace </ th >
16+ </ tr >
17+ < tr >
18+ < td > < code > sosa:</ code > </ td >
19+ < td > < a href ="http://www.w3.org/ns/sosa/ "> http://www.w3.org/ns/sosa/</ a >
20+ </ td >
21+ </ tr >
22+ < tr >
23+ < td > < code > oboe:</ code > </ td >
24+ < td > < a
25+ href ="http://ecoinformatics.org/oboe/oboe.1.1/oboe-core.owl# "> http://ecoinformatics.org/oboe/oboe.1.1/oboe-core.owl#</ a >
26+ </ td >
27+ </ tr >
28+ </ tbody >
29+ </ table >
30+ </ section >
31+ < section id ="OBOE_Alignment_class " class ="informative ">
32+ < h4 > Class Alignments</ h4 >
33+ < p > An < code > oboe:Observation</ code > is composed of a collection of < code > oboe:Measurements</ code > concerning a
34+ single < code > oboe:Entity</ code > .
35+ Each individual < code > oboe:Measurement</ code > concerns a distinct < code > oboe:Characteristic</ code > and uses
36+ a distinct < code > oboe:Protocol</ code > .
37+ This aligns to a < a href ="#SOSAObservationCollection "> sosa:ObservationCollection</ a > whose member < a
38+ href ="#SOSAObservation "> sosa:Observations</ a > each concern a different < a
39+ href ="#SOSAobservedProperty "> sosa:observedProperty</ a > of a single < a
40+ href ="#SOSAhasFeatureOfInterest "> sosa:hasFeatureOfInterest</ a > .
41+ </ p >
42+ < p > An < code > oboe:ObservationCollection</ code > is composed of a collection of < code > oboe:Observations</ code >
43+ with no particular homogeneity expectation of the members.
44+ This aligns to a < a href ="#SOSAObservationCollection "> sosa:ObservationCollection</ a > whose members are < a
45+ href ="#SOSAObservationCollection "> sosa:ObservationCollections</ a > each having a single < a
46+ href ="#SOSAhasFeatureOfInterest "> sosa:hasFeatureOfInterest</ a > .
47+ </ p >
48+ < figure id ="oboe-implementation ">
49+ < img alt ="The OBOE core model " src ="./images/OBOE-core.png " / style="width:40%"> < img
50+ alt ="The SSN-ext model arranged to align with OBOE " src ="./images/SOSA-oboe-map.png " style ="width:50% " />
51+ < figcaption >
52+ The OBOE core model (left), shown alongside the SOSA model including two levels of < a
53+ href ="#SOSAObservationCollection "> ObservationCollection</ a > (right) with matching classes and properties
54+ aligned.
55+ </ figcaption >
56+ </ figure >
57+ < p > The primary classes from [[OBOE]] are aligned with SOSA classes as
58+ follows.</ p >
59+ < table >
60+ < tbody >
61+ < tr >
62+ < td > < code > oboe:ObservationCollection</ code > </ td >
63+ < td > subclass of </ td >
64+ < td > < a href ="#SOSAObservationCollection "> sosa:ObservationCollection</ a >
65+ < br /> < a href ="#SOSAhasMember "> sosa:hasMember</ a > < b > only</ b > < a
66+ href ="#SOSAObservationCollection "> sosa:ObservationCollection</ a >
67+ </ td >
68+ </ tr >
69+ < tr >
70+ < td > < code > oboe:Observation</ code > </ td >
71+ < td > subclass of </ td >
72+ < td > < a href ="#SOSAObservationCollection "> sosa:ObservationCollection</ a >
73+ < br /> < a href ="#SOSAhasFeatureOfInterest "> sosa:hasFeatureOfInterest</ a > < b > exactly 1</ b >
74+ < br /> < a href ="#SOSAhasMember "> sosa:hasMember</ a > < b > only</ b > < a href ="#SOSAObservation "> sosa:Observation</ a >
75+ </ td >
76+ </ tr >
77+ < tr >
78+ < td > < code > oboe:Measurement</ code > </ td >
79+ < td > equivalent class </ td >
80+ < td > < a href ="#SOSAObservation "> sosa:Observation</ a > </ td >
81+ </ tr >
82+ < tr >
83+ < td > < code > oboe:Characteristic</ code > </ td >
84+ < td > equivalent class </ td >
85+ < td > sosa:ObservableProperty </ td >
86+ </ tr >
87+ < tr >
88+ < td > < code > oboe:Protocol</ code > </ td >
89+ < td > subclass of </ td >
90+ < td > < a href ="#SOSAProcedure "> sosa:Procedure</ a > </ td >
91+ </ tr >
92+ </ tbody >
93+ </ table >
94+ < p > The class oboe:Entity appears in OBOE as the range of the
95+ oboe:ofEntity and oboe:hasValue properties, so we interpret it as a
96+ general superclass.</ p >
97+ < table >
98+ < tbody >
99+ < tr >
100+ < td > sosa:FeatureOfInterest </ td >
101+ < td > subclass of </ td >
102+ < td > < code > oboe:Entity</ code > </ td >
103+ </ tr >
104+ </ tbody >
105+ </ table >
106+ </ section >
107+ < section id ="OBOE_Alignment_property " class ="informative ">
108+ < h4 > Property Alignments</ h4 >
109+ < p > The following properties from [[OBOE]] may be directly aligned with
110+ SOSA properties. </ p >
111+ < table >
112+ < tbody >
113+ < tr >
114+ < td > < code > oboe:ofEntity</ code > </ td >
115+ < td > equivalent property </ td >
116+ < td > < a href ="#SOSAhasFeatureOfInterest "> sosa:hasFeatureOfInterest</ a > </ td >
117+ </ tr >
118+ < tr >
119+ < td > < code > oboe:ofCharacteristic</ code > </ td >
120+ < td > equivalent property </ td >
121+ < td > sosa:observedProperty </ td >
122+ </ tr >
123+ < tr >
124+ < td > < code > oboe:usesProtocol</ code > </ td >
125+ < td > subproperty of </ td >
126+ < td > < a href ="#SOSAusedProcedure "> sosa:usedProcedure</ a > </ td >
127+ </ tr >
128+ < tr >
129+ < td > < code > oboe:usesMethod</ code > </ td >
130+ < td > subproperty of </ td >
131+ < td > < a href ="#SOSAusedProcedure "> sosa:usedProcedure</ a > </ td >
132+ </ tr >
133+ < tr >
134+ < td > < code > oboe:hasValue</ code > </ td >
135+ < td > equivalent property </ td >
136+ < td > sosa:hasResult </ td >
137+ </ tr >
138+ </ tbody >
139+ </ table >
140+ < p > The properties oboe:hasMember and oboe:hasMeasurement link an oboe:ObservationCollection to its member
141+ oboe:Observations, and an oboe:Observation to its member oboe:Measurements, respectively.
142+ These match < a href ="#SOSAhasMember "> sosa:hasMember</ a > links to a < a
143+ href ="#SOSAObservationCollection "> sosa:ObservationCollection</ a > (with a single < a
144+ href ="#SOSAhasFeatureOfInterest "> sosa:hasFeatureOfInterest</ a > ) and to the < a
145+ href ="#SOSAObservation "> sosa:Observations</ a > of the different properties, respectively. </ p >
146+ < table >
147+ < tbody >
148+ < tr >
149+ < td > < code > oboe:hasMember</ code > </ td >
150+ < td > sub-property of </ td >
151+ < td > < a href ="#SOSAhasMember "> sosa:hasMember</ a > </ td >
152+ </ tr >
153+ < tr >
154+ < td > < code > oboe:hasMeasurement</ code > </ td >
155+ < td > sub-property of </ td >
156+ < td > < a href ="#SOSAhasMember "> sosa:hasMember</ a > </ td >
157+ </ tr >
158+ </ tbody >
159+ </ table >
160+ < p > An RDF file containing a < a href ="https://github.com/w3c/sdw/blob/gh-pages/ssn/rdf/sosa-oboe-mapping.ttl "> graph
161+ corresponding to this alignment is available</ a > . </ p >
162+ </ section >
163+ <!-- </section> -->
0 commit comments