Context Observation Measurement Relationship Entity Characteristic Value Standard hasContextRelationship ofEntity hasValue ofCharacteristic usesStandard.

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

Transform an ER Model into a Relational Database Schema
Relational Database Design Via ER Modelling
Querying Integrated Observation and Measurement data SONet June 8,
Semantic annotation on the SONet and Semtools projects: Challenges for broad multidisciplinary exchange of observational data Mark Schildhauer, NCEAS/UCSB.
1 Assignment 4 Map entities with relationships to relational schemas. Use DBDL to describe the table schemas.
Chapter 5 Understanding Entity Relationship Diagrams.
A Practical Introduction to Transactional Database Modeling and Design Mike Burr.
Chapter 14 Getting to First Base: Introduction to Database Concepts.
SQL DDL constraints Restrictions on the columns and tables 1SQL DDL Constraints.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education 4-1.
Improving Data Discovery in Metadata Repositories through Semantic Search Chad Berkley 1, Shawn Bowers 2, Matt Jones 1, Mark Schildhauer 1, Josh Madin.
 Keys are special fields that serve two main purposes: ◦ Primary keys are unique identifiers of the relation in question. Examples include employee numbers,
Dr. Mohamed Osman Hegaz1 Conceptual data base design: The conceptual models: The Entity Relationship Model.
Databases From A to Boyce Codd. What is a database? It depends on your point of view. For Manovich, a database is a means of structuring information in.
Information storage: Introduction of database 10/7/2004 Xiangming Mu.
Content Resource- Elamsari and Navathe, Fundamentals of Database Management systems.
IS 325 Notes for Wednesday September 18, 2013.
CSC 280: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS Dr. Adam Anthony Fall 2012.
Relational Data Model. A Brief History of Data Models  1950s file systems, punched cards  1960s hierarchical  IMS  1970s network  CODASYL, IDMS 
Introduction to Accounting Information Systems
Introduction to SQL Steve Perry
IS 325 Notes for Wednesday September 4, Syllabus Change I eliminated quizzes I increased the points allocated to homework assignments.
Concepts and Terminology Introduction to Database.
SONet: Scientific Observations Network Semtools: Semantic Enhancements for Ecological Data Management Mark Schildhauer, Matt Jones, Shawn Bowers, Huiping.
IE 423 – Design of Decision Support Systems Data modeling and database development.
THE RELATIONAL DATA MODEL CHAPTER 3 (6/E) CHAPTER 5 (5/E) 1.
CODD’s 12 RULES OF RELATIONAL DATABASE
Database Management COP4540, SCS, FIU Relational Model Chapter 7.
Patterns and Conventions for Defining OBOE-Compatible Ontologies … Based on OBOE 1.0, June, 2010.
Databases From A to Boyce Codd. What is a database? It depends on your point of view. For Manovich, a database is a means of structuring information in.
Introduction to LINQ Lecture # 19 August Introduction How do you interrogate/manipulate data? What if you could do the work in a type-safe," string-free.
Natural vs. Generated Keys. Definitions Natural key—a key that occurs in the data, that uniquely identifies rows. AKA candidate key. Generated key—a key.
Growing challenges for biodiversity informatics Utility of observational data models Multiple communities within the earth and biological sciences are.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Identity Constraints.
1 Chapter 1 Introduction. 2 Introduction n Definition A database management system (DBMS) is a general-purpose software system that facilitates the process.
Subgroup 1 Collect interoperability requirements Define common, unified data model Engage tool & data providers, data consumers Subgroup 2 Identify and.
IS 475/675 - Introduction to Database Design
Fanny Widadie, S.P, M.Agr 1 Database Management Systems.
1 Database & DBMS The data that goes into transaction processing systems (TPS), also goes to a database to be stored and processed later by decision support.
Jozef Kuper.  Describe a Database  Entities  Atributes  Relationships.
Shridhar Bhalerao CMSC 601 Finding Implicit Relations in the Semantic Web.
1 APPLICATION OF DATA MODELING In natural resources and forest management Yujia Zhang and Bruce E. Borders.
OBOE Model Changes SONet Meeting June 7-9, Motivation for Changes Remove redundancy in the model –Mainly in Dimension (characteristics) Make it.
* Database is a group of related objects * Objects can be Tables, Forms, Queries or Reports * All data reside in Tables * A Row in a Table is a record.
Lectures 2&3: Introduction to SQL. Lecture 2: SQL Part I Lecture 2.
OBOE v.s. OGC O&M SONet June 8,2010. OBOE Entity Context Characteristic Measurement Observation Standard hasCharacteristic hasMeasurement ofEntity hasContext.
Semantic Data Extraction for B2B Integration Syntactic-to-Semantic Middleware Bruno Silva 1, Jorge Cardoso 2 1 2
Rensselaer Polytechnic Institute CSCI-4380 – Database Systems David Goldschmidt, Ph.D.
Huffman code and Lossless Decomposition Prof. Sin-Min Lee Department of Computer Science.
Ch 05. Basic Symbols ( manino ). Cardinalities Cardinality Notation.
CS34311 Translating ER Schema to Relational Model.
Chapter 5 Understanding Entity Relationship Diagrams.
Creating E/R Diagrams with SQL Server Management Studio, Writing SQL Queries D0ncho Minkov Telerik School Academy schoolacademy.telerik.com Technical Trainer.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Relational Model Chapter 3.
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
IT 5433 LM3 Relational Data Model. Learning Objectives: List the 5 properties of relations List the properties of a candidate key, primary key and foreign.
Improving Data Discovery Through Semantic Search
Chapter 4 Relational Databases
Instance Model Structure
The Relational Model Textbook /7/2018.
02 - The Relational Database Model
Annotation Examples (12/18/2009)
Getting to First Base: Introduction to Database Concepts
MIS2502: Data Analytics Relational Data Modeling
Getting to First Base: Introduction to Database Concepts
Getting to First Base: Introduction to Database Concepts
Login Main Functions Via SAS Information Delivery Portal
Presentation transcript:

