JasperVanDenBosch / niprov

provenance for neuroimaging data
BSD 3-Clause "New" or "Revised" License
9 stars 0 forks source link

Expand W3C PROV implementation #71

Open JasperVanDenBosch opened 8 years ago

JasperVanDenBosch commented 8 years ago

Some fields and how to represent them

location nfo:fileUrl size nfo:fileSize hash nfo:filehash created either fileLastModified on entity and prov:time on wasGeneratedBy transformation prov:activity, prov:wasGeneratedBy id dct:identifier acquired prov:time on wasGeneratedBy with prov:type niprov:acquisition. Only on raw data subject prov:entity + foaf:name parent prov:used project path hostname added transient dimensions protocol code logtext script prov:plan or on the prov:activity args kwargs seriesuid filesInSeries technique repetition-time field-of-view epi-factor diffusion

How to deal with parent files

Use location - > local id cache dict. After provided items have been made into entities, create entities for remaining entries

Useful links

JasperVanDenBosch commented 8 years ago

Example as of Jan 13:

<?xml version="1.0" encoding="UTF-8"?>
<prov:document xmlns:dct="http://purl.org/dc/terms/" xmlns:nfo="http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#" xmlns:prov="http://www.w3.org/ns/prov#">
    <nfo:FileHash id="niprov:file0.hash">
        <nfo:hashAlgorithm>MD5</nfo:hashAlgorithm>
        <nfo:hashValue>d41d8cd98f00b204e9800998ecf8427e</nfo:hashValue>
    </nfo:FileHash>
    <prov:activity id="niprov:file0.xform">
        <dct:title>kaboom</dct:title>
    </prov:activity>
    <prov:wasGeneratedBy>
        <prov:entity prov:ref="niprov:file0"/>
        <prov:activity prov:ref="niprov:file0.xform"/>
        <prov:time>2016-01-13T16:19:19.763135</prov:time>
    </prov:wasGeneratedBy>
    <prov:entity id="niprov:file0">
        <nfo:fileUrl>file://JVDB/home/jasperb/Projects/niprov/newfile.txt</nfo:fileUrl>
        <nfo:fileSize>0</nfo:fileSize>
        <nfo:fileLastModified>2016-01-13T16:19:19.763135</nfo:fileLastModified>
        <nfo:hasHash>niprov:file0.hash</nfo:hasHash>
    </prov:entity>
</prov:document>