14
IVOA, Trieste, DM 2008-05-22 Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

Embed Size (px)

Citation preview

Page 1: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Data Modelling Standards (contd.)

IVOA interop, DM WG session Trieste, 2008-05-23

Page 2: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Data models How to define them

Analysis Logical Physical Cambridge, MA 2004-05-28

http://www.ivoa.net/internal/IVOA/InterOpMay2004DataModel/dm-presentation20040528.ppt

What to do with them store instances send them around manipulate them in code look at them on a screen

Can we standardise this process? WG task: check for compatibility

Page 3: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Model definition in UML UML profile

subset of UML package, class, datatype enumeration,

composition, inheritance, few more primitive data types

string,integer, real, date, ... stereotypes+tag definitions

<<ontologyterm>>+ontologyURI design rules

“concrete classes final”,...

Page 4: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

UML Profile for logical model

Page 5: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Physical models

Representation of model for use in particular context XML (messaging) Database (storage) Java (manipulation) HTML (documentation) UTYPE (pointing)

Page 6: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Mapping rules

Useful/efficient to derive physical models from logical one

Define rules Automate

“meta-specification”

Page 7: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Examples: UML->DDL

“standard” ORM class->table attribute->column reference->foreign key etc

In IVOA: VODataService (?)

Page 8: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Examples: UML->XML

Kyoto 2005http://www.ivoa.net/internal/IVOA/VOResource010RevNotes/ModelBasedSchema.ppt

Page 9: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Example: Mapping Classes

-id : integer-description : string

aas::A

-data : real

aas::B

Every class -> globally defined complexType isAbstract -> abstract=“true” Attribute -> element of simplish-type, either built-in, or also

generated

<xsd:complexType name="A" abstract="true"> <xsd:complexContent>

<xsd:extension base="base:DataObject">

<xsd:sequence>

<xsd:element name="id" type="xsd:integer" />  

<xsd:element name="description" type="xsd:string"/>

<xsd:element name="f" type="aas:F" minOccurs="0"/>

  </xsd:sequence>   </xsd:extension> 

</xsd:complexContent> 

</xsd:complexType>

Page 10: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Problem: references

Links to objects inside documents: ID/IDREF

Links to objects outside document ? IVO Identifier ?

Page 11: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Examples: UTYPE

Represent model in custom serialisations

attribute <model-name> ":" <package-name>[ "/" <package-name>]* "/" <objecttype-name> "." <attribute-name> [ "." <attribute-name>]*

reference <model-name> ":" <package-name>[ "/" <package-name>]* "/" <objecttype-name> "." <reference-name>

Page 12: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Suggestions Define UML profile for use in IVOA

DM efforts Define rules for mapping to

XML relational model (VODataService) UTYPE others?

TCG “Topic” (GL, ML) and then?

Page 13: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Proof of concept Implemented this procedure in SimDB

http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/ UML profile Rules in XSLT

DDL, XML, Java, HTML doc Applicable to other DMs

e.g. registry Demo by Laurent

Page 14: IVOA, Trieste, DM 2008-05-22Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23

IVOA, Trieste, DM 2008-05-22 Gerard Lemson

Suggestions (contd)

Define IVOA analysis model where do different models fit in design patterns

How do we “reuse” models import and “derive” (?) import and “link” represent