diff --git a/contexts/generic b/contexts/generic index 3c5e156e34..8a9ba1b47a 100644 --- a/contexts/generic +++ b/contexts/generic @@ -19,7 +19,7 @@ }, "imageUrl": { "@id": "schema:image", - "@type": "xsd:anyURI" + "@type": "@id" }, "audio": { "@id": "schema:audio" @@ -29,7 +29,7 @@ }, "contentUrl": { "@id": "schema:contentUrl", - "@type": "xsd:anyURI" + "@type": "@id" }, "VideoObject": "schema:VideoObject", "AudioObject": "schema:AudioObject", @@ -38,19 +38,17 @@ }, "url": { "@id": "schema:url", - "@type": "xsd:anyURI" + "@type": "@id" }, "citation": { "@id": "schema:citation", "@container": "@language" }, "version": { - "@id": "schema:version", - "@container": "@language" + "@id": "schema:version" }, "schemaVersion": { - "@id": "schema:schemaVersion", - "@container": "@language" + "@id": "schema:schemaVersion" }, "prefLabel": { "@id": "skos:prefLabel", @@ -71,7 +69,7 @@ }, "landingPage": { "@id": "reproschema:landingPage", - "@type": "xsd:anyURI", + "@type": "@id", "@container": "@set" }, "question": { diff --git a/examples/activities/activity1.jsonld b/examples/activities/activity1.jsonld index 5871b0e55f..6a533ee6f4 100644 --- a/examples/activities/activity1.jsonld +++ b/examples/activities/activity1.jsonld @@ -4,7 +4,7 @@ "@id": "activity1.jsonld", "prefLabel": "Example 1", "description": "Activity example 1", - "schemaVersion": "1.0.0-rc1.post", + "schemaVersion": "1.0.0-rc4", "version": "0.0.1", "citation": "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1495268/", "image": { @@ -17,8 +17,8 @@ }, "compute": [ { - "variableName": "phq9_total_score", - "jsExpression": "phq9_1 + phq9_2 + phq9_3 + phq9_4 + phq9_5 + phq9_6 + phq9_7 + phq9_8 + phq9_9" + "variableName": "activity1_total_score", + "jsExpression": "item1 + item2" } ], "messages": [ @@ -42,12 +42,18 @@ "requiredValue": true, "isVis": true, "allow": ["reproschema:Skipped"] + }, + { "isAbout": "items/activity1_total_score", + "variableName": "activity1_total_score", + "requiredValue": true, + "isVis": false } ], "order": [ "items/item1.jsonld", - "items/item2.jsonld" + "items/item2.jsonld", + "items/activity1_total_score" ], "shuffle": false } -} \ No newline at end of file +} diff --git a/examples/activities/activity1_embed.jsonld b/examples/activities/activity1_embed.jsonld index f1bbef9e0b..f732505139 100644 --- a/examples/activities/activity1_embed.jsonld +++ b/examples/activities/activity1_embed.jsonld @@ -4,7 +4,7 @@ "@id": "activity1.jsonld", "prefLabel": "Example 1", "description": "Activity example 1", - "schemaVersion": "1.0.0-rc1.post", + "schemaVersion": "1.0.0-rc4", "version": "0.0.1", "citation": "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1495268/", "preamble": { @@ -24,7 +24,7 @@ "@id": "items/item1.jsonld", "prefLabel": "item1", "description": "Q1 of example 1", - "schemaVersion": "1.0.0-rc1.post", + "schemaVersion": "1.0.0-rc4", "version": "0.0.1", "question": { "en": "Little interest or pleasure in doing things", diff --git a/examples/activities/items/activity1_total_score b/examples/activities/items/activity1_total_score new file mode 100644 index 0000000000..5ed7f84ea3 --- /dev/null +++ b/examples/activities/items/activity1_total_score @@ -0,0 +1,18 @@ +{ + "@context": "../../../contexts/generic", + "@type": "reproschema:Field", + "@id": "activity1_total_score", + "prefLabel": "activity1_total_score", + "description": "Score item for Activity 1", + "schemaVersion": "1.0.0-rc4", + "version": "0.0.1", + "ui": { + "inputType": "number", + "readonlyValue": true + }, + "responseOptions": { + "valueType": "xsd:integer", + "minValue": 0, + "maxValue": 3 + } +} diff --git a/examples/activities/items/item1.jsonld b/examples/activities/items/item1.jsonld index 7f171e49f3..50f73cc8c4 100644 --- a/examples/activities/items/item1.jsonld +++ b/examples/activities/items/item1.jsonld @@ -4,7 +4,7 @@ "@id": "item1.jsonld", "prefLabel": "item1", "description": "Q1 of example 1", - "schemaVersion": "1.0.0-rc1.post", + "schemaVersion": "1.0.0-rc4", "version": "0.0.1", "audio": { "@type": "AudioObject", diff --git a/examples/activities/items/item2.jsonld b/examples/activities/items/item2.jsonld index 0b1d4cc826..cf1b37a1df 100644 --- a/examples/activities/items/item2.jsonld +++ b/examples/activities/items/item2.jsonld @@ -4,7 +4,7 @@ "@id": "item2.jsonld", "prefLabel": "item2", "description": "Q2 of example 1", - "schemaVersion": "0.0.1", + "schemaVersion": "1.0.0-rc4", "version": "0.0.1", "question": { "en": "Current temperature.", @@ -38,6 +38,3 @@ ] } } - - - diff --git a/examples/protocols/protocol1.jsonld b/examples/protocols/protocol1.jsonld index 20c7de7d0e..dc79103dc5 100644 --- a/examples/protocols/protocol1.jsonld +++ b/examples/protocols/protocol1.jsonld @@ -7,9 +7,10 @@ "es": "Protocol1_es" }, "description": "example Protocol", - "schemaVersion": "1.0.0-rc1.post", + "schemaVersion": "1.0.0-rc4", "version": "0.0.1", - "landingPage": "http://example.com/sample-readme.md", + "landingPage": {"@id": "http://example.com/sample-readme.md", + "inLanguage": "en"}, "messages": [ { "message": "Test message: Triggered when item1 value is greater than 0", diff --git a/examples/protocols/protocol1_embed.jsonld b/examples/protocols/protocol1_embed.jsonld index f8904d4a8f..69ac9cb23d 100644 --- a/examples/protocols/protocol1_embed.jsonld +++ b/examples/protocols/protocol1_embed.jsonld @@ -7,7 +7,7 @@ "es": "Protocol1_es" }, "description": "example Protocol", - "schemaVersion": "1.0.0-rc1.post", + "schemaVersion": "1.0.0-rc4", "version": "0.0.1", "ui": { "addProperties": [ @@ -27,7 +27,7 @@ "@id": "../activities/activity1.jsonld", "prefLabel": "Example 1", "description": "Activity example 1", - "schemaVersion": "1.0.0-rc1.post", + "schemaVersion": "1.0.0-rc4", "version": "0.0.1", "citation": "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1495268/", "preamble": { @@ -49,7 +49,7 @@ "@id": "../activities/items/item1.jsonld", "prefLabel": "item1", "description": "Q1 of example 1", - "schemaVersion": "0.0.1", + "schemaVersion": "1.0.0-rc4", "version": "0.0.1", "question": { "en": "Little interest or pleasure in doing things", diff --git a/releases/1.0.0-rc4/base b/releases/1.0.0-rc4/base new file mode 100644 index 0000000000..ac6fb734d8 --- /dev/null +++ b/releases/1.0.0-rc4/base @@ -0,0 +1,18 @@ +{ + "@context": { + "@version": 1.1, + "dct": "http://purl.org/dc/terms/", + "owl": "http://www.w3.org/2002/07/owl#", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfa": "http://www.w3.org/ns/rdfa#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "schema": "http://schema.org/", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "skos": "http://www.w3.org/2004/02/skos/core#", + "prov": "http://www.w3.org/ns/prov#", + "pav": "http://purl.org/pav/", + "nidm": "http://purl.org/nidash/nidm#", + "uuid": "http://uuid.repronim.org/", + "reproschema": "http://schema.repronim.org/" + } +} diff --git a/releases/1.0.0-rc4/generic b/releases/1.0.0-rc4/generic new file mode 100644 index 0000000000..a3ea445654 --- /dev/null +++ b/releases/1.0.0-rc4/generic @@ -0,0 +1,279 @@ +{ + "@context": [ "base", + { + "@version": 1.1, + "@language": "en", + "description": { + "@id": "schema:description", + "@container": "@language" + }, + "name": { + "@id": "schema:name", + "@container": "@language" + }, + "value": { + "@id": "reproschema:value" + }, + "image": { + "@id": "schema:image" + }, + "imageUrl": { + "@id": "schema:image", + "@type": "@id" + }, + "audio": { + "@id": "schema:audio" + }, + "video": { + "@id": "schema:video" + }, + "contentUrl": { + "@id": "schema:contentUrl", + "@type": "@id" + }, + "VideoObject": "schema:VideoObject", + "AudioObject": "schema:AudioObject", + "inLanguage": { + "@id": "schema:inLanguage" + }, + "url": { + "@id": "schema:url", + "@type": "@id" + }, + "citation": { + "@id": "schema:citation", + "@container": "@language" + }, + "version": { + "@id": "schema:version" + }, + "schemaVersion": { + "@id": "schema:schemaVersion" + }, + "prefLabel": { + "@id": "skos:prefLabel", + "@container": "@language" + }, + "altLabel": { + "@id": "skos:altLabel", + "@container": "@language" + }, + "preamble": { + "@id": "reproschema:preamble", + "@container": "@language" + }, + "valueType": { + "@id": "reproschema:valueType", + "@type": "@id", + "@container": "@set" + }, + "landingPage": { + "@id": "reproschema:landingPage", + "@type": "xsd:anyURI", + "@container": "@set" + }, + "question": { + "@id": "schema:question", + "@container": "@language" + }, + "choices": { + "@id": "reproschema:choices" + }, + "valueRequired": "schema:valueRequired", + "multipleChoice": { + "@id": "reproschema:multipleChoice", + "@type": "schema:Boolean" + }, + "responseOptions": { + "@id": "reproschema:responseOptions", + "@container": "@set", + "@type": "@id" + }, + "dataType": { + "@id": "schema:DataType", + "@type": "@id" + }, + "minValue": { + "@id": "schema:minValue" + }, + "maxValue": { + "@id": "schema:maxValue" + }, + "unitCode": { + "@id": "schema:unitCode", + "@container": "@set" + }, + "unitOptions": { + "@id": "reproschema:unitOptions", + "@container": "@set" + }, + "ui" : "@nest", + "order": { + "@id": "reproschema:order", + "@container": "@list", + "@type": "@id", + "@nest": "ui" + }, + "addProperties": { + "@id": "reproschema:addProperties", + "@type": "reproschema:AdditionalProperty", + "@container": "@set", + "@nest": "ui" + }, + "overrideProperties": { + "@id": "reproschema:overrideProperties", + "@type": "reproschema:OverrideProperty", + "@container": "@set", + "@nest": "ui" + }, + "message": { + "@id": "reproschema:message", + "@container": "@language" + }, + "shuffle": { + "@id": "reproschema:shuffle", + "@type": "schema:Boolean", + "@nest": "ui" + }, + "inputOptions": { + "@id": "reproschema:inputs", + "@container": "@index", + "@nest": "ui" + }, + "inputType": { + "@id": "reproschema:inputType", + "@type": "xsd:string", + "@nest": "ui" + }, + "readonlyValue": { + "@id": "schema:readonlyValue", + "@nest": "ui" + }, + "compute": { + "@id": "reproschema:compute", + "@container": "@set" + }, + "messages": { + "@id": "reproschema:messages", + "@container": "@set" + }, + "jsExpression": { + "@id": "reproschema:jsExpression" + }, + "isVis": { + "@id": "reproschema:isVis" + }, + "variableName": "reproschema:variableName", + "isAbout": { + "@id": "reproschema:isAbout", + "@type": "@id" + }, + "allow": { + "@id": "reproschema:allow", + "@container": "@set", + "@type": "@id", + "@nest": "ui" + }, + "reproschema:Skipped": {"@id": "reproschema:Skipped"}, + "reproschema:DontKnow": {"@id": "reproschema:DontKnow"}, + "reproschema:TimedOut": {"@id": "reproschema:TimedOut"}, + "reproschema:AutoAdvance": {"@id": "reproschema:AutoAdvance"}, + "reproschema:DisableBack": {"@id": "reproschema:DisableBack"}, + "reproschema:AllowExport": {"@id": "reproschema:AllowExport"}, + "reproschema:AllowReplay": {"@id": "reproschema:AllowReplay"}, + "timer": { + "@id": "reproschema:timer", + "@type": "@id", + "@nest": "ui" + }, + "delay": { + "@id": "reproschema:delay", + "@type": "@id", + "@nest": "ui" + }, + "additionalNotesObj": { + "@id": "reproschema:additionalNotesObj", + "@type": "reproschema:AdditionalNoteObj", + "@container": "@set" + }, + "source": { + "@id": "reproschema:source", + "@type": "xsd:string" + }, + "column": { + "@id": "reproschema:column", + "@type": "xsd:string" + }, + "randomMaxDelay": { + "@id": "reproschema:randomMaxDelay" + }, + "schedule": { + "@id": "reproschema:schedule" + }, + "limit": { + "@id": "reproschema:limit" + }, + "maxRetakes": { + "@id": "reproschema:maxRetakes" + }, + "importedFrom": { + "@id": "pav:importedFrom", + "@type": "@id" + }, + "importedBy": { + "@id": "pav:importedBy", + "@type": "@id" + }, + "createdWith": { + "@id": "pav:createdWith", + "@type": "@id" + }, + "createdBy": { + "@id": "pav:createdBy", + "@type": "@id" + }, + "createdOn": { + "@id": "pav:createdOn", + "@type": "xsd:dateTime" + }, + "previousVersion": { + "@id": "pav:previousVersion", + "@type": "@id" + }, + "lastUpdateOn": { + "@id": "pav:lastUpdateOn", + "@type": "xsd:dateTime" + }, + "derivedFrom": { + "@id": "prov:wasDerivedFrom", + "@type": "@id" + }, + "used": { + "@id": "prov:used", + "@container": "@set", + "@type": "@id" + }, + "wasAttributedTo": { + "@id": "prov:wasAttributedTo", + "@type": "reproschema:Participant", + "@container": "@set" + }, + "wasAssociatedWith": { + "@id": "prov:wasAssociatedWith", + "@type": "reproschema:SoftwareAgent", + "@container": "@set" + }, + "subject_id": { + "@id": "nidm:subject_id" + }, + "startedAtTime": { + "@id": "prov:startedAtTime", + "@type": "xsd:dateTime" + }, + "endedAtTime": { + "@id": "prov:endedAtTime", + "@type": "xsd:dateTime" + } + } + ] +} diff --git a/releases/1.0.0-rc4/reproschema-shacl.ttl b/releases/1.0.0-rc4/reproschema-shacl.ttl new file mode 100644 index 0000000000..c504503e0e --- /dev/null +++ b/releases/1.0.0-rc4/reproschema-shacl.ttl @@ -0,0 +1,362 @@ +@prefix dash: . +@prefix nidm: . +@prefix prov: . +@prefix rdf: . +@prefix reproschema: . +@prefix schema: . +@prefix sh: . +@prefix skos: . +@prefix xsd: . + +reproschema:ActivityShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:path schema:description ], + [ sh:datatype rdf:langString ; + sh:path schema:schemaVersion ], + [ sh:datatype rdf:langString ; + sh:path schema:version ], + [ sh:datatype rdf:langString ; + sh:path schema:citation ], + [ sh:or ( [ sh:nodeKind sh:IRI ] [ sh:node reproschema:MediaObjectShape ] ) ; + sh:path schema:image ], + [ sh:node reproschema:MediaObjectShape ; + sh:path schema:audio ], + [ sh:node reproschema:MediaObjectShape ; + sh:path schema:video ], + [ sh:nodeKind sh:IRI ; + sh:path schema:about ], + [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:path skos:prefLabel ], + [ sh:datatype rdf:langString ; + sh:path skos:altLabel ], + [ sh:datatype rdf:langString ; + sh:path reproschema:preamble ], + [ sh:node reproschema:ComputeSpecificationShape ; + sh:path reproschema:compute ], + [ sh:node reproschema:MessageSpecificationShape ; + sh:path reproschema:messages ], + [ sh:maxCount 1 ; + sh:node dash:ListShape ; + sh:path reproschema:order ; + sh:property [ sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:path ( [ sh:zeroOrMorePath rdf:rest ] rdf:first ) ] ], + [ sh:node reproschema:AddPropertiesShape ; + sh:path reproschema:addProperties ], + [ sh:node reproschema:OverridePropertiesShape ; + sh:path reproschema:overrideProperties ], + [ sh:datatype schema:Boolean ; + sh:path reproschema:shuffle ], + [ sh:in ( reproschema:AllowExport reproschema:DisableBack reproschema:AutoAdvance reproschema:AllowReplay reproschema:Skipped reproschema:DontKnow reproschema:TimedOut ) ; + sh:nodeKind sh:IRI ; + sh:path reproschema:allow ], + [ sh:node reproschema:CronTableShape ; + sh:path reproschema:cronTable ] ; + sh:targetClass reproschema:Activity . + +reproschema:FieldShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:path reproschema:preamble ], + [ sh:or ( [ sh:nodeKind sh:IRI ] [ sh:node reproschema:MediaObjectShape ] ) ; + sh:path schema:image ], + [ sh:node reproschema:MediaObjectShape ; + sh:path schema:audio ], + [ sh:node reproschema:MediaObjectShape ; + sh:path schema:video ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:path reproschema:inputType ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:path schema:readonlyValue ], + [ sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:path schema:about ], + [ sh:nodeKind sh:IRI ; + sh:path schema:isPartOf ], + [ sh:node reproschema:AdditionalNoteObjShape ; + sh:path reproschema:additionalNotesObj ], + [ sh:or ( [ sh:nodeKind sh:IRI ] [ sh:node reproschema:ResponseOptionsShape ] ) ; + sh:path reproschema:responseOptions ], + [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:path skos:prefLabel ], + [ sh:datatype rdf:langString ; + sh:path skos:altLabel ], + [ sh:datatype rdf:langString ; + sh:path schema:description ], + [ sh:datatype rdf:langString ; + sh:path schema:schemaVersion ], + [ sh:datatype rdf:langString ; + sh:path schema:version ], + [ sh:datatype rdf:langString ; + sh:path schema:question ] ; + sh:targetClass reproschema:Field . + +reproschema:ProtocolShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:path schema:description ], + [ sh:datatype rdf:langString ; + sh:path schema:schemaVersion ], + [ sh:datatype rdf:langString ; + sh:path schema:version ], + [ sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:path schema:about ], + [ sh:or ( [ sh:nodeKind sh:IRI ] [ sh:node reproschema:MediaObjectShape ] ) ; + sh:path schema:image ], + [ sh:node reproschema:MediaObjectShape ; + sh:path schema:audio ], + [ sh:node reproschema:MediaObjectShape ; + sh:path schema:video ], + [ sh:node reproschema:LandingPageShape ; + sh:path reproschema:landingPage ], + [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:path skos:prefLabel ], + [ sh:datatype rdf:langString ; + sh:path skos:altLabel ], + [ sh:datatype rdf:langString ; + sh:path reproschema:preamble ], + [ sh:node reproschema:ComputeSpecificationShape ; + sh:path reproschema:compute ], + [ sh:node reproschema:MessageSpecificationShape ; + sh:path reproschema:messages ], + [ sh:minCount 1 ; + sh:node dash:ListShape ; + sh:path reproschema:order ; + sh:property [ sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:path ( [ sh:zeroOrMorePath rdf:rest ] rdf:first ) ] ], + [ sh:node reproschema:AddPropertiesShape ; + sh:path reproschema:addProperties ], + [ sh:node reproschema:OverridePropertiesShape ; + sh:path reproschema:overrideProperties ], + [ sh:datatype schema:Boolean ; + sh:path reproschema:shuffle ], + [ sh:in ( reproschema:AllowExport reproschema:DisableBack reproschema:AutoAdvance reproschema:AllowReplay reproschema:Skipped reproschema:DontKnow reproschema:TimedOut ) ; + sh:nodeKind sh:IRI ; + sh:path reproschema:allow ] ; + sh:targetClass reproschema:Protocol . + +reproschema:ResponseActivityShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:nodeKind sh:IRI ; + sh:path prov:used ], + [ sh:datatype rdf:langString ; + sh:path schema:inLanguage ], + [ sh:datatype xsd:dateTime ; + sh:path prov:startedAtTime ], + [ sh:datatype xsd:dateTime ; + sh:path prov:endedAtTime ], + [ sh:node prov:SoftwareAgentShape ; + sh:path prov:wasAssociatedWith ], + [ sh:datatype rdf:langString ; + sh:path prov:generated ] ; + sh:targetClass reproschema:ResponseActivity . + +reproschema:ResponseShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:node prov:ParticipantShape ; + sh:path prov:wasAttributedTo ], + [ sh:nodeKind sh:IRI ; + sh:path reproschema:isAbout ], + [ sh:or ( [ sh:datatype xsd:integer ] [ sh:nodeKind sh:IRI ] [ sh:datatype schema:Boolean ] [ sh:datatype schema:StructuredValue ] [ sh:datatype schema:Text ] ) ; + sh:path reproschema:value ] ; + sh:targetClass reproschema:Response . + +reproschema:AdditionalNoteObjShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:minCount 1 ; + sh:path reproschema:source ], + [ sh:datatype xsd:string ; + sh:minCount 1 ; + sh:path reproschema:column ], + [ sh:or ( [ sh:datatype xsd:integer ] [ sh:nodeKind sh:IRI ] [ sh:datatype schema:Boolean ] [ sh:datatype schema:StructuredValue ] [ sh:datatype rdf:langString ] ) ; + sh:path reproschema:value ] ; + sh:targetClass reproschema:AdditionalNoteObj . + +reproschema:ChoicesShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:or ( [ sh:nodeKind sh:IRI ] [ sh:node reproschema:MediaObjectShape ] ) ; + sh:path schema:image ], + [ sh:datatype rdf:langString ; + sh:path schema:name ], + [ sh:or ( [ sh:datatype xsd:integer ] [ sh:nodeKind sh:IRI ] [ sh:datatype schema:Boolean ] [ sh:datatype schema:StructuredValue ] [ sh:datatype rdf:langString ] ) ; + sh:path reproschema:value ] ; + sh:targetClass reproschema:Choice . + +reproschema:LandingPageShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:path schema:inLanguage ] . + +reproschema:ResponseOptionsShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype schema:Boolean ; + sh:maxCount 1 ; + sh:path reproschema:multipleChoice ], + [ sh:nodeKind sh:IRI ; + sh:path reproschema:valueType ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:path schema:minValue ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:path schema:maxValue ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:path reproschema:datumType ], + [ sh:or ( [ sh:datatype schema:URL ] [ sh:datatype rdf:langString ] ) ; + sh:path schema:unitCode ], + [ sh:node reproschema:UnitOptionsShape ; + sh:path reproschema:unitOptions ], + [ sh:node reproschema:ChoicesShape ; + sh:path reproschema:choices ] ; + sh:targetClass reproschema:ResponseOption . + +reproschema:UnitOptionsShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:path skos:prefLabel ], + [ sh:or ( [ sh:nodeKind sh:IRI ] [ sh:datatype rdf:langString ] ) ; + sh:path reproschema:value ] ; + sh:targetClass reproschema:UnitOption . + +prov:ParticipantShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:path nidm:subject_id ] ; + sh:targetClass reproschema:Participant . + +prov:SoftwareAgentShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:path schema:version ], + [ sh:nodeKind sh:IRI ; + sh:path schema:url ] ; + sh:targetClass reproschema:SoftwareAgent . + +reproschema:AddPropertiesShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:path reproschema:variableName ], + [ sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:path reproschema:isAbout ], + [ sh:or ( [ sh:datatype rdf:langString ] [ sh:datatype xsd:boolean ] [ sh:node reproschema:IsVisShape ] ) ; + sh:path reproschema:isVis ], + [ sh:datatype rdf:langString ; + sh:path skos:prefLabel ], + [ sh:datatype xsd:boolean ; + sh:path schema:valueRequired ], + [ sh:in ( reproschema:AllowExport reproschema:DisableBack reproschema:AutoAdvance reproschema:AllowReplay reproschema:Skipped reproschema:DontKnow reproschema:TimedOut ) ; + sh:nodeKind sh:IRI ; + sh:path reproschema:allow ], + [ sh:datatype rdf:langString ; + sh:path reproschema:randomMaxDelay ; + sh:pattern "^P(?!$)(\\d+(?:\\.\\d+)?Y)?(\\d+(?:\\.\\d+)?M)?(\\d+(?:\\.\\d+)?W)?(\\d+(?:\\.\\d+)?D)?(T(?=\\d)(\\d+(?:\\.\\d+)?H)?(\\d+(?:\\.\\d+)?M)?(\\d+(?:\\.\\d+)?S)?)?$" ], + [ sh:datatype rdf:langString ; + sh:or ( [ sh:pattern "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" ] [ sh:pattern "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" ] [ sh:pattern "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?(\\/)([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" ] [ sh:pattern "^(R\\d*\\/)?([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\4([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\18[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?(\\/)P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" ] [ sh:pattern "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?\\/([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\4([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\18[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" ] ) ; + sh:path reproschema:schedule ], + [ sh:datatype rdf:langString ; + sh:or ( [ sh:pattern "^P(?!$)(\\d+(?:\\.\\d+)?Y)?(\\d+(?:\\.\\d+)?M)?(\\d+(?:\\.\\d+)?W)?(\\d+(?:\\.\\d+)?D)?(T(?=\\d)(\\d+(?:\\.\\d+)?H)?(\\d+(?:\\.\\d+)?M)?(\\d+(?:\\.\\d+)?S)?)?$" ] [ sh:pattern "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?\\/([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\4([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\18[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" ] ) ; + sh:path reproschema:limit ], + [ sh:datatype xsd:integer ; + sh:path reproschema:maxRetakes ] ; + sh:targetClass reproschema:AdditionalProperty . + +reproschema:ComputeSpecificationShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:path reproschema:variableName ], + [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:path reproschema:jsExpression ] ; + sh:targetClass reproschema:ComputeSpecification . + +reproschema:IsVisShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:path schema:method ], + [ sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:path schema:url ], + [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:path reproschema:payload ] . + +reproschema:MessageSpecificationShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:path reproschema:message ], + [ sh:minCount 1 ; + sh:or ( [ sh:datatype rdf:langString ] [ sh:datatype xsd:boolean ] ) ; + sh:path reproschema:jsExpression ] ; + sh:targetClass reproschema:MessageSpecification . + +reproschema:OverridePropertiesShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:path reproschema:variableName ], + [ sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:path reproschema:isAbout ], + [ sh:or ( [ sh:datatype rdf:langString ] [ sh:datatype xsd:boolean ] [ sh:node reproschema:IsVisShape ] ) ; + sh:path reproschema:isVis ], + [ sh:datatype rdf:langString ; + sh:path skos:prefLabel ], + [ sh:datatype xsd:boolean ; + sh:path schema:valueRequired ], + [ sh:datatype rdf:langString ; + sh:path reproschema:randomMaxDelay ; + sh:pattern "^P(?!$)(\\d+(?:\\.\\d+)?Y)?(\\d+(?:\\.\\d+)?M)?(\\d+(?:\\.\\d+)?W)?(\\d+(?:\\.\\d+)?D)?(T(?=\\d)(\\d+(?:\\.\\d+)?H)?(\\d+(?:\\.\\d+)?M)?(\\d+(?:\\.\\d+)?S)?)?$" ], + [ sh:datatype rdf:langString ; + sh:or ( [ sh:pattern "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" ] [ sh:pattern "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" ] [ sh:pattern "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?(\\/)([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" ] [ sh:pattern "^(R\\d*\\/)?([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\4([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\18[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?(\\/)P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" ] [ sh:pattern "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?\\/([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\4([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\18[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" ] ) ; + sh:path reproschema:schedule ], + [ sh:datatype rdf:langString ; + sh:or ( [ sh:pattern "^P(?!$)(\\d+(?:\\.\\d+)?Y)?(\\d+(?:\\.\\d+)?M)?(\\d+(?:\\.\\d+)?W)?(\\d+(?:\\.\\d+)?D)?(T(?=\\d)(\\d+(?:\\.\\d+)?H)?(\\d+(?:\\.\\d+)?M)?(\\d+(?:\\.\\d+)?S)?)?$" ] [ sh:pattern "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?\\/([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\4([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\18[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" ] ) ; + sh:path reproschema:limit ], + [ sh:datatype xsd:integer ; + sh:path reproschema:maxRetakes ] ; + sh:targetClass reproschema:OverrideProperty . + +reproschema:MediaObjectShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:path schema:contentUrl ], + [ sh:datatype rdf:langString ; + sh:maxCount 1 ; + sh:path schema:inLanguage ] . diff --git a/releases/1.0.0-rc4/reproschema.jsonld b/releases/1.0.0-rc4/reproschema.jsonld new file mode 100644 index 0000000000..aa94508499 --- /dev/null +++ b/releases/1.0.0-rc4/reproschema.jsonld @@ -0,0 +1,1262 @@ +{ + "@context": { + "@version": 1.1, + "dct": "http://purl.org/dc/terms/", + "owl": "http://www.w3.org/2002/07/owl#", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfa": "http://www.w3.org/ns/rdfa#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "schema": "http://schema.org/", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "skos": "http://www.w3.org/2004/02/skos/core#", + "prov": "http://www.w3.org/ns/prov#", + "pav": "http://purl.org/pav/", + "nidm": "http://purl.org/nidash/nidm#", + "uuid": "http://uuid.repronim.org/", + "reproschema": "http://schema.repronim.org/" + }, + "@graph": [ + { + "@id": "reproschema:AllowExport", + "@type": "rdfs:Class", + "rdfs:comment": "Indicates (by boolean) if data can be exported or not.", + "rdfs:label": "Allow export" + }, + { + "@id": "reproschema:multipleChoice", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "schema:Boolean" + }, + "rdfs:comment": "Indicates (by bool) if response for the Field item has one or more answer.", + "rdfs:label": "Multiple choice response expectation" + }, + { + "@id": "reproschema:order", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "reproschema:Activity" + }, + { + "@id": "reproschema:Field" + }, + { + "@id": "schema:URL" + } + ], + "rdfs:comment": "An ordered list to describe the order in which the items of an assessment or protocol appear in the user interface.", + "rdfs:label": "Order" + }, + { + "@id": "reproschema:inputType", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "An element to describe the input type of a Field item.", + "rdfs:label": "inputType" + }, + { + "@id": "reproschema:maxRetakes", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "schema:Number" + }, + "rdfs:comment": "Defines number of times the item is allowed to be redone.", + "rdfs:label": "maxRetakes" + }, + { + "@id": "reproschema:AllowReplay", + "@type": "rdfs:Class", + "rdfs:comment": "Indicates (by boolean) if items can be replayed or not.", + "rdfs:label": "Allow replay" + }, + { + "@id": "reproschema:schedule", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "schema:Text" + }, + { + "@id": "schema:Schedule" + } + ], + "rdfs:comment": "An element to set make activity available/repeat info using ISO 8601 repeating interval format.", + "rdfs:label": "Schedule" + }, + { + "@id": "reproschema:shuffle", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "schema:boolean" + }, + "rdfs:comment": "An element (bool) to determine if the list of items is shuffled or in order.", + "rdfs:label": "Shuffle" + }, + { + "@id": "reproschema:messages", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "reproschema:MessageSpecification" + }, + "rdfs:comment": "An array of objects to define conditional messages in an activity or protocol.", + "rdfs:label": "messages" + }, + { + "@id": "reproschema:DontKnow", + "@type": "rdfs:Class", + "rdfs:comment": "An element to describe the choice when response is not known.", + "rdfs:label": "Do not know" + }, + { + "@id": "reproschema:isAbout", + "schema:domainIncludes": { + "@id": "reproschema:Response" + } + }, + { + "@id": "schema:value", + "schema:domainIncludes": { + "@id": "reproschema:Response" + }, + "schema:rangeIncludes": [ + { + "@id": "reproschema:Skipped" + }, + { + "@id": "reproschema:DontKnow" + }, + { + "@id": "schema:Number" + }, + { + "@id": "schema:Text" + }, + { + "@id": "schema:URL" + }, + { + "@id": "schema:Boolean" + }, + { + "@id": "schema:StructuredValue" + } + ] + }, + { + "@id": "prov:wasAttributedTo", + "schema:domainIncludes": { + "@id": "reproschema:Response" + }, + "schema:rangeIncludes": { + "@id": "reproschema:Participant" + } + }, + { + "@id": "reproschema:Response", + "@type": [ + "rdfs:Class", + "prov:Entity" + ], + "rdfs:comment": "Describes the response of an item.", + "rdfs:label": "Response", + "rdfs:subClassOf": { + "@id": "schema:CreativeWork" + } + }, + { + "@id": "reproschema:preamble", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "schema:Text" + }, + { + "@id": "rdf:langString" + } + ], + "rdfs:comment": "The preamble for an assessment", + "rdfs:label": "Preamble" + }, + { + "@id": "reproschema:allow", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "schema:Thing" + }, + "rdfs:comment": "An array of items indicating properties allowed on an activity or protocol ", + "rdfs:label": "allow" + }, + { + "@id": "reproschema:limit", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "An element to limit the duration (uses ISO 8601) this activity is allowed to be completed by once activity is available.", + "rdfs:label": "limit" + }, + { + "@id": "reproschema:DisableBack", + "@type": "rdfs:Class", + "rdfs:comment": "Indicates (by boolean) if we can go back to a completed assessment in a protocol.", + "rdfs:label": "Disable redo" + }, + { + "@id": "reproschema:AutoAdvance", + "@type": "rdfs:Class", + "rdfs:comment": "Indicates (by boolean) if assessments in a protocol can auto advance or not.", + "rdfs:label": "Auto advance" + }, + { + "@id": "reproschema:TimedOut", + "@type": "rdfs:Class", + "rdfs:comment": "A boolean element to describe if the response did not occur within the prescribed time.", + "rdfs:label": "Response timed out" + }, + { + "@id": "skos:prefLabel", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + }, + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "The preferred label.", + "rdfs:label": "preferred label" + }, + { + "@id": "skos:altLabel", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + }, + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "The alternate label.", + "rdfs:label": "alternate label" + }, + { + "@id": "schema:description", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "schema:schemaVersion", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "schema:version", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "schema:citation", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "schema:associatedMedia", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + }, + "rdfs:comment": "A media object that encodes this CreativeWork. This property is a synonym for encoding.", + "rdfs:label": "associatedMedia" + }, + { + "@id": "reproschema:preamble", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "reproschema:order", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "reproschema:shuffle", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "reproschema:addProperties", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "reproschema:overrideProperties", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "reproschema:messages", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "reproschema:allow", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "reproschema:compute", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "reproschema:cronTable", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "schema:about", + "schema:domainIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "reproschema:Activity", + "@type": [ + "rdfs:Class", + "prov:Entity", + "prov:Plan", + "nidm:Assessment" + ], + "rdfs:comment": "An assessment in a protocol.", + "rdfs:label": "Activity", + "rdfs:subClassOf": { + "@id": "schema:CreativeWork" + } + }, + { + "@id": "nidm:subject_id", + "schema:domainIncludes": { + "@id": "reproschema:Participant" + }, + "rdfs:comment": "The identifier of a participant", + "rdfs:label": "Participant identifier" + }, + { + "@id": "reproschema:Participant", + "@type": [ + "rdfs:Class", + "prov:Person" + ], + "rdfs:comment": "An Agent describing characteristics associated with a participant.", + "rdfs:label": "Participant", + "rdfs:subClassOf": { + "@id": "prov:Agent" + } + }, + { + "@id": "reproschema:choices", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "reproschema:Choice" + }, + { + "@id": "schema:URL" + } + ], + "schema:sameAs": { + "@id": "schema:itemListElement" + }, + "rdfs:comment": "An array to list the available options for response of the Field item.", + "rdfs:label": "choices" + }, + { + "@id": "reproschema:Skipped", + "@type": "rdfs:Class", + "rdfs:comment": "An element to describe the choice when the item is skipped.", + "rdfs:label": "Skipped" + }, + { + "@id": "reproschema:source", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "rdf:langString" + }, + "rdfs:comment": "An element to define the source (eg. RedCap, NDA) where the note was taken from.", + "rdfs:label": "source" + }, + { + "@id": "reproschema:overrideProperties", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "reproschema:OverrideProperty" + }, + "rdfs:comment": "An array of objects to override the various properties added to assessments and fields.", + "rdfs:label": "overrideProperties" + }, + { + "@id": "reproschema:value", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "schema:Boolean" + }, + { + "@id": "schema:StructuredValue" + }, + { + "@id": "schema:Number" + }, + { + "@id": "schema:Text" + }, + { + "@id": "schema:URL" + } + ], + "schema:sameAs": { + "@id": "schema:value" + }, + "rdfs:comment": "The value for each option in choices or in additionalNotesObj", + "rdfs:label": "value" + }, + { + "@id": "schema:version", + "schema:domainIncludes": { + "@id": "reproschema:SoftwareAgent" + } + }, + { + "@id": "schema:url", + "schema:domainIncludes": { + "@id": "reproschema:SoftwareAgent" + } + }, + { + "@id": "reproschema:SoftwareAgent", + "@type": [ + "rdfs:Class", + "prov:SoftwareAgent" + ], + "rdfs:comment": "Captures information about some action that took place. It also links to information (entities) that were used during the activity", + "rdfs:label": "Software Agent" + }, + { + "@id": "reproschema:statusOptions", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "Provides information on whether or not a field item wants to be accompanied by the additional status option(s) defined in \u201cstatusOptions\u201d", + "rdfs:label": "Status options" + }, + { + "@id": "reproschema:unitOptions", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "reproschema:UnitOption" + }, + "rdfs:comment": "A list of objects to represent a human displayable name alongside the more formal value for units.", + "rdfs:label": "unitOptions" + }, + { + "@id": "reproschema:message", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "schema:Text" + }, + { + "@id": "rdf:langString" + } + ], + "rdfs:comment": "The message to be conditionally displayed for an item. ", + "rdfs:label": "Message" + }, + { + "@id": "schema:image", + "schema:domainIncludes": { + "@id": "reproschema:Choice" + } + }, + { + "@id": "schema:name", + "schema:domainIncludes": { + "@id": "reproschema:Choice" + } + }, + { + "@id": "schema:value", + "schema:domainIncludes": { + "@id": "reproschema:Choice" + }, + "schema:rangeIncludes": [ + { + "@id": "reproschema:Skipped" + }, + { + "@id": "reproschema:DontKnow" + } + ] + }, + { + "@id": "reproschema:Choice", + "@type": "rdfs:Class", + "rdfs:comment": "An object to describe a response option.", + "rdfs:label": "Response choice" + }, + { + "@id": "reproschema:column", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "rdf:langString" + }, + "rdfs:comment": "An element to define the column name where the note was taken from.", + "rdfs:label": "column" + }, + { + "@id": "skos:prefLabel", + "schema:domainIncludes": { + "@id": "reproschema:UnitOption" + }, + "schema:rangeIncludes": { + "@id": "schema:Text" + } + }, + { + "@id": "reproschema:value", + "schema:domainIncludes": { + "@id": "reproschema:UnitOption" + }, + "schema:rangeIncludes": [ + { + "@id": "schema:URL" + }, + { + "@id": "schema:Text" + } + ] + }, + { + "@id": "reproschema:UnitOption", + "@type": "rdfs:Class", + "rdfs:comment": "An object to represent a human displayable name alongside the more formal value for units.", + "rdfs:label": "Unit options" + }, + { + "@id": "skos:prefLabel", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + }, + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "The preferred label.", + "rdfs:label": "preferred label" + }, + { + "@id": "skos:altLabel", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + }, + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "The alternate label.", + "rdfs:label": "alternate label" + }, + { + "@id": "schema:description", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "schema:schemaVersion", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "schema:version", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "schema:associatedMedia", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + }, + "rdfs:comment": "A media object that encodes this CreativeWork. This property is a synonym for encoding.", + "rdfs:label": "associatedMedia" + }, + { + "@id": "reproschema:order", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "reproschema:shuffle", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "reproschema:messages", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "reproschema:addProperties", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "reproschema:overrideProperties", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "reproschema:allow", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "reproschema:landingPage", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "reproschema:compute", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "reproschema:cronTable", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "schema:about", + "schema:domainIncludes": { + "@id": "reproschema:Protocol" + } + }, + { + "@id": "reproschema:Protocol", + "@type": [ + "rdfs:Class", + "prov:Plan", + "prov:Entity" + ], + "rdfs:comment": "A representation of a study which comprises one or more assessments.", + "rdfs:label": "Protocol", + "rdfs:subClassOf": { + "@id": "schema:CreativeWork" + } + }, + { + "@id": "skos:prefLabel", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + }, + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "The preferred label.", + "rdfs:label": "preferred label" + }, + { + "@id": "skos:altLabel", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + }, + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "The alternate label.", + "rdfs:label": "alternate label" + }, + { + "@id": "schema:description", + "schema:domainIncludes": { + "@id": "reproschema:Field" + } + }, + { + "@id": "schema:schemaVersion", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + } + }, + { + "@id": "schema:version", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + } + }, + { + "@id": "reproschema:preamble", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + } + }, + { + "@id": "schema:question", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + } + }, + { + "@id": "schema:image", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + }, + "rdfs:comment": "An image of the item. This can be a URL or a fully described ImageObject.", + "rdfs:label": "image" + }, + { + "@id": "reproschema:inputType", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + } + }, + { + "@id": "schema:readonlyValue", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + } + }, + { + "@id": "schema:isPartOf", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + }, + "schema:rangeIncludes": { + "@id": "reproschema:Activity" + } + }, + { + "@id": "reproschema:responseOptions", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + } + }, + { + "@id": "reproschema:additionalNotesObj", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + }, + "rdfs:comment": "A set of objects to define notes in a field. For example, most Redcap and NDA data dictionaries have notes for each item which needs to be captured in reproschema." + }, + { + "@id": "schema:associatedMedia", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + }, + "rdfs:comment": "A media object that encodes this CreativeWork. This property is a synonym for encoding.", + "rdfs:label": "associatedMedia" + }, + { + "@id": "schema:about", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:Field" + }, + "rdfs:comment": "The subject matter of the Field." + }, + { + "@id": "reproschema:Field", + "@type": [ + "rdfs:Class", + "prov:Entity", + "nidm:DataElement" + ], + "rdfs:comment": "An item in an assessment.", + "rdfs:label": "Field", + "rdfs:subClassOf": { + "@id": "schema:CreativeWork" + } + }, + { + "@id": "prov:used", + "schema:domainIncludes": { + "@id": "reproschema:ResponseActivity" + } + }, + { + "@id": "schema:inLanguage", + "schema:domainIncludes": { + "@id": "reproschema:ResponseActivity" + } + }, + { + "@id": "prov:startedAtTime", + "schema:domainIncludes": { + "@id": "reproschema:ResponseActivity" + } + }, + { + "@id": "prov:endedAtTime", + "schema:domainIncludes": { + "@id": "reproschema:ResponseActivity" + } + }, + { + "@id": "prov:endedAtTime", + "schema:domainIncludes": { + "@id": "reproschema:ResponseActivity" + } + }, + { + "@id": "prov:generated", + "schema:domainIncludes": { + "@id": "reproschema:ResponseActivity" + } + }, + { + "@id": "reproschema:ResponseActivity", + "@type": [ + "rdfs:Class", + "prov:Activity" + ], + "rdfs:comment": "Captures information about some action that took place. It also links to information (entities) that were used during the activity", + "rdfs:label": "ResponseActivity", + "rdfs:subClassOf": { + "@id": "schema:CreativeWork" + } + }, + { + "@id": "reproschema:valueType", + "schema:domainIncludes": { + "@id": "reproschema:ResponseOption" + } + }, + { + "@id": "schema:minValue", + "schema:domainIncludes": { + "@id": "reproschema:ResponseOption" + } + }, + { + "@id": "schema:maxValue", + "schema:domainIncludes": { + "@id": "reproschema:ResponseOption" + } + }, + { + "@id": "reproschema:multipleChoice", + "schema:domainIncludes": { + "@id": "reproschema:ResponseOption" + } + }, + { + "@id": "reproschema:datumType", + "schema:domainIncludes": { + "@id": "reproschema:ResponseOption" + } + }, + { + "@id": "reproschema:unitOptions", + "schema:domainIncludes": { + "@id": "reproschema:ResponseOption" + } + }, + { + "@id": "reproschema:choices", + "schema:domainIncludes": { + "@id": "reproschema:ResponseOption" + } + }, + { + "@id": "reproschema:ResponseOption", + "@type": "rdfs:Class", + "rdfs:comment": "An element (object or by URL)to describe the properties of response of the Field item.", + "rdfs:label": "Response option" + }, + { + "@id": "reproschema:variableName", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "The name used to represent an item.", + "rdfs:label": "variableName" + }, + { + "@id": "reproschema:isAbout", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "reproschema:Activity" + }, + { + "@id": "reproschema:Field" + } + ], + "rdfs:comment": "A pointer to the node describing the item.", + "rdfs:label": "isAbout" + }, + { + "@id": "reproschema:variableName", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:ComputeSpecification" + }, + "rdfs:comment": "The name used to represent an item.", + "rdfs:label": "variableName" + }, + { + "@id": "reproschema:jsExpression", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:ComputeSpecification" + }, + "rdfs:comment": "A JavaScript expression for computations.", + "rdfs:label": "JavaScript Expression" + }, + { + "@id": "reproschema:ComputeSpecification", + "@type": "rdfs:Class", + "rdfs:comment": "An object to define computations in an activity or protocol.", + "rdfs:label": "Compute Specification" + }, + { + "@id": "reproschema:addProperties", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "reproschema:AdditionalProperty" + }, + "rdfs:comment": "An array of objects to describe the various properties added to assessments and fields.", + "rdfs:label": "addProperties" + }, + { + "@id": "reproschema:compute", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "reproschema:ComputeSpecification" + }, + "rdfs:comment": "An array of objects indicating computations in an activity or protocol and maps it to the corresponding Field item. scoring logic is a subset of all computations that could be performed and not all computations will be scoring. For example, one may want to do conversion from one unit to another. ", + "rdfs:label": "computation" + }, + { + "@id": "reproschema:datumType", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "schema:URL" + }, + { + "@id": "schema:Text" + } + ], + "rdfs:comment": "Indicates what type of datum the response is (e.g. range,count,scalar etc.) for the Field item.", + "rdfs:label": "datumType" + }, + { + "@id": "reproschema:additionalNotesObj", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "reproschema:AdditionalNoteObj" + }, + "rdfs:comment": "A set of objects to define notes in a field. For example, most Redcap and NDA data dictionaries have notes for each item which needs to be captured in reproschema.", + "rdfs:label": "additional notes" + }, + { + "@id": "reproschema:valueType", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "schema:Text" + }, + { + "@id": "rdf:langString" + } + ], + "rdfs:comment": "The type of the response of an item. For example, string, integer, etc.", + "rdfs:label": "The type of the response" + }, + { + "@id": "reproschema:isVis", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "schema:Boolean" + }, + { + "@id": "schema:Text" + } + ], + "rdfs:comment": "An element to describe (by boolean or conditional statement) visibility conditions of items in an assessment.", + "rdfs:label": "visibility" + }, + { + "@id": "reproschema:responseOptions", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "reproschema:ResponseOption" + }, + { + "@id": "schema:URL" + } + ], + "rdfs:comment": "An element (object or by URL)to describe the properties of response of the Field item.", + "rdfs:label": "Response options" + }, + { + "@id": "reproschema:source", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalNoteObj" + } + }, + { + "@id": "reproschema:column", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalNoteObj" + } + }, + { + "@id": "reproschema:value", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalNoteObj" + } + }, + { + "@id": "reproschema:AdditionalNoteObj", + "@type": "rdfs:Class", + "rdfs:comment": "A set of objects to define notes in a field. For example, most Redcap and NDA data dictionaries have notes for each item which needs to be captured in reproschema", + "rdfs:label": "Additional Notes Object" + }, + { + "@id": "reproschema:randomMaxDelay", + "@type": "rdf:Property", + "schema:rangeIncludes": { + "@id": "schema:Text" + }, + "rdfs:comment": "Present activity/item within some random offset of activity available time up to the maximum specified by this ISO 8601 duration", + "rdfs:label": "randomMaxDelay" + }, + { + "@id": "reproschema:landingPage", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "schema:URL" + }, + { + "@id": "schema:Text" + } + ], + "rdfs:comment": "An element (by URL) to point to the protocol readme or landing page.", + "rdfs:label": "Landing page content" + }, + { + "@id": "reproschema:variableName", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalProperty" + } + }, + { + "@id": "reproschema:isAbout", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalProperty" + } + }, + { + "@id": "schema:valueRequired", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalProperty" + } + }, + { + "@id": "skos:prefLabel", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalProperty" + }, + "rdfs:comment": "The preferred label.", + "rdfs:label": "preferred label" + }, + { + "@id": "reproschema:isVis", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalProperty" + } + }, + { + "@id": "reproschema:randomMaxDelay", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalProperty" + } + }, + { + "@id": "reproschema:schedule", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalProperty" + } + }, + { + "@id": "reproschema:limit", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalProperty" + } + }, + { + "@id": "reproschema:maxRetakes", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:AdditionalProperty" + } + }, + { + "@id": "reproschema:AdditionalProperty", + "@type": "rdfs:Class", + "rdfs:comment": "An object to describe the various properties added to assessments and fields.", + "rdfs:label": "Additional properties" + }, + { + "@id": "reproschema:jsExpression", + "@type": "rdf:Property", + "schema:rangeIncludes": [ + { + "@id": "schema:Text" + }, + { + "@id": "schema:Boolean" + } + ], + "rdfs:comment": "A JavaScript expression to compute a score from other variables.", + "rdfs:label": "JavaScript Expression" + }, + { + "@id": "reproschema:variableName", + "schema:domainIncludes": { + "@id": "reproschema:OverrideProperty" + } + }, + { + "@id": "reproschema:isAbout", + "schema:domainIncludes": { + "@id": "reproschema:OverrideProperty" + } + }, + { + "@id": "schema:valueRequired", + "schema:domainIncludes": { + "@id": "reproschema:OverrideProperty" + } + }, + { + "@id": "skos:prefLabel", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:OverrideProperty" + }, + "rdfs:comment": "The preferred label.", + "rdfs:label": "preferred label" + }, + { + "@id": "reproschema:isVis", + "schema:domainIncludes": { + "@id": "reproschema:OverrideProperty" + } + }, + { + "@id": "reproschema:randomMaxDelay", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:OverrideProperty" + } + }, + { + "@id": "reproschema:schedule", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:OverrideProperty" + } + }, + { + "@id": "reproschema:limit", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:OverrideProperty" + } + }, + { + "@id": "reproschema:maxRetakes", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:OverrideProperty" + } + }, + { + "@id": "reproschema:OverrideProperty", + "@type": "rdfs:Class", + "rdfs:comment": "An object to override the various properties added to assessments and fields.", + "rdfs:label": "Additional properties" + }, + { + "@id": "reproschema:message", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:MessageSpecification" + } + }, + { + "@id": "reproschema:jsExpression", + "@type": "rdf:Property", + "schema:domainIncludes": { + "@id": "reproschema:MessageSpecification" + } + }, + { + "@id": "reproschema:MessageSpecification", + "@type": "rdfs:Class", + "rdfs:comment": "An object to define messages in an activity or protocol.", + "rdfs:label": "Message Specification" + } + ] +} diff --git a/releases/1.0.0-rc4/reproschema.nt b/releases/1.0.0-rc4/reproschema.nt new file mode 100644 index 0000000000..2552d7b0fb --- /dev/null +++ b/releases/1.0.0-rc4/reproschema.nt @@ -0,0 +1,351 @@ + . + "The identifier of a participant" . + "Participant identifier" . + . + . + . + . + "The subject matter of the Field." . + . + . + . + . + "A media object that encodes this CreativeWork. This property is a synonym for encoding." . + "associatedMedia" . + . + . + . + . + . + . + . + "An image of the item. This can be a URL or a fully described ImageObject." . + "image" . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + "An assessment in a protocol." . + "Activity" . + . + . + "A set of objects to define notes in a field. For example, most Redcap and NDA data dictionaries have notes for each item which needs to be captured in reproschema" . + "Additional Notes Object" . + . + "An object to describe the various properties added to assessments and fields." . + "Additional properties" . + . + "Indicates (by boolean) if data can be exported or not." . + "Allow export" . + . + "Indicates (by boolean) if items can be replayed or not." . + "Allow replay" . + . + "Indicates (by boolean) if assessments in a protocol can auto advance or not." . + "Auto advance" . + . + "An object to describe a response option." . + "Response choice" . + . + "An object to define computations in an activity or protocol." . + "Compute Specification" . + . + "Indicates (by boolean) if we can go back to a completed assessment in a protocol." . + "Disable redo" . + . + "An element to describe the choice when response is not known." . + "Do not know" . + . + . + . + "An item in an assessment." . + "Field" . + . + . + "An object to define messages in an activity or protocol." . + "Message Specification" . + . + "An object to override the various properties added to assessments and fields." . + "Additional properties" . + . + . + "An Agent describing characteristics associated with a participant." . + "Participant" . + . + . + . + . + "A representation of a study which comprises one or more assessments." . + "Protocol" . + . + . + . + "Describes the response of an item." . + "Response" . + . + . + . + "Captures information about some action that took place. It also links to information (entities) that were used during the activity" . + "ResponseActivity" . + . + . + "An element (object or by URL)to describe the properties of response of the Field item." . + "Response option" . + . + "An element to describe the choice when the item is skipped." . + "Skipped" . + . + . + "Captures information about some action that took place. It also links to information (entities) that were used during the activity" . + "Software Agent" . + . + "A boolean element to describe if the response did not occur within the prescribed time." . + "Response timed out" . + . + "An object to represent a human displayable name alongside the more formal value for units." . + "Unit options" . + . + . + . + . + "An array of objects to describe the various properties added to assessments and fields." . + "addProperties" . + . + . + . + "A set of objects to define notes in a field. For example, most Redcap and NDA data dictionaries have notes for each item which needs to be captured in reproschema." . + "additional notes" . + . + . + . + . + "An array of items indicating properties allowed on an activity or protocol " . + "allow" . + . + . + . + . + . + "An array to list the available options for response of the Field item." . + "choices" . + . + . + . + "An element to define the column name where the note was taken from." . + "column" . + . + . + . + . + "An array of objects indicating computations in an activity or protocol and maps it to the corresponding Field item. scoring logic is a subset of all computations that could be performed and not all computations will be scoring. For example, one may want to do conversion from one unit to another. " . + "computation" . + . + . + . + . + . + . + "Indicates what type of datum the response is (e.g. range,count,scalar etc.) for the Field item." . + "datumType" . + . + . + . + "An element to describe the input type of a Field item." . + "inputType" . + . + . + . + . + . + . + "A pointer to the node describing the item." . + "isAbout" . + . + . + . + . + . + "An element to describe (by boolean or conditional statement) visibility conditions of items in an assessment." . + "visibility" . + . + . + . + . + . + "A JavaScript expression for computations." . + "A JavaScript expression to compute a score from other variables." . + "JavaScript Expression" . + . + . + . + . + "An element (by URL) to point to the protocol readme or landing page." . + "Landing page content" . + . + . + . + . + "An element to limit the duration (uses ISO 8601) this activity is allowed to be completed by once activity is available." . + "limit" . + . + . + . + . + "Defines number of times the item is allowed to be redone." . + "maxRetakes" . + . + . + . + . + "The message to be conditionally displayed for an item. " . + "Message" . + . + . + . + . + "An array of objects to define conditional messages in an activity or protocol." . + "messages" . + . + . + . + "Indicates (by bool) if response for the Field item has one or more answer." . + "Multiple choice response expectation" . + . + . + . + . + . + . + "An ordered list to describe the order in which the items of an assessment or protocol appear in the user interface." . + "Order" . + . + . + . + . + "An array of objects to override the various properties added to assessments and fields." . + "overrideProperties" . + . + . + . + . + . + "The preamble for an assessment" . + "Preamble" . + . + . + . + . + "Present activity/item within some random offset of activity available time up to the maximum specified by this ISO 8601 duration" . + "randomMaxDelay" . + . + . + . + . + "An element (object or by URL)to describe the properties of response of the Field item." . + "Response options" . + . + . + . + . + . + "An element to set make activity available/repeat info using ISO 8601 repeating interval format." . + "Schedule" . + . + . + . + . + "An element (bool) to determine if the list of items is shuffled or in order." . + "Shuffle" . + . + . + . + "An element to define the source (eg. RedCap, NDA) where the note was taken from." . + "source" . + . + . + "Provides information on whether or not a field item wants to be accompanied by the additional status option(s) defined in “statusOptions”" . + "Status options" . + . + . + . + "A list of objects to represent a human displayable name alongside the more formal value for units." . + "unitOptions" . + . + . + . + . + . + . + . + . + . + "The value for each option in choices or in additionalNotesObj" . + "value" . + . + . + . + . + "The type of the response of an item. For example, string, integer, etc." . + "The type of the response" . + . + . + . + . + . + "The name used to represent an item." . + "variableName" . + . + . + . + . + . + "The alternate label." . + "alternate label" . + . + . + . + . + . + . + . + . + "The preferred label." . + "preferred label" . + . + . + . + . + . + . diff --git a/releases/1.0.0-rc4/reproschema.ttl b/releases/1.0.0-rc4/reproschema.ttl new file mode 100644 index 0000000000..29ccea7689 --- /dev/null +++ b/releases/1.0.0-rc4/reproschema.ttl @@ -0,0 +1,436 @@ +@prefix nidm: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix reproschema: . +@prefix schema: . +@prefix skos: . + +reproschema:Activity a nidm:Assessment, + rdfs:Class, + prov:Entity, + prov:Plan ; + rdfs:label "Activity" ; + rdfs:comment "An assessment in a protocol." ; + rdfs:subClassOf schema:CreativeWork . + +reproschema:AdditionalNoteObj a rdfs:Class ; + rdfs:label "Additional Notes Object" ; + rdfs:comment "A set of objects to define notes in a field. For example, most Redcap and NDA data dictionaries have notes for each item which needs to be captured in reproschema" . + +reproschema:AdditionalProperty a rdfs:Class ; + rdfs:label "Additional properties" ; + rdfs:comment "An object to describe the various properties added to assessments and fields." . + +reproschema:AllowExport a rdfs:Class ; + rdfs:label "Allow export" ; + rdfs:comment "Indicates (by boolean) if data can be exported or not." . + +reproschema:AllowReplay a rdfs:Class ; + rdfs:label "Allow replay" ; + rdfs:comment "Indicates (by boolean) if items can be replayed or not." . + +reproschema:AutoAdvance a rdfs:Class ; + rdfs:label "Auto advance" ; + rdfs:comment "Indicates (by boolean) if assessments in a protocol can auto advance or not." . + +reproschema:Choice a rdfs:Class ; + rdfs:label "Response choice" ; + rdfs:comment "An object to describe a response option." . + +reproschema:ComputeSpecification a rdfs:Class ; + rdfs:label "Compute Specification" ; + rdfs:comment "An object to define computations in an activity or protocol." . + +reproschema:DisableBack a rdfs:Class ; + rdfs:label "Disable redo" ; + rdfs:comment "Indicates (by boolean) if we can go back to a completed assessment in a protocol." . + +reproschema:DontKnow a rdfs:Class ; + rdfs:label "Do not know" ; + rdfs:comment "An element to describe the choice when response is not known." . + +reproschema:Field a nidm:DataElement, + rdfs:Class, + prov:Entity ; + rdfs:label "Field" ; + rdfs:comment "An item in an assessment." ; + rdfs:subClassOf schema:CreativeWork . + +reproschema:MessageSpecification a rdfs:Class ; + rdfs:label "Message Specification" ; + rdfs:comment "An object to define messages in an activity or protocol." . + +reproschema:OverrideProperty a rdfs:Class ; + rdfs:label "Additional properties" ; + rdfs:comment "An object to override the various properties added to assessments and fields." . + +reproschema:Participant a rdfs:Class, + prov:Person ; + rdfs:label "Participant" ; + rdfs:comment "An Agent describing characteristics associated with a participant." ; + rdfs:subClassOf prov:Agent . + +reproschema:Protocol a rdfs:Class, + prov:Entity, + prov:Plan ; + rdfs:label "Protocol" ; + rdfs:comment "A representation of a study which comprises one or more assessments." ; + rdfs:subClassOf schema:CreativeWork . + +reproschema:Response a rdfs:Class, + prov:Entity ; + rdfs:label "Response" ; + rdfs:comment "Describes the response of an item." ; + rdfs:subClassOf schema:CreativeWork . + +reproschema:ResponseActivity a rdfs:Class, + prov:Activity ; + rdfs:label "ResponseActivity" ; + rdfs:comment "Captures information about some action that took place. It also links to information (entities) that were used during the activity" ; + rdfs:subClassOf schema:CreativeWork . + +reproschema:ResponseOption a rdfs:Class ; + rdfs:label "Response option" ; + rdfs:comment "An element (object or by URL)to describe the properties of response of the Field item." . + +reproschema:Skipped a rdfs:Class ; + rdfs:label "Skipped" ; + rdfs:comment "An element to describe the choice when the item is skipped." . + +reproschema:SoftwareAgent a rdfs:Class, + prov:SoftwareAgent ; + rdfs:label "Software Agent" ; + rdfs:comment "Captures information about some action that took place. It also links to information (entities) that were used during the activity" . + +reproschema:TimedOut a rdfs:Class ; + rdfs:label "Response timed out" ; + rdfs:comment "A boolean element to describe if the response did not occur within the prescribed time." . + +reproschema:UnitOption a rdfs:Class ; + rdfs:label "Unit options" ; + rdfs:comment "An object to represent a human displayable name alongside the more formal value for units." . + +nidm:subject_id rdfs:label "Participant identifier" ; + schema:domainIncludes reproschema:Participant ; + rdfs:comment "The identifier of a participant" . + +schema:about a rdf:Property ; + schema:domainIncludes reproschema:Activity, + reproschema:Field, + reproschema:Protocol ; + rdfs:comment "The subject matter of the Field." . + +schema:associatedMedia a rdf:Property ; + rdfs:label "associatedMedia" ; + schema:domainIncludes reproschema:Activity, + reproschema:Field, + reproschema:Protocol ; + rdfs:comment "A media object that encodes this CreativeWork. This property is a synonym for encoding." . + +schema:citation schema:domainIncludes reproschema:Activity . + +schema:description schema:domainIncludes reproschema:Activity, + reproschema:Field, + reproschema:Protocol . + +schema:image a rdf:Property ; + rdfs:label "image" ; + schema:domainIncludes reproschema:Choice, + reproschema:Field ; + rdfs:comment "An image of the item. This can be a URL or a fully described ImageObject." . + +schema:inLanguage schema:domainIncludes reproschema:ResponseActivity . + +schema:isPartOf a rdf:Property ; + schema:domainIncludes reproschema:Field ; + schema:rangeIncludes reproschema:Activity . + +schema:maxValue schema:domainIncludes reproschema:ResponseOption . + +schema:minValue schema:domainIncludes reproschema:ResponseOption . + +schema:name schema:domainIncludes reproschema:Choice . + +schema:question a rdf:Property ; + schema:domainIncludes reproschema:Field . + +schema:readonlyValue a rdf:Property ; + schema:domainIncludes reproschema:Field . + +schema:schemaVersion a rdf:Property ; + schema:domainIncludes reproschema:Activity, + reproschema:Field, + reproschema:Protocol . + +schema:url schema:domainIncludes reproschema:SoftwareAgent . + +schema:valueRequired schema:domainIncludes reproschema:AdditionalProperty, + reproschema:OverrideProperty . + +schema:version a rdf:Property ; + schema:domainIncludes reproschema:Activity, + reproschema:Field, + reproschema:Protocol, + reproschema:SoftwareAgent . + +reproschema:addProperties a rdf:Property ; + rdfs:label "addProperties" ; + schema:domainIncludes reproschema:Activity, + reproschema:Protocol ; + schema:rangeIncludes reproschema:AdditionalProperty ; + rdfs:comment "An array of objects to describe the various properties added to assessments and fields." . + +reproschema:additionalNotesObj a rdf:Property ; + rdfs:label "additional notes" ; + schema:domainIncludes reproschema:Field ; + schema:rangeIncludes reproschema:AdditionalNoteObj ; + rdfs:comment "A set of objects to define notes in a field. For example, most Redcap and NDA data dictionaries have notes for each item which needs to be captured in reproschema." . + +reproschema:allow a rdf:Property ; + rdfs:label "allow" ; + schema:domainIncludes reproschema:Activity, + reproschema:Protocol ; + schema:rangeIncludes schema:Thing ; + rdfs:comment "An array of items indicating properties allowed on an activity or protocol " . + +reproschema:choices a rdf:Property ; + rdfs:label "choices" ; + schema:domainIncludes reproschema:ResponseOption ; + schema:rangeIncludes schema:URL, + reproschema:Choice ; + schema:sameAs schema:itemListElement ; + rdfs:comment "An array to list the available options for response of the Field item." . + +reproschema:column a rdf:Property ; + rdfs:label "column" ; + schema:domainIncludes reproschema:AdditionalNoteObj ; + schema:rangeIncludes rdf:langString ; + rdfs:comment "An element to define the column name where the note was taken from." . + +reproschema:compute a rdf:Property ; + rdfs:label "computation" ; + schema:domainIncludes reproschema:Activity, + reproschema:Protocol ; + schema:rangeIncludes reproschema:ComputeSpecification ; + rdfs:comment "An array of objects indicating computations in an activity or protocol and maps it to the corresponding Field item. scoring logic is a subset of all computations that could be performed and not all computations will be scoring. For example, one may want to do conversion from one unit to another. " . + +reproschema:cronTable schema:domainIncludes reproschema:Activity, + reproschema:Protocol . + +reproschema:datumType a rdf:Property ; + rdfs:label "datumType" ; + schema:domainIncludes reproschema:ResponseOption ; + schema:rangeIncludes schema:Text, + schema:URL ; + rdfs:comment "Indicates what type of datum the response is (e.g. range,count,scalar etc.) for the Field item." . + +reproschema:inputType a rdf:Property ; + rdfs:label "inputType" ; + schema:domainIncludes reproschema:Field ; + schema:rangeIncludes schema:Text ; + rdfs:comment "An element to describe the input type of a Field item." . + +reproschema:isAbout a rdf:Property ; + rdfs:label "isAbout" ; + schema:domainIncludes reproschema:AdditionalProperty, + reproschema:OverrideProperty, + reproschema:Response ; + schema:rangeIncludes reproschema:Activity, + reproschema:Field ; + rdfs:comment "A pointer to the node describing the item." . + +reproschema:isVis a rdf:Property ; + rdfs:label "visibility" ; + schema:domainIncludes reproschema:AdditionalProperty, + reproschema:OverrideProperty ; + schema:rangeIncludes schema:Boolean, + schema:Text ; + rdfs:comment "An element to describe (by boolean or conditional statement) visibility conditions of items in an assessment." . + +reproschema:jsExpression a rdf:Property ; + rdfs:label "JavaScript Expression" ; + schema:domainIncludes reproschema:ComputeSpecification, + reproschema:MessageSpecification ; + schema:rangeIncludes schema:Boolean, + schema:Text ; + rdfs:comment "A JavaScript expression for computations.", + "A JavaScript expression to compute a score from other variables." . + +reproschema:landingPage a rdf:Property ; + rdfs:label "Landing page content" ; + schema:domainIncludes reproschema:Protocol ; + schema:rangeIncludes schema:Text, + schema:URL ; + rdfs:comment "An element (by URL) to point to the protocol readme or landing page." . + +reproschema:limit a rdf:Property ; + rdfs:label "limit" ; + schema:domainIncludes reproschema:AdditionalProperty, + reproschema:OverrideProperty ; + schema:rangeIncludes schema:Text ; + rdfs:comment "An element to limit the duration (uses ISO 8601) this activity is allowed to be completed by once activity is available." . + +reproschema:maxRetakes a rdf:Property ; + rdfs:label "maxRetakes" ; + schema:domainIncludes reproschema:AdditionalProperty, + reproschema:OverrideProperty ; + schema:rangeIncludes schema:Number ; + rdfs:comment "Defines number of times the item is allowed to be redone." . + +reproschema:message a rdf:Property ; + rdfs:label "Message" ; + schema:domainIncludes reproschema:MessageSpecification ; + schema:rangeIncludes schema:Text, + rdf:langString ; + rdfs:comment "The message to be conditionally displayed for an item. " . + +reproschema:messages a rdf:Property ; + rdfs:label "messages" ; + schema:domainIncludes reproschema:Activity, + reproschema:Protocol ; + schema:rangeIncludes reproschema:MessageSpecification ; + rdfs:comment "An array of objects to define conditional messages in an activity or protocol." . + +reproschema:multipleChoice a rdf:Property ; + rdfs:label "Multiple choice response expectation" ; + schema:domainIncludes reproschema:ResponseOption ; + schema:rangeIncludes schema:Boolean ; + rdfs:comment "Indicates (by bool) if response for the Field item has one or more answer." . + +reproschema:order a rdf:Property ; + rdfs:label "Order" ; + schema:domainIncludes reproschema:Activity, + reproschema:Protocol ; + schema:rangeIncludes schema:URL, + reproschema:Activity, + reproschema:Field ; + rdfs:comment "An ordered list to describe the order in which the items of an assessment or protocol appear in the user interface." . + +reproschema:overrideProperties a rdf:Property ; + rdfs:label "overrideProperties" ; + schema:domainIncludes reproschema:Activity, + reproschema:Protocol ; + schema:rangeIncludes reproschema:OverrideProperty ; + rdfs:comment "An array of objects to override the various properties added to assessments and fields." . + +reproschema:preamble a rdf:Property ; + rdfs:label "Preamble" ; + schema:domainIncludes reproschema:Activity, + reproschema:Field ; + schema:rangeIncludes schema:Text, + rdf:langString ; + rdfs:comment "The preamble for an assessment" . + +reproschema:randomMaxDelay a rdf:Property ; + rdfs:label "randomMaxDelay" ; + schema:domainIncludes reproschema:AdditionalProperty, + reproschema:OverrideProperty ; + schema:rangeIncludes schema:Text ; + rdfs:comment "Present activity/item within some random offset of activity available time up to the maximum specified by this ISO 8601 duration" . + +reproschema:responseOptions a rdf:Property ; + rdfs:label "Response options" ; + schema:domainIncludes reproschema:Field ; + schema:rangeIncludes schema:URL, + reproschema:ResponseOption ; + rdfs:comment "An element (object or by URL)to describe the properties of response of the Field item." . + +reproschema:schedule a rdf:Property ; + rdfs:label "Schedule" ; + schema:domainIncludes reproschema:AdditionalProperty, + reproschema:OverrideProperty ; + schema:rangeIncludes schema:Schedule, + schema:Text ; + rdfs:comment "An element to set make activity available/repeat info using ISO 8601 repeating interval format." . + +reproschema:shuffle a rdf:Property ; + rdfs:label "Shuffle" ; + schema:domainIncludes reproschema:Activity, + reproschema:Protocol ; + schema:rangeIncludes schema:boolean ; + rdfs:comment "An element (bool) to determine if the list of items is shuffled or in order." . + +reproschema:source a rdf:Property ; + rdfs:label "source" ; + schema:domainIncludes reproschema:AdditionalNoteObj ; + schema:rangeIncludes rdf:langString ; + rdfs:comment "An element to define the source (eg. RedCap, NDA) where the note was taken from." . + +reproschema:statusOptions a rdf:Property ; + rdfs:label "Status options" ; + schema:rangeIncludes schema:Text ; + rdfs:comment "Provides information on whether or not a field item wants to be accompanied by the additional status option(s) defined in “statusOptions”" . + +reproschema:unitOptions a rdf:Property ; + rdfs:label "unitOptions" ; + schema:domainIncludes reproschema:ResponseOption ; + schema:rangeIncludes reproschema:UnitOption ; + rdfs:comment "A list of objects to represent a human displayable name alongside the more formal value for units." . + +reproschema:value a rdf:Property ; + rdfs:label "value" ; + schema:domainIncludes reproschema:AdditionalNoteObj, + reproschema:UnitOption ; + schema:rangeIncludes schema:Boolean, + schema:Number, + schema:StructuredValue, + schema:Text, + schema:URL ; + schema:sameAs schema:value ; + rdfs:comment "The value for each option in choices or in additionalNotesObj" . + +reproschema:valueType a rdf:Property ; + rdfs:label "The type of the response" ; + schema:domainIncludes reproschema:ResponseOption ; + schema:rangeIncludes schema:Text, + rdf:langString ; + rdfs:comment "The type of the response of an item. For example, string, integer, etc." . + +reproschema:variableName a rdf:Property ; + rdfs:label "variableName" ; + schema:domainIncludes reproschema:AdditionalProperty, + reproschema:ComputeSpecification, + reproschema:OverrideProperty ; + schema:rangeIncludes schema:Text ; + rdfs:comment "The name used to represent an item." . + +skos:altLabel a rdf:Property ; + rdfs:label "alternate label" ; + schema:domainIncludes reproschema:Activity, + reproschema:Field, + reproschema:Protocol ; + schema:rangeIncludes schema:Text ; + rdfs:comment "The alternate label." . + +skos:prefLabel a rdf:Property ; + rdfs:label "preferred label" ; + schema:domainIncludes reproschema:Activity, + reproschema:AdditionalProperty, + reproschema:Field, + reproschema:OverrideProperty, + reproschema:Protocol, + reproschema:UnitOption ; + schema:rangeIncludes schema:Text ; + rdfs:comment "The preferred label." . + +prov:endedAtTime schema:domainIncludes reproschema:ResponseActivity . + +prov:generated schema:domainIncludes reproschema:ResponseActivity . + +prov:startedAtTime schema:domainIncludes reproschema:ResponseActivity . + +prov:used schema:domainIncludes reproschema:ResponseActivity . + +prov:wasAttributedTo schema:domainIncludes reproschema:Response ; + schema:rangeIncludes reproschema:Participant . + +schema:value schema:domainIncludes reproschema:Choice, + reproschema:Response ; + schema:rangeIncludes schema:Boolean, + schema:Number, + schema:StructuredValue, + schema:Text, + schema:URL, + reproschema:DontKnow, + reproschema:Skipped . diff --git a/scripts/editProperties.py b/scripts/editProperties.py index afbae35a42..5ee4735abe 100644 --- a/scripts/editProperties.py +++ b/scripts/editProperties.py @@ -22,7 +22,6 @@ def edit_properties(version): "Response", "Participant", "SoftwareAgent", - "AdditionalNoteObj" ] with open("docs/30_schema.md") as fp: diff --git a/validation/reproschema-shacl.ttl b/validation/reproschema-shacl.ttl index d6841e73ac..d0156a938e 100644 --- a/validation/reproschema-shacl.ttl +++ b/validation/reproschema-shacl.ttl @@ -24,7 +24,8 @@ reproschema:ActivityShape a sh:NodeShape ; [ sh:datatype rdf:langString ; sh:path schema:citation ], - [ sh:or ( [ sh:datatype xsd:anyURI ; sh:pattern "((http|https)://)(www.)?[a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)" ] [sh:node reproschema:MediaObjectShape] ) ; + [ sh:or ( [ sh:nodeKind sh:IRI; ] + [sh:node reproschema:MediaObjectShape] ) ; sh:path schema:image ], [ sh:node reproschema:MediaObjectShape ; @@ -101,7 +102,8 @@ reproschema:FieldShape a sh:NodeShape ; [ sh:datatype rdf:langString ; sh:path reproschema:preamble ], - [ sh:or ( [ sh:datatype xsd:anyURI ; sh:pattern "((http|https)://)(www.)?[a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)" ] [sh:node reproschema:MediaObjectShape] ) ; + [ sh:or ( [ sh:nodeKind sh:IRI ] + [ sh:node reproschema:MediaObjectShape] ) ; sh:path schema:image ], [ sh:node reproschema:MediaObjectShape ; @@ -149,7 +151,8 @@ reproschema:ProtocolShape a sh:NodeShape ; sh:maxCount 1 ; sh:path schema:about ], - [ sh:or ( [ sh:datatype xsd:anyURI ; sh:pattern "((http|https)://)(www.)?[a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)" ] [sh:node reproschema:MediaObjectShape] ) ; + [ sh:or ( [ sh:nodeKind sh:IRI] + [sh:node reproschema:MediaObjectShape] ) ; sh:path schema:image ], [ sh:node reproschema:MediaObjectShape ; @@ -158,8 +161,7 @@ reproschema:ProtocolShape a sh:NodeShape ; [ sh:node reproschema:MediaObjectShape ; sh:path schema:video ], - [ sh:datatype xsd:anyURI ; - sh:pattern "((http|https)://)(www.)?[a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)" ; + [ sh:node reproschema:LandingPageShape; sh:path reproschema:landingPage ], [ sh:datatype rdf:langString ; @@ -199,6 +201,14 @@ reproschema:ProtocolShape a sh:NodeShape ; sh:path reproschema:allow ] ; sh:targetClass reproschema:Protocol . +reproschema:LandingPageShape a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype rdf:langString ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:path schema:inLanguage ] . + reproschema:ResponseOptionsShape a sh:NodeShape ; sh:closed true ; sh:ignoredProperties ( rdf:type ) ; @@ -327,7 +337,7 @@ reproschema:OverridePropertiesShape a sh:NodeShape ; reproschema:ChoicesShape a sh:NodeShape ; sh:closed true ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:or ( [ sh:datatype xsd:anyURI ; sh:pattern "((http|https)://)(www.)?[a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)" ] [sh:node reproschema:MediaObjectShape] ) ; + sh:property [ sh:or ( [ sh:nodeKind sh:IRI ] [sh:node reproschema:MediaObjectShape] ) ; sh:path schema:image ], [ sh:datatype rdf:langString ; @@ -354,9 +364,8 @@ reproschema:IsVisShape a sh:NodeShape ; sh:minCount 1 ; sh:path schema:method ], - [ sh:datatype xsd:anyURI ; + [ sh:nodeKind sh:IRI ; sh:minCount 1 ; - sh:pattern "((http|https)://)(www.)?[a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)" ; sh:path schema:url ], [ sh:datatype rdf:langString ; @@ -449,15 +458,16 @@ prov:SoftwareAgentShape a sh:NodeShape ; sh:property [ sh:datatype rdf:langString ; sh:path schema:version ], - [ sh:datatype xsd:anyURI ; - sh:pattern "((http|https)://)(www.)?[a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)" ; + [ sh:nodeKind sh:IRI ; sh:path schema:url ] ; sh:targetClass reproschema:SoftwareAgent . reproschema:MediaObjectShape a sh:NodeShape ; sh:closed true; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:anyURI ; + sh:property [ sh:nodeKind sh:IRI ; sh:minCount 1 ; - sh:pattern "((http|https)://)(www.)?[a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)" ; - sh:path schema:contentUrl ] . + sh:path schema:contentUrl ], + [ sh:datatype rdf:langString ; + sh:maxCount 1 ; + sh:path schema:inLanguage ] .