Revision 4380 - (show annotations)
Thu Sep 21 13:24:43 2017 UTC (3 years, 10 months ago) by mathieu.servillat
File MIME type: application/x-tex
File size: 9227 byte(s)
add \class and \attribute in model-links

 1 %In this section we discuss how the Provenance Data Model interacts with 2 %classes and attributes from other VO data models (especially DatasetDM). 3 %(e.g. DatasetDM, SpectralDM (share some same classes), SimDM) 4 %and how provenance information can be stored. 5 6 The Provenance Data Model can be applied without making any links to other 7 IVOA data model classes. For example, when the data is not yet published, provenance information 8 can be stored already, but a DatasetDM-description for the data may not yet exist. 9 However, if there are data models implemented for the datasets, then it is 10 very useful to connect the classes and attributes of the other data models with provenance classes and attributes (if applicable), which we are going to discuss in this Section. These links help to avoid 11 unnecessary repetitions in the metadata of datasets, and also offer the possibility 12 to derive some basic provenance information from existing data model classes automatically, e.g. for creating provenance serializations from DatasetDM or SimDM metadata. 13 14 15 \subsection{Links with Dataset/ObsCore Model} 16 \label{sec:dataset-obscore} 17 18 \class{Entity} and \class{EntityDescription} in ProvenanceDM 19 are tightly linked to the \class{DataSet}-class in DatasetDM/ObsCoreDM, as well as to 20 \class{InputDataset} and \class{OutputDataSet} in the SimulationDM \citep{std:SimDM}. 21 Tables~\ref{tab:datasetmapping} and \ref{tab:datasetmapping2} map classes and attributes from DatasetDM 22 to concepts in ProvenanceDM. 23 %If the DatasetDM attributes are used in the serialization of an entity, they have the corresponding DatasetDM namespace. 24 25 26 %\begin{figure}[h] 27 %\centering 28 %\includegraphics[width=\textwidth]{../datamodel-diagrams/images/classes-relations-dms} 29 %\caption{Links between Agent and Party, Entity and Dataset.} 30 %\label{fig:class-relations-dm} 31 %\end{figure} 32 % --> a similar figure is already given in the sections on entity and agent. 33 34 \begin{table}[h] 35 \small 36 \tymax 0.5\textwidth 37 \begin{tabulary}{1.0\textwidth}{@{}Llp{5cm}@{}} 38 \toprule 39 \head{ProvenanceDM attribute} & \head{DatasetDM attribute} & \head{Comment}\\ 40 \midrule 41 Entity.id & Curation.PublisherDID & unique identifier for the dataset assigned by the publisher\\ 42 Entity.id & DataID.creatorDID & alternative id for the dataset given by the creator, could be used as Entity.id if no PublisherDID exists (yet)\\ 43 Entity.name & DataID.title & title of the dataset\\ 44 Entity.rights & Curation.Rights & access rights to the dataset; one of [...]\\ 45 Entity.creationTime & DataID.date & date and time when the dataset was completely created\\ 46 HadMember.collection & DataID.collection & link to the collection to which the dataset belongs\\ 47 WasGeneratedBy.activityId & DataID.ObservationID & identifier to everything describing the observation\\ 48 Agent & Curation.Contact & link to Agent with role contact\\ 49 Agent.id & Curation.PublisherID & link to the publisher, i.e. to an Agent with role=publisher''\\ 50 Agent.name, \newline wasAttributedTo.role=\newline Creator & DataID.creator & name of agent creating the dataset\\ 51 Agent.name, \newline wasAttributedTo.role=\newline Publisher & Curation.Publisher & name of the publisher\\ 52 \bottomrule 53 \end{tabulary} 54 \caption[Mapping attributes from DatasetDM classes to attributes in ProvenanceDM]{Mapping attributes from DatasetDM classes to (optional) attributes in ProvenanceDM. This list is not complete.} 55 \label{tab:datasetmapping} 56 \end{table} 57 58 \begin{table}[h] 59 \small 60 \tymax 0.5\textwidth 61 \begin{tabulary}{1.0\textwidth}{@{}Llp{5cm}@{}} 62 \toprule 63 \head{ProvenanceDM class} & \head{DatasetDM attribute} & \head{Comment}\\ 64 %\midrule 65 %\multicolumn{3}{c}{\bf Attributes specific to dataset entities}\\ 66 \midrule 67 Entity & Curation.Date & release date of the dataset\\ 68 Entity & Curation.Version & version of the dataset\\ 69 Entity & Curation.Reference & link to publication\\ 70 EntityDescription & DataProductType & the type of a dataproduct from DatasetDM can be used as attribute to EntityDescription\\ 71 EntityDescription & DataProductSubType & subtype of a \mbox{dataproduct}/entity\\ 72 EntityDescription & ObsDataset.calibLevel & (output) calibration level, integer between 0 and 3\\ 73 \bottomrule 74 \end{tabulary} 75 \caption[Mapping attributes from DatasetDM classes to the ProvenanceDM classes]{Mapping attributes from DatasetDM classes to the ProvenanceDM classes to which they could be added. Attributes like \attribute{EntityDescription.calibLevel} are very specific to entities described with DatasetDM and thus are not included in this ProvenanceDM directly. This list is not complete.} 76 \label{tab:datasetmapping2} 77 \end{table} 78 79 80 \begin{figure}[h] 81 \centering 82 \includegraphics[width=\textwidth]{../datamodel-diagrams/images/agent-relations.pdf} 83 \caption[Agent in ProvenanceDM and Party in DatasetDM]{The relations between the \class{Agent} class within ProvenanceDM 84 (grey and yellow classes) with classes from the DatasetDM, party package (green).} 85 \label{fig:agent-relations} 86 \end{figure} 87 88 The \class{Agent} class, which is used for defining responsible persons and 89 organizations in ProvenanceDM, is very similar to the \class{Party} class in DatasetDM (and in SimDM). Its details are depicted in Figure~\ref{fig:agent-relations}. 90 The main difference between \class{Agent} and \class{Party} is that \class{Individual} and \class{Person} are subclasses in DatasetDM, whereas we just use the same class \emph{Agent} for both and distinguish between them using the \emph{Agent.type} attribute (which can have the value Individual'' or Organization''), which is closer to W3C's provenance data model. 91 % Which is closer to W3C ProvDM! 92 93 94 We imagine that services implementing both data models, \class{Dataset} and \class{ProvenanceDM} may just use \emph{one} class: either \class{Agent} or \class{Party}, enriched with all the necessary (project-specific) attributes. When delivering the data on request, the serialised versions can be adjusted to the corresponding notation. 95 Note that for Provenance queries using a ProvTAP service or for W3C compatible serializations, the name \class{Agent} for the responsible individuals/organizations is required. 96 97 98 \subsection{Links with Simulation Data Model} 99 In SimDM one also encounters a normalization similar to our separation of descriptions from 100 actual data instances and executions of processes: the SimDM class experiment'' 101 is a type of \class{Activity} and its general, reusable description is called a protocol'', 102 which can be considered as a type of this model's \class{ActivityDescription}. 103 More direct mappings between classes and attributes of both models are given in Table~\ref{tab:simdmmapping}. 104 105 \begin{table}[h] 106 \small 107 \tymax 0.5\textwidth 108 \begin{tabulary}{1.0\textwidth}{@{}Llp{5cm}@{}} 109 \toprule 110 \head{ProvenanceDM} & \head{SimDM} & \head{Comment}\\ 111 \midrule 112 Activity & Experiment & \\ 113 Activity.name & Experiment.name & human readable name; name attribute in SimDM is inherited from Resource-class\\ 114 Activity.endTime & Experiment.executionTime & end time of the execution of an experiment/activity \\ 115 Activity.description & Experiment.protocol & reference to the protocol or ActivityDescription class \\ 116 ActivityDescription & Protocol & \\ 117 ActivityDescription.name & Protocol.name & human readable name\\ 118 ActivityDescription.doculink & Protocol.referenceURL & reference to a webpage describing it\\ 119 % add Protocol.code, Protocol.version? 120 Parameter & ParameterSetting & value of an (input) parameter\\ 121 ParameterDescription & InputParameter & description of an (input) parameter\\ 122 Agent & Party & responsible person or organization\\ 123 Agent.name & Party.name & name of the agent \\ 124 WasAssociatedWith & Contact & classes for linking to agent/party\\ 125 WasAssociatedWith.role & Contact.role & role which the agent/party had for a certain experiment (activity); SimDM roles contain: \texttt{owner}, \texttt{creator}, \texttt{publisher}, \texttt{contributor}\\ 126 WasAssociatedWith.agent & Contact.party & reference to the agent/party \\ 127 Entity & DataObject & a dataset, which can be/refer to a collection\\ 128 129 \bottomrule 130 \end{tabulary} 131 \caption[Mapping between classes and attributes from SimDM to classes/attributes in ProvenanceDM]{Mapping between classes and attributes from SimDM to classes/attributes in ProvenanceDM. This list is not complete.} 132 \label{tab:simdmmapping} 133 \end{table} 134 135 If simulations are already described with SimDM, this table can be used 136 to map from SimDM properties to ProvenanceDM, e.g. when serving serialized provenance 137 metadata via an additional ProvDAL interface or for storing provenance 138 metadata together with each released simulation dataset (e.g. in a VOTable). 139 140 % Remove this, because no further links to other data models are currently planned. 141 %\subsection{Further links to data models} 142 %More similarities and links to other data models will be detailed in future 143 %versions of this working draft.