Skip to content

Commit

Permalink
Merge pull request #488 from nfdi4plants/rocrate-fixes
Browse files Browse the repository at this point in the history
RO-Crate Fixes
  • Loading branch information
HLWeil authored Jan 23, 2025
2 parents 5af193c + 134caf8 commit 6f8dac4
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 9 deletions.
2 changes: 1 addition & 1 deletion src/Json/Assay.fs
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ module Assay =
| "" -> "#EmptyAssay"
| i ->
let identifier = i.Replace(" ","_")
$"#assay/{identifier}"
$"assays/{identifier}/"

let encoder (studyName:string Option) (a : ArcAssay) =
let fileName = Identifier.Assay.fileNameFromIdentifier a.Identifier
Expand Down
2 changes: 1 addition & 1 deletion src/Json/Investigation.fs
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ module Investigation =
Encode.tryInclude "title" Encode.string oa.Title
Encode.tryInclude "description" Encode.string oa.Description
Encode.tryInclude "submissionDate" Encode.string oa.SubmissionDate
Encode.tryInclude "publicReleaseDate" Encode.string oa.PublicReleaseDate
"publicReleaseDate", Encode.string (oa.PublicReleaseDate |> (Option.defaultValue (System.DateTime.Today.ToString "yyyy-MM-dd"))) |> Some
Encode.tryIncludeSeq "ontologySourceReferences" OntologySourceReference.ROCrate.encoder oa.OntologySourceReferences
Encode.tryIncludeSeq "publications" Publication.ROCrate.encoder oa.Publications
Encode.tryIncludeSeq "people" Person.ROCrate.encoder oa.Contacts
Expand Down
5 changes: 3 additions & 2 deletions src/Json/Study.fs
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ module Study =
| "" -> "#EmptyStudy"
| i ->
let identifier = i.Replace(" ","_")
$"#study/{identifier}"
$"studies/{identifier}/"

let encoder (assays: ArcAssay list option) (s : ArcStudy) =
let fileName = Identifier.Study.tryFileNameFromIdentifier s.Identifier
Expand All @@ -129,7 +129,8 @@ module Study =
Encode.tryIncludeSeq "publications" Publication.ROCrate.encoder s.Publications
Encode.tryIncludeSeq "people" Person.ROCrate.encoder s.Contacts
Encode.tryIncludeList "processSequence" (Process.ROCrate.encoder (Some s.Identifier) None) processes
Encode.tryIncludeSeq "assays" (Assay.ROCrate.encoder (Some s.Identifier)) assays
Encode.tryIncludeSeq "assays" (Assay.ROCrate.encoder (Some s.Identifier)) assays
Encode.tryIncludeList "dataFiles" Data.ROCrate.encoder (ARCtrl.Process.ProcessSequence.getData processes)
Encode.tryIncludeSeq "comments" Comment.ROCrate.encoder s.Comments
"@context", ROCrateContext.Study.context_jsonvalue |> Some
]
Expand Down
4 changes: 2 additions & 2 deletions src/Json/context/rocrate/isa_investigation_context.fs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ module Investigation =
"Investigation", Encode.string "sdo:Dataset"

"identifier", Encode.string "sdo:identifier"
"title", Encode.string "sdo:headline"
"title", Encode.string "sdo:name"
"additionalType", Encode.string "sdo:additionalType"
"description", Encode.string "sdo:description"
"submissionDate", Encode.string "sdo:dateCreated"
Expand All @@ -55,7 +55,7 @@ module Investigation =
"Investigation": "sdo:Dataset",
"identifier" : "sdo:identifier",
"title": "sdo:headline",
"title": "sdo:name",
"description": "sdo:description",
"submissionDate": "sdo:dateCreated",
"publicReleaseDate": "sdo:datePublished",
Expand Down
1 change: 1 addition & 0 deletions src/Json/context/rocrate/isa_study_context.fs
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ module Study =
"publications", Encode.string "sdo:citation"
"people", Encode.string "sdo:creator"
"assays", Encode.string "sdo:hasPart"
"dataFiles",Encode.string "sdo:hasPart"
"filename", Encode.string "sdo:alternateName"
"comments", Encode.string "sdo:comment"
"processSequence", Encode.string "sdo:about"
Expand Down
2 changes: 1 addition & 1 deletion src/Json/context/rocrate/rocrate_context.fs
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@ module ROCrate =
"CreativeWork", Encode.string "sdo:CreativeWork"

"about", Encode.string "sdo:about"
"conformsTo", Encode.string "sdo:conformsTo"
"conformsTo", Encode.string "http://purl.org/dc/terms/conformsTo"
]
18 changes: 17 additions & 1 deletion tests/Json/Investigation.Tests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -88,14 +88,29 @@ let private test_isaEmpty =
compareFields

let private test_roCrateEmpty =
let removePublicationDate (inv : ArcInvestigation) =
inv.PublicReleaseDate <- None
inv
createBaseJsonTests
"ROCrate-empty"
create_empty
ArcInvestigation.toROCrateJsonString
ArcInvestigation.fromROCrateJsonString
(ArcInvestigation.fromROCrateJsonString >> removePublicationDate)
None
compareFields

let test_defaultDate = testList "ROCrate-defaultDate" [
testCase "roundabout" <| fun _ ->
let addPublicationDate (inv : ArcInvestigation) =
inv.PublicReleaseDate <- Some (System.DateTime.Today.ToString "yyyy-MM-dd")
inv
let obj = create_empty()
let json = ArcInvestigation.toROCrateJsonString () obj
let res = ArcInvestigation.fromROCrateJsonString json
let inv = obj |> addPublicationDate
Expect.equal inv res ""
]

let private test_core =
createBaseJsonTests
"core"
Expand Down Expand Up @@ -147,4 +162,5 @@ let main = testList "Investigation" [
test_isa
test_roCrateEmpty
test_roCrate
test_defaultDate
]
2 changes: 1 addition & 1 deletion tests/TestingUtils/TestObjects.Json/Study.fs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
let studyWithIDTable =
"""
{
"@id": "#study/Study1",
"@id": "studies/Study1/",
"filename" : "studies/Study1/isa.study.xlsx",
"identifier" : "Study1",
"protocols" : [
Expand Down

0 comments on commit 6f8dac4

Please sign in to comment.