incf-nidash / nidm-specs

Neuroimaging Data Model (NIDM): describing neuroimaging data and provenance
nidm.nidash.org
Other
33 stars 30 forks source link

Term request for 'creator' #423

Open khelm opened 7 years ago

khelm commented 7 years ago

@dbkeator : I'm wondering if this is necessary or if the structure of Prov makes this redundant since we have Entity being connected to Activity by prov:wasGeneratedBy and Prov then has prov:wasAttributedTo, to connect an Entity to an Agent. Is that enough or do we need 'creator' to be used as a role?

khelm commented 7 years ago

BIDS:"Creator" is currently being used at the project level, as the role for investigators that are involved in the study or who wrote the paper. I've reformulated this in prov (note that NEMO_0448000 is the activity "writing") to show how one doesn't need "creator":

The prov version of this would be:

@prefix owl:  <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix nemo: <http://www.nemo.org/ns#> .  #this is fake
@prefix sio:  <http://www.sio.org/ns#> .  #this is fake
@prefix ncit: <http://www.ncit.org/ns#> . #this is also fake
@prefix :     <http://example.com/> .

   nemo:NEMO_0448000  
         a prov:Activity ; 

   ncit:author a prov:Role.

   :dave a prov:Person, prov:Agent ; 
          prov:hadRole ncit:author .

<http://purl.org/nidash/nidm#0485a306-aa22-11e7-8e01-6c4008b8f03e> a sio:manuscript,
        prov:Entity ;
        prov:wasAssociatedWith :dave ;
        prov:wasGeneratedBy  nemo:NEMO_0448000 .

Or using qualified associations:

@prefix owl:  <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix nemo: <http://www.nemo.org/ns#> .  #this is fake
@prefix sio:  <http://www.sio.org/ns#> .  #this is fake
@prefix ncit: <http://www.ncit.org/ns#> . #this is also fake
@prefix :     <http://example.com/> .

   nemo:NEMO_0448000
      a prov:Activity;               
      prov:wasAssociatedWith :dave ;  ##   the writing activity was associated with Dave.
.

   nemo:NEMO_0448000
   prov:qualifiedAssociation [       ## Qualify how the writing activity
      a prov:Association;            ##   was associated with
      prov:agent   :dave            ##     the Agent Dave.
      prov:hadRole ncit:author; ## Qualification: The role that Dave served.
      prov:hadPlan :style-guide;
     rdfs:comment "Dave wrote the manuscript."@en
   ];
.

:dave a prov:Person, prov:Agent .
ncit:author a prov:Role .
:style-guide a prov:Plan, prov:Entity .
khelm commented 7 years ago

@dbkeator , here is an example using terms from NIDM-E. I tried to use actual ID's from your document, but I have flagged the exception.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. 
@prefix xsd: <http://www.w3.org/2000/10/XMLSchema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix sio: <http://semanticscience.org/resource/> .  
@prefix ncit: <http://ncitt.ncit.nih.gov/> . 
@prefix prov: <http://www.w3.org/ns/prov#> .

# define the Agents
 nidm:lauren a prov:Person, prov:Agent ; 
          prov:hadRole nidm:DemographicsInstrumentAdministrator.

nidm:dave a prov:Person, prov:Agent ; 
          prov:hadRole nidm:AcquisitionDeviceOperator .          # role needs to be added to NIDM-E

#define the protocol
nidm:Protocol a nidm:PerformedPlan   # we also have nidm:SpecifiedPlan

# define the project
nidm:_9bb88d4a-ae00-11e7-bb29-6c4008b8f03e a nidm:Project,
    prov:Activity ;  #I don’t think you need this because project is already an activity in the owl file
    dctypes:title "UCLA Consortium for Neuropsychiatric Phenomics LA5c Study"^^xsd:string ;
    dct:description "All participants received brief training on each task directly before scanning. Each participant viewed the task through MRI-compatible goggles, responded with his or her right hand on an MR-compatible button box in the scanner, and performed one run of each task while in the scanner. Stimulus presentation and timing of all stimuli and response events were achieved using Matlab (Mathworks) and the Psychtoolbox (www.psychtoolbox.org) on an Apple Powerbook."^^xsd:string ;
    dct:license "PDDL"^^xsd:string ;
    sio:identifier "1.0.0rc3"^^xsd:string ;
    dcat:creator "DB Keater"^^xsd:string .

# define the session
nidm:_9bbbf534-ae00-11e7-bd89-6c4008b8f03e a nidm:Session,
    dct:isPartOf nidm:_ 9bb88d4a-ae00-11e7-bb29-6c4008b8f03e  .   #part of the project

# which assessment activity
nidm:_9bb9afcc-ae00-11e7-8cf7-6c4008b8f03e a onli:instrument-based-assessment,
       Prov:used nidm:fBIRNDemographicsForm .

# which assessment was used
nidm:fBIRNDemographicsForm a onli:assessment-instrument .  # don’t need to do this if the form is in NIDM-E, but we’ll have to define a document as the form in this doc if not.