Context Observation Measurement Relationship Entity Characteristic Value Standard hasContextRelationship ofEntity hasValue ofCharacteristic usesStandard hasMeasurement hasContext hasContextObservation 0..* * * * * Annotation Examples (12/18/2009) OBOE Conceptual Model

Annotation Examples (12/18/2009) Annotation Syntax observation "o1” entity ”TemporalRange” measurement "m1” characteristic ”Year” standard ”DateTime” observation "o2” entity “Tree” measurement "m2" precision: "0.1” characteristic “DBH” standard ”Centimeter” measurement "m3” characteristic “TaxonomicTypeName” standard “ITIS” measurement "m4” characteristic “EntityName” standard “LocalTreeNames” context observation “o1” relationship “Within” map “yr" to “m1” map “diam” to “m2" if diam > 0 map “spec" to “m3” map “spp" to “m4" if spp == “piru” value=“Picea rubens” map “spp" to “m4" if spp == “abba” value=“Abies balsamea” * Code exists to read/write annotations using this XML format

Annotation Examples (12/18/2009) AnnotationDataset Materialize Define (view def.) OBOE Model (individuals/triples) OBOE Concepts instantiates uses terms from observation-based representation of Query* * Conceptually, we want to query datasets via annotations

Annotation Examples (12/18/2009) yrspecsppdbh 20071piru piru abba33.2 observation "o1” entity ”TemporalRange” measurement "m1” characteristic ”Year” standard ”DateTime” observation "o2” entity “Tree” measurement "m2" precision: "0.1” characteristic “DBH” standard ”Centimeter” measurement "m3” characteristic “TaxonomicTypeName” standard “ITIS” measurement "m4” characteristic “EntityName” standard “LocalTreeNames” context observation “o1” relationship “Within” map “yr" to “m1” map “dbh” to “m2" if dbh > 0 map “spec" to “m3” map “spp" to “m4" if spp == “piru” value=“Picea rubens” map “spp" to “m4" if spp == “abba” value=“Abies balsamea” AnnotationDataset * Basic idea: go row-by-row through dataset, generating individuals/triples : Obs : Meas : Year : DateTime 2007 : Obs : Meas : EntN : LocTN. 1 : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : Year : DateTime 2008 : Obs : Meas : EntN : LocTN. 1 : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : Year : DateTime 2008 : Obs : Meas : EntN : LocTN. 2 : Meas : TaxN : ITIS Abie. : Meas : DBH : Centim : Tree : Tempral Range : Tree : Tempral Range : Tree : Tempral Range hasContext

