Mapping Data Models to VOTable The specification Published version https://volute.googlecode.com/svn/trunk/projects/dm/vo- dml/doc/MappingDMtoVOTable-v1.0-20150427.pdf.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

VOTable 2005 Discussion Summary and Roadmap. Agenda Description of some applications dealing.
VOTable 2005 Applications. Agenda Description of some applications Description of some applications Nilesh UrunkarAbout C++ Parser and CONVOT Nilesh UrunkarAbout.
SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.
Chapter 10: Designing Databases
XML: Extensible Markup Language
ISO DSDL ISO – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1.
Shelley Powers, O’Reilly SNU IDB Lab. Hyewon Kim
An Introduction to XML Based on the W3C XML Recommendations.
Database Systems: Design, Implementation, and Management Tenth Edition
VO-URP: on data modeling, UTYPEs and more Gerard Lemson Laurent Bourges.
Chapter 5: Elementary Data Types Properties of types and objects –Data objects, variables and constants –Data types –Declarations –Type checking –Assignment.
SDPL 2003Notes 2: Document Instances and Grammars1 2.5 XML Schemas n A quick introduction to XML Schema –W3C Recommendation, May 2, 2001: »XML Schema Part.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
DT211/3 Internet Application Development
Sunday, June 28, 2015 Abdelali ZAHI : FALL 2003 : XML Schemas XML Schemas Presented By : Abdelali ZAHI Instructor : Dr H.Haddouti.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
A tour of new features introducing LINQ. Agenda of LINQ Presentation We have features for every step of the way LINQ Fundamentals Anonymous Functions/Lambda.
Main challenges in XML/Relational mapping Juha Sallinen Hannes Tolvanen.
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
Avro Apache Course: Distributed class Student ID: AM Name: Azzaya Galbazar
Formalizing and Querying Heterogeneous Documents with Tables Krishnaprasad Thirunarayan and Trivikram Immaneni Department of Computer Science and Engineering.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
SDPL 2002Notes 2: Document Instances and Grammars1 2.5 XML Schemas n A quick introduction to XML Schema –W3C Recommendation, May 2, 2001: »XML Schema Part.
Why XML ? Problems with HTML HTML design - HTML is intended for presentation of information as Web pages. - HTML contains a fixed set of markup tags. This.
1 XML Schemas. 2 Useful Links Schema tutorial links:
Dr. Azeddine Chikh IS446: Internet Software Development.
An Introduction to XML Presented by Scott Nemec at the UniForum Chicago meeting on 7/25/2006.
Using JavaBeans and Custom Tags in JSP Lesson 3B / Slide 1 of 37 J2EE Web Components Pre-assessment Questions 1.The _____________ attribute of a JSP page.
Introduction to MDA (Model Driven Architecture) CYT.
Peoplesoft XML Publisher Integration with PeopleTools -Jayalakshmi S.
SDPL 2005Notes 2.5: XML Schemas1 2.5 XML Schemas n Short introduction to XML Schema –W3C Recommendation, 1 st Ed. May, 2001; 2 nd Ed. Oct, 2004: »XML Schema.
Hello.java Program Output 1 public class Hello { 2 public static void main( String [] args ) 3 { 4 System.out.println( “Hello!" ); 5 } // end method main.
New Perspectives on XML, 2nd Edition
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
1 Credits Prepared by: Rajendra P. Srivastava Ernst & Young Professor University of Kansas Sponsored by: Ernst & Young, LLP (August 2005) XBRL Module Part.
An Introduction to XML Sandeep Bhattaram
Sheet 1XML Technology in E-Commerce 2001Lecture 2 XML Technology in E-Commerce Lecture 2 Logical and Physical Structure, Validity, DTD, XML Schema.
Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009.
XML Introduction. Markup Language A markup language must specify What markup is allowed What markup is required How markup is to be distinguished from.
XML 2nd EDITION Tutorial 4 Working With Schemas. XP Schemas A schema is an XML document that defines the content and structure of one or more XML documents.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
Tutorial 13 Validating Documents with Schemas
XML Schema. Why Validate XML? XML documents can generally have any structure XML grammars define specific document structures Validation is the act of.
IVOA, Trieste, DM Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste,
Introduction to the Semantic Web and Linked Data Module 1 - Unit 2 The Semantic Web and Linked Data Concepts 1-1 Library of Congress BIBFRAME Pilot Training.
Working with XML Schemas ©NIITeXtensible Markup Language/Lesson 3/Slide 1 of 36 Objectives In this lesson, you will learn to: * Declare attributes in an.
Slide #1 Boston, Jan 5 – 6, 2005XCON WG Interim draft-levin-xcon-cccp-01.txt By Orit Levin
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
Representing data with XML SE-2030 Dr. Mark L. Hornick 1.
Discussed in Kyoto Schema changes for the next version (Gerard Lemson)  will be included in VOTable1.2 Schema changes for the next version (Gerard Lemson)
XML Validation II Advanced DTDs + Schemas Robin Burke ECT 360.
VOTable agenda Current VOTable status Current VOTable status News from Applications News from Applications Questions about VOTable schema Questions about.
Experience with XML Schema Ashok Malhotra Schema Usage  Mapping XML Schema and XML documents controlled by the Schema to object classes and instances.
The Akoma Ntoso Naming Convention Fabio Vitali University of Bologna.
 XML derives its strength from a variety of supporting technologies.  Structure and data types: When using XML to exchange data among clients, partners,
CHAPTER 9 File Storage Shared Preferences SQLite.
SDPL : XML Schemas1 2.5 XML Schemas n Short introduction to XML Schema –W3C Recommendation, 1 st Ed. May, 2001; 2 nd Ed. Oct, 2004: »XML Schema.
1 XML and XML in DLESE Katy Ginger November 2003.
XML: Extensible Markup Language
XML QUESTIONS AND ANSWERS
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
The Re3gistry software and the INSPIRE Registry
Mapping Data Models to VOTable
Utypes for Model Referencing
UTYPES Jonathan McDowell.
VOTable Meetings: Conclusions
Presentation transcript:

Mapping Data Models to VOTable The specification Published version dml/doc/MappingDMtoVOTable-v pdf Last working version at: dml/doc/MappingDMtoVOTable-v xx.docx

Current Document Outline 1.Introduction 2.Use Cases 3.The need for a mapping language 4.Mapping with the element 5.General information about this spec 6.Examples: Mapping VO-DML  VOTable 7.Patterns for annotating VOTable [Normative] 8.Notable absences 9.Serializing to other file formats 10.References Appendix A: The VODML annotation element Appendix B: Growing complexity: naïve, advanced and guru clients Appendix C: Regular expressions for mapping Appendix D: Frequently Asked Questions Please read it!

Discussion items 1.Mapping = identifying instances in (ad hoc) serializations 2.Using VO-DML 3.Use of VOTable meta-data elements a.No change apart from b.Use of GROUPs 4.Structure VODML element 5.Mapping expression syntax 6.Use of ivoa:quantity types 7.Use of vo-dml: vodmlrefs 8.vodml-ref prefix, explicitly declared or name ? 9.Use of identifiers 10.Mapping references a)vo-dml:GROUPref, vo-dml:ORMReference, vo-dml:RemoteReference 11.Mapping to TAP_SCHEMA, FITS

1. Mapping = identifying instances in (ad hoc) serializations The doc discusses a formalize way to map VO- DML models to tables. It defines this as: Identifying instances of model types inside tabular data structures Using VO-DML means: We have formal expressions for the data model elements and can use these in the mapping description.

Reminder Data Models, when properly reflecting the real world, are not lists They are graphs.

Especially For information integration the best modelling approach is to try to represent the world as it is. –  Domain Model – For we have no idea how someone else has represented the world for their application – But if we assume they have based it on a conceptual model of the world (at least implicitly) there is a chance to map between them.

Pragmatism We live in the same world, even though we want to do different things with(in) it. Let’s model that world as directly as possible. Main issue then is level of detail.

The world is complex, whether you like it or not

2. Using VO-DML Standard, formal modelling language (aka meta-model) Explicit modelling concepts promote understanding – E.g. object types vs value types – Restrictions facilitate making modelling choices Standardization supports reuse of models by models Machine readability supports validation, implementation – E.g. XSLT scripts Allows standard (faithful) serialization – E.g. XML schema, HTML documentation, Java classes, TAP_SCHEMAs – See VO-URP

Standardizing mapping Standardization by using meta-model mapping VO-DML modelling concepts represented by VOTable metadata elements! Mapping document at volute (for now) – Last announced version: dml/doc/MappingDMtoVOTable-v docx dml/doc/MappingDMtoVOTable-v docx – Working copy: dml/doc/MappingDMtoVOTable-v xx.docx dml/doc/MappingDMtoVOTable-v xx.docx

Use of VOTable meta-data elements No change required to VOTable schema apart from – discussion on Banff – replace use by a new element – only on : GROUP, PARAM(ref), FIELDref Use of GROUPs – data models group (more) primitive elements into (structured) types – That’s what GROUPs are for Often elements themselves are structured: – GROUP hierarchies

4. element structure <xs:element name="TYPE" type="VODMLReference“ minOccurs="0" maxOccurs="unbounded“/> <xs:element name="ROLE" type="VODMLReference“ minOccurs="0“/> <xs:element name="OPTIONMAPPING" type="VODMLOptionMapping" minOccurs="0" maxOccurs="unbounded“/>

VODML contents Order: TYPE-ROLE or ROLE-TYPE? TYPE multiplicity – 0..1 : “casting” of ROLE to actual type – 0..* : list ALL¹ types compatible with the ROLE, i.e. actual type and all super types. (for "naïve clients") ¹ Maybe only “first” super type in separate models.

OPTIONMAPPING Enumeration or SKOSConcept define valid values for attribute – map to VOTabe’s VALUES/OPTION pattern (Legacy) serialization may have chosen own values Do we need to allow translation? How if no OPTION defined on FIELD or PARAM? Is OPTIONMAPPING on VODML best way to model? – disadvantage: repeat of OPTION values required – advantage: multiple annotation possible – alt: add VODML to OPTION itself, with only the vodml-ref to the literal

E.g. value  enum literal (from skyserver.sdss.org/PhotoObjAll.type) src:Source.classification 6 src:source.SourceClassification.star 3 src:source.SourceClassification.galaxy 0 src:source.SourceClassification.unknown

5: Mapping expression syntax Chapter 7 uses somewhat abstract, but formal syntax to define mapping pattern {GROUP G | G ⊂ RESOURCE & G ⊄ TABLE & G ⊄ GROUP[VODML] & G/VODML/TYPE ⇒ ObjectType & G/VODML/ROLE = NULL} == a GROUP (G) with a VODML/TYPE identifying an ObjectType and no VODML/ROLE, contained in a RESOURCE, not contained in a TABLE, not contained in a GROUP with a VODML element. Formally define all patterns that a client should understand, that a provider should use to express meaning. Aims to be comprehensive and rigorous, scope open for discussion

6. Use of ivoa: model dml/models/ivoa/IVOA.vo-dml.xml dml/models/ivoa/IVOA.vo-dml.xml Defines reusable primitive types – conceptual: ivoa:string, ivoa:integer, ivoa:real – not: float vs double, int vs long vs short Defines reusable quantity types – ivoa:quantity.RealQuantity – with ucd, unit etc – can be mapped directly to FIELDref – ucd/unit implicitly mapped to FIELD’s attributes

Issues sufficient number of predefined types? – too many? do we need 'ucd' attribute in quantity types? – can we support other (SKOS) vocabularies

7: Use of vo-dml: serialization model dml/models/vo-dml/VO-DML.vo-dml.xml dml/models/vo-dml/VO-DML.vo-dml.xml Some serialization concepts must be available for annotations – concepts not required in model definition vo-dm:Model : defines how/which models are used in serialization vo-dml:Identifier : how to define explicit identifiers vo:dml:Reference: how to serialize references vo-dml:ObjectTypeInstance – implicit super type of all serialized ObjectType instances – defines roles useful for serializations – vo-dml:ObjectTypeInstance.ID [vo-dml:Identifier] – vo-dml:ObjectTypeInstance.container [vo-dml:ObjectTypeInstance]

Issues Do we want this model? – how formal do we want to be – model introduced to preserve invariant that each vodml-ref points to a concept in a model Change name? – vo-dml-s (for serialization) – ???

8: vodml-ref prefix, explicitly declared or Model.name ? Long discussion came to conclusion not to allow flexible prefixes – use fixed name of Model Advantage: – simpler for clients, can always look for same prefix Disadvantage – need fixed list of names – independently created custom models may clash

9. Use of identifiers VO-DML does not define explicit identifier role – Each objectType instance is implicitly assume to have an ID – No statement on structure Objects can be identified in many different ways. – Primary key column(s) in table – xsd:ID or xsd:key in XML serialization – element in VOTable – ivo/identifier – URI –... vo-dml:Identifier DataType – vo-dml:Identifier.field [0..*] – May be mapped to single column

10. Mapping Reference-s Different types: vo-dml:GROUPref : refer to singleton-GROUP vo-dml:ORMReference : Object-relational mapping pattern vo-dml:RemoteReference : reference to object in remote document – E.g. standard coordinate frames of photometry filters stored in some registry(?) – Acceptable remote serializations?

11. Mapping to TAP_SCHEMA, FITS Wrap with VOTable Need standardize way of expressing wrapped data structures E.g. (from “VO-DML Mapper”) – TBD

Implementations, code, tools

Guru clients VOTable validator – Check VOTable loader – generate in-memory instances of Java classes generated from VO-DML using XSLT VOTable interpreter – Writes instances to XML document following VO-DML-I schema – Using Java classes generated from VO-DML, not necessary All load VO-DML docs dynamically Algorithms will be written up

that’s it