UTYPES Jonathan McDowell.

Slides:



Advertisements
Similar presentations
Characterisation of observations François Bonnarel, Mireille Louys, Anita Richards, Alberto Micol, Jonathan McDowell, Igor Chilingarian, et al.
Advertisements

VOTable 2005 Discussion Summary and Roadmap. Agenda Description of some applications dealing.
NVOSS 2008 Santa Fe1 Space Time Coordinates Gretchen Greene (many thanks to Arnold Rots) T HE US N ATIONAL V IRTUAL O BSERVATORY Sept 2008.
On and use=document|rpc, style=literal|encoded A personal opinion Sanjiva Weerawarana IBM Research September 9-11, 2002.
What is XML? a meta language that allows you to create and format your own document markups a method for putting structured data into a text file; these.
XML: Extensible Markup Language
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
Introduction to XLink Transparency No. 1 XML Information Set W3C Recommendation 24 October 2001 (1stEdition) 4 February 2004 (2ndEdition) Cheng-Chia Chen.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
Inheritance and Polymorphism CS351 – Programming Paradigms.
Unit 4 – XML Schema XML - Level I Basic.
4/20/2017.
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
An Extension to XML Schema for Structured Data Processing Presented by: Jacky Ma Date: 10 April 2002.
Mapping Data Models to VOTable The specification Published version dml/doc/MappingDMtoVOTable-v pdf.
Lecture 6 of Advanced Databases XML Schema, Querying & Transformation Instructor: Mr.Ahmed Al Astal.
Dr. Azeddine Chikh IS446: Internet Software Development.
XML CPSC 315 – Programming Studio Fall 2008 Project 3, Lecture 1.
The need for a stronger IVOA review process An SDM+SSA correctness assessment Bruno Rino, Nov
1 © Netskills Quality Internet Training, University of Newcastle Introducing XML © Netskills, Quality Internet Training University.
 XML is designed to describe data and to focus on what data is. HTML is designed to display data and to focus on how data looks.  XML is created to structure,
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
XML A web enabled data description language 4/22/2001 By Mark Lawson & Edward Ryan L’Herault.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Identity Constraints.
New Perspectives on XML, 2nd Edition
EXist Indexing Using the right index for you data Date: 9/29/2008 Dan McCreary President Dan McCreary & Associates (952) M.
Web Architecture: Extensible Language Tim Berners-Lee, Dan Connolly World Wide Web Consortium 元智資工所 系統實驗室 楊錫謦 1999/9/15.
August Chapter 6 - XPath & XPointer Learning XML by Erik T. Ray Slides were developed by Jack Davis College of Information Science and Technology.
Andrew S. Budarevsky Adaptive Application Data Management Overview.
RDF and XML 인공지능 연구실 한기덕. 2 개요  1. Basic of RDF  2. Example of RDF  3. How XML Namespaces Work  4. The Abbreviated RDF Syntax  5. RDF Resource Collections.
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.
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.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
XML Schema Definition (XSD). Definition of a Schema It is a model for describing the structure and content of data The XML Schema was developed as a content.
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)
Report of UCD Working Group Roy Williams Caltech.
XML Validation II Advanced DTDs + Schemas Robin Burke ECT 360.
XPath --XML Path Language Motivation of XPath Data Model and Data Types Node Types Location Steps Functions XPath 2.0 Additional Functionality and its.
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.
Jennifer Widom Relational Databases The Relational Model.
*** Identifiers Identify a value in a model by its path Resolve to a unique value (or array ?) Can be read directly from the model Apply to UML and XML.
 XML derives its strength from a variety of supporting technologies.  Structure and data types: When using XML to exchange data among clients, partners,