Annotation Examples (12/18/2009) yrspecsppdbh 20071piru piru abba33.2 observation "o1” entity ”TemporalRange” measurement "m1” characteristic ”Year” standard ”DateTime” observation "o2” entity “Tree” measurement "m2" precision: "0.1” characteristic “DBH” standard ”Centimeter” measurement "m3” characteristic “TaxonomicTypeName” standard “ITIS” measurement "m4” characteristic “EntityName” standard “LocalTreeNames” context observation “o1” relationship “Within” map “yr" to “m1” map “dbh” to “m2" if dbh > 0 map “spec" to “m3” map “spp" to “m4" if spp == “piru” value=“Picea rubens” map “spp" to “m4" if spp == “abba” value=“Abies balsamea” AnnotationDataset Same Trees!! (both have name = 1) Same Year and year observation!! : Obs : Meas : Year : DateTime 2007 : Obs : Meas : EntN : LocTN. 1 : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : Year : DateTime 2008 : Obs : Meas : EntN : LocTN. 1 : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : Year : DateTime 2008 : Obs : Meas : EntN : LocTN. 2 : Meas : TaxN : ITIS Abie. : Meas : DBH : Centim : Tree : Tempral Range : Tree : Tempral Range : Tree : Tempral Range hasContext

Annotation Examples (12/18/2009) yrspecsppdbh 20071piru piru abba33.2 observation "o1” distinct yes entity ”TemporalRange” measurement "m1” key yes characteristic ”Year” standard ”DateTime” observation "o2” entity “Tree” measurement "m2" precision: "0.1” characteristic “DBH” standard ”Centimeter” measurement "m3” characteristic “TaxonomicTypeName” standard “ITIS” measurement "m4” key yes characteristic “EntityName” standard “LocalTreeNames” context observation “o1” relationship “Within” map “yr" to “m1” map “dbh” to “m2" if dbh > 0 map “spec" to “m3” map “spp" to “m4" if spp == “piru” value=“Picea rubens” map “spp" to “m4" if spp == “abba” value=“Abies balsamea” AnnotationDataset : Obs : Meas : Year : DateTime 2007 : Obs : Meas : EntN : LocTN. 1 : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : EntN : LocTN. 1 : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : Year : DateTime 2008 : Obs : Meas : EntN : LocTN. 2 : Meas : TaxN : ITIS Abie. : Meas : DBH : Centim : Tree : Tempral Range : Tree : Tempral Range Every observation has an implicit “distinct” attribute (set to “no”) … and every measurement has an implicit “key” attribute (set to “no”) hasContext

Observation measurement keys – Like a primary key constraint – States that observation instances with the same measurement key values are of the same entity instance – Does not imply the same observation instance, unless the observation is declared distinct – All key measurements of an observation together form the primary key Distinct observations – Only applies if at least one key measurement is defined – States that observation instances with the same entity instance are the same observation instance Annotation Examples (12/18/2009)

pltsppdbh Apiru35.8 Apiru36.2 Bpiru33.2 observation "o1” distinct yes entity ”Plot” measurement "m1” key yes characteristic ”EntityName” standard ”Nominal” observation "o2” entity “Tree” measurement "m2" precision: "0.1” characteristic “DBH” standard ”Centimeter” measurement "m3” key yes characteristic “TaxonomicTypeName” standard “ITIS” context observation “o2” relationship “Within” map “plt" to “m2” map “dbh” to “m3” map “spp" to “m4" if spp == “piru” value=“Picea rubens” map “spp" to “m4" if spp == “abba” value=“Abies balsamea” AnnotationDataset : Obs : Meas : EntN : Nominal A : Obs : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : EntN : Nominal B : Obs : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Tree : Plot hasContext Here we don’t have unique ids for trees But, assume each spp name within a plot uniquely identifies a tree … i.e., at most one tree of a particular type was measured (possibly multiple times) in each plot

