Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Term request for 'creator' #423

Open
khelm opened this issue Sep 26, 2017 · 2 comments
Open

Term request for 'creator' #423

khelm opened this issue Sep 26, 2017 · 2 comments

Comments

@khelm
Copy link
Contributor

khelm commented Sep 26, 2017

@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
Copy link
Contributor Author

khelm commented Oct 9, 2017

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:https://www.w3.org/2002/07/owl#> .
@prefix prov: <http:https://www.w3.org/ns/prov#> .
@prefix nemo: <http:https://www.nemo.org/ns#> .  #this is fake
@prefix sio:  <http:https://www.sio.org/ns#> .  #this is fake
@prefix ncit: <http:https://www.ncit.org/ns#> . #this is also fake
@prefix :     <http:https://example.com/> .

   nemo:NEMO_0448000  
         a prov:Activity ; 
     
   ncit:author a prov:Role.

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

<http:https://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:https://www.w3.org/2002/07/owl#> .
@prefix prov: <http:https://www.w3.org/ns/prov#> .
@prefix nemo: <http:https://www.nemo.org/ns#> .  #this is fake
@prefix sio:  <http:https://www.sio.org/ns#> .  #this is fake
@prefix ncit: <http:https://www.ncit.org/ns#> . #this is also fake
@prefix :     <http:https://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
Copy link
Contributor Author

khelm commented Oct 19, 2017

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant