Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ five-safes-crate:DownloadedWorkflowSHOULDExistAndBeReferencedByDownloadActionRes
}
""" ;
sh:severity sh:Info ;
sh:message "The entity representing the downloaded workflow is not defined, OR is not referenced by `DownloadAction` --> `result`, OR is not of type `schema:Dataset`." ;
sh:message "The entity representing the downloaded workflow is not defined, OR is not referenced by `DownloadAction` --> `result`, OR is not of type `Dataset`." ;
] ;
] .

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ five-safes-crate:CheckValueObjectHasDescriptiveNameAndIsAssessAction
sh:minCount 1 ;
sh:hasValue schema:AssessAction;
sh:severity sh:Violation ;
sh:message "CheckValue MUST be a `schema:AssessAction`." ;
sh:message "CheckValue MUST be a `AssessAction`." ;
] ;

sh:property [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ five-safes-crate:ValidationCheckObjectHasDescriptiveNameAndIsAssessAction
sh:minCount 1 ;
sh:hasValue schema:AssessAction;
sh:severity sh:Violation ;
sh:message "ValidationCheck MUST be a `schema:AssessAction`." ;
sh:message "ValidationCheck MUST be a `AssessAction`." ;
] ;

sh:property [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ five-safes-crate:ResponsibleProject
sh:path schema:funding;
sh:class schema:Grant ;
sh:severity sh:Violation ;
sh:message """The property 'funding' of the Responsible Project MUST be of type schema:Grant.""" ;
sh:message """The property 'funding' of the Responsible Project MUST be of type Grant.""" ;
] ;

sh:property [
Expand All @@ -55,5 +55,5 @@ five-safes-crate:ResponsibleProject
[ sh:class schema:Person ]
) ;
sh:severity sh:Violation ;
sh:message """The property 'member' of the Responsible Project MUST be of type schema:Organization or schema:Person.""" ;
sh:message """The property 'member' of the Responsible Project MUST be of type schema:Organization or Person.""" ;
] .
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ five-safes-crate:CreateActionHasAgent
a sh:NodeShape ;
sh:name "CreateAction" ;
sh:targetClass schema:CreateAction ;
sh:description "Checks that a CreateAction has an agent and that each agent is a schema:Person." ;
sh:description "Checks that a CreateAction has an agent and that each agent is a Person." ;

# CreateAction entity MUST have an agent (IRI)
sh:property [
Expand All @@ -37,7 +37,7 @@ five-safes-crate:CreateActionHasAgent
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:severity sh:Violation ;
sh:message "CreateAction MUST have at least one schema:agent that is a contextual entity." ;
sh:message "CreateAction MUST have at least one agent that is a contextual entity." ;
] ;

# The agent of a CreateAction entity MUST be a Person
Expand All @@ -48,7 +48,7 @@ five-safes-crate:CreateActionHasAgent
sh:nodeKind sh:IRI ;
sh:class schema:Person ;
sh:severity sh:Violation ;
sh:message "Each CreateAction agent MUST be typed as schema:Person." ;
sh:message "Each CreateAction agent MUST be typed as Person." ;
] ;

# If any agent affiliation exists, it MUST be an Organization (IRI)
Expand All @@ -59,5 +59,5 @@ five-safes-crate:CreateActionHasAgent
sh:class schema:Organization ;
sh:nodeKind sh:IRI ;
sh:severity sh:Violation ;
sh:message "The affiliation of a CreateAction's agent MUST be a contextual entity with type schema:Organization." ;
sh:message "The affiliation of a CreateAction's agent MUST be a contextual entity with type Organization." ;
] .
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ five-safes-crate:SignOffObjectActionAndName
sh:minCount 1 ;
sh:hasValue schema:AssessAction;
sh:severity sh:Violation ;
sh:message "Sign Off phase MUST be a `schema:AssessAction`." ;
sh:message "Sign Off phase MUST be a `AssessAction`." ;
] .

five-safes-crate:SignOffObjectHasActionStatus
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ five-safes-crate:ReferenceToWorkflowCrate
sh:maxCount 1 ;
sh:nodeKind sh:IRI ;
sh:severity sh:Violation ;
sh:message "The RootDataEntity MUST have exactly one schema:mainEntity property that is an IRI." ;
sh:message "The RootDataEntity MUST have exactly one mainEntity property that is an IRI." ;
] ;

# The mainEntity of a RootDataEntity MUST be a Dataset
Expand All @@ -48,7 +48,7 @@ five-safes-crate:ReferenceToWorkflowCrate
sh:path schema:mainEntity ;
sh:class schema:Dataset ;
sh:severity sh:Violation ;
sh:message "The mainEntity pointed to by the RootDataEntity MUST be of type schema:Dataset" ;
sh:message "The mainEntity pointed to by the RootDataEntity MUST be of type Dataset" ;
] .

five-safes-crate:mainEntityHasProperConformsTo
Expand All @@ -63,7 +63,7 @@ five-safes-crate:mainEntityHasProperConformsTo
sh:minCount 1 ;
sh:maxCount 1 ;
sh:severity sh:Violation ;
sh:message "mainEntity MUST have one and only one `purl:conformsTo` property." ;
sh:message "mainEntity MUST have one and only one `conformsTo` property." ;
] ;
sh:sparql [
a sh:SPARQLConstraint ;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ five-safes-crate:CreateActionInstrumentAndStatus
sh:path schema:instrument;
sh:minCount 1 ;
sh:severity sh:Violation ;
sh:message "`CreateAction` MUST have the `schema:instrument` property" ;
sh:message "`CreateAction` MUST have the `instrument` property" ;
] ;
sh:sparql [
a sh:SPARQLConstraint ;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ five-safes-crate:DisclosureObjectHasDescriptiveNameAndIsAssessAction
sh:property [
a sh:PropertyShape ;
sh:name "AssessAction" ;
sh:description "`DisclosureCheck` MUST be a `schema:AssessAction`." ;
sh:description "`DisclosureCheck` MUST be a `AssessAction`." ;
sh:path rdf:type ;
sh:minCount 1 ;
sh:hasValue schema:AssessAction;
sh:severity sh:Violation ;
sh:message "`DisclosureCheck` MUST be a `schema:AssessAction`." ;
sh:message "`DisclosureCheck` MUST be a `AssessAction`." ;
] ;

sh:property [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ five-safes-crate:CreateActionHasResultIfActionCompleted
sh:path schema:result ;
sh:minCount 1 ;
sh:severity sh:Warning ;
sh:message "`CreateAction` with CompletedActionStatus SHOULD have the `schema:result` property." ;
sh:message "`CreateAction` with CompletedActionStatus SHOULD have the `result` property." ;
] .


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ five-safes-crate:CheckValueInstrumentShouldPointToEntityTypedDefinedTerm
sh:minCount 1 ;
sh:class schema:DefinedTerm ;
sh:severity sh:Warning ;
sh:message "`CheckValue` --> `instrument` SHOULD point to an entity typed `schema:DefinedTerm`" ;
sh:message "`CheckValue` --> `instrument` SHOULD point to an entity typed `DefinedTerm`" ;
] .


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ def test_completed_createaction_does_not_have_result():
expected_validation_result=False,
expected_triggered_requirements=["CreateAction"],
expected_triggered_issues=[
"`CreateAction` with CompletedActionStatus SHOULD have the `schema:result` property."
"`CreateAction` with CompletedActionStatus SHOULD have the `result` property."
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def test_5src_check_value_not_of_type_assess_action():
requirement_severity=Severity.REQUIRED,
expected_validation_result=False,
expected_triggered_requirements=["CheckValue"],
expected_triggered_issues=["CheckValue MUST be a `schema:AssessAction`."],
expected_triggered_issues=["CheckValue MUST be a `AssessAction`."],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
)
Expand Down Expand Up @@ -269,7 +269,7 @@ def test_5src_check_value_instrument_does_not_point_to_entity_with_type_defined_
expected_validation_result=False,
expected_triggered_requirements=["CheckValue"],
expected_triggered_issues=[
"`CheckValue` --> `instrument` SHOULD point to an entity typed `schema:DefinedTerm`"
"`CheckValue` --> `instrument` SHOULD point to an entity typed `DefinedTerm`"
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def test_5src_validation_check_not_of_type_assess_action():
requirement_severity=Severity.REQUIRED,
expected_validation_result=False,
expected_triggered_requirements=["ValidationCheck"],
expected_triggered_issues=["ValidationCheck MUST be a `schema:AssessAction`."],
expected_triggered_issues=["ValidationCheck MUST be a `AssessAction`."],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -387,7 +387,7 @@ def test_5src_downloaded_workflow_is_not_represented_by_its_own_entity():
(
"The entity representing the downloaded workflow is not defined, "
"OR is not referenced by `DownloadAction` --> `result`, "
"OR is not of type `schema:Dataset`."
"OR is not of type `Dataset`."
)
],
profile_identifier="five-safes-crate",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def test_5src_responsible_project_funding_not_grant():
expected_validation_result=False,
expected_triggered_requirements=["Responsible Project"],
expected_triggered_issues=[
"The property 'funding' of the Responsible Project MUST be of type schema:Grant."
"The property 'funding' of the Responsible Project MUST be of type Grant."
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down Expand Up @@ -95,7 +95,7 @@ def test_5src_responsible_project_member_not_organization():
expected_validation_result=False,
expected_triggered_requirements=["Responsible Project"],
expected_triggered_issues=[
"The property 'member' of the Responsible Project MUST be of type schema:Organization or schema:Person."
"The property 'member' of the Responsible Project MUST be of type schema:Organization or Person."
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def test_createaction_does_not_have_agent():
expected_validation_result=False,
expected_triggered_requirements=["CreateAction"],
expected_triggered_issues=[
"CreateAction MUST have at least one schema:agent that is a contextual entity."
"CreateAction MUST have at least one agent that is a contextual entity."
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down Expand Up @@ -85,9 +85,7 @@ def test_createaction_agent_is_not_person():
requirement_severity=Severity.REQUIRED,
expected_validation_result=False,
expected_triggered_requirements=["CreateAction"],
expected_triggered_issues=[
"Each CreateAction agent MUST be typed as schema:Person."
],
expected_triggered_issues=["Each CreateAction agent MUST be typed as Person."],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
)
Expand Down Expand Up @@ -124,7 +122,7 @@ def test_agent_affiliation_not_organization():
expected_validation_result=False,
expected_triggered_requirements=["CreateAction"],
expected_triggered_issues=[
"The affiliation of a CreateAction's agent MUST be a contextual entity with type schema:Organization."
"The affiliation of a CreateAction's agent MUST be a contextual entity with type Organization."
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ def test_5src_signoff_phase_wrong_type():
requirement_severity=Severity.REQUIRED,
expected_validation_result=False,
expected_triggered_requirements=["SignOff"],
expected_triggered_issues=["Sign Off phase MUST be a `schema:AssessAction`."],
expected_triggered_issues=["Sign Off phase MUST be a `AssessAction`."],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ def test_5src_root_data_entity_two_main_entities():
expected_validation_result=False,
expected_triggered_requirements=["RootDataEntity"],
expected_triggered_issues=[
"The RootDataEntity MUST have exactly one schema:mainEntity property that is an IRI."
"The RootDataEntity MUST have exactly one mainEntity property that is an IRI."
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down Expand Up @@ -79,7 +79,7 @@ def test_5src_root_data_entity_no_main_entity():
expected_validation_result=False,
expected_triggered_requirements=["RootDataEntity"],
expected_triggered_issues=[
"The RootDataEntity MUST have exactly one schema:mainEntity property that is an IRI."
"The RootDataEntity MUST have exactly one mainEntity property that is an IRI."
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down Expand Up @@ -114,7 +114,7 @@ def test_5src_root_data_entity_main_entity_not_dataset_iri():
expected_validation_result=False,
expected_triggered_requirements=["RootDataEntity"],
expected_triggered_issues=[
"The mainEntity pointed to by the RootDataEntity MUST be of type schema:Dataset"
"The mainEntity pointed to by the RootDataEntity MUST be of type Dataset"
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down Expand Up @@ -146,7 +146,7 @@ def test_5src_main_entity_conformsTo_absent():
expected_validation_result=False,
expected_triggered_requirements=["mainEntity"],
expected_triggered_issues=[
"mainEntity MUST have one and only one `purl:conformsTo` property."
"mainEntity MUST have one and only one `conformsTo` property."
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down Expand Up @@ -179,7 +179,7 @@ def test_5src_main_entity_has_two_conformsto():
expected_validation_result=False,
expected_triggered_requirements=["mainEntity"],
expected_triggered_issues=[
"mainEntity MUST have one and only one `purl:conformsTo` property."
"mainEntity MUST have one and only one `conformsTo` property."
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand All @@ -188,7 +188,7 @@ def test_5src_main_entity_has_two_conformsto():

def test_5src_main_entity_conformsTo_invalid():
"""
Test a Five Safes Crate where the mainEntity's purl:conformsTo IRI does NOT start with
Test a Five Safes Crate where the mainEntity's conformsTo IRI does NOT start with
"https://w3id.org/workflowhub/workflow-ro-crate" (violates the SHACL SPARQL constraint).
"""
sparql = (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ def test_createaction_does_not_have_instrument_property():
expected_validation_result=False,
expected_triggered_requirements=["CreateAction"],
expected_triggered_issues=[
"`CreateAction` MUST have the `schema:instrument` property"
"`CreateAction` MUST have the `instrument` property"
],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,7 @@ def test_5src_disclosure_object_not_an_assess_action():
requirement_severity=Severity.REQUIRED,
expected_validation_result=False,
expected_triggered_requirements=["DisclosureCheck"],
expected_triggered_issues=[
"`DisclosureCheck` MUST be a `schema:AssessAction`."
],
expected_triggered_issues=["`DisclosureCheck` MUST be a `AssessAction`."],
profile_identifier="five-safes-crate",
rocrate_entity_mod_sparql=sparql,
)
Expand Down