/[volute]/trunk/projects/dm/provenance/description/provaccess.tex
ViewVC logotype

Contents of /trunk/projects/dm/provenance/description/provaccess.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4012 - (show annotations)
Thu May 4 16:04:39 2017 UTC (3 years, 11 months ago) by francois
File MIME type: application/x-tex
File size: 9226 byte(s)
Access
and serialization miscelaneaous changes. VOTABLE example fixes
1 \subsection{Provenance Data Model serialization}
2 There are two possible families of ProvenanceDM metadata serializations, examples for these can be found in the implementation section (\ref{sec:usecases-implementations}) and the links therein.
3 \begin{itemize}
4 \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.
5 % \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.
6
7 %\TODO{TAP SCHEMA of the ProvenanceDM datamodel: Maybe Mathieu can provide us with a copy of the TAP schema he designed ?}
8
9 \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.
10 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.
11 \begin{verbatim}
12
13 <?xml version="1.0" encoding="UTF-8"?>
14 <VOTABLE version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
15 xmlns="http://www.ivoa.net/xml/VOTable/v1.2"
16 xsi:schemaLocation="http://www.ivoa.net/xml/VOTable/v1.2 http://www.ivoa.net/xml/VOTable/v1.2">
17
18
19 <RESOURCE name="RGB">
20
21 <TABLE name="activities" utype="prov:Activity" >
22
23
24 <FIELD name="ident" ucd="meta.id" utype ="prov:Activity.id" datatype="char" arraysize="*"/>
25 <FIELD name="label" ucd="meta.title" utype="prov:Activity.label" datatype="char" arraysize="*"/>
26 <FIELD name="start" ucd="time.start" utype="prov:Activity.startTime" datatype="char" arraysize="*" xtype="ISO8601" />
27 <FIELD name ="stop" ucd="time.end" utype="prov:Activity.endTime" datatype="char" arraysize="*" xtype="ISO8601" />
28 <FIELD name="annotation" ucd="meta.description" utype="voprov:Activity.annotation" datatype="char" arraysize="*" />
29 <FIELD name="description" utype="voprov:Activity.ActivityDescRef" datatype="char" arraysize="*" />
30
31 <DATA>
32 <TABLEDATA>
33 <TR><TD>AlaRGB1</TD><TD>Aladin RGB 1</TD><TD>2017-04-18T17:28:00</TD><TD>2017-04-19T17:29:00</TD><TD>Aladin RGB image generation for NGC 6946 </TD><TD>AlaRGB</TD></TR>
34 </TABLEDATA>
35 </DATA>
36 </TABLE>
37
38 <TABLE name="activity descriptions" utype="prov:ActivityDesc" >
39
40
41 <FIELD name="ident" ucd="meta.id" utype="prov:ActivityDesc.id" datatype="char" arraysize="*"/>
42 <FIELD name="label" ucd="meta.title" utype="prov:ActivityDesc.label" datatype="char" arraysize="*"/>
43 <FIELD name="type" ucd="meta.code.class" utype="prov:ActivityDesc.type" datatype="char" arraysize="*" />
44 <FIELD name ="subtype" ucd="meta.code.class" utype="voprov:ActivityDesc.subtype" datatype="char" arraysize="*"/>
45 <FIELD name="description_link" ucd="meta.ref.url" utype="voprov:ActivityDesc.doculink" datatype="char" arraysize="*" />
46 <DATA>
47 <TABLEDATA>
48 <TR><TD>AlaRGB</TD><TD>Aladin RGB image generation algorithm</TD><TD>RGBencoding</TD><TD></TD><TD>http://cds.u-strasbg.fr/aladin.gml</TD></TR>
49 </TABLEDATA>
50 </DATA>
51 </TABLE>
52
53
54 <TABLE name="entities" utype="prov:Entity" >
55 <FIELD name="ident" ucd="meta.id" utype="prov:Entitity.id" datatype = "char" arraysize="*" />
56 <FIELD name="label" ucd="meta.title" utype="prov:Entity.label" datatype="char" arraysize="*" />
57
58 <FIELD name="type" ucd="meta.code.class" utype="prov:Entity.type" datatype="char" arraysize="*" />
59
60 <FIELD name="annotation" ucd="meta.description" utype="voprov:Entity.annotation" datatype="char" arraysize="*" />
61
62 <FIELD name="acref" ucd="meta.ref.url" utype="voprov:Entity.access_reference" datatype="char" arraysize="*" />
63 <FIELD name="description link" ucd="meta.ref.url" utype="voprov:Entity.doculink" datatype="char" />
64
65 <FIELD name="dataproduct type" ucd="meta.code.class" utype="voprov:Entity.data_productype" datatype="char" arraysize="*" />
66 <FIELD name="level" ucd="meta.code" utype="voprov:Entity.level" datatype="int" />
67
68 <DATA>
69 <TABLEDATA>
70 <TR><TD>ivo://CDS/P/DSS2color#RGB_NGC6946</TD><TD>RGB DSS2 image for NGC 6946</TD><TD></TD><TD>This is a PNG RGB image built from DSS2 with Aladin for galaxy NGC 6946</TD><TD>file://home/bonnarel/Aladin/RGB/RGB_NGC6946.png</TD><TD>http://cds.u-strasbg.fr/aladin.gml</TD><TD>image</TD><TD>3</TD></TR>
71 <TR><TD>ivo://CDS/P/DSS2/POSSII#POSSII.J-DSS2.143</TD><TD>POSSII Blue Survey DSS2 NGC6946</TD><TD></TD><TD>This is the DSS2 digitazition of the Blue POSSII Schmidt survey around NGC 6946</TD><TD>file://home/bonnarel/Aladin/RGB/POSSII.J-DSS2.143.fits</TD><TD>http://cds.u-strasbg.fr/aladin.gml</TD><TD>image</TD><TD>2</TD></TR>
72 <TR><TD>ivo://CDS/P/DSS2/POSSII#POSSII.F-DSS2.143</TD><TD>POSSII Red Survey DSS2 NGC6946</TD><TD></TD><TD>This is the DSS2 digitazition of the Red POSSII Schmidt survey around NGC 6946</TD><TD>file://home/bonnarel/Aladin/RGB/POSSII.F-DSS2.143.fits</TD><TD>http://cds.u-strasbg.fr/aladin.gml</TD><TD>image</TD><TD>2</TD></TR>
73 <TR><TD>ivo://CDS/P/DSS2/POSSII#POSSII.N-DSS2.143</TD><TD>POSSII Infra Red Survey DSS2 NGC6946</TD><TD></TD><TD>This is the DSS2 digitazition of the Infra red POSSII Schmidt survey around NGC 6946</TD><TD>file://home/bonnarel/Aladin/RGB/POSSII.N-DSS2.143.fits</TD><TD>http://cds.u-strasbg.fr/aladin.gml</TD><TD>image</TD><TD>2</TD></TR>
74 </TABLEDATA>
75 </DATA>
76 </TABLE>
77
78 <TABLE name="usedRelationship" utype="voprov:Used" >
79 <FIELD name="activity" ucd="meta.id" utype="prov:Activity.id" datatype="char" arraysize="*" />
80 <FIELD name="entity" ucd="meta.id" utype="prov:Entity.id" datatype="char" arraysize="*" />
81 <FIELD name="role" datatype="char" utype="voprov:Used.role" arraysize="*" />
82 <DATA>
83 <TABLEDATA>
84 <TR><TD>AlaRGB1</TD><TD>ivo://CDS/P/DSS2/POSSII#POSSII.J-DSS2.143</TD><TD>voprov:input</TD></TR>
85 <TR><TD>AlaRGB1</TD><TD>ivo://CDS/P/DSS2/POSSII#POSSII.F-DSS2.143</TD><TD>voprov:input</TD></TR>
86 <TR><TD>AlaRGB1</TD><TD>ivo://CDS/P/DSS2/POSSII#POSSII.N-DSS2.143</TD><TD>voprov:input</TD></TR>
87 </TABLEDATA>
88 </DATA>
89 </TABLE>
90
91 <TABLE name="WasGeneratedByRelationship" utype="voprov:WasGeneratedBy" >
92 <FIELD name="entity" ucd="meta.id" utype="prov:Entity.id" datatype="char" arraysize="*" />
93 <FIELD name="activity" ucd="meta.id" utype="prov:Activity.id" datatype="char" arraysize="*" />
94 <FIELD name="role" datatype="char" utype="voprov:WasGeneratedBy.role" arraysize="*" />
95 <DATA>
96 <TABLEDATA>
97 <TR><TD>ivo://CDS/P/DSS2color#RGB_NGC6946</TD><TD>AlaRGB1</TD><TD></TD></TR>
98 </TABLEDATA>
99 </DATA>
100 </TABLE>
101
102
103 </RESOURCE>
104 </VOTABLE>
105
106 \end{verbatim}
107
108
109 \end{itemize}
110
111 Such serializations can be retrieved through Access protocols (see \ref{AccessPro} ) or directly integrated in datasets headers or "associated metadata" in order to provide provenance metadata for these datasets.
112
113
114 \subsection{Access protocols}
115 \label{AccessPro}
116 We envision two possible access protocols:
117 \begin{itemize}
118 \item ProvDAL: retrieve provenance information based on given id of a data entity or activity
119
120 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.
121 Multiple ID PARAMETER is allowed in order to retrieve several data set provenance details at the same time.
122 \item ProvTAP: allows detailed queries for provenance information, discovery of datasets based on
123 e.g. code version.
124
125 ProvTAP is a TAP service implementing the ProvenanceDM data model. The data model mapping is included in the TAP schema. The mapping of ProvenanceDM classes and attributes onto tables and colomns of the schema with the appropriate relationships, datatypes, units, utypes and ucds is done similarly to the PROV-VOTABLE serialization. The query response will result in a single table according to the query.
126 This single table is joining information coming from one or several ``provenance'' tables available in the database.
127
128 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.
129
130
131 \item Do we need combined query possibilities, i.e. ask for ObsCore-fields and Provenance fields
132 in one query? Or rather use a 2-step-process, decoupling them from each other?
133 \end{itemize}
134
135
136 %\TODO{Also look at PROV-AQ from the W3C.}

msdemlei@ari.uni-heidelberg.de
ViewVC Help
Powered by ViewVC 1.1.26