[Volute] r4000 - trunk/projects/dm/provenance/description

Volute commit messages volutecommits at g-vo.org
Tue May 2 23:18:12 CEST 2017


Author: mir.louys
Date: Tue May  2 23:18:12 2017
New Revision: 4000

Log:


Added:
   trunk/projects/dm/provenance/description/provaccess_ML2015May2.tex
Modified:
   trunk/projects/dm/provenance/description/provaccess.tex

Modified: trunk/projects/dm/provenance/description/provaccess.tex
==============================================================================
--- trunk/projects/dm/provenance/description/provaccess.tex	Tue May  2 17:40:39 2017	(r3999)
+++ trunk/projects/dm/provenance/description/provaccess.tex	Tue May  2 23:18:12 2017	(r4000)
@@ -22,13 +22,13 @@
 <TABLE name="activities" utype="prov:activity">
   <FIELD name="name" utype="prov:activity.name" datatype="char" 
           arraysize="*"/>
-  <FIELD name="start" utype="prov:startTime" datatype="char" 
+  <FIELD name="start" utype="prov:activity.startTime" datatype="char" 
           arraysize="*" xtype="ISO8601"/>
-  <FIELD name ="stop" utype="prov:endTime"  datatype="char" 
+  <FIELD name ="stop" utype="prov:activity.endTime"  datatype="char" 
           arraysize="*" xtype="ISO8601"/>
-  <FIELD name="methodname" utype="voprov:method_name" 
+  <FIELD name="methodname" utype="voprov:activityDesc.method_name" 
           dataype="char" arraysize="*"/>
-  <FIELD name="version" utype="voprov:method_version" 
+  <FIELD name="version" utype="voprov:activityDesc.method_version" 
           datatype="char" arraysize="*"/>  
   <DATA>
     <TABLEDATA>

