cdocutils.nodes document q)q}q(U nametypesq}q(XwasderivedfromqXusedqXderived data without scriptsqNX#ore model for derived data packagesq NXqueriesq NXindexingq NX#section b of the prov documentationq Xderived data using scriptsq NXexamplesqNX prov ontologyqX generatedqXexampleqNXontology and modelqNXoverviewqNX sample rdfqNX wasinformedbyqXwasgeneratedbyquUsubstitution_defsq}qUparse_messagesq]q(cdocutils.nodes system_message q)q}q(U rawsourceqUUparentqcdocutils.nodes section q )q!}q"(hUhh )q#}q$(hUhhUsourceq%Xa/var/lib/jenkins/jobs/metacat-unstable/workspace/docs/user/metacat/source/ore-model-expansion.rstq&Utagnameq'Usectionq(U attributesq)}q*(Udupnamesq+]Uclassesq,]Ubackrefsq-]Uidsq.]q/U#ore-model-for-derived-data-packagesq0aUnamesq1]q2h auUlineq3KUdocumentq4hUchildrenq5]q6(cdocutils.nodes title q7)q8}q9(hX#ORE Model for Derived Data Packagesq:hh#h%h&h'Utitleq;h)}q<(h+]h,]h-]h.]h1]uh3Kh4hh5]q=cdocutils.nodes Text q>X#ORE Model for Derived Data Packagesq?q@}qA(hh:hh8ubaubcsphinx.addnodes index qB)qC}qD(hUhh#h%h&h'UindexqEh)}qF(h.]h-]h+]h,]h1]UentriesqG]qH(UsingleqIXDerived ResourcesUindex-0qJUtqKaUinlineqLuh3K h4hh5]ubcdocutils.nodes target qM)qN}qO(hUhh#h%h&h'UtargetqPh)}qQ(h+]h,]h-]h.]qRhJah1]uh3K h4hh5]ubhB)qS}qT(hUhh#h%h&h'hEh)}qU(h.]h-]h+]h,]h1]hG]qV(hIXPROVUindex-1qWUtqXahLuh3K h4hh5]ubhM)qY}qZ(hUhh#h%h&h'hPh)}q[(h.]h-]h+]h,]h1]Urefidq\hWuh3K h4hh5]ubcdocutils.nodes definition_list q])q^}q_(hUhh#h%h&Uexpect_referenced_by_nameq`}h'Udefinition_listqah)}qb(h+]h,]h-]h.]qchWah1]uh3Nh4hUexpect_referenced_by_idqd}qehWhYsh5]qf(cdocutils.nodes definition_list_item qg)qh}qi(hXAuthor Lauren Walker hh^h%h&h'Udefinition_list_itemqjh)}qk(h+]h,]h-]h.]h1]uh3K h5]ql(cdocutils.nodes term qm)qn}qo(hXAuthorhhhh%h&h'Utermqph)}qq(h+]h,]h-]h.]h1]uh3K h5]qrh>XAuthorqsqt}qu(hXAuthorqvhhnubaubcdocutils.nodes definition qw)qx}qy(hUh)}qz(h+]h,]h-]h.]h1]uhhhh5]q{cdocutils.nodes paragraph q|)q}}q~(hX Lauren Walkerqhhxh%h&h'U paragraphqh)}q(h+]h,]h-]h.]h1]uh3K h5]qh>X Lauren Walkerqq}q(hhhh}ubaubah'U definitionqubeubhg)q}q(hXODate - 20140513 Initial draft of ORE model expansion for derived data packages hh^h%h&h'hjh)}q(h+]h,]h-]h.]h1]uh3Kh4hh5]q(hm)q}q(hXDatehhh%h&h'hph)}q(h+]h,]h-]h.]h1]uh3Kh5]qh>XDateqq}q(hXDateqhhubaubhw)q}q(hUh)}q(h+]h,]h-]h.]h1]uhhh5]qcdocutils.nodes bullet_list q)q}q(hUh)}q(UbulletqX-h.]h-]h+]h,]h1]uhhh5]qcdocutils.nodes list_item q)q}q(hXH20140513 Initial draft of ORE model expansion for derived data packages h)}q(h+]h,]h-]h.]h1]uhhh5]qh|)q}q(hXG20140513 Initial draft of ORE model expansion for derived data packagesqhhh%h&h'hh)}q(h+]h,]h-]h.]h1]uh3Kh5]qh>XG20140513 Initial draft of ORE model expansion for derived data packagesqq}q(hhhhubaubah'U list_itemqubah'U bullet_listqubah'hubeubhg)q}q(hX_Goal Accurately describe the relationships of resources that are derived from other resources. hh^h%h&h'hjh)}q(h+]h,]h-]h.]h1]uh3Kh4hh5]q(hm)q}q(hXGoalhhh%h&h'hph)}q(h+]h,]h-]h.]h1]uh3Kh5]qh>XGoalqq}q(hXGoalqhhubaubhw)q}q(hUh)}q(h+]h,]h-]h.]h1]uhhh5]qh|)q}q(hXYAccurately describe the relationships of resources that are derived from other resources.qhhh%h&h'hh)}q(h+]h,]h-]h.]h1]uh3Kh5]qh>XYAccurately describe the relationships of resources that are derived from other resources.qq}q(hhhhubaubah'hubeubhg)q}q(hXSummary This proposed expansion of the Metacat ORE model uses the `PROV ontology `_ to describe the relationships between generated or derived resources and the resources used to generate them. hh^h%h&h'hjh)}q(h+]h,]h-]h.]h1]uh3Kh4hh5]q(hm)q}q(hXSummaryhhh%h&h'hph)}q(h+]h,]h-]h.]h1]uh3Kh5]qh>XSummaryq̅q}q(hXSummaryqhhubaubhw)q}q(hUh)}q(h+]h,]h-]h.]h1]uhhh5]qh|)q}q(hXThis proposed expansion of the Metacat ORE model uses the `PROV ontology `_ to describe the relationships between generated or derived resources and the resources used to generate them.hhh%h&h'hh)}q(h+]h,]h-]h.]h1]uh3Kh5]q(h>X:This proposed expansion of the Metacat ORE model uses the q؅q}q(hX:This proposed expansion of the Metacat ORE model uses the hhubcdocutils.nodes reference q)q}q(hX6`PROV ontology `_h)}q(UnameX PROV ontologyUrefuriqX#http://www.w3.org/TR/prov-overview/qh.]h-]h+]h,]h1]uhhh5]qh>X PROV ontologyq⅁q}q(hUhhubah'U referencequbhM)q}q(hX& U referencedqKhhh'hPh)}q(Urefurihh.]qU prov-ontologyqah-]h+]h,]h1]qhauh5]ubh>Xn to describe the relationships between generated or derived resources and the resources used to generate them.q텁q}q(hXn to describe the relationships between generated or derived resources and the resources used to generate them.hhubeubah'hubeubeubh )q}q(hUhh#h%h&h'h(h)}q(h+]h,]h-]h.]qUoverviewqah1]qhauh3Kh4hh5]q(h7)q}q(hXOverviewqhhh%h&h'h;h)}q(h+]h,]h-]h.]h1]uh3Kh4hh5]qh>XOverviewqq}q(hhhhubaubh|)q}r(hX~There are two main concepts that are being introduced to Metacat - derived data resources and the activities that create them.rhhh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh4hh5]rh>X~There are two main concepts that are being introduced to Metacat - derived data resources and the activities that create them.rr}r(hjhhubaubh|)r}r(hXA derived resource is defined as a entity, usually a data file, that is produced by transforming one entity into another or is the production of an activity that generates a new entity from an existing one. In Metacat, derived data could be a data table that was composed from analyzing one or more existing data tables. It could also be a visualization of another resource, such as a graph, chart, or map.r hhh%h&h'hh)}r (h+]h,]h-]h.]h1]uh3Kh4hh5]r h>XA derived resource is defined as a entity, usually a data file, that is produced by transforming one entity into another or is the production of an activity that generates a new entity from an existing one. In Metacat, derived data could be a data table that was composed from analyzing one or more existing data tables. It could also be a visualization of another resource, such as a graph, chart, or map.r r }r(hj hjubaubh|)r}r(hXUBecause derived data is the product of a transformation activity, Metacat's ORE model will need to have the capability to store information on these activities. These activities could be a script (e.g. an R script) that is used to create a visualization from a data table or to compose a new data table from one or more existing data tables.rhhh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3K!h4hh5]rh>XUBecause derived data is the product of a transformation activity, Metacat's ORE model will need to have the capability to store information on these activities. These activities could be a script (e.g. an R script) that is used to create a visualization from a data table or to compose a new data table from one or more existing data tables.rr}r(hjhjubaubh|)r}r(hXDThese new resources will be documented by metadata, most likely EML.rhhh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3K$h4hh5]rh>XDThese new resources will be documented by metadata, most likely EML.rr}r(hjhjubaubeubh!h )r}r (hUhh#h%h&h'h(h)}r!(h+]h,]h-]h.]r"Uexamplesr#ah1]r$hauh3KDh4hh5]r%(h7)r&}r'(hXExamplesr(hjh%h&h'h;h)}r)(h+]h,]h-]h.]h1]uh3KDh4hh5]r*h>XExamplesr+r,}r-(hj(hj&ubaubh )r.}r/(hUhjh%h&h'h(h)}r0(h+]h,]h-]h.]r1Uderived-data-using-scriptsr2ah1]r3h auh3KFh4hh5]r4(h7)r5}r6(hXDerived data using scriptsr7hj.h%h&h'h;h)}r8(h+]h,]h-]h.]h1]uh3KFh4hh5]r9h>XDerived data using scriptsr:r;}r<(hj7hj5ubaubh|)r=}r>(hXJohn Smith is a scientist who has uploaded two data tables and an EML file to a Metacat repository. His package of data is represented below.r?hj.h%h&h'hh)}r@(h+]h,]h-]h.]h1]uh3KGh4hh5]rAh>XJohn Smith is a scientist who has uploaded two data tables and an EML file to a Metacat repository. His package of data is represented below.rBrC}rD(hj?hj=ubaubcdocutils.nodes figure rE)rF}rG(hUhj.h%h&h'UfigurerHh)}rI(h+]h,]h-]h.]rJUid4rKah1]uh3Nh4hh5]rL(cdocutils.nodes image rM)rN}rO(hX.. figure:: images/derived-data-smith-package.png Figure 3. Smith's original data package using the ORE model Metacat has now h)}rP(UuriX%images/derived-data-smith-package.pngrQh.]h-]h+]h,]U candidatesrR}rSU*jQsh1]uhjFh5]h'UimagerTubcdocutils.nodes caption rU)rV}rW(hXKFigure 3. Smith's original data package using the ORE model Metacat has nowrXhjFh%h&h'UcaptionrYh)}rZ(h+]h,]h-]h.]h1]uh3KKh5]r[h>XKFigure 3. Smith's original data package using the ORE model Metacat has nowr\r]}r^(hjXhjVubaubeubh|)r_}r`(hXJessica Couture is an analyst who wants to create a graph of John's Smith data. She creates an R script that grabs the data files smith_data.1.1 and smith_data.2.1, performs some sort of analysis on them and transforms them into a single data file, couture_data.1.1. She then creates another R script to visualize this composed data into a chart. She describes her process and the data in an EML file and uploads all five files to Metacat. Below is the model that describes Couture's new data package:rahj.h%h&h'hh)}rb(h+]h,]h-]h.]h1]uh3KMh4hh5]rch>XJessica Couture is an analyst who wants to create a graph of John's Smith data. She creates an R script that grabs the data files smith_data.1.1 and smith_data.2.1, performs some sort of analysis on them and transforms them into a single data file, couture_data.1.1. She then creates another R script to visualize this composed data into a chart. She describes her process and the data in an EML file and uploads all five files to Metacat. Below is the model that describes Couture's new data package:rdre}rf(hjahj_ubaubjE)rg}rh(hUhj.h%h&h'jHh)}ri(h+]h,]h-]h.]rjUid5rkah1]uh3Nh4hh5]rl(jM)rm}rn(hX.. figure:: images/Derived-data-example.png Figure 4. Couture's derived data package with the existing Metacat ORE notation in blue and the new PROV notation in purple. h)}ro(UuriXimages/Derived-data-example.pngrph.]h-]h+]h,]jR}rqU*jpsh1]uhjgh5]h'jTubjU)rr}rs(hX|Figure 4. Couture's derived data package with the existing Metacat ORE notation in blue and the new PROV notation in purple.rthjgh%h&h'jYh)}ru(h+]h,]h-]h.]h1]uh3KSh5]rvh>X|Figure 4. Couture's derived data package with the existing Metacat ORE notation in blue and the new PROV notation in purple.rwrx}ry(hjthjrubaubeubeubh )rz}r{(hUhjh%h&h'h(h)}r|(h+]h,]h-]h.]r}Uderived-data-without-scriptsr~ah1]rhauh3KVh4hh5]r(h7)r}r(hXDerived data without scriptsrhjzh%h&h'h;h)}r(h+]h,]h-]h.]h1]uh3KVh4hh5]rh>XDerived data without scriptsrr}r(hjhjubaubh|)r}r(hXBNot all derived data will be produced from a script that can be stored in Metacat. An analyst may create a composed data table through a more manual process, such as transforming values in a spreadsheet program like MS Excel. Or a scientist may create a simple graph of their data with MS Excel or an online graphing tool.rhjzh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3KWh4hh5]rh>XBNot all derived data will be produced from a script that can be stored in Metacat. An analyst may create a composed data table through a more manual process, such as transforming values in a spreadsheet program like MS Excel. Or a scientist may create a simple graph of their data with MS Excel or an online graphing tool.rr}r(hjhjubaubh|)r}r(hXLet's say John Smith decides to create a time series chart using the data from one of his data files, smith_data.1.1. He adds this image file to the original data package and edits the metadata to explain his process and the chart. His data package will essentially be using the PROV model without the activity concept. Smith has the option of creating a new data package with the image and an EML file so that his metadata ID does not have to change.rhjzh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3K[h4hh5]rh>XLet's say John Smith decides to create a time series chart using the data from one of his data files, smith_data.1.1. He adds this image file to the original data package and edits the metadata to explain his process and the chart. His data package will essentially be using the PROV model without the activity concept. Smith has the option of creating a new data package with the image and an EML file so that his metadata ID does not have to change.rr}r(hjhjubaubjE)r}r(hUhjzh%h&h'jHh)}r(h+]h,]h-]h.]rUid6rah1]uh3Nh4hh5]r(jM)r}r(hXm.. figure:: images/PROV-simple-diagram-without-activity.png Figure 4. The PROV model without an activity h)}r(UuriX/images/PROV-simple-diagram-without-activity.pngrh.]h-]h+]h,]jR}rU*jsh1]uhjh5]h'jTubjU)r}r(hX,Figure 4. The PROV model without an activityrhjh%h&h'jYh)}r(h+]h,]h-]h.]h1]uh3Kah5]rh>X,Figure 4. The PROV model without an activityrr}r(hjhjubaubeubjE)r}r(hUhjzh%h&h'jHh)}r(h+]h,]h-]h.]rUid7rah1]uh3Nh4hh5]r(jM)r}r(hX.. figure:: images/derived-data-smith-package-with-img.png Figure 5. Smith's new data package with a data visualization. Note that the resource map and metadata have new revisions. h)}r(UuriX.images/derived-data-smith-package-with-img.pngrh.]h-]h+]h,]jR}rU*jsh1]uhjh5]h'jTubjU)r}r(hXyFigure 5. Smith's new data package with a data visualization. Note that the resource map and metadata have new revisions.rhjh%h&h'jYh)}r(h+]h,]h-]h.]h1]uh3Keh5]rh>XyFigure 5. Smith's new data package with a data visualization. Note that the resource map and metadata have new revisions.rr}r(hjhjubaubeubeubeubh )r}r(hUhh#h%h&h'h(h)}r(h+]h,]h-]h.]rU sample-rdfrah1]rhauh3Khh4hh5]r(h7)r}r(hX Sample RDFrhjh%h&h'h;h)}r(h+]h,]h-]h.]h1]uh3Khh4hh5]rh>X Sample RDFrr}r(hjhjubaubh|)r}r(hX A sample RDF notation for our above Couture and Smith example (Figure 4) can be :download:`downloaded <_static/resourceMap_couture.1.1.rdf>` or viewed below. Note that the primary data resource will need to be described in the RDFs for its derivations so that an RDF for a derived dataset will have all the information it needs to relate the primary resource to the derived resource. This way, a SparQL query can be run within a derived dataset RDF to make the assertion that derived_metadata wasDerivedFrom primary_metadata.hjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kih4hh5]r(h>XPA sample RDF notation for our above Couture and Smith example (Figure 4) can be rr}r(hXPA sample RDF notation for our above Couture and Smith example (Figure 4) can be hjubcsphinx.addnodes download_reference r)r}r(hX<:download:`downloaded <_static/resourceMap_couture.1.1.rdf>`rhjh%h&h'Udownload_referencerh)}r(UreftypeXdownloadrUrefwarnrU reftargetrX#_static/resourceMap_couture.1.1.rdfrU refdomainUh.]h-]U refexplicith+]h,]h1]UrefdocrXore-model-expansionrUfilenamerXresourceMap_couture.1.1.rdfruh3Kih5]rcdocutils.nodes literal r)r}r(hjh)}r(h+]h,]r(Uxrefrjeh-]h.]h1]uhjh5]rh>X downloadedrr}r(hUhjubah'Uliteralrubaubh>X or viewed below. Note that the primary data resource will need to be described in the RDFs for its derivations so that an RDF for a derived dataset will have all the information it needs to relate the primary resource to the derived resource. This way, a SparQL query can be run within a derived dataset RDF to make the assertion that derived_metadata wasDerivedFrom primary_metadata.rr}r(hX or viewed below. Note that the primary data resource will need to be described in the RDFs for its derivations so that an RDF for a derived dataset will have all the information it needs to relate the primary resource to the derived resource. This way, a SparQL query can be run within a derived dataset RDF to make the assertion that derived_metadata wasDerivedFrom primary_metadata.hjubeubcdocutils.nodes literal_block r)r}r(hXz https://cn.dataone.org/cn/v1/resolve/resourceMap_couture.1.1#aggregation couture_data.1.1 https://cn.dataone.org/cn/v1/resolve/resourceMap_smith .1.1#aggregation smith_data.1.1 DataONE Aggregation Java libclient 2013-09-03T09:54:06.392-07:00 resourceMap_couture.1.1 https://cn.dataone.org/cn/v1/resolve/resourceMap_couture.1.1#aggregation couture_metadata.1.1 https://cn.dataone.org/cn/v1/resolve/resourceMap_couture.1.1#aggregation couture_img.1.1 https://cn.dataone.org/cn/v1/resolve/resourceMap_couture.1.1#aggregation couture_script.1.1 https://cn.dataone.org/cn/v1/resolve/resourceMap_couture.1.1#aggregation couture_composeScript.1.1 hjh%h&h'U literal_blockrh)}r(U xml:spacerUpreserverh.]h-]h+]h,]h1]uh3Koh4hh5]rh>Xz https://cn.dataone.org/cn/v1/resolve/resourceMap_couture.1.1#aggregation couture_data.1.1 https://cn.dataone.org/cn/v1/resolve/resourceMap_smith .1.1#aggregation smith_data.1.1 DataONE Aggregation Java libclient 2013-09-03T09:54:06.392-07:00 resourceMap_couture.1.1 https://cn.dataone.org/cn/v1/resolve/resourceMap_couture.1.1#aggregation couture_metadata.1.1 https://cn.dataone.org/cn/v1/resolve/resourceMap_couture.1.1#aggregation couture_img.1.1 https://cn.dataone.org/cn/v1/resolve/resourceMap_couture.1.1#aggregation couture_script.1.1 https://cn.dataone.org/cn/v1/resolve/resourceMap_couture.1.1#aggregation couture_composeScript.1.1 rr}r(hUhjubaubeubh )r}r(hUhh#h%h&h'h(h)}r(h+]h,]h-]h.]rUindexingrah1]rh auh3Kh4hh5]r(h7)r}r(hXIndexingrhjh%h&h'h;h)}r(h+]h,]h-]h.]h1]uh3Kh4hh5]rh>XIndexingr r }r (hjhjubaubh|)r }r (hXTThe Metacat Index will index some of these relationships mainly to inform MetacatUI.rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh4hh5]rh>XTThe Metacat Index will index some of these relationships mainly to inform MetacatUI.rr}r(hjhj ubaubh])r}r(hUhjh%Nh'hah)}r(h+]h,]h-]h.]h1]uh3Nh4hh5]rhg)r}r(hX~New Index Fields * ``wasGeneratedBy`` * ``generated`` * ``used`` * ``wasDerivedFrom`` * ``wasInformedBy`` * ``hadDerivation`` hjh%h&h'hjh)}r(h+]h,]h-]h.]h1]uh3Kh5]r(hm)r}r(hXNew Index Fieldshjh%h&h'hph)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>XNew Index Fieldsr r!}r"(hXNew Index Fieldsr#hjubaubhw)r$}r%(hUh)}r&(h+]h,]h-]h.]h1]uhjh5]r'h)r(}r)(hUh)}r*(hX*h.]h-]h+]h,]h1]uhj$h5]r+(h)r,}r-(hX``wasGeneratedBy``r.h)}r/(h+]h,]h-]h.]h1]uhj(h5]r0h|)r1}r2(hj.hj,h%h&h'hh)}r3(h+]h,]h-]h.]h1]uh3Kh5]r4j)r5}r6(hj.h)}r7(h+]h,]h-]h.]h1]uhj1h5]r8h>XwasGeneratedByr9r:}r;(hUhj5ubah'jubaubah'hubh)r<}r=(hX ``generated``r>h)}r?(h+]h,]h-]h.]h1]uhj(h5]r@h|)rA}rB(hj>hj<h%h&h'hh)}rC(h+]h,]h-]h.]h1]uh3Kh5]rDj)rE}rF(hj>h)}rG(h+]h,]h-]h.]h1]uhjAh5]rHh>X generatedrIrJ}rK(hUhjEubah'jubaubah'hubh)rL}rM(hX``used``rNh)}rO(h+]h,]h-]h.]h1]uhj(h5]rPh|)rQ}rR(hjNhjLh%h&h'hh)}rS(h+]h,]h-]h.]h1]uh3Kh5]rTj)rU}rV(hjNh)}rW(h+]h,]h-]h.]h1]uhjQh5]rXh>XusedrYrZ}r[(hUhjUubah'jubaubah'hubh)r\}r](hX``wasDerivedFrom``r^h)}r_(h+]h,]h-]h.]h1]uhj(h5]r`h|)ra}rb(hj^hj\h%h&h'hh)}rc(h+]h,]h-]h.]h1]uh3Kh5]rdj)re}rf(hj^h)}rg(h+]h,]h-]h.]h1]uhjah5]rhh>XwasDerivedFromrirj}rk(hUhjeubah'jubaubah'hubh)rl}rm(hX``wasInformedBy``rnh)}ro(h+]h,]h-]h.]h1]uhj(h5]rph|)rq}rr(hjnhjlh%h&h'hh)}rs(h+]h,]h-]h.]h1]uh3Kh5]rtj)ru}rv(hjnh)}rw(h+]h,]h-]h.]h1]uhjqh5]rxh>X wasInformedByryrz}r{(hUhjuubah'jubaubah'hubh)r|}r}(hX``hadDerivation`` h)}r~(h+]h,]h-]h.]h1]uhj(h5]rh|)r}r(hX``hadDerivation``rhj|h%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rj)r}r(hjh)}r(h+]h,]h-]h.]h1]uhjh5]rh>X hadDerivationrr}r(hUhjubah'jubaubah'hubeh'hubah'hubeubaubh|)r}r(hXAll of these fields are taken directly from the PROV ontology, except for ``hadDerivation``. Because MetacatUI navigation is metadata-centric (i.e. metadata are retrieved and listed as search results and details on datasets are viewed via the metadata view [/#view]), it is helpful to use SparQL to infer relationships between metadata so that it isn't necessary to send multiple queries to the index to retrieve information about derived datasets.hjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh4hh5]r(h>XJAll of these fields are taken directly from the PROV ontology, except for rr}r(hXJAll of these fields are taken directly from the PROV ontology, except for hjubj)r}r(hX``hadDerivation``h)}r(h+]h,]h-]h.]h1]uhjh5]rh>X hadDerivationrr}r(hUhjubah'jubh>Xe. Because MetacatUI navigation is metadata-centric (i.e. metadata are retrieved and listed as search results and details on datasets are viewed via the metadata view [/#view]), it is helpful to use SparQL to infer relationships between metadata so that it isn't necessary to send multiple queries to the index to retrieve information about derived datasets.rr}r(hXe. Because MetacatUI navigation is metadata-centric (i.e. metadata are retrieved and listed as search results and details on datasets are viewed via the metadata view [/#view]), it is helpful to use SparQL to infer relationships between metadata so that it isn't necessary to send multiple queries to the index to retrieve information about derived datasets.hjubeubh|)r}r(hX(SparQL will infer that the derived metadata wasDerivedFrom the primary source metadata and the Metacat index will index both this relationship and it's inverse, hadDerivation, for easier querying. The SparQL query used to determine the derived metadata for a primary metadata would look like:rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh4hh5]rh>X(SparQL will infer that the derived metadata wasDerivedFrom the primary source metadata and the Metacat index will index both this relationship and it's inverse, hadDerivation, for easier querying. The SparQL query used to determine the derived metadata for a primary metadata would look like:rr}r(hjhjubaubj)r}r(hXSELECT ?primary_metadata_pid ?derived_metadata_pid WHERE { ?primary_data ore:isDocumentedBy ?primary_metadata . ?primary_metadata dcterms:identifier ?primary_metadata_pid . ?derived_data prov:wasDerivedFrom ?primary_data . ?derived_data ore:isDocumentedBy ?derived_metadata . ?derived_metadata dcterms:identifier ?derived_metadata_pid . }hjh%h&h'jh)}r(jjh.]h-]h+]h,]h1]uh3Kh4hh5]rh>XSELECT ?primary_metadata_pid ?derived_metadata_pid WHERE { ?primary_data ore:isDocumentedBy ?primary_metadata . ?primary_metadata dcterms:identifier ?primary_metadata_pid . ?derived_data prov:wasDerivedFrom ?primary_data . ?derived_data ore:isDocumentedBy ?derived_metadata . ?derived_metadata dcterms:identifier ?derived_metadata_pid . }rr}r(hUhjubaubh|)r}r(hXMore information about inverses in PROV-O and in particular, ``hadDerivation``, see `section B of the PROV documentation `_.rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh4hh5]r(h>X=More information about inverses in PROV-O and in particular, rr}r(hX=More information about inverses in PROV-O and in particular, hjubj)r}r(hX``hadDerivation``h)}r(h+]h,]h-]h.]h1]uhjh5]rh>X hadDerivationrr}r(hUhjubah'jubh>X, see rr}r(hX, see hjubh)r}r(hXS`section B of the PROV documentation `_h)}r(UnameX#section B of the PROV documentationhX*http://www.w3.org/TR/prov-o/#inverse-namesrh.]h-]h+]h,]h1]uhjh5]rh>X#section B of the PROV documentationrr}r(hUhjubah'hubhM)r}r(hX- hKhjh'hPh)}r(Urefurijh.]rU#section-b-of-the-prov-documentationrah-]h+]h,]h1]rh auh5]ubh>X.r}r(hX.hjubeubh )r}r(hUhjh%h&h'h(h)}r(h+]h,]h-]h.]rUexamplerah1]rhauh3Kh4hh5]r(h7)r}r(hXExamplerhjh%h&h'h;h)}r(h+]h,]h-]h.]h1]uh3Kh4hh5]rh>XExamplerr}r(hjhjubaubh|)r}r(hXUsing the above Couture and Smith example (Figure 4), the following fields and values from the PROV relationships would be indexed.rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh4hh5]rh>XUsing the above Couture and Smith example (Figure 4), the following fields and values from the PROV relationships would be indexed.rr}r(hjhjubaubcdocutils.nodes table r)r}r(hUhjh%h&h'Utablerh)}r(h+]h,]h-]h.]h1]uh3Nh4hh5]rcdocutils.nodes tgroup r)r}r(hUh)}r(h.]h-]h+]h,]h1]UcolsKuhjh5]r(cdocutils.nodes colspec r)r}r(hUh)}r(h.]h-]h+]h,]h1]UcolwidthKuhjh5]h'Ucolspecrubj)r}r(hUh)}r(h.]h-]h+]h,]h1]UcolwidthKuhjh5]h'jubj)r}r(hUh)}r(h.]h-]h+]h,]h1]UcolwidthKuhjh5]h'jubj)r}r(hUh)}r(h.]h-]h+]h,]h1]UcolwidthK uhjh5]h'jubcdocutils.nodes thead r)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rcdocutils.nodes row r)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]r(cdocutils.nodes entry r)r }r (hUh)}r (h+]h,]h-]h.]h1]uhjh5]r h|)r }r(hXObjectrhj h%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>XObjectrr}r(hjhj ubaubah'Uentryrubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hX Field Namerhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>X Field Namerr }r!(hjhjubaubah'jubj)r"}r#(hUh)}r$(h+]h,]h-]h.]h1]uhjh5]r%h|)r&}r'(hX Field Typer(hj"h%h&h'hh)}r)(h+]h,]h-]h.]h1]uh3Kh5]r*h>X Field Typer+r,}r-(hj(hj&ubaubah'jubj)r.}r/(hUh)}r0(h+]h,]h-]h.]h1]uhjh5]r1h|)r2}r3(hXValuer4hj.h%h&h'hh)}r5(h+]h,]h-]h.]h1]uh3Kh5]r6h>XValuer7r8}r9(hj4hj2ubaubah'jubeh'Urowr:ubah'Utheadr;ubcdocutils.nodes tbody r<)r=}r>(hUh)}r?(h+]h,]h-]h.]h1]uhjh5]r@(j)rA}rB(hUh)}rC(h+]h,]h-]h.]h1]uhj=h5]rD(j)rE}rF(hUh)}rG(h+]h,]h-]h.]h1]uhjAh5]rHh|)rI}rJ(hXcouture_metadata.1.1rKhjEh%h&h'hh)}rL(h+]h,]h-]h.]h1]uh3Kh5]rMh>Xcouture_metadata.1.1rNrO}rP(hjKhjIubaubah'jubj)rQ}rR(hUh)}rS(h+]h,]h-]h.]h1]uhjAh5]rTh|)rU}rV(hXwasDerivedFromrWhjQh%h&h'hh)}rX(h+]h,]h-]h.]h1]uh3Kh5]rYh>XwasDerivedFromrZr[}r\(hjWhjUubaubah'jubj)r]}r^(hUh)}r_(h+]h,]h-]h.]h1]uhjAh5]r`h|)ra}rb(hXstring, multivaluedrchj]h%h&h'hh)}rd(h+]h,]h-]h.]h1]uh3Kh5]reh>Xstring, multivaluedrfrg}rh(hjchjaubaubah'jubj)ri}rj(hUh)}rk(h+]h,]h-]h.]h1]uhjAh5]rlh|)rm}rn(hXsmith_metadata.1.1rohjih%h&h'hh)}rp(h+]h,]h-]h.]h1]uh3Kh5]rqh>Xsmith_metadata.1.1rrrs}rt(hjohjmubaubah'jubeh'j:ubj)ru}rv(hUh)}rw(h+]h,]h-]h.]h1]uhj=h5]rx(j)ry}rz(hUh)}r{(h+]h,]h-]h.]h1]uhjuh5]r|h|)r}}r~(hXsmith_metadata.1.1rhjyh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xsmith_metadata.1.1rr}r(hjhj}ubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjuh5]rh|)r}r(hX hadDerivationrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>X hadDerivationrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjuh5]rh|)r}r(hXstring, multivaluedrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xstring, multivaluedrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjuh5]rh|)r}r(hXcouture_metadata.1.1rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xcouture_metadata.1.1rr}r(hjhjubaubah'jubeh'j:ubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhj=h5]r(j)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXcouture_img.1.1rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xcouture_img.1.1rr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXwasGeneratedbyrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>XwasGeneratedbyrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXstring, multivaluedrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xstring, multivaluedrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXcouture_script.1.1rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xcouture_script.1.1rr}r(hjhjubaubah'jubeh'j:ubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhj=h5]r(j)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXcouture_img.1.1rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xcouture_img.1.1rr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXwasDerivedFromrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>XwasDerivedFromrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXstring, multivaluedrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xstring, multivaluedrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r }r (hXcouture_data.1.1r hjh%h&h'hh)}r (h+]h,]h-]h.]h1]uh3Kh5]r h>Xcouture_data.1.1rr}r(hj hj ubaubah'jubeh'j:ubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhj=h5]r(j)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXcouture_script.1.1rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xcouture_script.1.1rr}r (hjhjubaubah'jubj)r!}r"(hUh)}r#(h+]h,]h-]h.]h1]uhjh5]r$h|)r%}r&(hXusedr'hj!h%h&h'hh)}r((h+]h,]h-]h.]h1]uh3Kh5]r)h>Xusedr*r+}r,(hj'hj%ubaubah'jubj)r-}r.(hUh)}r/(h+]h,]h-]h.]h1]uhjh5]r0h|)r1}r2(hXstring, multivaluedr3hj-h%h&h'hh)}r4(h+]h,]h-]h.]h1]uh3Kh5]r5h>Xstring, multivaluedr6r7}r8(hj3hj1ubaubah'jubj)r9}r:(hUh)}r;(h+]h,]h-]h.]h1]uhjh5]r<h|)r=}r>(hXcouture_data.1.1r?hj9h%h&h'hh)}r@(h+]h,]h-]h.]h1]uh3Kh5]rAh>Xcouture_data.1.1rBrC}rD(hj?hj=ubaubah'jubeh'j:ubj)rE}rF(hUh)}rG(h+]h,]h-]h.]h1]uhj=h5]rH(j)rI}rJ(hUh)}rK(h+]h,]h-]h.]h1]uhjEh5]rLh|)rM}rN(hXcouture_script.1.1rOhjIh%h&h'hh)}rP(h+]h,]h-]h.]h1]uh3Kh5]rQh>Xcouture_script.1.1rRrS}rT(hjOhjMubaubah'jubj)rU}rV(hUh)}rW(h+]h,]h-]h.]h1]uhjEh5]rXh|)rY}rZ(hX wasInformedByr[hjUh%h&h'hh)}r\(h+]h,]h-]h.]h1]uh3Kh5]r]h>X wasInformedByr^r_}r`(hj[hjYubaubah'jubj)ra}rb(hUh)}rc(h+]h,]h-]h.]h1]uhjEh5]rdh|)re}rf(hXstring, multivaluedrghjah%h&h'hh)}rh(h+]h,]h-]h.]h1]uh3Kh5]rih>Xstring, multivaluedrjrk}rl(hjghjeubaubah'jubj)rm}rn(hUh)}ro(h+]h,]h-]h.]h1]uhjEh5]rph|)rq}rr(hXcouture_composeScript.1.1rshjmh%h&h'hh)}rt(h+]h,]h-]h.]h1]uh3Kh5]ruh>Xcouture_composeScript.1.1rvrw}rx(hjshjqubaubah'jubeh'j:ubj)ry}rz(hUh)}r{(h+]h,]h-]h.]h1]uhj=h5]r|(j)r}}r~(hUh)}r(h+]h,]h-]h.]h1]uhjyh5]rh|)r}r(hXcouture_script.1.1rhj}h%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xcouture_script.1.1rr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjyh5]rh|)r}r(hX generatedrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>X generatedrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjyh5]rh|)r}r(hXstring, multivaluedrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xstring, multivaluedrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjyh5]rh|)r}r(hXcouture_img.1.1rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Kh5]rh>Xcouture_img.1.1rr}r(hjhjubaubah'jubeh'j:ubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhj=h5]r(j)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXcouture_data.1.1rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rh>Xcouture_data.1.1rr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXwasGeneratedByrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rh>XwasGeneratedByrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXstring, multivaluedrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rh>Xstring, multivaluedrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXcouture_composeScript.1.1rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rh>Xcouture_composeScript.1.1rr}r(hjhjubaubah'jubeh'j:ubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhj=h5]r(j)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXcouture_data.1.1rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rh>Xcouture_data.1.1rr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXwasDerivedFromrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rh>XwasDerivedFromrr}r(hjhjubaubah'jubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXstring, multivaluedrhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rh>Xstring, multivaluedrr}r(hjhjubaubah'jubj)r }r (hUh)}r (h+]h,]h-]h.]h1]uhjh5]r h|)r }r(hXsmith_data.1.1, smith_data.2.1rhj h%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rh>Xsmith_data.1.1, smith_data.2.1rr}r(hjhj ubaubah'jubeh'j:ubj)r}r(hUh)}r(h+]h,]h-]h.]h1]uhj=h5]r(j)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh|)r}r(hXcouture_composeScript.1.1rhjh%h&h'hh)}r (h+]h,]h-]h.]h1]uh3Mh5]r!h>Xcouture_composeScript.1.1r"r#}r$(hjhjubaubah'jubj)r%}r&(hUh)}r'(h+]h,]h-]h.]h1]uhjh5]r(h|)r)}r*(hXusedr+hj%h%h&h'hh)}r,(h+]h,]h-]h.]h1]uh3Mh5]r-h>Xusedr.r/}r0(hj+hj)ubaubah'jubj)r1}r2(hUh)}r3(h+]h,]h-]h.]h1]uhjh5]r4h|)r5}r6(hXstring, multivaluedr7hj1h%h&h'hh)}r8(h+]h,]h-]h.]h1]uh3Mh5]r9h>Xstring, multivaluedr:r;}r<(hj7hj5ubaubah'jubj)r=}r>(hUh)}r?(h+]h,]h-]h.]h1]uhjh5]r@h|)rA}rB(hXsmith_data.1.1, smith_data.2.1rChj=h%h&h'hh)}rD(h+]h,]h-]h.]h1]uh3Mh5]rEh>Xsmith_data.1.1, smith_data.2.1rFrG}rH(hjChjAubaubah'jubeh'j:ubj)rI}rJ(hUh)}rK(h+]h,]h-]h.]h1]uhj=h5]rL(j)rM}rN(hUh)}rO(h+]h,]h-]h.]h1]uhjIh5]rPh|)rQ}rR(hXcouture_composeScript.1.1rShjMh%h&h'hh)}rT(h+]h,]h-]h.]h1]uh3Mh5]rUh>Xcouture_composeScript.1.1rVrW}rX(hjShjQubaubah'jubj)rY}rZ(hUh)}r[(h+]h,]h-]h.]h1]uhjIh5]r\h|)r]}r^(hX generatedr_hjYh%h&h'hh)}r`(h+]h,]h-]h.]h1]uh3Mh5]rah>X generatedrbrc}rd(hj_hj]ubaubah'jubj)re}rf(hUh)}rg(h+]h,]h-]h.]h1]uhjIh5]rhh|)ri}rj(hXstring, multivaluedrkhjeh%h&h'hh)}rl(h+]h,]h-]h.]h1]uh3Mh5]rmh>Xstring, multivaluedrnro}rp(hjkhjiubaubah'jubj)rq}rr(hUh)}rs(h+]h,]h-]h.]h1]uhjIh5]rth|)ru}rv(hXcouture_data.1.1rwhjqh%h&h'hh)}rx(h+]h,]h-]h.]h1]uh3Mh5]ryh>Xcouture_data.1.1rzr{}r|(hjwhjuubaubah'jubeh'j:ubeh'Utbodyr}ubeh'Utgroupr~ubaubeubh )r}r(hUhjh%h&h'h(h)}r(h+]h,]h-]h.]rUqueriesrah1]rh auh3M h4hh5]r(h7)r}r(hXQueriesrhjh%h&h'h;h)}r(h+]h,]h-]h.]h1]uh3M h4hh5]rh>XQueriesrr}r(hjhjubaubh|)r}r(hXThese indexed fields will be used primarily by MetacatUI to determine relationships between resources. An example use case is the MetacatUI metadata view (/#view/{pid}). When a user navigates to the metadata view for a primary resource, such as smith_metadata.1.1 from the above example, MetacatUI can send a query to the index to look for derived resources that the user might be interested in. Some pseduocode to describe this logic:rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3M h4hh5]rh>XThese indexed fields will be used primarily by MetacatUI to determine relationships between resources. An example use case is the MetacatUI metadata view (/#view/{pid}). When a user navigates to the metadata view for a primary resource, such as smith_metadata.1.1 from the above example, MetacatUI can send a query to the index to look for derived resources that the user might be interested in. Some pseduocode to describe this logic:rr}r(hjhjubaubj)r}r(hXif(this_metadata.hadDerivation){ hadDerivation = this_metadata.hadDerivation; sendQuery("q=isDocumentedBy:" + hadDerivation + "+-obsoletedBy:*&fl=id"); }hjh%h&h'jh)}r(jjh.]h-]h+]h,]h1]uh3Mh4hh5]rh>Xif(this_metadata.hadDerivation){ hadDerivation = this_metadata.hadDerivation; sendQuery("q=isDocumentedBy:" + hadDerivation + "+-obsoletedBy:*&fl=id"); }rr}r(hUhjubaubh|)r}r(hXThis query would retrieve the IDs of objects which are documented by metadata that is derived from the metadata currently being viewed. In the above Amith and Couture example (Figure 4), the following IDs would be returned from this query:rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh4hh5]rh>XThis query would retrieve the IDs of objects which are documented by metadata that is derived from the metadata currently being viewed. In the above Amith and Couture example (Figure 4), the following IDs would be returned from this query:rr}r(hjhjubaubh)r}r(hUhjh%h&h'hh)}r(hX*h.]h-]h+]h,]h1]uh3Mh4hh5]r(h)r}r(hX``couture_composeScript.1.1``rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Nh4hh5]rh|)r}r(hjhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rj)r}r(hjh)}r(h+]h,]h-]h.]h1]uhjh5]rh>Xcouture_composeScript.1.1rr}r(hUhjubah'jubaubaubh)r}r(hX``couture_script.1.1``rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Nh4hh5]rh|)r}r(hjhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rj)r}r(hjh)}r(h+]h,]h-]h.]h1]uhjh5]rh>Xcouture_script.1.1rr}r(hUhjubah'jubaubaubh)r}r(hX``couture_data.1.1``rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Nh4hh5]rh|)r}r(hjhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rj)r}r(hjh)}r(h+]h,]h-]h.]h1]uhjh5]rh>Xcouture_data.1.1rr}r(hUhjubah'jubaubaubh)r}r(hX``couture_img.1.1`` hjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Nh4hh5]rh|)r}r(hX``couture_img.1.1``rhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3Mh5]rj)r}r(hjh)}r(h+]h,]h-]h.]h1]uhjh5]rh>Xcouture_img.1.1rr}r(hUhjubah'jubaubaubeubeubeubeubh%h&h'h(h)}r(h+]h,]h-]h.]rUontology-and-modelrah1]rhauh3K(h4hh5]r(h7)r}r(hXOntology and Modelrhh!h%h&h'h;h)}r(h+]h,]h-]h.]h1]uh3K(h4hh5]rh>XOntology and Modelrr}r(hjhjubaubh])r}r(hUhh!h%Nh'hah)}r(h+]h,]h-]h.]h1]uh3Nh4hh5]rhg)r}r(hXThe `PROV ontology `_ will be used to describe the following relationships: * Derived resources and the original resources used to create them * Derived resources and the activities used to create them hjh%h&h'hjh)}r(h+]h,]h-]h.]h1]uh3K+h5]r(hm)r}r(hXGThe PROV ontology will be used to describe the following relationships:hjh%h&h'hph)}r(h+]h,]h-]h.]h1]uh3K+h5]r(h>XThe rr}r(hXThe hjubh)r}r(hX6`PROV ontology `_h)}r(UnameX PROV ontologyhX#http://www.w3.org/TR/prov-overview/rh.]h-]h+]h,]h1]uhjh5]r h>X PROV ontologyr r }r (hUhjubah'hubhM)r }r(hX& hKhjh'hPh)}r(Urefurijh.]rUid1rah-]h+]rX prov ontologyrah,]h1]uh5]ubh>X6 will be used to describe the following relationships:rr}r(hX6 will be used to describe the following relationships:hjubeubhw)r}r(hUh)}r(h+]h,]h-]h.]h1]uhjh5]rh)r}r(hUh)}r(hX*h.]h-]h+]h,]h1]uhjh5]r(h)r}r (hX@Derived resources and the original resources used to create themr!h)}r"(h+]h,]h-]h.]h1]uhjh5]r#h|)r$}r%(hj!hjh%h&h'hh)}r&(h+]h,]h-]h.]h1]uh3K*h5]r'h>X@Derived resources and the original resources used to create themr(r)}r*(hj!hj$ubaubah'hubh)r+}r,(hX9Derived resources and the activities used to create them h)}r-(h+]h,]h-]h.]h1]uhjh5]r.h|)r/}r0(hX8Derived resources and the activities used to create themr1hj+h%h&h'hh)}r2(h+]h,]h-]h.]h1]uh3K+h5]r3h>X8Derived resources and the activities used to create themr4r5}r6(hj1hj/ubaubah'hubeh'hubah'hubeubaubjE)r7}r8(hUhh!h%h&h'jHh)}r9(h+]h,]h-]h.]r:Uid2r;ah1]uh3Nh4hh5]r<(jM)r=}r>(hXz.. figure:: images/PROV-simple-diagram.png Figure 1. A simple diagram illustrating the PROV ontology Metacat will use h)}r?(UuriXimages/PROV-simple-diagram.pngr@h.]h-]h+]h,]jR}rAU*j@sh1]uhj7h5]h'jTubjU)rB}rC(hXJFigure 1. A simple diagram illustrating the PROV ontology Metacat will userDhj7h%h&h'jYh)}rE(h+]h,]h-]h.]h1]uh3K/h5]rFh>XJFigure 1. A simple diagram illustrating the PROV ontology Metacat will userGrH}rI(hjDhjBubaubeubh|)rJ}rK(hXThis model will allow the original data file to remain unchanged as all assertions made about the derived data can be described in the derived data RDF.rLhh!h%h&h'hh)}rM(h+]h,]h-]h.]h1]uh3K1h4hh5]rNh>XThis model will allow the original data file to remain unchanged as all assertions made about the derived data can be described in the derived data RDF.rOrP}rQ(hjLhjJubaubh])rR}rS(hUhh!h%Nh'hah)}rT(h+]h,]h-]h.]h1]uh3Nh4hh5]rUhg)rV}rW(hXThe terms from the PROV ontology that will be introduced to Metacat to describe these relationships: * `wasGeneratedBy `_ : Generation is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. * `generated `_ : Generation is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. * `wasDerivedFrom `_ : A derivation is a transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity. * `used `_ : Usage is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. * `wasInformedBy `_ : Communication is the exchange of an entity by two activities, one activity using the entity generated by the other. hjRh%h&h'hjh)}rX(h+]h,]h-]h.]h1]uh3K:h5]rY(hm)rZ}r[(hXdThe terms from the PROV ontology that will be introduced to Metacat to describe these relationships:hjVh%h&h'hph)}r\(h+]h,]h-]h.]h1]uh3K:h5]r]h>XdThe terms from the PROV ontology that will be introduced to Metacat to describe these relationships:r^r_}r`(hXdThe terms from the PROV ontology that will be introduced to Metacat to describe these relationships:rahjZubaubhw)rb}rc(hUh)}rd(h+]h,]h-]h.]h1]uhjVh5]reh)rf}rg(hUh)}rh(hX*h.]h-]h+]h,]h1]uhjbh5]ri(h)rj}rk(hX`wasGeneratedBy `_ : Generation is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation.rlh)}rm(h+]h,]h-]h.]h1]uhjfh5]rnh|)ro}rp(hjlhjjh%h&h'hh)}rq(h+]h,]h-]h.]h1]uh3K6h5]rr(h)rs}rt(hX<`wasGeneratedBy `_h)}ru(UnameXwasGeneratedByhX(http://www.w3.org/ns/prov#wasGeneratedByrvh.]h-]h+]h,]h1]uhjoh5]rwh>XwasGeneratedByrxry}rz(hUhjsubah'hubhM)r{}r|(hX+ hKhjoh'hPh)}r}(Urefurijvh.]r~Uwasgeneratedbyrah-]h+]h,]h1]rhauh5]ubh>X : Generation is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation.rr}r(hX : Generation is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation.hjoubeubah'hubh)r}r(hX`generated `_ : Generation is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation.rh)}r(h+]h,]h-]h.]h1]uhjfh5]rh|)r}r(hjhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3K7h5]r(h)r}r(hX2`generated `_h)}r(UnamehhX#http://www.w3.org/ns/prov#generatedrh.]h-]h+]h,]h1]uhjh5]rh>X generatedrr}r(hUhjubah'hubhM)r}r(hX& hKhjh'hPh)}r(Urefurijh.]rU generatedrah-]h+]h,]h1]rhauh5]ubh>X : Generation is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation.rr}r(hX : Generation is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation.hjubeubah'hubh)r}r(hX`wasDerivedFrom `_ : A derivation is a transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity.rh)}r(h+]h,]h-]h.]h1]uhjfh5]rh|)r}r(hjhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3K8h5]r(h)r}r(hX<`wasDerivedFrom `_h)}r(UnameXwasDerivedFromhX(http://www.w3.org/ns/prov#wasDerivedFromrh.]h-]h+]h,]h1]uhjh5]rh>XwasDerivedFromrr}r(hUhjubah'hubhM)r}r(hX+ hKhjh'hPh)}r(Urefurijh.]rUwasderivedfromrah-]h+]h,]h1]rhauh5]ubh>X : A derivation is a transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity.rr}r(hX : A derivation is a transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity.hjubeubah'hubh)r}r(hX`used `_ : Usage is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity.rh)}r(h+]h,]h-]h.]h1]uhjfh5]rh|)r}r(hjhjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3K9h5]r(h)r}r(hX(`used `_h)}r(UnamehhXhttp://www.w3.org/ns/prov#usedrh.]h-]h+]h,]h1]uhjh5]rh>Xusedrr}r(hUhjubah'hubhM)r}r(hX! hKhjh'hPh)}r(Urefurijh.]rUusedrah-]h+]h,]h1]rhauh5]ubh>X : Usage is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity.rr}r(hX : Usage is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity.hjubeubah'hubh)r}r(hX`wasInformedBy `_ : Communication is the exchange of an entity by two activities, one activity using the entity generated by the other. h)}r(h+]h,]h-]h.]h1]uhjfh5]rh|)r}r(hX`wasInformedBy `_ : Communication is the exchange of an entity by two activities, one activity using the entity generated by the other.hjh%h&h'hh)}r(h+]h,]h-]h.]h1]uh3K:h5]r(h)r}r(hX:`wasInformedBy `_h)}r(UnameX wasInformedByhX'http://www.w3.org/ns/prov#wasInformedByrh.]h-]h+]h,]h1]uhjh5]rh>X wasInformedByrr}r(hUhjubah'hubhM)r}r(hX* hKhjh'hPh)}r(Urefurijh.]rU wasinformedbyrah-]h+]h,]h1]rhauh5]ubh>Xv : Communication is the exchange of an entity by two activities, one activity using the entity generated by the other.rr}r(hXv : Communication is the exchange of an entity by two activities, one activity using the entity generated by the other.hjubeubah'hubeh'hubah'hubeubaubh|)r}r(hX~The following diagram fully represents the new model for derived resources. New terms and resources are highlighted in purple.rhh!h%h&h'hh)}r(h+]h,]h-]h.]h1]uh3KX~The following diagram fully represents the new model for derived resources. New terms and resources are highlighted in purple.rr}r(hjhjubaubjE)r}r(hUhh!h%h&h'jHh)}r(h+]h,]h-]h.]rUid3rah1]uh3Nh4hh5]r(jM)r}r(hX.. figure:: images/Derived-data-packages-model.png Figure 2. The model for derived data sets with new terms highlighted in purple. h)}r(UuriX&images/Derived-data-packages-model.pngrh.]h-]h+]h,]jR}rU*jsh1]uhjh5]h'jTubjU)r}r(hXOFigure 2. The model for derived data sets with new terms highlighted in purple.rhjh%h&h'jYh)}r(h+]h,]h-]h.]h1]uh3K@h5]rh>XOFigure 2. The model for derived data sets with new terms highlighted in purple.rr}r(hjhjubaubeubeubh%h&h'Usystem_messagerh)}r(h+]UlevelKh.]h-]rjaUsourceh&h,]h1]UlineKUtypeUINFOr uh3K,h4hh5]r h|)r }r (hX0Duplicate explicit target name: "prov ontology".h)}r (h+]h,]h-]h.]h1]uhhh5]rh>X0Duplicate explicit target name: "prov ontology".rr}r(hUhj ubah'hubaubh)r}r(hUhjh%h&h'jh)}r(h+]UlevelKh.]h-]Usourceh&h,]h1]UlineKUtypeUWARNINGruh3Kh4hh5]rh|)r}r(hX#Literal block expected; none found.h)}r(h+]h,]h-]h.]h1]uhjh5]rh>X#Literal block expected; none found.rr}r(hUhjubah'hubaubh)r}r(hUhjh%h&h'jh)}r (h+]UlevelKh.]h-]Usourceh&h,]h1]UlineKUtypejuh3Kh4hh5]r!h|)r"}r#(hX#Literal block expected; none found.h)}r$(h+]h,]h-]h.]h1]uhjh5]r%h>X#Literal block expected; none found.r&r'}r((hUhj"ubah'hubaubeUcurrent_sourcer)NU decorationr*NUautofootnote_startr+KUnameidsr,}r-(hjhjhj~h h0h jh jh jh j2hj#hhhjhjhjhhhjhjhjuh5]r.(cdocutils.nodes raw r/)r0}r1(hX\newpagehhh%h&h'Urawr2h)}r3(UformatXlatexjjh.]h-]h+]h,]h1]uh3Kh4hh5]r4h>X\newpager5r6}r7(hUhj0ubaubh#ehUU transformerr8NU footnote_refsr9}r:Urefnamesr;}r<Usymbol_footnotesr=]r>Uautofootnote_refsr?]r@Usymbol_footnote_refsrA]rBU citationsrC]rDh4hU current_linerENUtransform_messagesrF]rG(h)rH}rI(hUh)}rJ(h+]UlevelKh.]h-]Usourceh&h,]h1]UlineK Utypej uh5]rKh|)rL}rM(hUh)}rN(h+]h,]h-]h.]h1]uhjHh5]rOh>X-Hyperlink target "index-0" is not referenced.rPrQ}rR(hUhjLubah'hubah'jubh)rS}rT(hUh)}rU(h+]UlevelKh.]h-]Usourceh&h,]h1]UlineK Utypej uh5]rVh|)rW}rX(hUh)}rY(h+]h,]h-]h.]h1]uhjSh5]rZh>X-Hyperlink target "index-1" is not referenced.r[r\}r](hUhjWubah'hubah'jubeUreporterr^NUid_startr_KU autofootnotesr`]raU citation_refsrb}rcUindirect_targetsrd]reUsettingsrf(cdocutils.frontend Values rgorh}ri(Ufootnote_backlinksrjKUrecord_dependenciesrkNU rfc_base_urlrlUhttps://tools.ietf.org/html/rmU tracebackrnUpep_referencesroNUstrip_commentsrpNU toc_backlinksrqjU language_coderrUenrsU datestamprtNU report_levelruKU _destinationrvNU halt_levelrwKU strip_classesrxNh;NUerror_encoding_error_handlerryUbackslashreplacerzUdebugr{NUembed_stylesheetr|Uoutput_encoding_error_handlerr}Ustrictr~U sectnum_xformrKUdump_transformsrNU docinfo_xformrKUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUUTF-8rU_sourcerh&Ugettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrU https://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrj~Uauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]Ufile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKh.}r(hhjjj#jjjjjjjjKjFjkjgj~jzjh!jj j2j.hJhNhWh^jjjjjjjjjjjjjj{j;j7h0h#jjhhjjuUsubstitution_namesr}rh'h4h)}r(h+]h.]h-]Usourceh&h,]h1]uU footnotesr]rUrefidsr}rhW]rhYasub.