diff --git a/pf_test_assets_031524.tsv b/pf_test_assets_031524.tsv index 1a4ef7f..9a8c765 100644 --- a/pf_test_assets_031524.tsv +++ b/pf_test_assets_031524.tsv @@ -39,8 +39,8 @@ Asset:131 Treats Inferred Hereditary Sensory And Autonomic Neuropathy Type MONDO Asset:132 Treats Inferred Hereditary Sensory And Autonomic Neuropathy Type MONDO:0015364 PUBCHEM.COMPOUND:84098 Isoxaflutole 4_NeverShow Sandrine Muller Asset:133 Treats Inferred Hereditary sensory and autonomic neuropathy type 4 MONDO:0009746 PUBCHEM.COMPOUND:5462310 Carbon 4_NeverShow https://github.com/NCATSTranslator/Feedback/issues/404 Sandrine Muller Asset:134 Treats Inferred Hereditary sensory and autonomic neuropathy type 4 MONDO:0009746 UNII:E211KPY694 Botulinum toxin type a 4_NeverShow https://github.com/NCATSTranslator/Feedback/issues/405 Sandrine Muller -Asset:135 decreases activity or abundance of Inferred DDX3Y NCBI Gene:8653 UMLS:C0311474 dna double stranded 4_NeverShow https://github.com/NCATSTranslator/Feedback/issues/384 Sandrine Muller DDX3Y -Asset:136 decreases activity or abundance of Inferred DDX3Y NCBI Gene:8653 UMLS:C1328819 Small molecule 4_NeverShow https://github.com/NCATSTranslator/Feedback/issues/384 Sandrine Muller DDX3Y +Asset:135 decreases activity or abundance of Inferred DDX3Y NCBIGene:8653 UMLS:C0311474 dna double stranded 4_NeverShow https://github.com/NCATSTranslator/Feedback/issues/384 Sandrine Muller DDX3Y +Asset:136 decreases activity or abundance of Inferred DDX3Y NCBIGene:8653 UMLS:C1328819 Small molecule 4_NeverShow https://github.com/NCATSTranslator/Feedback/issues/384 Sandrine Muller DDX3Y Asset:137 Treats Inferred Hereditary sensory and autonomic neuropathy type 4 MONDO:0009746 PUBCHEM.COMPOUND:4096 Methamidophos 4_NeverShow Sandrine Muller Asset:138 Treats Inferred Malignant Hyperthermia Of Anesthesia MONDO:0018493 PUBCHEM.COMPOUND:3562 Halothane 4_NeverShow https://github.com/NCATSTranslator/Feedback/issues/362 Sandrine Muller Asset:139 Treats Inferred Malignant Hyperthermia Of Anesthesia MONDO:0018493 PUBCHEM.COMPOUND:3763 isoflurane 4_NeverShow https://github.com/NCATSTranslator/Feedback/issues/362 Sandrine Muller diff --git a/project/excel/translator_testing_model.xlsx b/project/excel/translator_testing_model.xlsx index 71f6aae..64a7ee9 100644 Binary files a/project/excel/translator_testing_model.xlsx and b/project/excel/translator_testing_model.xlsx differ diff --git a/project/graphql/translator_testing_model.graphql b/project/graphql/translator_testing_model.graphql index 3c8bbbc..953a3b7 100644 --- a/project/graphql/translator_testing_model.graphql +++ b/project/graphql/translator_testing_model.graphql @@ -20,11 +20,6 @@ type AcceptanceTestAsset testReference: Uriorcurie runnerSettings: [String]! testMetadata: TestMetadata! - biolinkQualifiedPredicate: Uriorcurie - biolinkSubjectAspectQualifier: String - biolinkSubjectDirectionQualifier: String - biolinkObjectAspectQualifier: String - biolinkObjectDirectionQualifier: String id: Uriorcurie! tags: [String] mustPassDate: Date @@ -217,11 +212,6 @@ type TestAsset testReference: Uriorcurie runnerSettings: [String]! testMetadata: TestMetadata! - biolinkQualifiedPredicate: Uriorcurie - biolinkSubjectAspectQualifier: String - biolinkSubjectDirectionQualifier: String - biolinkObjectAspectQualifier: String - biolinkObjectDirectionQualifier: String id: Uriorcurie! tags: [String] } @@ -279,11 +269,6 @@ type TestEdgeData testReference: Uriorcurie runnerSettings: [String]! testMetadata: TestMetadata! - biolinkQualifiedPredicate: Uriorcurie - biolinkSubjectAspectQualifier: String - biolinkSubjectDirectionQualifier: String - biolinkObjectAspectQualifier: String - biolinkObjectDirectionQualifier: String id: Uriorcurie! tags: [String] } diff --git a/project/jsonld/translator_testing_model.context.jsonld b/project/jsonld/translator_testing_model.context.jsonld index 19dac44..41c4a2c 100644 --- a/project/jsonld/translator_testing_model.context.jsonld +++ b/project/jsonld/translator_testing_model.context.jsonld @@ -1,7 +1,7 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2024-03-15T17:20:08", + "generation_date": "2024-03-18T12:26:22", "source": "translator_testing_model.yaml" }, "@context": { diff --git a/project/jsonld/translator_testing_model.jsonld b/project/jsonld/translator_testing_model.jsonld index a921d21..62cd6bf 100644 --- a/project/jsonld/translator_testing_model.jsonld +++ b/project/jsonld/translator_testing_model.jsonld @@ -1148,10 +1148,6 @@ "description": "The aspect of the subject of the test asset predicate", "from_schema": "https://w3id.org/TranslatorSRI/TranslatorTestingModel", "slot_uri": "https://w3id.org/TranslatorSRI/TranslatorTestingModel/biolink_subject_aspect_qualifier", - "owner": "TestAsset", - "domain_of": [ - "TestAsset" - ], "range": "string", "@type": "SlotDefinition" }, @@ -1161,10 +1157,6 @@ "description": "The direction of the subject of the test asset predicate", "from_schema": "https://w3id.org/TranslatorSRI/TranslatorTestingModel", "slot_uri": "https://w3id.org/TranslatorSRI/TranslatorTestingModel/biolink_subject_direction_qualifier", - "owner": "TestAsset", - "domain_of": [ - "TestAsset" - ], "range": "string", "@type": "SlotDefinition" }, @@ -1174,10 +1166,6 @@ "description": "The aspect of the object of the test asset predicate", "from_schema": "https://w3id.org/TranslatorSRI/TranslatorTestingModel", "slot_uri": "https://w3id.org/TranslatorSRI/TranslatorTestingModel/biolink_object_aspect_qualifier", - "owner": "TestAsset", - "domain_of": [ - "TestAsset" - ], "range": "string", "@type": "SlotDefinition" }, @@ -1187,10 +1175,6 @@ "description": "The direction of the object of the test asset predicate", "from_schema": "https://w3id.org/TranslatorSRI/TranslatorTestingModel", "slot_uri": "https://w3id.org/TranslatorSRI/TranslatorTestingModel/biolink_object_direction_qualifier", - "owner": "TestAsset", - "domain_of": [ - "TestAsset" - ], "range": "string", "@type": "SlotDefinition" }, @@ -1200,10 +1184,6 @@ "description": "The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset.", "from_schema": "https://w3id.org/TranslatorSRI/TranslatorTestingModel", "slot_uri": "https://w3id.org/TranslatorSRI/TranslatorTestingModel/biolink_qualified_predicate", - "owner": "TestAsset", - "domain_of": [ - "TestAsset" - ], "range": "uriorcurie", "@type": "SlotDefinition" }, @@ -2189,11 +2169,6 @@ "test_reference", "TestAsset_runner_settings", "test_metadata", - "biolink_qualified_predicate", - "biolink_subject_aspect_qualifier", - "biolink_subject_direction_qualifier", - "biolink_object_aspect_qualifier", - "biolink_object_direction_qualifier", "TestAsset_id", "TestAsset_tags" ], @@ -2228,11 +2203,6 @@ "test_reference", "TestAsset_runner_settings", "test_metadata", - "biolink_qualified_predicate", - "biolink_subject_aspect_qualifier", - "biolink_subject_direction_qualifier", - "biolink_object_aspect_qualifier", - "biolink_object_direction_qualifier", "TestAsset_id", "TestAsset_tags", "must_pass_date", @@ -2277,11 +2247,6 @@ "test_reference", "TestAsset_runner_settings", "test_metadata", - "biolink_qualified_predicate", - "biolink_subject_aspect_qualifier", - "biolink_subject_direction_qualifier", - "biolink_object_aspect_qualifier", - "biolink_object_direction_qualifier", "TestAsset_id", "TestAsset_tags" ], @@ -2681,9 +2646,9 @@ ], "metamodel_version": "1.7.0", "source_file": "translator_testing_model.yaml", - "source_file_date": "2024-03-15T17:18:34", - "source_file_size": 27665, - "generation_date": "2024-03-15T17:20:09", + "source_file_date": "2024-03-18T12:26:09", + "source_file_size": 27461, + "generation_date": "2024-03-18T12:26:22", "@type": "SchemaDefinition", "@context": [ "project/jsonld/translator_testing_model.context.jsonld", diff --git a/project/jsonschema/translator_testing_model.schema.json b/project/jsonschema/translator_testing_model.schema.json index 9fddfe1..3524f75 100644 --- a/project/jsonschema/translator_testing_model.schema.json +++ b/project/jsonschema/translator_testing_model.schema.json @@ -12,26 +12,6 @@ "description": "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement", "type": "string" }, - "biolink_object_aspect_qualifier": { - "description": "The aspect of the object of the test asset predicate", - "type": "string" - }, - "biolink_object_direction_qualifier": { - "description": "The direction of the object of the test asset predicate", - "type": "string" - }, - "biolink_qualified_predicate": { - "description": "The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset.", - "type": "string" - }, - "biolink_subject_aspect_qualifier": { - "description": "The aspect of the subject of the test asset predicate", - "type": "string" - }, - "biolink_subject_direction_qualifier": { - "description": "The direction of the subject of the test asset predicate", - "type": "string" - }, "description": { "description": "A human-readable description for a Test Entity", "type": "string" @@ -888,26 +868,6 @@ "description": "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement", "type": "string" }, - "biolink_object_aspect_qualifier": { - "description": "The aspect of the object of the test asset predicate", - "type": "string" - }, - "biolink_object_direction_qualifier": { - "description": "The direction of the object of the test asset predicate", - "type": "string" - }, - "biolink_qualified_predicate": { - "description": "The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset.", - "type": "string" - }, - "biolink_subject_aspect_qualifier": { - "description": "The aspect of the subject of the test asset predicate", - "type": "string" - }, - "biolink_subject_direction_qualifier": { - "description": "The direction of the subject of the test asset predicate", - "type": "string" - }, "description": { "description": "A human-readable description for a Test Entity", "type": "string" @@ -1272,26 +1232,6 @@ "description": "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement", "type": "string" }, - "biolink_object_aspect_qualifier": { - "description": "The aspect of the object of the test asset predicate", - "type": "string" - }, - "biolink_object_direction_qualifier": { - "description": "The direction of the object of the test asset predicate", - "type": "string" - }, - "biolink_qualified_predicate": { - "description": "The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset.", - "type": "string" - }, - "biolink_subject_aspect_qualifier": { - "description": "The aspect of the subject of the test asset predicate", - "type": "string" - }, - "biolink_subject_direction_qualifier": { - "description": "The direction of the subject of the test asset predicate", - "type": "string" - }, "description": { "description": "A human-readable description for a Test Entity", "type": "string" diff --git a/project/owl/translator_testing_model.owl.ttl b/project/owl/translator_testing_model.owl.ttl index d44efcd..5fdf771 100644 --- a/project/owl/translator_testing_model.owl.ttl +++ b/project/owl/translator_testing_model.owl.ttl @@ -12,10 +12,10 @@ ttm:AcceptanceTestCase a owl:Class, linkml:ClassDefinition ; rdfs:label "AcceptanceTestCase" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ttm:AcceptanceTestAsset ; + owl:minCardinality 1 ; owl:onProperty ttm:test_assets ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom ttm:AcceptanceTestAsset ; owl:onProperty ttm:test_assets ], ttm:TestCase ; skos:definition "See AcceptanceTestAsset above for more details." ; @@ -37,23 +37,23 @@ ttm:ComplianceTestCase a owl:Class, linkml:ClassDefinition ; rdfs:label "ComplianceTestCase" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:trapi_version ], + [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:biolink_version ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty ttm:trapi_version ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:trapi_version ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:biolink_version ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:biolink_version ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:trapi_version ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:biolink_version ], ttm:TestCase ; skos:definition "TRAPI and Biolink Model standards compliance test" ; skos:inScheme . @@ -97,34 +97,34 @@ ttm:TestRunSession a owl:Class, linkml:ClassDefinition ; rdfs:label "TestRunSession" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:timestamp ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:test_runner_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Datetime ; - owl:onProperty ttm:timestamp ], + owl:allValuesFrom owl:Thing ; + owl:onProperty ttm:test_entities ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom ttm:TestCaseResult ; owl:onProperty ttm:test_case_results ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:test_runner_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:test_runner_name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_entities ], + owl:onProperty ttm:test_case_results ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:timestamp ], [ a owl:Restriction ; - owl:allValuesFrom owl:Thing ; + owl:minCardinality 0 ; owl:onProperty ttm:test_entities ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestCaseResult ; - owl:onProperty ttm:test_case_results ], + owl:allValuesFrom linkml:Datetime ; + owl:onProperty ttm:timestamp ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; + owl:onProperty ttm:timestamp ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty ttm:test_runner_name ], ttm:TestEntity ; skos:definition "A single invocation of a TestRunner." ; @@ -134,24 +134,36 @@ ttm:TestRunnerConfiguration a owl:Class, linkml:ClassDefinition ; rdfs:label "TestRunnerConfiguration" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:test_run_parameters ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:test_run_parameters ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty ttm:tags ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:test_run_parameters ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:test_run_parameters ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty ttm:tags ], ttm:TestEntity ; skos:definition "General configuration parameters and test data input for a single invocation of a TestRunner." ; skos:inScheme . +ttm:biolink_object_aspect_qualifier a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "biolink_object_aspect_qualifier" ; + skos:definition "The aspect of the object of the test asset predicate" ; + skos:inScheme . + +ttm:biolink_object_direction_qualifier a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "biolink_object_direction_qualifier" ; + skos:definition "The direction of the object of the test asset predicate" ; + skos:inScheme . + ttm:biolink_predicate a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "biolink_predicate" ; @@ -159,6 +171,25 @@ ttm:biolink_predicate a owl:ObjectProperty, skos:definition "the predicate in Biolink model corresponding to the shorthand predicate name used in the test asset." ; skos:inScheme . +ttm:biolink_qualified_predicate a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "biolink_qualified_predicate" ; + rdfs:range linkml:Uriorcurie ; + skos:definition "The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset." ; + skos:inScheme . + +ttm:biolink_subject_aspect_qualifier a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "biolink_subject_aspect_qualifier" ; + skos:definition "The aspect of the subject of the test asset predicate" ; + skos:inScheme . + +ttm:biolink_subject_direction_qualifier a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "biolink_subject_direction_qualifier" ; + skos:definition "The direction of the subject of the test asset predicate" ; + skos:inScheme . + ttm:results a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "results" ; @@ -170,95 +201,95 @@ ttm:AcceptanceTestAsset a owl:Class, linkml:ClassDefinition ; rdfs:label "AcceptanceTestAsset" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:scientific_question ], - [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:scientific_question ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty ttm:notes ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:top_level ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:must_pass_environment ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty ttm:query_node ], [ a owl:Restriction ; - owl:allValuesFrom ttm:ExpectedResultsEnum ; + owl:maxCardinality 1 ; owl:onProperty ttm:expected_result ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:TestEnvEnum ; - owl:onProperty ttm:must_pass_environment ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:scientific_question ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:string_entry ], + owl:onProperty ttm:top_level ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:notes ], + owl:allValuesFrom ttm:NodeEnum ; + owl:onProperty ttm:query_node ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:answer_informal_concept ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:must_pass_date ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:direction ], + owl:onProperty ttm:string_entry ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:must_pass_environment ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:answer_informal_concept ], + owl:onProperty ttm:query_node ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:answer_informal_concept ], + owl:onProperty ttm:scientific_question ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:query_node ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:scientific_question ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Date ; owl:onProperty ttm:must_pass_date ], [ a owl:Restriction ; owl:allValuesFrom ttm:DirectionEnum ; owl:onProperty ttm:direction ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:string_entry ], + owl:onProperty ttm:answer_informal_concept ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:string_entry ], + owl:onProperty ttm:must_pass_date ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:expected_result ], + owl:maxCardinality 1 ; + owl:onProperty ttm:direction ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TestEnvEnum ; + owl:onProperty ttm:must_pass_environment ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:expected_result ], + owl:onProperty ttm:notes ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:notes ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:direction ], + owl:onProperty ttm:string_entry ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:notes ], + owl:onProperty ttm:top_level ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Date ; + owl:minCardinality 0 ; owl:onProperty ttm:must_pass_date ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:top_level ], + owl:onProperty ttm:must_pass_environment ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:answer_informal_concept ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:scientific_question ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty ttm:top_level ], [ a owl:Restriction ; - owl:allValuesFrom ttm:NodeEnum ; - owl:onProperty ttm:query_node ], + owl:minCardinality 0 ; + owl:onProperty ttm:direction ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:must_pass_environment ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:expected_result ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:ExpectedResultsEnum ; + owl:onProperty ttm:expected_result ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:string_entry ], ttm:TestAsset ; skos:definition "Model derived from Jenn's test asset design and Shervin's runner JSON here as an example." ; skos:inScheme . @@ -279,19 +310,19 @@ ttm:TestOutput a owl:Class, linkml:ClassDefinition ; rdfs:label "TestOutput" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:test_case_id ], - [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:pks ], [ a owl:Restriction ; owl:allValuesFrom ttm:TestResultPKSet ; owl:onProperty ttm:pks ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:test_case_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:test_case_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty ttm:test_case_id ], ttm:TestEntity ; skos:definition "The output of a TestRunner run of one specific TestCase." ; @@ -381,13 +412,13 @@ ttm:Qualifier a owl:Class, linkml:ClassDefinition ; rdfs:label "Qualifier" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty ttm:parameter ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty ttm:value ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty ttm:parameter ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -396,7 +427,7 @@ ttm:Qualifier a owl:Class, owl:minCardinality 0 ; owl:onProperty ttm:parameter ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty ttm:value ], ttm:TestEntityParameter ; skos:inScheme . @@ -420,31 +451,31 @@ ttm:TestCaseResult a owl:Class, linkml:ClassDefinition ; rdfs:label "TestCaseResult" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty ttm:test_case ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty ttm:test_suite_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:test_case_result ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty ttm:test_case ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:test_case_result ], [ a owl:Restriction ; owl:allValuesFrom ttm:TestCase ; owl:onProperty ttm:test_case ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestCaseResultEnum ; - owl:onProperty ttm:test_case_result ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty ttm:test_suite_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; + owl:maxCardinality 1 ; owl:onProperty ttm:test_suite_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom ttm:TestCaseResultEnum ; owl:onProperty ttm:test_case_result ], ttm:TestEntity ; skos:definition "The outcome of a TestRunner run of one specific TestCase." ; @@ -469,23 +500,23 @@ ttm:TestEntityParameter a owl:Class, linkml:ClassDefinition ; rdfs:label "TestEntityParameter" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty ttm:value ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty ttm:parameter ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:value ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:parameter ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:value ], + owl:onProperty ttm:parameter ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:value ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:parameter ] ; + owl:onProperty ttm:value ] ; skos:definition "A single 'tag = value' pair (where 'value' is a simple string)." ; skos:inScheme . @@ -584,38 +615,35 @@ ttm:TestResultPKSet a owl:Class, owl:allValuesFrom linkml:String ; owl:onProperty ttm:aragorn ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:parent_pk ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty ttm:improving ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:bte ], + owl:onProperty ttm:parent_pk ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:improving ], + owl:minCardinality 0 ; + owl:onProperty ttm:arax ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:aragorn ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:unsecret ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty ttm:improving ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:arax ], + owl:onProperty ttm:aragorn ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:merged_pk ], + owl:onProperty ttm:improving ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:unsecret ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:bte ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:arax ], + owl:onProperty ttm:bte ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:merged_pk ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:bte ], @@ -624,22 +652,25 @@ ttm:TestResultPKSet a owl:Class, owl:onProperty ttm:merged_pk ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:arax ], + owl:onProperty ttm:unsecret ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:parent_pk ], + owl:onProperty ttm:unsecret ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:aragorn ], + owl:onProperty ttm:parent_pk ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:parent_pk ], + owl:onProperty ttm:unsecret ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:unsecret ], + owl:onProperty ttm:parent_pk ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:arax ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:bte ], + owl:onProperty ttm:arax ], ttm:TestEntity ; skos:definition "Primary keys for a given ARA result set from a SmokeTest result for a given TestCase." ; skos:inScheme . @@ -679,23 +710,23 @@ ttm:TestSuiteSpecification a owl:Class, linkml:ClassDefinition ; rdfs:label "TestSuiteSpecification" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:test_data_file_locator ], + owl:allValuesFrom ttm:FileFormatEnum ; + owl:onProperty ttm:test_data_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:test_data_file_format ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:test_data_file_locator ], + owl:onProperty ttm:test_data_file_format ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty ttm:test_data_file_locator ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:FileFormatEnum ; - owl:onProperty ttm:test_data_file_format ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:test_data_file_format ], + owl:onProperty ttm:test_data_file_locator ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:test_data_file_locator ], ttm:TestEntity ; skos:definition "Parameters for a Test Case instances either dynamically generated from some external source of Test Assets." ; skos:inScheme . @@ -812,104 +843,89 @@ ttm:TestAsset a owl:Class, linkml:ClassDefinition ; rdfs:label "TestAsset" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:input_id ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:TestIssueEnum ; - owl:onProperty ttm:test_issue ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:well_known ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:test_issue ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:predicate_name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:semantic_severity ], + owl:onProperty ttm:qualifiers ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:output_name ], + owl:maxCardinality 1 ; + owl:onProperty ttm:input_category ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty ttm:input_id ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:runner_settings ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:output_id ], + owl:onProperty ttm:test_metadata ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:association ], + owl:onProperty ttm:input_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:tags ], + owl:allValuesFrom ttm:predicate_type ; + owl:onProperty ttm:predicate_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:association ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:id ], + owl:onProperty ttm:predicate_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:biolink_subject_aspect_qualifier ], + owl:onProperty ttm:expected_output ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:output_name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:predicate_name ], + owl:onProperty ttm:semantic_severity ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:test_issue ], + owl:onProperty ttm:id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:biolink_object_direction_qualifier ], + owl:onProperty ttm:output_category ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:biolink_object_aspect_qualifier ], + owl:minCardinality 0 ; + owl:onProperty ttm:predicate_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:biolink_subject_direction_qualifier ], + owl:allValuesFrom ttm:TestIssueEnum ; + owl:onProperty ttm:test_issue ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:test_reference ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:semantic_severity ], + owl:allValuesFrom ttm:concept_category ; + owl:onProperty ttm:output_category ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:input_category ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:output_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:input_id ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:TestMetadata ; - owl:onProperty ttm:test_metadata ], + owl:onProperty ttm:in_v1 ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty ttm:test_metadata ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:output_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:expected_output ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty ttm:well_known ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:biolink_object_aspect_qualifier ], + owl:onProperty ttm:output_category ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:output_category ], + owl:onProperty ttm:input_id ], [ a owl:Restriction ; - owl:allValuesFrom ttm:SemanticSeverityEnum ; - owl:onProperty ttm:semantic_severity ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:biolink_qualified_predicate ], + owl:onProperty ttm:input_category ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:biolink_object_direction_qualifier ], + owl:onProperty ttm:association ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:input_name ], + owl:onProperty ttm:output_name ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:predicate_name ], + owl:maxCardinality 1 ; + owl:onProperty ttm:test_issue ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:output_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty ttm:in_v1 ], @@ -917,116 +933,86 @@ ttm:TestAsset a owl:Class, owl:minCardinality 0 ; owl:onProperty ttm:tags ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:biolink_subject_aspect_qualifier ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:input_name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:predicate_id ], + owl:minCardinality 1 ; + owl:onProperty ttm:runner_settings ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:predicate_id ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:Qualifier ; - owl:onProperty ttm:qualifiers ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:test_reference ], + owl:onProperty ttm:input_name ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty ttm:id ], + owl:allValuesFrom ttm:association_category ; + owl:onProperty ttm:association ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:output_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:test_metadata ], + owl:onProperty ttm:well_known ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:biolink_subject_aspect_qualifier ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:in_v1 ], + owl:onProperty ttm:input_name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:qualifiers ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:in_v1 ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty ttm:well_known ], + owl:onProperty ttm:expected_output ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty ttm:id ], + owl:onProperty ttm:input_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; + owl:minCardinality 0 ; owl:onProperty ttm:test_reference ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty ttm:biolink_qualified_predicate ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:output_name ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:predicate_type ; - owl:onProperty ttm:predicate_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:input_category ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:concept_category ; - owl:onProperty ttm:output_category ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:association_category ; - owl:onProperty ttm:association ], + owl:onProperty ttm:output_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:output_category ], + owl:minCardinality 0 ; + owl:onProperty ttm:output_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:biolink_qualified_predicate ], + owl:minCardinality 0 ; + owl:onProperty ttm:input_name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:biolink_subject_direction_qualifier ], + owl:onProperty ttm:semantic_severity ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:well_known ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:expected_output ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty ttm:output_id ], + owl:allValuesFrom ttm:TestMetadata ; + owl:onProperty ttm:test_metadata ], [ a owl:Restriction ; owl:allValuesFrom ttm:concept_category ; owl:onProperty ttm:input_category ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:biolink_object_direction_qualifier ], + owl:onProperty ttm:tags ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:biolink_subject_direction_qualifier ], + owl:allValuesFrom ttm:SemanticSeverityEnum ; + owl:onProperty ttm:semantic_severity ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:runner_settings ], + owl:maxCardinality 1 ; + owl:onProperty ttm:predicate_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:test_reference ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty ttm:runner_settings ], + owl:onProperty ttm:id ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:Qualifier ; + owl:onProperty ttm:qualifiers ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:input_name ], + owl:onProperty ttm:predicate_name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:expected_output ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:expected_output ], + owl:onProperty ttm:in_v1 ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:predicate_name ], + owl:onProperty ttm:well_known ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:test_issue ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty ttm:test_metadata ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:biolink_object_aspect_qualifier ], + owl:onProperty ttm:association ], ttm:TestEntity ; skos:definition "Represents a Test Asset, which is a single specific instance of TestCase-agnostic semantic parameters representing the specification of a Translator test target with inputs and (expected) outputs." ; skos:inScheme . @@ -1035,41 +1021,41 @@ ttm:TestMetadata a owl:Class, linkml:ClassDefinition ; rdfs:label "TestMetadata" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ttm:TestObjectiveEnum ; - owl:onProperty ttm:test_objective ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:test_source ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:test_annotations ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:test_objective ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TestObjectiveEnum ; + owl:onProperty ttm:test_objective ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty ttm:test_reference ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty ttm:test_annotations ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty ttm:test_reference ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:test_annotations ], + owl:onProperty ttm:test_source ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom ttm:TestSourceEnum ; owl:onProperty ttm:test_source ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_annotations ], + owl:onProperty ttm:test_source ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:test_objective ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty ttm:test_reference ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty ttm:test_annotations ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:TestSourceEnum ; - owl:onProperty ttm:test_source ], ttm:TestEntity ; skos:definition "Represents metadata related to (external SME, SMURF, Translator feedback, large scale batch, etc.) like the provenance of test assets, cases and/or suites." ; skos:inScheme . @@ -1083,38 +1069,38 @@ ttm:TestSuite a owl:Class, linkml:ClassDefinition ; rdfs:label "TestSuite" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ttm:TestCase ; - owl:onProperty ttm:test_cases ], - [ a owl:Restriction ; owl:allValuesFrom ttm:TestSuiteSpecification ; owl:onProperty ttm:test_suite_specification ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestPersonaEnum ; + owl:allValuesFrom ttm:TestMetadata ; + owl:onProperty ttm:test_metadata ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty ttm:test_persona ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_suite_specification ], + owl:onProperty ttm:test_cases ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:test_persona ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:TestMetadata ; - owl:onProperty ttm:test_metadata ], + owl:onProperty ttm:test_suite_specification ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty ttm:test_metadata ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty ttm:test_persona ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:test_cases ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:test_metadata ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom ttm:TestCase ; + owl:onProperty ttm:test_cases ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty ttm:test_suite_specification ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TestPersonaEnum ; + owl:onProperty ttm:test_persona ], ttm:TestEntity ; skos:definition "Specification of a set of Test Cases, one of either with a static list of 'test_cases' or a dynamic 'test_suite_specification' slot values. Note: at least one slot or the other, but generally not both(?) needs to be present." ; skos:inScheme . @@ -1143,37 +1129,6 @@ ttm:association a owl:ObjectProperty, skos:definition "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement" ; skos:inScheme . -ttm:biolink_object_aspect_qualifier a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "biolink_object_aspect_qualifier" ; - skos:definition "The aspect of the object of the test asset predicate" ; - skos:inScheme . - -ttm:biolink_object_direction_qualifier a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "biolink_object_direction_qualifier" ; - skos:definition "The direction of the object of the test asset predicate" ; - skos:inScheme . - -ttm:biolink_qualified_predicate a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "biolink_qualified_predicate" ; - rdfs:range linkml:Uriorcurie ; - skos:definition "The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset." ; - skos:inScheme . - -ttm:biolink_subject_aspect_qualifier a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "biolink_subject_aspect_qualifier" ; - skos:definition "The aspect of the subject of the test asset predicate" ; - skos:inScheme . - -ttm:biolink_subject_direction_qualifier a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "biolink_subject_direction_qualifier" ; - skos:definition "The direction of the subject of the test asset predicate" ; - skos:inScheme . - ttm:biolink_version a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "biolink_version" ; @@ -1617,104 +1572,104 @@ ttm:TestCase a owl:Class, linkml:ClassDefinition ; rdfs:label "TestCase" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty ttm:test_case_input_id ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:TrapiTemplateEnum ; + owl:maxCardinality 1 ; owl:onProperty ttm:trapi_template ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty ttm:test_case_runner_settings ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:TestEnvEnum ; - owl:onProperty ttm:test_env ], + owl:allValuesFrom ttm:QueryTypeEnum ; + owl:onProperty ttm:query_type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_case_source ], + owl:onProperty ttm:test_env ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:trapi_template ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty ttm:test_case_input_id ], [ a owl:Restriction ; - owl:allValuesFrom ttm:ComponentEnum ; - owl:onProperty ttm:components ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:query_type ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:Precondition ; - owl:onProperty ttm:preconditions ], + owl:allValuesFrom ttm:TestObjectiveEnum ; + owl:onProperty ttm:test_case_objective ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:test_case_predicate_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:query_type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty ttm:test_case_objective ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:test_case_predicate_name ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:test_env ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:test_case_source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:test_case_predicate_id ], + owl:maxCardinality 1 ; + owl:onProperty ttm:query_type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_case_predicate_name ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty ttm:trapi_template ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_case_objective ], + owl:onProperty ttm:components ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:test_case_predicate_id ], [ a owl:Restriction ; - owl:allValuesFrom owl:Thing ; - owl:onProperty ttm:test_assets ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:test_case_predicate_name ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestObjectiveEnum ; - owl:onProperty ttm:test_case_objective ], + owl:allValuesFrom ttm:TestSourceEnum ; + owl:onProperty ttm:test_case_source ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_env ], + owl:onProperty ttm:query_type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:components ], + owl:onProperty ttm:test_case_source ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:test_case_predicate_name ], + owl:onProperty ttm:test_case_runner_settings ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestSourceEnum ; - owl:onProperty ttm:test_case_source ], + owl:maxCardinality 1 ; + owl:onProperty ttm:test_case_objective ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:test_case_input_id ], + owl:minCardinality 1 ; + owl:onProperty ttm:test_case_runner_settings ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:Precondition ; + owl:onProperty ttm:preconditions ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty ttm:test_assets ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:test_case_runner_settings ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:test_case_input_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:tags ], [ a owl:Restriction ; - owl:allValuesFrom ttm:QueryTypeEnum ; - owl:onProperty ttm:query_type ], + owl:allValuesFrom owl:Thing ; + owl:onProperty ttm:test_assets ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:ComponentEnum ; + owl:onProperty ttm:components ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:test_case_predicate_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:test_case_predicate_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:preconditions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:test_case_input_id ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TestEnvEnum ; + owl:onProperty ttm:test_env ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:test_env ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:test_case_predicate_name ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TrapiTemplateEnum ; + owl:onProperty ttm:trapi_template ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty ttm:tags ], @@ -1764,36 +1719,36 @@ ttm:TestEntity a owl:Class, rdfs:label "TestEntity" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:tags ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty ttm:name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty ttm:description ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:tags ], + owl:onProperty ttm:name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty ttm:id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:tags ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty ttm:id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:name ], + owl:onProperty ttm:description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; + owl:maxCardinality 1 ; owl:onProperty ttm:id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:description ], + owl:onProperty ttm:tags ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty ttm:description ] ; skos:definition "Abstract global 'identification' class shared as a parent with all major model classes within the data model for Translator testing." ; skos:inScheme . diff --git a/project/protobuf/translator_testing_model.proto b/project/protobuf/translator_testing_model.proto index 3b0f95d..be7c114 100644 --- a/project/protobuf/translator_testing_model.proto +++ b/project/protobuf/translator_testing_model.proto @@ -21,11 +21,6 @@ message AcceptanceTestAsset uriorcurie testReference = 0 repeated string runnerSettings = 0 testMetadata testMetadata = 0 - uriorcurie biolinkQualifiedPredicate = 0 - string biolinkSubjectAspectQualifier = 0 - string biolinkSubjectDirectionQualifier = 0 - string biolinkObjectAspectQualifier = 0 - string biolinkObjectDirectionQualifier = 0 uriorcurie id = 0 repeated string tags = 0 date mustPassDate = 0 @@ -212,11 +207,6 @@ message TestAsset uriorcurie testReference = 0 repeated string runnerSettings = 0 testMetadata testMetadata = 0 - uriorcurie biolinkQualifiedPredicate = 0 - string biolinkSubjectAspectQualifier = 0 - string biolinkSubjectDirectionQualifier = 0 - string biolinkObjectAspectQualifier = 0 - string biolinkObjectDirectionQualifier = 0 uriorcurie id = 0 repeated string tags = 0 } @@ -274,11 +264,6 @@ message TestEdgeData uriorcurie testReference = 0 repeated string runnerSettings = 0 testMetadata testMetadata = 0 - uriorcurie biolinkQualifiedPredicate = 0 - string biolinkSubjectAspectQualifier = 0 - string biolinkSubjectDirectionQualifier = 0 - string biolinkObjectAspectQualifier = 0 - string biolinkObjectDirectionQualifier = 0 uriorcurie id = 0 repeated string tags = 0 } diff --git a/project/shacl/translator_testing_model.shacl.ttl b/project/shacl/translator_testing_model.shacl.ttl index 939ff95..8d70cb8 100644 --- a/project/shacl/translator_testing_model.shacl.ttl +++ b/project/shacl/translator_testing_model.shacl.ttl @@ -8,7 +8,18 @@ ttm:AcceptanceTestCase a sh:NodeShape ; sh:closed true ; sh:description "See AcceptanceTestAsset above for more details." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; + sh:property [ sh:class ttm:Precondition ; + sh:nodeKind sh:IRI ; + sh:order 3 ; + sh:path ttm:preconditions ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path ttm:test_case_predicate_name ], + [ sh:maxCount 1 ; + sh:order 10 ; + sh:path ttm:test_case_input_id ], + [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; sh:maxCount 1 ; sh:order 6 ; @@ -18,117 +29,106 @@ ttm:AcceptanceTestCase a sh:NodeShape ; sh:minCount 1 ; sh:order 12 ; sh:path schema1:identifier ], - [ sh:class ttm:Precondition ; - sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path ttm:preconditions ], + [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; + sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path ttm:test_case_source ], [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 14 ; - sh:path schema1:description ], + sh:order 13 ; + sh:path schema1:name ], [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 8 ; - sh:path ttm:test_case_predicate_name ], - [ sh:description "Deployment environment within which the associated TestSuite is run." ; - sh:in ( "dev" "ci" "test" "prod" ) ; + sh:order 9 ; + sh:path ttm:test_case_predicate_id ], + [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:test_env ], - [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; - sh:in [ rdf:rest () ] ; - sh:order 5 ; - sh:path ttm:components ], + sh:order 14 ; + sh:path schema1:description ], [ sh:class ttm:AcceptanceTestAsset ; sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in 'test_assets' slot (\"Block List\") collection." ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 2 ; sh:path ttm:test_assets ], - [ sh:maxCount 1 ; - sh:order 10 ; - sh:path ttm:test_case_input_id ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path schema1:name ], [ sh:datatype xsd:string ; sh:description "Settings for the test harness for TestCase" ; sh:minCount 1 ; sh:order 11 ; sh:path ttm:test_case_runner_settings ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path ttm:test_case_predicate_id ], - [ sh:datatype xsd:string ; - sh:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in a \"Block List\" collection." ; - sh:order 15 ; - sh:path schema1:additionalType ], - [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; - sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; + [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; + sh:in [ rdf:rest () ] ; + sh:order 5 ; + sh:path ttm:components ], + [ sh:description "Type of TestCase query." ; + sh:in ( "treats" ) ; sh:maxCount 1 ; - sh:order 7 ; - sh:path ttm:test_case_source ], + sh:order 1 ; + sh:path ttm:query_type ], [ sh:description "A template for a query, which can be used to generate a query for a test case. note: the current enumerated values for this slot come from the Benchmarks repo config/benchmarks.json \"templates\" collection and refer to the \"name\" field of each template. Templates themselves are currently stored in the config/[source_name]/templates directory." ; sh:in ( "ameliorates" "treats" "three_hop" "drug_treats_rare_disease" "drug-to-gene" ) ; sh:maxCount 1 ; sh:order 4 ; sh:path ttm:trapi_template ], - [ sh:description "Type of TestCase query." ; - sh:in ( "treats" ) ; + [ sh:datatype xsd:string ; + sh:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in a \"Block List\" collection." ; + sh:order 15 ; + sh:path schema1:additionalType ], + [ sh:description "Deployment environment within which the associated TestSuite is run." ; + sh:in ( "dev" "ci" "test" "prod" ) ; sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:query_type ] ; + sh:order 0 ; + sh:path ttm:test_env ] ; sh:targetClass ttm:AcceptanceTestCase . ttm:AcceptanceTestSuite a sh:NodeShape ; sh:closed true ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; - sh:order 7 ; - sh:path schema1:additionalType ], + sh:property [ sh:class ttm:TestMetadata ; + sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path ttm:test_metadata ], + [ sh:class ttm:TestSuiteSpecification ; + sh:description "Declarative specification of a Test Suite of Test Cases whose generation is deferred, (i.e. within a Test Runner) or whose creation is achieved by stream processing of an external data source." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 3 ; + sh:path ttm:test_suite_specification ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; sh:order 5 ; sh:path schema1:name ], - [ sh:description "A Test persona describes the user or operational context of a given test." ; - sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; + [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:test_persona ], + sh:minCount 1 ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; sh:order 6 ; sh:path schema1:description ], - [ sh:class ttm:TestSuiteSpecification ; - sh:description "Declarative specification of a Test Suite of Test Cases whose generation is deferred, (i.e. within a Test Runner) or whose creation is achieved by stream processing of an external data source." ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path ttm:test_suite_specification ], + [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 7 ; + sh:path schema1:additionalType ], [ sh:class ttm:TestCase ; sh:description "List of explicitly enumerated Test Cases." ; sh:nodeKind sh:IRI ; sh:order 2 ; sh:path ttm:test_cases ], - [ sh:class ttm:TestMetadata ; - sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path ttm:test_metadata ], - [ sh:description "A unique identifier for a Test Entity" ; + [ sh:description "A Test persona describes the user or operational context of a given test." ; + sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 4 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path ttm:test_persona ] ; sh:targetClass ttm:AcceptanceTestSuite . ttm:BenchmarkTestSuite a sh:NodeShape ; @@ -141,56 +141,24 @@ ttm:ComplianceTestCase a sh:NodeShape ; sh:closed true ; sh:description "TRAPI and Biolink Model standards compliance test" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "TRAPI version (SemVer string)" ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:trapi_version ], - [ sh:description "Deployment environment within which the associated TestSuite is run." ; - sh:in ( "dev" "ci" "test" "prod" ) ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path ttm:test_env ], - [ sh:datatype xsd:string ; - sh:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in a \"Block List\" collection." ; - sh:order 17 ; - sh:path schema1:additionalType ], - [ sh:description "Type of TestCase query." ; - sh:in ( "treats" ) ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path ttm:query_type ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; + sh:property [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; + sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; sh:maxCount 1 ; - sh:order 15 ; - sh:path schema1:name ], + sh:order 8 ; + sh:path ttm:test_case_objective ], + [ sh:maxCount 1 ; + sh:order 12 ; + sh:path ttm:test_case_input_id ], [ sh:description "A template for a query, which can be used to generate a query for a test case. note: the current enumerated values for this slot come from the Benchmarks repo config/benchmarks.json \"templates\" collection and refer to the \"name\" field of each template. Templates themselves are currently stored in the config/[source_name]/templates directory." ; sh:in ( "ameliorates" "treats" "three_hop" "drug_treats_rare_disease" "drug-to-gene" ) ; sh:maxCount 1 ; sh:order 6 ; sh:path ttm:trapi_template ], - [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; - sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path ttm:test_case_objective ], - [ sh:class ttm:Precondition ; - sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path ttm:preconditions ], - [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; - sh:in [ rdf:rest () ] ; - sh:order 7 ; - sh:path ttm:components ], [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; sh:maxCount 1 ; sh:order 9 ; sh:path ttm:test_case_source ], - [ sh:maxCount 1 ; - sh:order 12 ; - sh:path ttm:test_case_input_id ], [ sh:datatype xsd:string ; sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; @@ -202,6 +170,34 @@ ttm:ComplianceTestCase a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 4 ; sh:path ttm:test_assets ], + [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; + sh:in [ rdf:rest () ] ; + sh:order 7 ; + sh:path ttm:components ], + [ sh:datatype xsd:string ; + sh:description "Settings for the test harness for TestCase" ; + sh:minCount 1 ; + sh:order 13 ; + sh:path ttm:test_case_runner_settings ], + [ sh:description "Type of TestCase query." ; + sh:in ( "treats" ) ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ttm:query_type ], + [ sh:datatype xsd:string ; + sh:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in a \"Block List\" collection." ; + sh:order 17 ; + sh:path schema1:additionalType ], + [ sh:datatype xsd:string ; + sh:description "Biolink Model release (SemVer string)" ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path ttm:biolink_version ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path schema1:name ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:order 11 ; @@ -215,143 +211,147 @@ ttm:ComplianceTestCase a sh:NodeShape ; sh:minCount 1 ; sh:order 14 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Biolink Model release (SemVer string)" ; + [ sh:class ttm:Precondition ; + sh:nodeKind sh:IRI ; + sh:order 5 ; + sh:path ttm:preconditions ], + [ sh:description "Deployment environment within which the associated TestSuite is run." ; + sh:in ( "dev" "ci" "test" "prod" ) ; sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:biolink_version ], + sh:order 2 ; + sh:path ttm:test_env ], [ sh:datatype xsd:string ; - sh:description "Settings for the test harness for TestCase" ; - sh:minCount 1 ; - sh:order 13 ; - sh:path ttm:test_case_runner_settings ] ; + sh:description "TRAPI version (SemVer string)" ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:trapi_version ] ; sh:targetClass ttm:ComplianceTestCase . ttm:KnowledgeGraphNavigationTestCase a sh:NodeShape ; sh:closed true ; sh:description "Knowledge Graph navigation integration test" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class ttm:Precondition ; + sh:property [ sh:class ttm:TestAsset ; + sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in 'test_assets' slot (\"Block List\") collection." ; + sh:minCount 1 ; sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path ttm:preconditions ], - [ sh:maxCount 1 ; - sh:order 10 ; - sh:path ttm:test_case_input_id ], + sh:order 2 ; + sh:path ttm:test_assets ], + [ sh:description "Type of TestCase query." ; + sh:in ( "treats" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path ttm:query_type ], + [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; + sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path ttm:test_case_source ], [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; sh:in [ rdf:rest () ] ; sh:order 5 ; sh:path ttm:components ], - [ sh:description "A template for a query, which can be used to generate a query for a test case. note: the current enumerated values for this slot come from the Benchmarks repo config/benchmarks.json \"templates\" collection and refer to the \"name\" field of each template. Templates themselves are currently stored in the config/[source_name]/templates directory." ; - sh:in ( "ameliorates" "treats" "three_hop" "drug_treats_rare_disease" "drug-to-gene" ) ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path ttm:trapi_template ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path ttm:test_case_predicate_name ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; sh:order 13 ; sh:path schema1:name ], - [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; - sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; - sh:maxCount 1 ; - sh:order 6 ; - sh:path ttm:test_case_objective ], + [ sh:maxCount 1 ; + sh:order 10 ; + sh:path ttm:test_case_input_id ], + [ sh:description "Deployment environment within which the associated TestSuite is run." ; + sh:in ( "dev" "ci" "test" "prod" ) ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:test_env ], [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 9 ; - sh:path ttm:test_case_predicate_id ], - [ sh:description "Type of TestCase query." ; - sh:in ( "treats" ) ; + sh:order 8 ; + sh:path ttm:test_case_predicate_name ], + [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; + sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:query_type ], + sh:order 6 ; + sh:path ttm:test_case_objective ], + [ sh:datatype xsd:string ; + sh:description "Settings for the test harness for TestCase" ; + sh:minCount 1 ; + sh:order 11 ; + sh:path ttm:test_case_runner_settings ], + [ sh:description "A template for a query, which can be used to generate a query for a test case. note: the current enumerated values for this slot come from the Benchmarks repo config/benchmarks.json \"templates\" collection and refer to the \"name\" field of each template. Templates themselves are currently stored in the config/[source_name]/templates directory." ; + sh:in ( "ameliorates" "treats" "three_hop" "drug_treats_rare_disease" "drug-to-gene" ) ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path ttm:trapi_template ], [ sh:datatype xsd:string ; sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; sh:order 14 ; sh:path schema1:description ], + [ sh:class ttm:Precondition ; + sh:nodeKind sh:IRI ; + sh:order 3 ; + sh:path ttm:preconditions ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path ttm:test_case_predicate_id ], [ sh:datatype xsd:string ; sh:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in a \"Block List\" collection." ; sh:order 15 ; sh:path schema1:additionalType ], - [ sh:datatype xsd:string ; - sh:description "Settings for the test harness for TestCase" ; - sh:minCount 1 ; - sh:order 11 ; - sh:path ttm:test_case_runner_settings ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 12 ; - sh:path schema1:identifier ], - [ sh:description "Deployment environment within which the associated TestSuite is run." ; - sh:in ( "dev" "ci" "test" "prod" ) ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:test_env ], - [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; - sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path ttm:test_case_source ], - [ sh:class ttm:TestAsset ; - sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in 'test_assets' slot (\"Block List\") collection." ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path ttm:test_assets ] ; + sh:path schema1:identifier ] ; sh:targetClass ttm:KnowledgeGraphNavigationTestCase . ttm:OneHopTestCase a sh:NodeShape ; sh:closed true ; sh:description "'One Hop' Knowledge Graph navigation integration test" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; - sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path ttm:test_case_source ], - [ sh:description "Type of TestCase query." ; - sh:in ( "treats" ) ; + sh:property [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:query_type ], + sh:order 9 ; + sh:path ttm:test_case_predicate_id ], [ sh:description "A template for a query, which can be used to generate a query for a test case. note: the current enumerated values for this slot come from the Benchmarks repo config/benchmarks.json \"templates\" collection and refer to the \"name\" field of each template. Templates themselves are currently stored in the config/[source_name]/templates directory." ; sh:in ( "ameliorates" "treats" "three_hop" "drug_treats_rare_disease" "drug-to-gene" ) ; sh:maxCount 1 ; sh:order 4 ; sh:path ttm:trapi_template ], - [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; - sh:in [ rdf:rest () ] ; - sh:order 5 ; - sh:path ttm:components ], - [ sh:description "Deployment environment within which the associated TestSuite is run." ; - sh:in ( "dev" "ci" "test" "prod" ) ; + [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; + sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:test_env ], + sh:order 6 ; + sh:path ttm:test_case_objective ], [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:order 9 ; - sh:path ttm:test_case_predicate_id ], + sh:order 14 ; + sh:path schema1:description ], [ sh:maxCount 1 ; sh:order 10 ; sh:path ttm:test_case_input_id ], - [ sh:description "A unique identifier for a Test Entity" ; + [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; + sh:in [ rdf:rest () ] ; + sh:order 5 ; + sh:path ttm:components ], + [ sh:description "Type of TestCase query." ; + sh:in ( "treats" ) ; sh:maxCount 1 ; + sh:order 1 ; + sh:path ttm:query_type ], + [ sh:class ttm:Precondition ; + sh:nodeKind sh:IRI ; + sh:order 3 ; + sh:path ttm:preconditions ], + [ sh:class ttm:TestAsset ; + sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in 'test_assets' slot (\"Block List\") collection." ; sh:minCount 1 ; - sh:order 12 ; - sh:path schema1:identifier ], - [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; - sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; - sh:maxCount 1 ; - sh:order 6 ; - sh:path ttm:test_case_objective ], + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path ttm:test_assets ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:order 8 ; @@ -361,116 +361,102 @@ ttm:OneHopTestCase a sh:NodeShape ; sh:order 15 ; sh:path schema1:additionalType ], [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path schema1:description ], + sh:description "Settings for the test harness for TestCase" ; + sh:minCount 1 ; + sh:order 11 ; + sh:path ttm:test_case_runner_settings ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; sh:order 13 ; sh:path schema1:name ], - [ sh:class ttm:TestAsset ; - sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in 'test_assets' slot (\"Block List\") collection." ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path ttm:test_assets ], - [ sh:class ttm:Precondition ; - sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path ttm:preconditions ], - [ sh:datatype xsd:string ; - sh:description "Settings for the test harness for TestCase" ; + [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; + sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path ttm:test_case_source ], + [ sh:description "Deployment environment within which the associated TestSuite is run." ; + sh:in ( "dev" "ci" "test" "prod" ) ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:test_env ], + [ sh:description "A unique identifier for a Test Entity" ; + sh:maxCount 1 ; sh:minCount 1 ; - sh:order 11 ; - sh:path ttm:test_case_runner_settings ] ; + sh:order 12 ; + sh:path schema1:identifier ] ; sh:targetClass ttm:OneHopTestCase . ttm:OneHopTestSuite a sh:NodeShape ; sh:closed true ; sh:description "Test case for testing the integrity of \"One Hop\" knowledge graph retrievals sensa legacy SRI_Testing harness." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; + sh:property [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; - sh:order 6 ; - sh:path schema1:description ], - [ sh:datatype xsd:string ; - sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; - sh:order 7 ; - sh:path schema1:additionalType ], + sh:minCount 1 ; + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:class ttm:TestMetadata ; + sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path ttm:test_metadata ], [ sh:description "A Test persona describes the user or operational context of a given test." ; sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; sh:maxCount 1 ; sh:order 1 ; sh:path ttm:test_persona ], - [ sh:description "A unique identifier for a Test Entity" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - sh:order 5 ; - sh:path schema1:name ], [ sh:class ttm:TestSuiteSpecification ; sh:description "Declarative specification of a Test Suite of Test Cases whose generation is deferred, (i.e. within a Test Runner) or whose creation is achieved by stream processing of an external data source." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 3 ; sh:path ttm:test_suite_specification ], - [ sh:class ttm:TestMetadata ; - sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path ttm:test_metadata ], [ sh:class ttm:TestCase ; sh:description "List of explicitly enumerated Test Cases." ; sh:nodeKind sh:IRI ; sh:order 2 ; - sh:path ttm:test_cases ] ; + sh:path ttm:test_cases ], + [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 7 ; + sh:path schema1:additionalType ], + [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path schema1:description ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path schema1:name ] ; sh:targetClass ttm:OneHopTestSuite . ttm:QuantitativeTestCase a sh:NodeShape ; sh:closed true ; sh:description "Assumed additional model from Shervin's runner JSON here as an example. This schema is not yet complete." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:maxCount 1 ; - sh:order 10 ; - sh:path ttm:test_case_input_id ], + sh:property [ sh:description "Type of TestCase query." ; + sh:in ( "treats" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path ttm:query_type ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path ttm:test_case_predicate_name ], [ sh:datatype xsd:string ; sh:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in a \"Block List\" collection." ; sh:order 15 ; sh:path schema1:additionalType ], - [ sh:description "Deployment environment within which the associated TestSuite is run." ; - sh:in ( "dev" "ci" "test" "prod" ) ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:test_env ], - [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; - sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; - sh:maxCount 1 ; - sh:order 6 ; - sh:path ttm:test_case_objective ], - [ sh:class ttm:Precondition ; - sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path ttm:preconditions ], [ sh:datatype xsd:string ; - sh:description "Settings for the test harness for TestCase" ; - sh:minCount 1 ; - sh:order 11 ; - sh:path ttm:test_case_runner_settings ], - [ sh:class ttm:TestAsset ; - sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in 'test_assets' slot (\"Block List\") collection." ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path ttm:test_assets ], + sh:description "A human-readable description for a Test Entity" ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path schema1:description ], [ sh:description "A template for a query, which can be used to generate a query for a test case. note: the current enumerated values for this slot come from the Benchmarks repo config/benchmarks.json \"templates\" collection and refer to the \"name\" field of each template. Templates themselves are currently stored in the config/[source_name]/templates directory." ; sh:in ( "ameliorates" "treats" "three_hop" "drug_treats_rare_disease" "drug-to-gene" ) ; sh:maxCount 1 ; @@ -478,61 +464,66 @@ ttm:QuantitativeTestCase a sh:NodeShape ; sh:path ttm:trapi_template ], [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 8 ; - sh:path ttm:test_case_predicate_name ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path schema1:name ], + sh:order 9 ; + sh:path ttm:test_case_predicate_id ], + [ sh:maxCount 1 ; + sh:order 10 ; + sh:path ttm:test_case_input_id ], [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path schema1:description ], - [ sh:description "Type of TestCase query." ; - sh:in ( "treats" ) ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:query_type ], + sh:description "Settings for the test harness for TestCase" ; + sh:minCount 1 ; + sh:order 11 ; + sh:path ttm:test_case_runner_settings ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 12 ; sh:path schema1:identifier ], - [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; - sh:in [ rdf:rest () ] ; - sh:order 5 ; - sh:path ttm:components ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path schema1:name ], [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; sh:maxCount 1 ; sh:order 7 ; sh:path ttm:test_case_source ], - [ sh:datatype xsd:string ; + [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; + sh:in [ rdf:rest () ] ; + sh:order 5 ; + sh:path ttm:components ], + [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; + sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; sh:maxCount 1 ; - sh:order 9 ; - sh:path ttm:test_case_predicate_id ] ; + sh:order 6 ; + sh:path ttm:test_case_objective ], + [ sh:description "Deployment environment within which the associated TestSuite is run." ; + sh:in ( "dev" "ci" "test" "prod" ) ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:test_env ], + [ sh:class ttm:TestAsset ; + sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in 'test_assets' slot (\"Block List\") collection." ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path ttm:test_assets ], + [ sh:class ttm:Precondition ; + sh:nodeKind sh:IRI ; + sh:order 3 ; + sh:path ttm:preconditions ] ; sh:targetClass ttm:QuantitativeTestCase . ttm:StandardsComplianceTestSuite a sh:NodeShape ; sh:closed true ; sh:description "Test suite for testing Translator components against releases of standards like TRAPI and the Biolink Model." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; - sh:maxCount 1 ; - sh:order 6 ; - sh:path schema1:description ], - [ sh:description "A unique identifier for a Test Entity" ; + sh:property [ sh:description "A Test persona describes the user or operational context of a given test." ; + sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; - sh:order 7 ; - sh:path schema1:additionalType ], + sh:order 1 ; + sh:path ttm:test_persona ], [ sh:class ttm:TestMetadata ; sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; sh:maxCount 1 ; @@ -540,100 +531,91 @@ ttm:StandardsComplianceTestSuite a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path ttm:test_metadata ], - [ sh:class ttm:TestSuiteSpecification ; - sh:description "Declarative specification of a Test Suite of Test Cases whose generation is deferred, (i.e. within a Test Runner) or whose creation is achieved by stream processing of an external data source." ; + [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path ttm:test_suite_specification ], + sh:minCount 1 ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; sh:order 5 ; sh:path schema1:name ], + [ sh:class ttm:TestSuiteSpecification ; + sh:description "Declarative specification of a Test Suite of Test Cases whose generation is deferred, (i.e. within a Test Runner) or whose creation is achieved by stream processing of an external data source." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 3 ; + sh:path ttm:test_suite_specification ], [ sh:class ttm:TestCase ; sh:description "List of explicitly enumerated Test Cases." ; sh:nodeKind sh:IRI ; sh:order 2 ; sh:path ttm:test_cases ], - [ sh:description "A Test persona describes the user or operational context of a given test." ; - sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; + [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:test_persona ] ; + sh:order 6 ; + sh:path schema1:description ], + [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 7 ; + sh:path schema1:additionalType ] ; sh:targetClass ttm:StandardsComplianceTestSuite . ttm:TestEdgeData a sh:NodeShape ; sh:closed true ; sh:description "Represents a single Biolink Model compliant instance of a subject-predicate-object edge that can be used for testing." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:in ( "High" "Low" "NotApplicable" ) ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path ttm:semantic_severity ], - [ sh:description "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement" ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path ttm:association ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path ttm:well_known ], - [ sh:datatype xsd:string ; - sh:description "The direction of the subject of the test asset predicate" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; sh:order 20 ; - sh:path ttm:biolink_subject_direction_qualifier ], - [ sh:datatype xsd:string ; + sh:path schema1:description ], + [ sh:maxCount 1 ; + sh:order 3 ; + sh:path ttm:predicate_id ], + [ sh:maxCount 1 ; + sh:order 7 ; + sh:path ttm:output_category ], + [ sh:in ( "High" "Low" "NotApplicable" ) ; sh:maxCount 1 ; - sh:order 4 ; - sh:path ttm:predicate_name ], - [ sh:datatype xsd:string ; + sh:order 12 ; + sh:path ttm:semantic_severity ], + [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; - sh:order 10 ; - sh:path ttm:expected_output ], + sh:minCount 1 ; + sh:order 18 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 24 ; + sh:order 19 ; sh:path schema1:name ], - [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; - sh:maxCount 1 ; - sh:order 25 ; - sh:path schema1:description ], - [ sh:description "The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset." ; + [ sh:description "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement" ; sh:maxCount 1 ; - sh:order 18 ; - sh:path ttm:biolink_qualified_predicate ], + sh:order 8 ; + sh:path ttm:association ], [ sh:datatype xsd:string ; - sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a \"Block List\" collection" ; - sh:order 26 ; - sh:path schema1:additionalType ], + sh:maxCount 1 ; + sh:order 6 ; + sh:path ttm:output_name ], [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ; sh:maxCount 1 ; sh:order 15 ; sh:path ttm:test_reference ], - [ sh:datatype xsd:string ; - sh:description "The aspect of the subject of the test asset predicate" ; + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; - sh:order 19 ; - sh:path ttm:biolink_subject_aspect_qualifier ], + sh:order 13 ; + sh:path ttm:in_v1 ], + [ sh:datatype xsd:string ; + sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a \"Block List\" collection" ; + sh:order 21 ; + sh:path schema1:additionalType ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:order 1 ; sh:path ttm:input_name ], - [ sh:maxCount 1 ; - sh:order 3 ; - sh:path ttm:predicate_id ], - [ sh:maxCount 1 ; - sh:order 2 ; - sh:path ttm:input_category ], - [ sh:datatype xsd:string ; - sh:description "Settings for the test harness, e.g. \"inferred\"" ; - sh:minCount 1 ; - sh:order 16 ; - sh:path ttm:runner_settings ], [ sh:class ttm:Qualifier ; sh:description "Optional qualifiers which constrain to the test asset defined knowledge statement. Note that this field records such qualifier slots and values as tag=value pairs, where the tag is the Biolink Model qualifier slot named and the value is an acceptable (Biolink Model enum?) value of the said qualifier slot." ; sh:nodeKind sh:BlankNode ; @@ -641,35 +623,31 @@ ttm:TestEdgeData a sh:NodeShape ; sh:path ttm:qualifiers ], [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 6 ; - sh:path ttm:output_name ], - [ sh:datatype xsd:string ; - sh:description "The direction of the object of the test asset predicate" ; - sh:maxCount 1 ; - sh:order 22 ; - sh:path ttm:biolink_object_direction_qualifier ], - [ sh:datatype xsd:boolean ; + sh:order 10 ; + sh:path ttm:expected_output ], + [ sh:in ( "causes not treats" "TMKP" "category too generic" "contraindications" "chemical roles" "test_issue" ) ; sh:maxCount 1 ; - sh:order 13 ; - sh:path ttm:in_v1 ], + sh:order 11 ; + sh:path ttm:test_issue ], [ sh:maxCount 1 ; sh:order 5 ; sh:path ttm:output_id ], - [ sh:maxCount 1 ; - sh:order 7 ; - sh:path ttm:output_category ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path ttm:predicate_name ], + [ sh:datatype xsd:string ; + sh:description "Settings for the test harness, e.g. \"inferred\"" ; + sh:minCount 1 ; + sh:order 16 ; + sh:path ttm:runner_settings ], [ sh:maxCount 1 ; sh:order 0 ; sh:path ttm:input_id ], - [ sh:datatype xsd:string ; - sh:description "The aspect of the object of the test asset predicate" ; - sh:maxCount 1 ; - sh:order 21 ; - sh:path ttm:biolink_object_aspect_qualifier ], - [ sh:in ( "causes not treats" "TMKP" "category too generic" "contraindications" "chemical roles" "test_issue" ) ; + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; - sh:order 11 ; - sh:path ttm:test_issue ], + sh:order 14 ; + sh:path ttm:well_known ], [ sh:class ttm:TestMetadata ; sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; sh:maxCount 1 ; @@ -677,11 +655,9 @@ ttm:TestEdgeData a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 17 ; sh:path ttm:test_metadata ], - [ sh:description "A unique identifier for a Test Entity" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 23 ; - sh:path schema1:identifier ] ; + [ sh:maxCount 1 ; + sh:order 2 ; + sh:path ttm:input_category ] ; sh:targetClass ttm:TestEdgeData . ttm:TestOutput a sh:NodeShape ; @@ -689,21 +665,6 @@ ttm:TestOutput a sh:NodeShape ; sh:description "The output of a TestRunner run of one specific TestCase." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path schema1:description ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path schema1:name ], - [ sh:class ttm:TestResultPKSet ; - sh:description "Primary keys for a given ARA result set from a SmokeTest result for a given TestCase." ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path ttm:pks ], - [ sh:datatype xsd:string ; sh:description "CURIE id of a TestCase registered in the system." ; sh:maxCount 1 ; sh:order 0 ; @@ -716,23 +677,38 @@ ttm:TestOutput a sh:NodeShape ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 2 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:class ttm:TestResultPKSet ; + sh:description "Primary keys for a given ARA result set from a SmokeTest result for a given TestCase." ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path ttm:pks ], + [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path schema1:description ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path schema1:name ] ; sh:targetClass ttm:TestOutput . ttm:TestRunSession a sh:NodeShape ; sh:closed true ; sh:description "A single invocation of a TestRunner." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A unique identifier for a Test Entity" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; + sh:property [ sh:class ttm:TestCaseResult ; + sh:description "One or more instances of TestCaseResult." ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path ttm:test_case_results ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time when a given entity was created." ; sh:maxCount 1 ; - sh:order 5 ; - sh:path schema1:name ], + sh:order 3 ; + sh:path ttm:timestamp ], [ sh:datatype xsd:string ; sh:description "Global system name of a TestRunner." ; sh:maxCount 1 ; @@ -743,32 +719,41 @@ ttm:TestRunSession a sh:NodeShape ; sh:maxCount 1 ; sh:order 6 ; sh:path schema1:description ], - [ sh:datatype xsd:string ; - sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; - sh:order 7 ; - sh:path schema1:additionalType ], - [ sh:datatype xsd:dateTime ; - sh:description "Date time when a given entity was created." ; + [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path ttm:timestamp ], + sh:minCount 1 ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:class ttm:TestEntity ; sh:description "Different TestRunners may expect specific kinds of TestEntity as input. These 'test_entities' one or more instances of TestAsset, TestCase or TestSuite." ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path ttm:test_entities ], - [ sh:class ttm:TestCaseResult ; - sh:description "One or more instances of TestCaseResult." ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path ttm:test_case_results ] ; + [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 7 ; + sh:path schema1:additionalType ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path schema1:name ] ; sh:targetClass ttm:TestRunSession . ttm:TestRunnerConfiguration a sh:NodeShape ; sh:closed true ; sh:description "General configuration parameters and test data input for a single invocation of a TestRunner." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A unique identifier for a Test Entity" ; + sh:property [ sh:datatype xsd:string ; + sh:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally identify the TestRunner(s) using this configuration." ; + sh:order 4 ; + sh:path schema1:additionalType ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path schema1:name ], + [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; @@ -778,42 +763,41 @@ ttm:TestRunnerConfiguration a sh:NodeShape ; sh:nodeKind sh:BlankNode ; sh:order 0 ; sh:path ttm:test_run_parameters ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path schema1:name ], [ sh:datatype xsd:string ; sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; sh:order 3 ; - sh:path schema1:description ], - [ sh:datatype xsd:string ; - sh:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally identify the TestRunner(s) using this configuration." ; - sh:order 4 ; - sh:path schema1:additionalType ] ; + sh:path schema1:description ] ; sh:targetClass ttm:TestRunnerConfiguration . ttm:TestSuite a sh:NodeShape ; sh:closed true ; sh:description "Specification of a set of Test Cases, one of either with a static list of 'test_cases' or a dynamic 'test_suite_specification' slot values. Note: at least one slot or the other, but generally not both(?) needs to be present." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A Test persona describes the user or operational context of a given test." ; - sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:test_persona ], - [ sh:class ttm:TestSuiteSpecification ; - sh:description "Declarative specification of a Test Suite of Test Cases whose generation is deferred, (i.e. within a Test Runner) or whose creation is achieved by stream processing of an external data source." ; + sh:order 5 ; + sh:path schema1:name ], + [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 7 ; + sh:path schema1:additionalType ], + [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path ttm:test_suite_specification ], + sh:order 6 ; + sh:path schema1:description ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 4 ; sh:path schema1:identifier ], + [ sh:description "A Test persona describes the user or operational context of a given test." ; + sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path ttm:test_persona ], [ sh:class ttm:TestCase ; sh:description "List of explicitly enumerated Test Cases." ; sh:nodeKind sh:IRI ; @@ -826,20 +810,12 @@ ttm:TestSuite a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path ttm:test_metadata ], - [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; - sh:maxCount 1 ; - sh:order 6 ; - sh:path schema1:description ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; + [ sh:class ttm:TestSuiteSpecification ; + sh:description "Declarative specification of a Test Suite of Test Cases whose generation is deferred, (i.e. within a Test Runner) or whose creation is achieved by stream processing of an external data source." ; sh:maxCount 1 ; - sh:order 5 ; - sh:path schema1:name ], - [ sh:datatype xsd:string ; - sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; - sh:order 7 ; - sh:path schema1:additionalType ] ; + sh:nodeKind sh:IRI ; + sh:order 3 ; + sh:path ttm:test_suite_specification ] ; sh:targetClass ttm:TestSuite . ttm:AcceptanceTestAsset a sh:NodeShape ; @@ -851,182 +827,158 @@ ttm:AcceptanceTestAsset a sh:NodeShape ; sh:nodeKind sh:BlankNode ; sh:order 19 ; sh:path ttm:qualifiers ], - [ sh:in ( "High" "Low" "NotApplicable" ) ; - sh:maxCount 1 ; - sh:order 22 ; - sh:path ttm:semantic_severity ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:order 23 ; - sh:path ttm:in_v1 ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:order 24 ; - sh:path ttm:well_known ], - [ sh:datatype xsd:string ; - sh:description "The direction of the object of the test asset predicate" ; + [ sh:description "The deployment environment within which this test must pass." ; + sh:in ( "dev" "ci" "test" "prod" ) ; sh:maxCount 1 ; - sh:order 32 ; - sh:path ttm:biolink_object_direction_qualifier ], + sh:order 1 ; + sh:path ttm:must_pass_environment ], [ sh:description "The direction of the expected query result triple" ; sh:in ( "increased" "decreased" ) ; sh:maxCount 1 ; sh:order 4 ; sh:path ttm:direction ], + [ sh:in ( "causes not treats" "TMKP" "category too generic" "contraindications" "chemical roles" "test_issue" ) ; + sh:maxCount 1 ; + sh:order 21 ; + sh:path ttm:test_issue ], [ sh:datatype xsd:string ; - sh:description "The object of the core triple to be tested" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path ttm:string_entry ], + sh:order 11 ; + sh:path ttm:input_name ], + [ sh:datatype xsd:string ; + sh:description "Settings for the test harness, e.g. \"inferred\"" ; + sh:minCount 1 ; + sh:order 26 ; + sh:path ttm:runner_settings ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 33 ; + sh:order 28 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path ttm:expected_output ], - [ sh:datatype xsd:string ; - sh:description "The notes of the query" ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path ttm:notes ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path ttm:predicate_name ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path ttm:output_name ], [ sh:maxCount 1 ; sh:order 17 ; sh:path ttm:output_category ], [ sh:maxCount 1 ; - sh:order 13 ; - sh:path ttm:predicate_id ], + sh:order 10 ; + sh:path ttm:input_id ], + [ sh:class ttm:TestMetadata ; + sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 27 ; + sh:path ttm:test_metadata ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:order 23 ; + sh:path ttm:in_v1 ], + [ sh:maxCount 1 ; + sh:order 12 ; + sh:path ttm:input_category ], + [ sh:datatype xsd:integer ; + sh:description "The answer must return in these many results" ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path ttm:top_level ], [ sh:maxCount 1 ; sh:order 15 ; sh:path ttm:output_id ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path ttm:predicate_name ], + [ sh:in ( "High" "Low" "NotApplicable" ) ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path ttm:semantic_severity ], [ sh:datatype xsd:string ; sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a \"Block List\" collection" ; - sh:order 36 ; + sh:order 31 ; sh:path schema1:additionalType ], - [ sh:description "The deployment environment within which this test must pass." ; - sh:in ( "dev" "ci" "test" "prod" ) ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:must_pass_environment ], - [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ; + [ sh:description "The expected result of the query" ; + sh:in ( "include_good" "exclude_bad" ) ; sh:maxCount 1 ; - sh:order 25 ; - sh:path ttm:test_reference ], - [ sh:datatype xsd:date ; - sh:description "The date by which this test must pass" ; + sh:order 6 ; + sh:path ttm:expected_result ], + [ sh:datatype xsd:string ; + sh:description "An answer that is returned from the test case, note: this must be combined with the expected_result to form a complete answer. It might make sense to couple these in their own object instead of strictly sticking to the flat schema introduced by the spreadsheet here: https://docs.google.com/spreadsheets/d/1yj7zIchFeVl1OHqL_kE_pqvzNLmGml_FLbHDs-8Yvig/edit#gid=0" ; sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:must_pass_date ], + sh:order 5 ; + sh:path ttm:answer_informal_concept ], [ sh:datatype xsd:string ; sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:order 35 ; + sh:order 30 ; sh:path schema1:description ], [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - sh:order 34 ; - sh:path schema1:name ], - [ sh:class ttm:TestMetadata ; - sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 27 ; - sh:path ttm:test_metadata ], + sh:order 20 ; + sh:path ttm:expected_output ], [ sh:description "The node of the (templated) TRAPI query to replace" ; sh:in ( "subject" "object" ) ; sh:maxCount 1 ; sh:order 8 ; sh:path ttm:query_node ], + [ sh:datatype xsd:string ; + sh:description "The object of the core triple to be tested" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ttm:string_entry ], [ sh:datatype xsd:string ; sh:description "The full human-readable scientific question a SME would ask, which is encoded into the test asset." ; sh:maxCount 1 ; sh:order 2 ; sh:path ttm:scientific_question ], - [ sh:datatype xsd:string ; - sh:description "The aspect of the subject of the test asset predicate" ; + [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ; sh:maxCount 1 ; - sh:order 29 ; - sh:path ttm:biolink_subject_aspect_qualifier ], - [ sh:in ( "causes not treats" "TMKP" "category too generic" "contraindications" "chemical roles" "test_issue" ) ; + sh:order 25 ; + sh:path ttm:test_reference ], + [ sh:datatype xsd:date ; + sh:description "The date by which this test must pass" ; sh:maxCount 1 ; - sh:order 21 ; - sh:path ttm:test_issue ], - [ sh:maxCount 1 ; - sh:order 10 ; - sh:path ttm:input_id ], + sh:order 0 ; + sh:path ttm:must_pass_date ], [ sh:datatype xsd:string ; + sh:description "The notes of the query" ; sh:maxCount 1 ; - sh:order 11 ; - sh:path ttm:input_name ], - [ sh:description "The expected result of the query" ; - sh:in ( "include_good" "exclude_bad" ) ; - sh:maxCount 1 ; - sh:order 6 ; - sh:path ttm:expected_result ], - [ sh:datatype xsd:string ; - sh:description "Settings for the test harness, e.g. \"inferred\"" ; - sh:minCount 1 ; - sh:order 26 ; - sh:path ttm:runner_settings ], - [ sh:datatype xsd:integer ; - sh:description "The answer must return in these many results" ; + sh:order 9 ; + sh:path ttm:notes ], + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; - sh:order 7 ; - sh:path ttm:top_level ], + sh:order 24 ; + sh:path ttm:well_known ], [ sh:datatype xsd:string ; - sh:description "The direction of the subject of the test asset predicate" ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 30 ; - sh:path ttm:biolink_subject_direction_qualifier ], - [ sh:maxCount 1 ; - sh:order 12 ; - sh:path ttm:input_category ], + sh:order 29 ; + sh:path schema1:name ], [ sh:datatype xsd:string ; - sh:description "The aspect of the object of the test asset predicate" ; - sh:maxCount 1 ; - sh:order 31 ; - sh:path ttm:biolink_object_aspect_qualifier ], - [ sh:description "The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset." ; sh:maxCount 1 ; - sh:order 28 ; - sh:path ttm:biolink_qualified_predicate ], + sh:order 16 ; + sh:path ttm:output_name ], [ sh:description "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement" ; sh:maxCount 1 ; sh:order 18 ; sh:path ttm:association ], - [ sh:datatype xsd:string ; - sh:description "An answer that is returned from the test case, note: this must be combined with the expected_result to form a complete answer. It might make sense to couple these in their own object instead of strictly sticking to the flat schema introduced by the spreadsheet here: https://docs.google.com/spreadsheets/d/1yj7zIchFeVl1OHqL_kE_pqvzNLmGml_FLbHDs-8Yvig/edit#gid=0" ; - sh:maxCount 1 ; - sh:order 5 ; - sh:path ttm:answer_informal_concept ] ; + [ sh:maxCount 1 ; + sh:order 13 ; + sh:path ttm:predicate_id ] ; sh:targetClass ttm:AcceptanceTestAsset . ttm:TestCaseResult a sh:NodeShape ; sh:closed true ; sh:description "The outcome of a TestRunner run of one specific TestCase." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class ttm:TestCase ; - sh:description "Slot referencing a single TestCase." ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path ttm:test_case ], - [ sh:datatype xsd:string ; - sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; - sh:order 6 ; - sh:path schema1:additionalType ], + sh:order 4 ; + sh:path schema1:name ], + [ sh:description "Encoded result of a single test run of a given test case" ; + sh:in ( "test_passed" "test_failed" "test_skipped" ) ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path ttm:test_case_result ], [ sh:datatype xsd:string ; sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; @@ -1036,31 +988,31 @@ ttm:TestCaseResult a sh:NodeShape ; sh:maxCount 1 ; sh:order 0 ; sh:path ttm:test_suite_id ], - [ sh:description "Encoded result of a single test run of a given test case" ; - sh:in ( "test_passed" "test_failed" "test_skipped" ) ; + [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 6 ; + sh:path schema1:additionalType ], + [ sh:class ttm:TestCase ; + sh:description "Slot referencing a single TestCase." ; sh:maxCount 1 ; - sh:order 2 ; - sh:path ttm:test_case_result ], + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path ttm:test_case ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path schema1:name ] ; + sh:path schema1:identifier ] ; sh:targetClass ttm:TestCaseResult . ttm:TestEntity a sh:NodeShape ; sh:closed false ; sh:description "Abstract global 'identification' class shared as a parent with all major model classes within the data model for Translator testing." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; - sh:order 3 ; - sh:path schema1:additionalType ], + sh:property [ sh:description "A unique identifier for a Test Entity" ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; @@ -1071,63 +1023,63 @@ ttm:TestEntity a sh:NodeShape ; sh:maxCount 1 ; sh:order 2 ; sh:path schema1:description ], - [ sh:description "A unique identifier for a Test Entity" ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path schema1:identifier ] ; + [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 3 ; + sh:path schema1:additionalType ] ; sh:targetClass ttm:TestEntity . ttm:TestResultPKSet a sh:NodeShape ; sh:closed true ; sh:description "Primary keys for a given ARA result set from a SmokeTest result for a given TestCase." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path schema1:description ], - [ sh:description "A unique identifier for a Test Entity" ; + sh:property [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 7 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:parent_pk ], [ sh:datatype xsd:string ; sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; sh:order 10 ; sh:path schema1:additionalType ], [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 4 ; - sh:path ttm:unsecret ], + sh:order 8 ; + sh:path schema1:name ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path ttm:aragorn ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:order 6 ; sh:path ttm:improving ], [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 5 ; - sh:path ttm:bte ], + sh:order 3 ; + sh:path ttm:arax ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:order 1 ; sh:path ttm:merged_pk ], [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 2 ; - sh:path ttm:aragorn ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:parent_pk ], + sh:order 5 ; + sh:path ttm:bte ], [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path ttm:arax ], + sh:order 9 ; + sh:path schema1:description ], [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 8 ; - sh:path schema1:name ] ; + sh:order 4 ; + sh:path ttm:unsecret ] ; sh:targetClass ttm:TestResultPKSet . ttm:TestEntityParameter a sh:NodeShape ; @@ -1135,15 +1087,15 @@ ttm:TestEntityParameter a sh:NodeShape ; sh:description "A single 'tag = value' pair (where 'value' is a simple string)." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Name of a TestParameter." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:parameter ], - [ sh:datatype xsd:string ; sh:description "(String) value of a TestParameter." ; sh:maxCount 1 ; sh:order 1 ; - sh:path ttm:value ] ; + sh:path ttm:value ], + [ sh:datatype xsd:string ; + sh:description "Name of a TestParameter." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:parameter ] ; sh:targetClass ttm:TestEntityParameter . ttm:Qualifier a sh:NodeShape ; @@ -1165,235 +1117,211 @@ ttm:TestSuiteSpecification a sh:NodeShape ; sh:closed true ; sh:description "Parameters for a Test Case instances either dynamically generated from some external source of Test Assets." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "File format of test entity data (e.g. TSV, YAML or JSON)" ; - sh:in ( "TSV" "YAML" "JSON" ) ; + sh:property [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:test_data_file_format ], + sh:minCount 1 ; + sh:order 2 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path schema1:description ], - [ sh:description "An web accessible file resource link to test entity data (e.g. a web accessible text file of Test Asset entries)" ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:test_data_file_locator ], + sh:order 3 ; + sh:path schema1:name ], [ sh:datatype xsd:string ; sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; sh:order 5 ; sh:path schema1:additionalType ], [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path schema1:name ], - [ sh:description "A unique identifier for a Test Entity" ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path schema1:identifier ] ; - sh:targetClass ttm:TestSuiteSpecification . - -ttm:TestAsset a sh:NodeShape ; - sh:closed true ; - sh:description "Represents a Test Asset, which is a single specific instance of TestCase-agnostic semantic parameters representing the specification of a Translator test target with inputs and (expected) outputs." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a \"Block List\" collection" ; - sh:order 26 ; - sh:path schema1:additionalType ], - [ sh:maxCount 1 ; - sh:order 7 ; - sh:path ttm:output_category ], - [ sh:datatype xsd:string ; - sh:description "The direction of the subject of the test asset predicate" ; + sh:order 4 ; + sh:path schema1:description ], + [ sh:description "File format of test entity data (e.g. TSV, YAML or JSON)" ; + sh:in ( "TSV" "YAML" "JSON" ) ; sh:maxCount 1 ; - sh:order 20 ; - sh:path ttm:biolink_subject_direction_qualifier ], - [ sh:datatype xsd:string ; - sh:description "The direction of the object of the test asset predicate" ; + sh:order 1 ; + sh:path ttm:test_data_file_format ], + [ sh:description "An web accessible file resource link to test entity data (e.g. a web accessible text file of Test Asset entries)" ; sh:maxCount 1 ; - sh:order 22 ; - sh:path ttm:biolink_object_direction_qualifier ], - [ sh:class ttm:TestMetadata ; - sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; + sh:order 0 ; + sh:path ttm:test_data_file_locator ] ; + sh:targetClass ttm:TestSuiteSpecification . + +ttm:TestAsset a sh:NodeShape ; + sh:closed true ; + sh:description "Represents a Test Asset, which is a single specific instance of TestCase-agnostic semantic parameters representing the specification of a Translator test target with inputs and (expected) outputs." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 17 ; - sh:path ttm:test_metadata ], + sh:order 15 ; + sh:path ttm:test_reference ], [ sh:maxCount 1 ; sh:order 2 ; sh:path ttm:input_category ], - [ sh:maxCount 1 ; - sh:order 5 ; - sh:path ttm:output_id ], [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:order 6 ; - sh:path ttm:output_name ], + sh:order 20 ; + sh:path schema1:description ], + [ sh:in ( "High" "Low" "NotApplicable" ) ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path ttm:semantic_severity ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path ttm:predicate_name ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 23 ; + sh:order 18 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 10 ; - sh:path ttm:expected_output ], - [ sh:class ttm:Qualifier ; - sh:description "Optional qualifiers which constrain to the test asset defined knowledge statement. Note that this field records such qualifier slots and values as tag=value pairs, where the tag is the Biolink Model qualifier slot named and the value is an acceptable (Biolink Model enum?) value of the said qualifier slot." ; - sh:nodeKind sh:BlankNode ; - sh:order 9 ; - sh:path ttm:qualifiers ], - [ sh:maxCount 1 ; - sh:order 3 ; - sh:path ttm:predicate_id ], - [ sh:datatype xsd:string ; - sh:description "The aspect of the subject of the test asset predicate" ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; sh:order 19 ; - sh:path ttm:biolink_subject_aspect_qualifier ], + sh:path schema1:name ], [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 24 ; - sh:path schema1:name ], + sh:order 1 ; + sh:path ttm:input_name ], [ sh:datatype xsd:string ; - sh:description "The aspect of the object of the test asset predicate" ; sh:maxCount 1 ; - sh:order 21 ; - sh:path ttm:biolink_object_aspect_qualifier ], + sh:order 6 ; + sh:path ttm:output_name ], [ sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:input_id ], - [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ; + sh:order 7 ; + sh:path ttm:output_category ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 15 ; - sh:path ttm:test_reference ], + sh:order 10 ; + sh:path ttm:expected_output ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:order 13 ; sh:path ttm:in_v1 ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path ttm:well_known ], [ sh:datatype xsd:string ; sh:description "Settings for the test harness, e.g. \"inferred\"" ; sh:minCount 1 ; sh:order 16 ; sh:path ttm:runner_settings ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path ttm:predicate_name ], - [ sh:in ( "causes not treats" "TMKP" "category too generic" "contraindications" "chemical roles" "test_issue" ) ; - sh:maxCount 1 ; - sh:order 11 ; - sh:path ttm:test_issue ], [ sh:description "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement" ; sh:maxCount 1 ; sh:order 8 ; sh:path ttm:association ], - [ sh:description "The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset." ; - sh:maxCount 1 ; - sh:order 18 ; - sh:path ttm:biolink_qualified_predicate ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:input_name ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path ttm:well_known ], - [ sh:in ( "High" "Low" "NotApplicable" ) ; + [ sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:input_id ], + [ sh:class ttm:Qualifier ; + sh:description "Optional qualifiers which constrain to the test asset defined knowledge statement. Note that this field records such qualifier slots and values as tag=value pairs, where the tag is the Biolink Model qualifier slot named and the value is an acceptable (Biolink Model enum?) value of the said qualifier slot." ; + sh:nodeKind sh:BlankNode ; + sh:order 9 ; + sh:path ttm:qualifiers ], + [ sh:class ttm:TestMetadata ; + sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; sh:maxCount 1 ; - sh:order 12 ; - sh:path ttm:semantic_severity ], + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 17 ; + sh:path ttm:test_metadata ], + [ sh:maxCount 1 ; + sh:order 3 ; + sh:path ttm:predicate_id ], + [ sh:maxCount 1 ; + sh:order 5 ; + sh:path ttm:output_id ], [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; + sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a \"Block List\" collection" ; + sh:order 21 ; + sh:path schema1:additionalType ], + [ sh:in ( "causes not treats" "TMKP" "category too generic" "contraindications" "chemical roles" "test_issue" ) ; sh:maxCount 1 ; - sh:order 25 ; - sh:path schema1:description ] ; + sh:order 11 ; + sh:path ttm:test_issue ] ; sh:targetClass ttm:TestAsset . ttm:TestCase a sh:NodeShape ; sh:closed true ; sh:description "Represents a single enumerated instance of Test Case, derived from a given collection of one or more TestAsset instances (the value of the 'test_assets' slot) which define the 'inputs' and 'outputs' of the TestCase, used to probe a particular test condition." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; + sh:in [ rdf:rest () ] ; + sh:order 5 ; + sh:path ttm:components ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path schema1:name ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:order 8 ; sh:path ttm:test_case_predicate_name ], [ sh:datatype xsd:string ; - sh:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in a \"Block List\" collection." ; - sh:order 15 ; - sh:path schema1:additionalType ], + sh:description "A human-readable description for a Test Entity" ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path schema1:description ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 12 ; sh:path schema1:identifier ], - [ sh:class ttm:TestAsset ; - sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in 'test_assets' slot (\"Block List\") collection." ; + [ sh:datatype xsd:string ; + sh:description "Settings for the test harness for TestCase" ; sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path ttm:test_assets ], - [ sh:description "The component that this test case is intended to run against. Most often this is the ARS for acceptance tests, but for the Benchmarks repo integration, this can also be individual components of the system like Aragorn, or ARAX." ; - sh:in [ rdf:rest () ] ; - sh:order 5 ; - sh:path ttm:components ], - [ sh:description "Deployment environment within which the associated TestSuite is run." ; - sh:in ( "dev" "ci" "test" "prod" ) ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:test_env ], - [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; - sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path ttm:test_case_source ], + sh:order 11 ; + sh:path ttm:test_case_runner_settings ], + [ sh:datatype xsd:string ; + sh:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in a \"Block List\" collection." ; + sh:order 15 ; + sh:path schema1:additionalType ], [ sh:class ttm:Precondition ; sh:nodeKind sh:IRI ; sh:order 3 ; sh:path ttm:preconditions ], + [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; + sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path ttm:test_case_objective ], [ sh:maxCount 1 ; sh:order 10 ; sh:path ttm:test_case_input_id ], - [ sh:description "Type of TestCase query." ; - sh:in ( "treats" ) ; + [ sh:description "Deployment environment within which the associated TestSuite is run." ; + sh:in ( "dev" "ci" "test" "prod" ) ; sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:query_type ], + sh:order 0 ; + sh:path ttm:test_env ], [ sh:description "A template for a query, which can be used to generate a query for a test case. note: the current enumerated values for this slot come from the Benchmarks repo config/benchmarks.json \"templates\" collection and refer to the \"name\" field of each template. Templates themselves are currently stored in the config/[source_name]/templates directory." ; sh:in ( "ameliorates" "treats" "three_hop" "drug_treats_rare_disease" "drug-to-gene" ) ; sh:maxCount 1 ; sh:order 4 ; sh:path ttm:trapi_template ], - [ sh:datatype xsd:string ; - sh:description "Settings for the test harness for TestCase" ; - sh:minCount 1 ; - sh:order 11 ; - sh:path ttm:test_case_runner_settings ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:order 9 ; sh:path ttm:test_case_predicate_id ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path schema1:name ], - [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; - sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; + [ sh:description "Type of TestCase query." ; + sh:in ( "treats" ) ; sh:maxCount 1 ; - sh:order 6 ; - sh:path ttm:test_case_objective ], - [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; + sh:order 1 ; + sh:path ttm:query_type ], + [ sh:class ttm:TestAsset ; + sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in 'test_assets' slot (\"Block List\") collection." ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path ttm:test_assets ], + [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; + sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; sh:maxCount 1 ; - sh:order 14 ; - sh:path schema1:description ] ; + sh:order 7 ; + sh:path ttm:test_case_source ] ; sh:targetClass ttm:TestCase . ttm:Precondition a sh:NodeShape ; @@ -1401,67 +1329,67 @@ ttm:Precondition a sh:NodeShape ; sh:description "Represents a precondition for a TestCase" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; - sh:order 3 ; - sh:path schema1:additionalType ], + sh:description "A human-readable description for a Test Entity" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path schema1:description ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; sh:order 1 ; sh:path schema1:name ], - [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path schema1:description ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 3 ; + sh:path schema1:additionalType ] ; sh:targetClass ttm:Precondition . ttm:TestMetadata a sh:NodeShape ; sh:closed true ; sh:description "Represents metadata related to (external SME, SMURF, Translator feedback, large scale batch, etc.) like the provenance of test assets, cases and/or suites." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; + sh:property [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path schema1:name ], + sh:minCount 1 ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:description "Provenance of a specific set of test assets, cases and/or suites. Or, the person who cares about this, know about this. We would like this to be an ORCID eventually, but currently it is just a string." ; sh:in ( "SME" "SMURF" "GitHubUserFeedback" "TACT" "BenchMark" "TranslatorTeam" "TestDataLocation" ) ; sh:maxCount 1 ; sh:order 0 ; sh:path ttm:test_source ], + [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path ttm:test_reference ], + [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 7 ; + sh:path schema1:additionalType ], [ sh:datatype xsd:string ; sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; sh:order 6 ; sh:path schema1:description ], - [ sh:description "A unique identifier for a Test Entity" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 4 ; - sh:path schema1:identifier ], [ sh:class ttm:TestEntityParameter ; sh:description "Metadata annotation." ; sh:nodeKind sh:BlankNode ; sh:order 3 ; sh:path ttm:test_annotations ], - [ sh:datatype xsd:string ; - sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; - sh:order 7 ; - sh:path schema1:additionalType ], [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative)" ; sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" ) ; sh:maxCount 1 ; sh:order 2 ; sh:path ttm:test_objective ], - [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ; + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:test_reference ] ; + sh:order 5 ; + sh:path schema1:name ] ; sh:targetClass ttm:TestMetadata . diff --git a/project/shex/translator_testing_model.shex b/project/shex/translator_testing_model.shex index 6ddf9cd..b5f5b05 100644 --- a/project/shex/translator_testing_model.shex +++ b/project/shex/translator_testing_model.shex @@ -184,11 +184,6 @@ linkml:Sparqlpath xsd:string @linkml:Uriorcurie ? ; @linkml:String + ; @ ; - @linkml:Uriorcurie ? ; - @linkml:String ? ; - @linkml:String ? ; - @linkml:String ? ; - @linkml:String ? ; schema1:additionalType @linkml:String * ) ; rdf:type [ ] diff --git a/project/sqlschema/translator_testing_model.sql b/project/sqlschema/translator_testing_model.sql index db751a7..4c2b2ff 100644 --- a/project/sqlschema/translator_testing_model.sql +++ b/project/sqlschema/translator_testing_model.sql @@ -187,11 +187,6 @@ CREATE TABLE "AcceptanceTestAsset" ( well_known BOOLEAN, test_reference TEXT, test_metadata TEXT NOT NULL, - biolink_qualified_predicate TEXT, - biolink_subject_aspect_qualifier TEXT, - biolink_subject_direction_qualifier TEXT, - biolink_object_aspect_qualifier TEXT, - biolink_object_direction_qualifier TEXT, id TEXT NOT NULL, must_pass_date DATE, must_pass_environment VARCHAR(4), @@ -268,11 +263,6 @@ CREATE TABLE "TestAsset" ( well_known BOOLEAN, test_reference TEXT, test_metadata TEXT NOT NULL, - biolink_qualified_predicate TEXT, - biolink_subject_aspect_qualifier TEXT, - biolink_subject_direction_qualifier TEXT, - biolink_object_aspect_qualifier TEXT, - biolink_object_direction_qualifier TEXT, id TEXT NOT NULL, PRIMARY KEY (id), FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id) @@ -311,11 +301,6 @@ CREATE TABLE "TestEdgeData" ( well_known BOOLEAN, test_reference TEXT, test_metadata TEXT NOT NULL, - biolink_qualified_predicate TEXT, - biolink_subject_aspect_qualifier TEXT, - biolink_subject_direction_qualifier TEXT, - biolink_object_aspect_qualifier TEXT, - biolink_object_direction_qualifier TEXT, id TEXT NOT NULL, PRIMARY KEY (id), FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id) diff --git a/src/translator_testing_model/datamodel/pydanticmodel.py b/src/translator_testing_model/datamodel/pydanticmodel.py index 7209010..9c11ed2 100644 --- a/src/translator_testing_model/datamodel/pydanticmodel.py +++ b/src/translator_testing_model/datamodel/pydanticmodel.py @@ -280,11 +280,6 @@ class TestAsset(TestEntity): test_reference: Optional[str] = Field(None, description="""Document URL where original test source particulars are registered (e.g. Github repo)""") runner_settings: List[str] = Field(default_factory=list, description="""Settings for the test harness, e.g. \"inferred\"""") test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""") - biolink_qualified_predicate: Optional[str] = Field(None, description="""The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset.""") - biolink_subject_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the subject of the test asset predicate""") - biolink_subject_direction_qualifier: Optional[str] = Field(None, description="""The direction of the subject of the test asset predicate""") - biolink_object_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the object of the test asset predicate""") - biolink_object_direction_qualifier: Optional[str] = Field(None, description="""The direction of the object of the test asset predicate""") id: str = Field(..., description="""A unique identifier for a Test Entity""") name: Optional[str] = Field(None, description="""A human-readable name for a Test Entity""") description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") @@ -323,11 +318,6 @@ class AcceptanceTestAsset(TestAsset): test_reference: Optional[str] = Field(None, description="""Document URL where original test source particulars are registered (e.g. Github repo)""") runner_settings: List[str] = Field(default_factory=list, description="""Settings for the test harness, e.g. \"inferred\"""") test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""") - biolink_qualified_predicate: Optional[str] = Field(None, description="""The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset.""") - biolink_subject_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the subject of the test asset predicate""") - biolink_subject_direction_qualifier: Optional[str] = Field(None, description="""The direction of the subject of the test asset predicate""") - biolink_object_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the object of the test asset predicate""") - biolink_object_direction_qualifier: Optional[str] = Field(None, description="""The direction of the object of the test asset predicate""") id: str = Field(..., description="""A unique identifier for a Test Entity""") name: Optional[str] = Field(None, description="""A human-readable name for a Test Entity""") description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") @@ -356,11 +346,6 @@ class TestEdgeData(TestAsset): test_reference: Optional[str] = Field(None, description="""Document URL where original test source particulars are registered (e.g. Github repo)""") runner_settings: List[str] = Field(default_factory=list, description="""Settings for the test harness, e.g. \"inferred\"""") test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""") - biolink_qualified_predicate: Optional[str] = Field(None, description="""The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset.""") - biolink_subject_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the subject of the test asset predicate""") - biolink_subject_direction_qualifier: Optional[str] = Field(None, description="""The direction of the subject of the test asset predicate""") - biolink_object_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the object of the test asset predicate""") - biolink_object_direction_qualifier: Optional[str] = Field(None, description="""The direction of the object of the test asset predicate""") id: str = Field(..., description="""A unique identifier for a Test Entity""") name: Optional[str] = Field(None, description="""A human-readable name for a Test Entity""") description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") diff --git a/src/translator_testing_model/datamodel/pydanticmodel_v2.py b/src/translator_testing_model/datamodel/pydanticmodel_v2.py index de86504..5cdd728 100644 --- a/src/translator_testing_model/datamodel/pydanticmodel_v2.py +++ b/src/translator_testing_model/datamodel/pydanticmodel_v2.py @@ -276,11 +276,6 @@ class TestAsset(TestEntity): test_reference: Optional[str] = Field(None, description="""Document URL where original test source particulars are registered (e.g. Github repo)""") runner_settings: List[str] = Field(default_factory=list, description="""Settings for the test harness, e.g. \"inferred\"""") test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""") - biolink_qualified_predicate: Optional[str] = Field(None, description="""The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset.""") - biolink_subject_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the subject of the test asset predicate""") - biolink_subject_direction_qualifier: Optional[str] = Field(None, description="""The direction of the subject of the test asset predicate""") - biolink_object_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the object of the test asset predicate""") - biolink_object_direction_qualifier: Optional[str] = Field(None, description="""The direction of the object of the test asset predicate""") id: str = Field(..., description="""A unique identifier for a Test Entity""") name: Optional[str] = Field(None, description="""A human-readable name for a Test Entity""") description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") @@ -319,11 +314,6 @@ class AcceptanceTestAsset(TestAsset): test_reference: Optional[str] = Field(None, description="""Document URL where original test source particulars are registered (e.g. Github repo)""") runner_settings: List[str] = Field(default_factory=list, description="""Settings for the test harness, e.g. \"inferred\"""") test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""") - biolink_qualified_predicate: Optional[str] = Field(None, description="""The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset.""") - biolink_subject_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the subject of the test asset predicate""") - biolink_subject_direction_qualifier: Optional[str] = Field(None, description="""The direction of the subject of the test asset predicate""") - biolink_object_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the object of the test asset predicate""") - biolink_object_direction_qualifier: Optional[str] = Field(None, description="""The direction of the object of the test asset predicate""") id: str = Field(..., description="""A unique identifier for a Test Entity""") name: Optional[str] = Field(None, description="""A human-readable name for a Test Entity""") description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") @@ -352,11 +342,6 @@ class TestEdgeData(TestAsset): test_reference: Optional[str] = Field(None, description="""Document URL where original test source particulars are registered (e.g. Github repo)""") runner_settings: List[str] = Field(default_factory=list, description="""Settings for the test harness, e.g. \"inferred\"""") test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""") - biolink_qualified_predicate: Optional[str] = Field(None, description="""The qualified_predicate in Biolink model corresponding to the shorthand predicate name used in the test asset.""") - biolink_subject_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the subject of the test asset predicate""") - biolink_subject_direction_qualifier: Optional[str] = Field(None, description="""The direction of the subject of the test asset predicate""") - biolink_object_aspect_qualifier: Optional[str] = Field(None, description="""The aspect of the object of the test asset predicate""") - biolink_object_direction_qualifier: Optional[str] = Field(None, description="""The direction of the object of the test asset predicate""") id: str = Field(..., description="""A unique identifier for a Test Entity""") name: Optional[str] = Field(None, description="""A human-readable name for a Test Entity""") description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") diff --git a/src/translator_testing_model/datamodel/translator_testing_model.py b/src/translator_testing_model/datamodel/translator_testing_model.py index 9ddb0fd..65a0966 100644 --- a/src/translator_testing_model/datamodel/translator_testing_model.py +++ b/src/translator_testing_model/datamodel/translator_testing_model.py @@ -1,5 +1,5 @@ # Auto generated from translator_testing_model.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-03-15T17:20:13 +# Generation date: 2024-03-18T12:26:26 # Schema: Translator-Testing-Model # # id: https://w3id.org/TranslatorSRI/TranslatorTestingModel @@ -320,11 +320,6 @@ class TestAsset(TestEntity): in_v1: Optional[Union[bool, Bool]] = None well_known: Optional[Union[bool, Bool]] = None test_reference: Optional[Union[str, URIorCURIE]] = None - biolink_qualified_predicate: Optional[Union[str, URIorCURIE]] = None - biolink_subject_aspect_qualifier: Optional[str] = None - biolink_subject_direction_qualifier: Optional[str] = None - biolink_object_aspect_qualifier: Optional[str] = None - biolink_object_direction_qualifier: Optional[str] = None tags: Optional[Union[str, List[str]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -393,21 +388,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.test_reference is not None and not isinstance(self.test_reference, URIorCURIE): self.test_reference = URIorCURIE(self.test_reference) - if self.biolink_qualified_predicate is not None and not isinstance(self.biolink_qualified_predicate, URIorCURIE): - self.biolink_qualified_predicate = URIorCURIE(self.biolink_qualified_predicate) - - if self.biolink_subject_aspect_qualifier is not None and not isinstance(self.biolink_subject_aspect_qualifier, str): - self.biolink_subject_aspect_qualifier = str(self.biolink_subject_aspect_qualifier) - - if self.biolink_subject_direction_qualifier is not None and not isinstance(self.biolink_subject_direction_qualifier, str): - self.biolink_subject_direction_qualifier = str(self.biolink_subject_direction_qualifier) - - if self.biolink_object_aspect_qualifier is not None and not isinstance(self.biolink_object_aspect_qualifier, str): - self.biolink_object_aspect_qualifier = str(self.biolink_object_aspect_qualifier) - - if self.biolink_object_direction_qualifier is not None and not isinstance(self.biolink_object_direction_qualifier, str): - self.biolink_object_direction_qualifier = str(self.biolink_object_direction_qualifier) - if not isinstance(self.tags, list): self.tags = [self.tags] if self.tags is not None else [] self.tags = [v if isinstance(v, str) else str(v) for v in self.tags] diff --git a/src/translator_testing_model/schema/translator_testing_model.yaml b/src/translator_testing_model/schema/translator_testing_model.yaml index 1f85d41..e4bf2bf 100644 --- a/src/translator_testing_model/schema/translator_testing_model.yaml +++ b/src/translator_testing_model/schema/translator_testing_model.yaml @@ -129,11 +129,6 @@ classes: - test_reference - runner_settings - test_metadata - - biolink_qualified_predicate - - biolink_subject_aspect_qualifier - - biolink_subject_direction_qualifier - - biolink_object_aspect_qualifier - - biolink_object_direction_qualifier slot_usage: id: aliases: ["AssetIdentifier"] diff --git a/src/translator_testing_model/scripts/generate_suite_for_demo.py b/src/translator_testing_model/scripts/generate_suite_for_demo.py index c1afb3b..c6d240c 100644 --- a/src/translator_testing_model/scripts/generate_suite_for_demo.py +++ b/src/translator_testing_model/scripts/generate_suite_for_demo.py @@ -1,4 +1,4 @@ -from src.translator_testing_model.datamodel.pydanticmodel import TestAsset, TestCase, TestSuite, TestMetadata +from src.translator_testing_model.datamodel.pydanticmodel import TestAsset, TestCase, TestSuite, TestMetadata, Qualifier import csv import json import requests @@ -54,19 +54,24 @@ def create_test_assets_from_tsv(test_assets): biolink_object_aspect_qualifier = "" biolink_object_direction_qualifier = "" specified_predicate = row.get("Relationship").lower().strip() + if specified_predicate == "decreases abundance or activity of": + specified_predicate = "decreases activity or abundance of" + print("specified predicate", specified_predicate) if toolkit.get_element(specified_predicate) is not None: converted_predicate = toolkit.get_element(specified_predicate).name converted_predicate = converted_predicate.replace(" ", "_") + print("converted predicate", specified_predicate) else: pred_mapping = toolkit.pmap for collct in pred_mapping.values(): for map_item in collct: if map_item.get("mapped predicate") == specified_predicate: + print("mapped it", map_item.get("mapped predicate")) converted_predicate = map_item.get("predicate") converted_predicate = converted_predicate.replace(" ", "_") biolink_object_aspect_qualifier = map_item.get("object aspect qualifier") biolink_object_direction_qualifier = map_item.get("object direction qualifier") - biolink_qualified_predicate = map_item.get("qualified predicate") + biolink_qualified_predicate = "biolink:"+map_item.get("qualified predicate") if row.get("Expected Result / Suggested Comparator") == "4_NeverShow": expected_output = "NeverShow" @@ -105,20 +110,24 @@ def create_test_assets_from_tsv(test_assets): output_category = 'biolink:AnatomicalEntity' if row.get("OutputID").startswith("HP:"): output_category = 'biolink:PhenotypicFeature' + if row.get("OutputID").startswith("DRUGBANK:"): + output_category = 'biolink:ChemicalEntity' + print(converted_predicate, row, expected_output) ta = TestAsset(id=row.get("id").replace(":", "_"), - name=expected_output + ': ' + row.get("OutputName").replace(" ", "_") + "_" + row.get("Relationship").lower() + "_" + row.get("InputName").strip().replace(" ", "_"), - description=expected_output + ': ' + row.get("OutputName").replace(" ", "_") + "_" + row.get("Relationship").lower() + "_" + row.get("InputName").strip().replace(" ", "_"), + name=expected_output + ': ' + row.get("OutputName").strip() +" "+ row.get("Relationship").strip().lower() +" "+ row.get("InputName").strip(), + description=expected_output + ': ' + row.get("OutputName").strip() +" "+ row.get("Relationship").strip().lower() +" "+ row.get("InputName").strip(), input_id=row.get("InputID").strip(), - predicate_name=row.get("Relationship").lower().strip(), - predicate_id=converted_predicate, + predicate_name=converted_predicate, + predicate_id="biolink:"+converted_predicate, output_id=row.get("OutputID").strip(), + output_name=row.get("OutputName").strip(), output_category=output_category, expected_output=expected_output.strip(), test_metadata=TestMetadata(id=1), input_category=input_category, ) - ta.input_name = row.get("InputID") + ta.input_name = row.get("InputName").strip() if row.get("Translator GitHubIssue") != "" and row.get("Translator GitHubIssue") is not None: tmd = TestMetadata(id=1, test_source="SMURF", @@ -133,9 +142,15 @@ def create_test_assets_from_tsv(test_assets): ta.runner_settings = [row.get("Settings").lower()] if biolink_qualified_predicate != "": - ta.biolink_qualified_predicate = biolink_qualified_predicate - ta.biolink_object_aspect_qualifier = biolink_object_aspect_qualifier - ta.biolink_object_direction_qualifier = biolink_object_direction_qualifier + qp = Qualifier(parameter="biolink_qualified_predicate", + value=biolink_qualified_predicate) + oaq = Qualifier(parameter="biolink_object_aspect_qualifier", + value=biolink_object_aspect_qualifier.replace(" ", "_")) + odq = Qualifier(parameter="biolink_object_direction_qualifier", + value=biolink_object_direction_qualifier) + qualifiers = [qp, oaq, odq] + + ta.qualifiers=qualifiers if row.get("Well Known") == "yes": ta.well_known = True else: diff --git a/tests/test_asset_generation.py b/tests/test_asset_generation.py new file mode 100644 index 0000000..a1ace31 --- /dev/null +++ b/tests/test_asset_generation.py @@ -0,0 +1,2 @@ +import pytest +