Added: trunk/projects/dm/provenance/description/provaccess_ML2015May2.tex
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/projects/dm/provenance/description/provaccess_ML2015May2.tex	Tue May  2 23:18:12 2017	(r4000)
@@ -0,0 +1,116 @@
+\subsection{Provenance Data Model serialization}
+There are three possible families of ProvenanceDM metadata serializations, examples for these can be found in the implementation section (\ref{sec:usecases-implementations}) and the links therein.
+\begin{itemize}
+ \item W3C serializations: PROV\-N, PROV\-JSON, PROV\-XML. These are serializations of the W3C provenance data model. They allow the possibility to add additional IVOA or ad hoc attributes to the basic ones in each class. This way the IVOA models can produce W3C compliant serializations.
+ \item Mapping of ProvenanceDM classes onto tables with appropriate relationships. This can allow management by a TAP service (the model mapping is then described with the TAP schema). The serialization will result in a single table according to the query.
+
+ %\TODO{TAP SCHEMA of the ProvenanceDM datamodel: Maybe Mathieu can provide us with a copy of the TAP schema he designed ?}
+
+ \item Direct VOTABLE mapping by using some ad hoc mapping based on transcription of PROV-N format: this is called PROV-VOTABLE. Moreover in the future we could also define a VO-DML \citep{std:VODML} version of the mapping.
+The following is an example of provenance metadata in this PROV-VOTABLE format. Objects become tables, their classes are rendered by a utype. Attributes and relationships become FIELDS or PARAMS. The model attribute names also become VOTABLE utypes.  
+\begin{verbatim}
+
+<?xml version="1.0" encoding="UTF-8"?>
+<VOTABLE version="1.2" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns="http://www.ivoa.net/xml/VOTable/v1.2"
+  xsi:schemaLocation=
+  "http://www.ivoa.net/xml/VOTable/v1.2 http://www.ivoa.net/xml/VOTable/v1.2">
+
+<RESOURCE name="Stage1">
+
+<TABLE name="activities" utype="prov:activity">
+  <FIELD name="name" utype="prov:activity.name" datatype="char" 
+          arraysize="*"/>
+  <FIELD name="start" utype="prov:activity.startTime" datatype="char" 
+          arraysize="*" xtype="ISO8601"/>
+  <FIELD name ="stop" utype="prov:activity.endTime"  datatype="char" 
+          arraysize="*" xtype="ISO8601"/>
+  <FIELD name="methodname" utype="voprov:activityDesc.method_name" 
+          dataype="char" arraysize="*"/>
+  <FIELD name="version" utype="voprov:activityDesc.method_version" 
+          datatype="char" arraysize="*"/>  
+  <DATA>
+    <TABLEDATA>
+      <TR><TD>cta:telescope_stage_520</TD>
+          <TD>2015-07-30T09:45:00</TD><TD>2015-07-30T10:00:00</TD>
+          <TD>Telescope_stage</TD><TD>1.0</TD></TR>
+    </TABLEDATA>
+  </DATA>      
+</TABLE>
+
+<TABLE name="entities" utype="prov:entity">
+  <FIELD name="name" utype="prov:entitity.name" datatype="char" 
+          arraysize="*"/>
+  <FIELD name="label" utype="prov:label" datatype="char" 
+          arraysize="*"/>
+  <FIELD name="type" utype="prov:type" datatype="char" 
+          arraysize="*"/>
+  <FIELD name="run" utype="cta:runNumber" 
+          datatype="int"/>
+  <FIELD name="tel" utype="cta:telescope" datatype="char" 
+          arraysize="*"/>
+  <DATA>
+    <TABLEDATA>
+      <TR><TD>cta:Stage1Config_520</TD><TD></TD><TD>file</TD>
+          <TD></TD><TD></TD></TR>
+      <TR><TD>cta:run1000_EVT1</TD><TD>EVT1 file</TD><TD>file</TD>
+          <TD>1000</TD><TD>MST21</TD></TR>
+      <TR><TD>cta:run13000_EVT0</TD><TD>EVT0 file</TD><TD>file</TD>
+          <TD>13000</TD><TD>MST21</TD></TR>
+    </TABLEDATA>
+  </DATA>
+</TABLE>
+
+<TABLE name="usedRelationship" utype="voprov:used" >
+  <FIELD name="head" datatype="char" arraysize="*" />
+  <FIELD name="tail" datatype="char" arraysize="*" />
+  <DATA>
+    <TABLEDATA>
+      <TR><TD>cta:telescope_stage_520</TD>
+          <TD>cta:run13000_EVT0</TD></TR>
+      <TR><TD>cta:telescope_stage_520</TD>
+          <TD>cta:Stage1Config_5250</TD></TR>
+    </TABLEDATA>
+  </DATA>
+</TABLE>
+
+<TABLE name="wasGeneratedByRelationship" utype="voprov:wasGeneratedBy" >
+  <FIELD name="head" datatype="char" arraysize="*" />
+  <FIELD name="tail" datatype="char" arraysize="*" />
+  <DATA>
+    <TABLEDATA>
+      <TR><TD>cta:run1000_EVT1</TD><TD>cta:telescope_stage_520</TD></TR>
+    </TABLEDATA>
+  </DATA>
+</TABLE>
+
+</RESOURCE>
+</VOTABLE>
+\end{verbatim}
+  
+  
+\end{itemize}
+
+
+\subsection{Access protocols}
+We envision two possible access protocols:
+\begin{itemize}
+\item ProvDAL: retrieve provenance information based on given id of a data entity or activity
+
+ProvDAL is a service the interface of which is organized around one main PARAMETER, the ``ID'' of the entity (obs\_publisher\_did of an ObSDataSet for example). The response is given in one of the following formats: PROV-N, PROV-JSON, PROV-XML, PROV-VOTABLE. Additional parameters can complete ID to refine the query. FORMAT allows to choose the output format. STEP allows to discriminate between STEP=LAST which gives the last step in the provenance chain and STEP=ALL which gives the whole chain.
+Multiple ID PARAMETER is allowed in order to retrieve several data set provenance details at the same time.
+\item ProvTAP: allows detailed queries for provenance information, discovery of datasets based on 
+e.g. code version.
+
+ProvTAP is a TAP service implementing the ProvenanceDM data model. The data model mapping is included in the TAP schema (see above). The result of any query is a single table joining information coming from one or several ``provenance'' tables available in the database. 
+
+A special case is considered where ProvenanceDM and ObsCore are both implemented in the same TAP service and queried together. The TAP response is then providing an Obscore table with a ProvenanceDM extension. We can imagine that in the future this could be hard-coded and registered as an ObsTapProv service. 
+
+
+\item Do we need combined query possibilities, i.e. ask for ObsCore-fields and Provenance fields
+in one query? Or rather use a 2-step-process, decoupling them from each other?
+\end{itemize}
+
+
+%\TODO{Also look at PROV-AQ from the W3C.}


More information about the Volutecommits mailing list