Annotation Examples (12/18/2009) pltsppdbh Apiru35.8 Apiru36.2 Bpiru33.2 observation "o1” distinct yes entity ”Plot” measurement "m1” key yes characteristic ”EntityName” standard ”Nominal” observation "o2” entity “Tree” measurement "m2" precision: "0.1” characteristic “DBH” standard ”Centimeter” measurement "m3” key yes characteristic “TaxonomicTypeName” standard “ITIS” context observation “o2” relationship “Within” map “plt" to “m2” map “dbh” to “m3” map “spp" to “m4" if spp == “piru” value=“Picea rubens” map “spp" to “m4" if spp == “abba” value=“Abies balsamea” AnnotationDataset : Obs : Meas : EntN : Nominal A : Obs : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : EntN : Nominal B : Obs : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Tree : Plot hasContext The Tree entity instance should depend on the plot it is in!!! (context)

Annotation Examples (12/18/2009) pltsppdbh Apiru35.8 Apiru36.2 Bpiru33.2 observation "o1” distinct yes entity ”Plot” measurement "m1” key yes characteristic ”EntityName” standard ”Nominal” observation "o2” entity “Tree” measurement "m2" precision: "0.1” characteristic “DBH” standard ”Centimeter” measurement "m3” key yes characteristic “TaxonomicTypeName” standard “ITIS” context identifying yes observation “o2” relationship “Within” map “plt" to “m2” map “dbh” to “m3” map “spp" to “m4" if spp == “piru” value=“Picea rubens” map “spp" to “m4" if spp == “abba” value=“Abies balsamea” AnnotationDataset : Obs : Meas : EntN : Nominal A : Obs : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Obs : Meas : EntN : Nominal B : Obs : Meas : TaxN : ITIS Picea. : Meas : DBH : Centim : Tree : Plot hasContext Every context relationship has an “identifying” qualifier (set to “no”) Uniqueness within context observation Similar to a weak-entity constraint (ER) : Tree

Representing instances … Annotation(AnnotId, Resource) Observation(ObsId, AnnotId, EntId) Measurement(MeasId, ObsId, MeasType, Value) Context(ObsId1, ObsId2, Rel) Relationship(RelId, RelType) Entity(EntId, EntType) This could be queried itself and/or mapped to triples Note that ObsIds are unique across annotations Context.ObsId’s must be for the same annotation Annotation Examples (12/18/2009) * Simple relational schema for OBOE models (individuals/triples)

Representing annotations … Annotation(AnnotId, Res) ObservationType(ObsTypeId, AnnotId, EntType, Unique) MeasType(MeasTypeId, ObsTypeId, CharType, StdType, ProtType, Precision, Value, Key) ContextType(ObsTypeId1, ObsTypeId2, RelType) Map(ResAttribute, MeasType, Condition, Value) Annotation Examples (12/18/2009)

Materialization Algorithm Start with simple case of no key, unique, and identifying constraints Add these incrementally Define algorithm so that it works one row at a time Can we also define the algorithm as a view, to enable querying through views (rewriting)? – This was what the prolog code did … Annotation Examples (12/18/2009)

MapRow(Row : Dom(A 1 )×Dom(A 2 ) ⋯ Dom(A n ), AnnotId : int) let D = [] /* D is a dictionary (ObsTypeId, Keys) → ObsId */ foreach A i, MeasTypedId, Cond, Val in Map where satisfies(Row, A i, Cond) select MeasTypeId, ObsTypeId, Std, Key from MeasType for MeasTypeId let MeasId = CreateNewId() let Keys = GetObsTypeKeys(ObsTypeId, Row, AnnotId) let ObsId = CreateObsId(ObsTypeId, Keys, D, Row, AnnotId) D = D ∪ [(ObsTypeId, Keys) → ObsId] let A i Val = GetValue(Row[A i ], Cond, Val) insert MeasId, ObsId, Std, A i Val into Meas end MapRow Annotation Examples (12/18/2009)