#which imaging protocol
nidm:_9bbd8c26-ae00-11e7-8230-6c4008b8f03e a sio:file ,   #there is not a protocol in Dave’s example
     a nidm:Protocol .          #so this is a fake ID

# which MRI acquisition activity
nidm:_9bbc5b50-ae00-11e7-a6bf-6c4008b8f03e a nidm:Acquisition ;
      prov:used nidm:b-valueFile ;
      prov:used nidm:b-vectorFile ;
      prov:qualifiedAssociation [      ## Qualify how the writing activity
              a prov:Association;            ##   was associated with
              prov:Agent   nidm:Dave            ##     the Agent Dave
              prov:hadPlan nidm:Protocol;
              rdfs:comment "Dave scanned the subject."@en
      ] ;
.

# which demographics acquisition activity
nidm:_9bb9afcc-ae00-11e7-8cf7-6c4008b8f03e a nidm:DemographicsDataAcquisition ;
      prov:used nidm:fBIRNDemographicsForm ;
      prov:qualifiedAssociation [       ## Qualify how the writing activity
              a prov:Association;            ##   was associated with
              prov:Agent   nidm:Lauren            ##     the Agent Lauren
              rdfs:comment "Lauren gathered the demographics information."@en
      ] ;
.

#example of demographics information acquisition entity
nidm:_9bb9b398-ae00-11e7-a86f-6c4008b8f03e a sio:file ;
 prov:wasGeneratedBy onli:instrument-based-assessment ;
        ncicb:Age "30"^^xsd:string ;
    ncit:Diagnosis "CONTROL"^^xsd:string ;
    nidm:_9bb9afcc-ae00-11e7-8cf7-6c4008b8f03e ;
        ndar:gender "F"^^xsd:string ;
        ndar:src_subject_id "sub-10159"^^xsd:string .

#example of dicom file from image acquisition
nidm:_9bbc60e6-ae00-11e7-991b-6c4008b8f03e a nidm:AcquistionObject ;
   nidm:hasImageContrastType nidm:DiffusionWeighted ;
   nidm:hasImageUsageType  nidm:StructuralObject ;
        dicom:AccelerationFactorPE "1"^^xsd:int ;
    dicom:AcquisitionMatrix "96/0/0/96"^^xsd:string ;
    dicom:DeviceSerialNumber "35343"^^xsd:string ;
    dicom:EchoTime 9.26e-02 ;
        dicom:EchoTrainLength "1"^^xsd:int ;
    dicom:FlipAngle "90"^^xsd:int ;
        dicom:ImageType "ORIGINAL/PRIMARY/M/ND/MOSAIC"^^xsd:string ;
    dicom:ImagingFrequency "123249931"^^xsd:int ;
        dicom:InPlanePhaseEncodingDirection "COL"^^xsd:string ;
        dicom:MRAcquisitionType "2D"^^xsd:string ;
        dicom:MagneticFieldStrength "3"^^xsd:int ;
        dicom:ManufacturerModelName "TrioTim"^^xsd:string ;
        dicom:NumberOfAverages "1"^^xsd:int ;
        dicom:NumberOfPhaseEncodingSteps "72"^^xsd:int ;
    dicom:PatientPosition "HFS"^^xsd:string ;
        dicom:PercentPhaseFieldOfView "100"^^xsd:int ;
        dicom:PercentSampling "100"^^xsd:int ;
        dicom:PixelBandwidth "2265"^^xsd:int ;
        dicom:ProtocolName "DTI 64dir"^^xsd:string ;
        dicom:ReceiveCoilName "HeadMatrix"^^xsd:string ;
    dicom:RepetitionTime "7"^^xsd:int ;
        dicom:ScanOptions "PFP/FS"^^xsd:string ;
        dicom:ScanningSequence "EP"^^xsd:string ;
        dicom:SequenceName "*ep_b1000#10"^^xsd:string ;
    dicom:SequenceVariant "SK/SP"^^xsd:string ;
        dicom:SoftwareVersions "syngo MR B15"^^xsd:string ;
        dicom:TotalReadoutTime 8.831782e-02 ;
        dicom:TotalScanTimeSec "464"^^xsd:int ;
        dicom:TransmitCoilName "Body"^^xsd:string ;
    dicom:VariableFlipAngleFlag "N"^^xsd:string ;
        nidm:EffectiveEchoSpacing 6.89983e-04 ;
        nidm:PhaseEncodingDirection "j-"^^xsd:string ;
    nidm:SliceTiming "3.51503.6550.14253.7950.28253.93750.42254.07750.56254.21750.7054.35750.8454.50.9854.641.1254.781.2654.921.40755.061.54755.20251.68755.34251.82755.48251.975.62252.115.7652.255.9052.396.0452.536.1852.67256.3252.81256.46752.95256.60753.09256.74753.2356.88753.375"^^xsd:string ;
        nfo:filename "/Users/dbkeator/Documents/UCI/ReproNim/example_bids/ds000030_single_subj/sub-10159/dwi/sub-10159_dwi.nii.gz"^^xsd:string ;
        prov:wasGeneratedBy nidm:_9bbc5b50-ae00-11e7-a6bf-6c4008b8f03e .