------------------------------------------------------------------------------------------------------- VO-DML MAPPING GEGINNER'S EXAMPLE Based on a prototype af an Healpix extension for spatial coordinates. This is not a model proposal but a testbench for the VODML workflow. Laurent Michel 04/2017 -------------------------------------------------------------------------------------------------------- USE CASE -------- The goal of this project is to annotate a simple VOTable with a very basic source model by using the tools available in April 2017. It can be used as a toy example for VO-DML mapping beginners. This model, namely lmsource, has one class with the following attributes: - name - RA/DEC - Positional Error - Healpix index - Parallax lmsource imports the STC2 space coordinate pattern extended to support Healpix. USED MODELS ----------- - lmsource : source data model - coordsys_tessel: extension of the STC2 coordsys Spatial Domain Package with a new axis class for the tesselation - coords_tessel : extension of the STC2 coords Spatial Domain Package adding a Tile to the position Each model comes with a complete documentation: - model.xmi : XMI file file generated by Modelio. XMI files have been patched by to support XSLT sheets (UML name space set as http://schema.omg.org/spec/UML/20100901) - model.vodml.xml : VODML serialization of the model, generated by an XSL transformation - model.html/gvd/map/png: Hypertext documentation of the model, generated by an XSL transformation - model_diagram.png : Class diagram focused on the package of interest, generated by Modelio MODEL DESIGN ------------- All models have been designed with Modelio 3.5 on Ubuntu 14.4. Both *_tessel have been built from https://volute.g-vo.org/svn/trunk/projects/dm/STC-2.0/model/coords/STC_coords_V2.0.zip And https://volute.g-vo.org/svn/trunk/projects/dm/STC-2.0/model/coordsys/STC_coordsys_V2.0.zip These models have been renamed and then extended with the new classes. lmsource model has been created from scratch by following the instructions of VO-DMLModelingBeginnersGuide.pdf. The importation of both *_tessel models have been done by following the instructions of VODMLImportonModelio.pdf. XMIs files have been generated by Modelio with the UML2.4 template All XSL transformations have been run by the scripts located in ./scripts. These scripts use the XSLT files written by Gerard Lemson and Omar Laurino. They can be applied to different models without editing any property file. Scripts are setup for my own installation, they must be updated to be used in another context. XSLT sheets are not dupliacted in this project. VOTABLE ANNOTATION ------------------ The lmsource.votable.xml contains the raw VOTable: no mention of VO-DML The lmsource.votable.annot.xml contains the VOTable annotated with the lmsource model. The annotation process has been done with the Omar's Jovial tool plus a few handcraft actions. The lmsource.groovy file contains DSL instructions used by Jovial to generate the annotations. The lmsource.groovy.output.xml file contains the Jovial output. By default, Jovial uses stdout as output stream, this output has been Copied/Pasted in that file. The element of lmsource.groovy.output.xml has been Copied/Pasted below the element in lmsource.votable.annot.xml. The LITERALs defining the Healpix schema have been replaced by hand by elements which refer to existing s This patch is due to the fact the Jovial does not implement the reference to PARAMs yet. WARNING: the current version of the Groovy file is not uptodate. Most of the mapping TEMPLATEs have been writtent by hand RUNNING JOVIAL -------------- Jovial is hosted by Github: https://github.com/olaurino/jovial To run it in our context do as follow: 1) git clone https://github.com/olaurino/jovial.git 2) cd jovial 3) mvn package # if the test step fails, adds the -DskipTests flag 4) java -jar target/jovial-1.0-SNAPSHOT-jar-with-dependencies.jar -i /yourpath/lmsource.groovy VOTable validation ------------------ The annotated VOTable must be valid againts the VOTable 1.4 schema referenced in the head. The validation can be checked with any XSD processor. Eclipse XML Espresso has ben used for here VOTable parsing --------------- The annotatated VOTable can be parse with the MAST parser developped by Tom Donaldson: - Connect https://masttest.stsci.edu/vodml/Mashup/Clients/Mast/Portal.html - Upload your VOTable and type - A full documentation is availabe at https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/mapping/MAST%20VODML%20Parser/VODML%20Parser.html Enjoy LM