PIX/PDQ – Today and Tomorrow Vassil Peytchev Epic.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
XML Extensible Markup Language
XML: Extensible Markup Language
Unit 4 Representing Web Data: XML
Querying and Transforming XML Data
Data Models: Plenary-1 Jonathan McDowell May 2006
XML QUESTIONS AND ANSWERS
Chapter 3: Using Methods, Classes, and Objects
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Session III Chapter 6 – Creating DTDs
Chapter 7 Representing Web Data: XML
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Relational Databases The Relational Model.
Relational Databases The Relational Model.
Namespace Review 21-Nov-18.
Attributes and Values Describing Entities.
XML Data DTDs, IDs & IDREFs.
Namespace Review 29-Dec-18.
Mapping Data Models to VOTable
Database Systems Instructor Name: Lecture-3.
Utypes for Model Referencing
Session II Chapter 6 – Creating DTDs
VOTable Meetings: Conclusions
Namespace Review 14-Oct-19.
New Perspectives on XML
Presentation transcript:

UTYPES Jonathan McDowell

Data Model fields A data model consists of a bunch of information (attributes) and a structure organizing them (classes) If we ignore the structure, we get a long checklist of all the information data providers need or might need to describe their data Each piece of information and each grouping (class) is called a data model field, and is given a name which we call a utype: Example: Spectrum.Target.Name

Utypes and VOTABLE VOTABLE is an XML document with a fixed header+table schema; to infer a data model structure we must impose it with extra clues The UTYPE attribute was introduced to do this <PARAMETER name=”foo” utype=”Spectrum.Target.Name” value=”3C 273”/> UTYPE then became useful outside the VOTABLE context.

UTYPE syntax Basic syntax is tokens separated by periods as token.token.token Leftmost is the highest level containing class, rightmost is the actual item in question Implies a “has-a” hierarchy: Spectrum.Target has a field whose 'simple utype' is Name and whose 'fully qualified utype' is Spectrum.Target.Name Case-insensitive, but recommend CamelCase style

UTYPE uniqueness Utypes are unique within a model but not within an instance In VOTABLE can use GROUP for local scope

Utypes and XML In an XML Schema based document instance, the information is represented in two ways: The contents of elements or attributes <answer>42</answer> <distance unit=”furlongs”>100</distance> The names of the elements themselves <SpatialAxis> versus <Axis type=”Spatial”>

Utypes and XML -2 Each data model field corresponds to an element in the schema (with a few exceptions) It makes sense to just use the field names (utypes) to build the XSD element names Limitations of XSD and XML, and implementation issues, result in some deviations of the XSD from the abstract model Example: forcing automatic checking in STC

UTYPES and FITS Introduce new TUTYPn keyword convention TTYPE4 = 'WAVE_ERR' TUTYP4 = 'Spectrum.Data.SpectralAxis.Accuracy.StatErr' Allows you to use arbitrary column names and map them to the data model No equivalent for header keywords, these must be hardcoded for now

Namespaces and Scope If I see a utype 'Target.Name' what is Target? Which Data Model defines Target? What version of that data model? In XML the natural thing is to define a namespace xmlns:foo=”http://ivoa.net/xml/SpectrumModel/spec1.01.xsd” and use a namespace prefix utype=”foo:Target.Name”

Namespaces contd. Another option is to have one IVOA namespace and declare certain public classes Spectrum, Char, Target etc.: all utypes must begin with one of this list. (A. Micol: utype searching should be simple with no parsing)

Scope in VOTABLE In VOTABLE, I argued that it was natural to use GROUP to provide local scope and let utypes inherit context from the parent group: <GROUP utype=”Target”> <PARAMETER utype=”Name”> </GROUP> Some opposition to this. Currently using fully qualified utypes in VOTABLE

Combining DMs In defining one DM we may want to refer to another. Example in Char: Char.CharacterizationAxis.Coverage.Location Is the utype of an object of type STCCoordinate. The unit of the coord within this might have a utype Coordinate.CValue.Unit How do we express the fact that this particular coord is in the Char DM with a specific meaning?

Combining DMs-2 We could say that since Location is of type Coordinate, it inherits Coordinate's utype substructure: Char.CharacterizationAxis.Coverage.Location.CValue.Unit We could take the UCD approach and treat the higher level utype as an adjective: Coordinate.CValue.Unit;Char.CharacterizationAxis.Coverage.Location Any other suggestions?

Querying Utypes Francois Bonnarel has argued for a query language form in which (similar to XPATH?) one could distinguish multiple instances of the same utype within a document by specifying the values of attributes of the relevant element or containing elements, e.g. utype=token1.token2[attribute1=val1].token3.token4