SONet: Scientific Observations Network Semtools: Semantic Enhancements for Ecological Data Management Mark Schildhauer, Matt Jones, Shawn Bowers, Huiping Cao Outline • Project overview • Observational data models (SONet) • • • • OBOE re-factored O&M EQ SONet core - domain ontologies • Semantic tools for observational data (Semtools) • Semantic annotation • OM Query language • Querying annotated observational metadata and data Challenges • Mark and Matt fill in … Our Approach The SONet Project - Define a core observational model (based on OBOE, O&M, and others) … progress made on OBOE/O&M alignment - Identify and develop domain-specific vocabularies for describing observational data semantics - Define a set of scientific use cases for data interoperability - Develop a set of interoperability “demonstration prototypes” The Semtools Project - Incorporate OBOE and semantic annotations into existing Metacat and Morpho metadata tools - Focus on ecology data and use cases Domain-Specific Ontology is-a Tree part-of Weight hasCharac teristic OBOE Semantic Annotation is-a is-a is-a Wet Weight Dry Weight is-a Leaf Litter has-part is-a Biomass Bio.Entity is-a Tree Leaf usesStandard Mass Unit Observation hasMeasurement Measurement Structural Meatadata Data <attribute id=“att.4”> <attributeName> Mass </attributeName> </attribute> Site Species Ind Mass GCE6 Picea Rubens 1 75.13 GCE6 Picea Rubens 2 179.81 GCE7 Picea Rubens 1 443.20 … … … … Gram Observational data models • • • • OBOE 1.0 O&M (ISO) EQ SONet Domain Ontologies • Plant Traits • SBC • Ongoing OBOE Core 1.0 hasContext * * Observation ofEntity * 1..1 1..1 hasMeasurement Entity 1..1 hasValue * Measurement * * ofCharacteristic 1..1 Characteristic * * usesProtocol 1..1 Protocol 1..1 usesStandard Standard Extensible Observation Ontology (OBOE) [1] 7 OBOE re-factored (cont.) • Shawn adds more (2-3 slides) on OBOE … O&M ([2]) • Feature – Abstraction of real world phenomena (Def. 4.5) – E.g., Tree • Feature type – Class of features having common characteristics (Def. 4.6) • Property Feature carrierOfCharacteristic Property – Facet or attribute of an object referenced by name (Def. 4.14) – E.g., Height • Property-type – Characteristic of a feature type (Def. 4.15) 9 O&M (Cont.) O Feature featureOfInterest OM_Observation observedProperty carrierOfCharacteristic Property • Observation – Act of observing a property (Def. 4.10) • Measurement – Set of operations having the object of determining the value of a quantity (Def. 4.9) • OM_Observation – An instance of feature type O&M (cont.) Feature featureOfInterest carrierOfCharacteristic OM_Observation usesProcedure Procedure observedPro perty hasResult Property Result • Observation procedure – Method, algorithm or instrument, or system of these which may be used in making an observation (Def. 4.11) – The base class OM_Process • Observation result – Estimate of the value of a property determined through a known procedure. Any type O&M (cont.) ObservationContext Feature relatedObservation featureOfInterest OM_Observation usesProcedure Procedure observedPro perty hasResult carrierOfCharacteristic Property Result ObservationContext • Some observations depend on other observations to provide context in understanding the result. (Sec. 6.2.4) • Link a OM_Observation to another OM_Observation, with the role name relatedObservation for the target ObservationContex hasContext ofEntity Observation hasValue hasMeasurement Measurement Entity ofCharacteristic Protocol featureOfInterest OM_Observation Characteristic usesProcedure usesProtocol Feature relatedObservation carrierOfCharacteristic observedProper ty Property hasResult usesStandard Standard Entity Procedure Result Feature Characteristic Property Observation Measurement OM_Observation Protocol Procedure Standard Entity Result hasContext ObservationContext 13 EQ ([4]) • Entity – Describes some object in the real world. E.g., eye • Quality – Describes an entity's attribute and its attribute – value. E.g., color = red, means eye’s color is red. • Character – Composed of Entity and Quality attributes to – represent the meaning of which entity's which attribute. E.g., – eye's color. • Character state – Quality value. E.g., “red” to represent eye’s color is red). Comparison OBOE re-facored O&M EQ Entity Feature Entity Characteristic Property Quality attribute Measurement OM_Observation Quality value or Character state Protocol Procedure Standard + Result Result hasContext ObservationContext Observation SONet core - domain ontology: trait • Trait group: Centre d'Écologie Fonctionnelle et Évolutive (CÉFÉ) [5] SONet core -domain ontology: SBC • Group: Santa Barbara Coastal (SBC) Lont Term Ecological Research (LTER) [6] SONet core -domain ontology: ongoing • Plant – iPlant group ([7]) • PATO ([8]) – Phenotypic Quality Ontology – Automatic tool to convert PATO to be compatible with SONet core model How to use SONet core model? • SONet-core • Morpho data annotation tool to generate data instances for you automatically • OM query language • OM query framework for data discovery • O&M • Write your own xml file to contain the observation and measurement data • Write Schematron [3] file to validate whether the data xml file • No tool report! 19 Tools • Morpho data annotation tool to generate data instances for you automatically • Observation and Measurement (OM) query language • Framework for querying annotated observational data 20 Semantic Annotation OM Query example • Tree[Height > 5 Meter] - Return datasets that have at least one Tree observation containing a Height measurement with a value greater than 5 Meters • Tree[Height > 5 Meter], Soil[Acidity >= 7 pH] - Return datasets that contain at least one Tree observation (having a measurement where the Height was greater than 5) and at least one Soil observation (having an Acidity measurement of 7 or greater) 22 OM Query Example (cont.) • Tree[Height > 5 Meter] -> Soil[Acidity >= 7pH] - Incorporates context via the "->” (arrow) symbol, which can be read as "contextualized by" or "has context" - Returns datasets that contain at least one Tree observation (with the corresponding height value) where the observation was taken within the context of a Soil observation (with the corresponding acidity value) 23 Query framework Query 1 Query 2 Result Q1 … …. Result Q2 … …. Online query engine OBOE-aware DB Offline data processing Annotation 1 Annotation 2 Annotation 3 Annotation 4 Annotation interface OBOE domain model File 1 File 2 File 3 File 4 … 24 Annotation as a bridge Map Measurement type table Observation Type table Entity type table Context type table OBOE-aware DB Offline data processing Annotation 1 File 1 Annotation 2 File 2 Annotation 3 File 3 Annotation 4 File 4 … 25 Annotation as a bridge Map (for ann1, 2, …) Measurement type table (for ann1, 2, …) Observation type table (for ann1, 2, …) Entity type table (for ann1, 2, …) Context type table (for ann1, 2, …) Annotation 1 File 1 Annotation 2 File 2 OBOE-aware DB Annotation 3 File 3 Annotation 4 File 4 … 26 Raw data loading Map (for ann1, 2, …) Measurement type table (for ann1, 2, …) Table 4 Table 3 Observation type table (for ann1, 2, …) Table 2 Table 1 Entity type table (for ann1, 2, …) … Context type table (for ann1, 2, …) OBOE-aware DB Offline data processing (raw data loading) Annotation 1 File 1 Annotation 2 File 2 Annotation 3 File 3 Annotation 4 File 4 … 27 Data materialization Map (for ann1, 2, …) Measurement type table (for ann1, 2, …) Table 4 Table 3 Observation type table (for ann1, 2, …) Table 2 Table 1 … OBOE-aware DB Measurement table Observation table Entity type table (for ann1, 2, …) Entity table Context type table (for ann1, 2, …) Context table Offline data processing (data materialization) Annotation 1 Annotation 2 Annotation 3 Annotation 4 File 1 File 2 File 3 File 4 … 28 Data materialization Measurement Table (for file 1, 2, …) Map (for ann1, 2, …) Measurement type table (for ann1, 2, …) Table 4 Observation table (for file 1, 2, …) Table 3 Observation type table (for ann1, 2, …) Table 2 Table 1 Entity table (for file 1, 2, …) Entity type table (for ann1, 2, …) … Context table (for file 1, 2, …) Context type table (for ann1, 2, …) OBOE-aware DB Annotation 1 File 1 Annotation 2 File 2 Annotation 3 File 3 Annotation 4 File 4 … 29 Query strategy 1 Online query engine (query re-writing over raw data) Map (for ann1, 2, …) Table 4 Measurement type table (for ann1, 2, …) Table 3 Table 2 Table 1 … Observation type table (for ann1, 2, …) Entity type table (for ann1, 2, …) Context type table (for ann1, 2, …) Measurement Table (for file 1, 2, …) Observation table (for file 1, 2, …) Entity table (for file 1, 2, …) Context table (for file 1, 2, …) OBOE-aware DB 30 Query strategy 2 Online query engine (query re-writing over materialized data) Map (for ann1, 2, …) Table 4 Measurement type table (for ann1, 2, …) Table 3 Table 2 Table 1 … Observation type table (for ann1, 2, …) Entity type table (for ann1, 2, …) Context type table (for ann1, 2, …) Measurement Table (for file 1, 2, …) Observation table (for file 1, 2, …) Entity table (for file 1, 2, …) Context table (for file 1, 2, …) OBOE-aware DB 31 Query strategy n?? Online query engine Map (for ann1, 2, …) Table 4 Measurement type table (for ann1, 2, …) Table 3 Table 2 Table 1 … Observation type table (for ann1, 2, …) Entity type table (for ann1, 2, …) Context type table (for ann1, 2, …) Measurement Table (for file 1, 2, …) Other Observation table (for filematerialization/de1, 2, …) normalization?? Entity table (for file 1, 2, RDF triple store? …) Context table (for file 1, 2, …) OBOE-aware DB 32 Ontology Editing Tools • Protégé plug-in - For creating and editing OBOE-compatible ontologies - Form-based UI - Generates “low-level” OWL constraints/axioms References [1] Shawn Bowers and Joshua S. Madin and Mark P. Schildhauer, A Conceptual Modeling Framework for Expressing Observational Data Semantic. In ER 2008, 4154. [2] OpenGIS observations and measurements encoding standard (O&M): http://www.opengeospatial.org/standards/om [3] Schematron ISO standard: http://www.schematron.com/ [4] EQ: https://www.phenoscape.org/wiki/EQ_for_character_matrices [5] CECF: http://www.cefe.cnrs.fr/ecopar/ [6] SBC LTER: http://sbc.lternet.edu/ [7] iPlant: http://www.iplantcollaborative.org/ [8] PATO: http://obofoundry.org/wiki/index.php/PATO:Main_Page 34