diff --git a/Makefile b/Makefile
index 2dc679e..e6429b0 100644
--- a/Makefile
+++ b/Makefile
@@ -108,7 +108,7 @@ gen-examples:
gen-project: $(PYMODEL)
$(RUN) gen-project ${GEN_PARGS} -d $(DEST) $(SOURCE_SCHEMA_PATH) && mv $(DEST)/*.py $(PYMODEL)
- $(RUN) gen-pydantic --pydantic-version 2 src/translator_testing_model/schema/translator_testing_model.yaml > $(PYMODEL)/pydanticmodel.py
+ $(RUN) gen-pydantic src/translator_testing_model/schema/translator_testing_model.yaml > $(PYMODEL)/pydanticmodel.py
test: test-schema test-python test-examples
diff --git a/examples/Bad-TestAsset-001.yaml b/examples/Bad-TestAsset-001.yaml
index 783b421..171adc6 100644
--- a/examples/Bad-TestAsset-001.yaml
+++ b/examples/Bad-TestAsset-001.yaml
@@ -1,38 +1,15 @@
# Example TestAsset data object
---
-# TODO: the TestAsset example data needs further elaboration
-#
-# TestAsset:
-# 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.
-# is_a: TestEntity
-# slots:
-# - input_id
-# - input_name
-# - predicate
-# - output_id
-# - output_name
-# - expected_output
-# - test_issue
-# - semantic_severity
-# - in_v1
-# - well_known
-# - test_metadata
-# slot_usage:
-# id:
-# aliases: ["AssetIdentifier"]
-# range: uriorcurie
-# tags:
-# description: >-
-# One or more 'tags' slot values (inherited from TestEntity) should generally
-# be defined to specify TestAsset membership in a "Block List" collection
-#
# Bad Query 1 - Missing required identifier?
# id: example:TestAsset001
-name: foo bar
-description: This is a test asset
-test_meta_data: { "foo": "bar" }
\ No newline at end of file
+name: TestAsset001
+description: Fingolimod treats multiple sclerosis
+input_id: PUBCHEM.COMPOUND:107970
+predicate_name: treats
+output_id: MONDO:0005301
+expected_output: Acceptable
+test_runner_settings:
+ - "inferred"
+ - "test"
diff --git a/examples/Bad-TestCase-001.yaml b/examples/Bad-TestCase-001.yaml
deleted file mode 100644
index 11babb4..0000000
--- a/examples/Bad-TestCase-001.yaml
+++ /dev/null
@@ -1,38 +0,0 @@
-# Example TestCase data object
----
-# TODO: the TestCase example data needs further elaboration
-#
-# TestCase:
-# 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.
-# is_a: TestEntity
-# slots:
-# - test_env
-# - test_case_type
-# - query_type
-# - test_assets
-# - preconditions
-# slot_usage:
-# test_case_type:
-# description: >-
-# Is this valid or even necessary with the class names already
-# available from classes of 'test_assets' used (seems redundant?)
-# test_assets:
-# aliases: ["Block List"]
-# 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.
-# tags:
-# description: >-
-# One or more 'tags' slot values (inherited from TestEntity) should generally
-# be defined as filters to specify TestAsset membership in a "Block List" collection.
-#
-# Bad Query 1 - Missing required identifier?
-
-# id: id: example:TestCase001
-name: foo bar
-description: This is a test case
diff --git a/examples/Bad-TestEntity-001.yaml b/examples/Bad-TestEntity-001.yaml
index 9676668..dbe6245 100644
--- a/examples/Bad-TestEntity-001.yaml
+++ b/examples/Bad-TestEntity-001.yaml
@@ -11,6 +11,8 @@
# - id
# - name
# - description
+# - tags
+# - test_runner_settings
#
# where the slots are:
#
diff --git a/examples/Bad-TestEntity-002.yaml-uriorcurie_should_fail_but_does_not b/examples/Bad-TestEntity-002.yaml-uriorcurie_should_fail_but_does_not
index f9357e2..3f8643b 100644
--- a/examples/Bad-TestEntity-002.yaml-uriorcurie_should_fail_but_does_not
+++ b/examples/Bad-TestEntity-002.yaml-uriorcurie_should_fail_but_does_not
@@ -11,6 +11,8 @@
# - id
# - name
# - description
+# - tags
+# - test_runner_settings
#
# where the slots are:
#
diff --git a/examples/Good-AcceptanceTestAsset-001.yaml b/examples/Good-AcceptanceTestAsset-001.yaml
index 5dd07d3..2a48722 100644
--- a/examples/Good-AcceptanceTestAsset-001.yaml
+++ b/examples/Good-AcceptanceTestAsset-001.yaml
@@ -1,6 +1,7 @@
# Example AcceptanceTestAsset data object
---
# TODO: the AcceptanceTestAsset example data needs further elaboration
+# (there don't seem to be any required: true AcceptanceTestAsset-specific fields)
#
# AcceptanceTestAsset:
@@ -21,14 +22,16 @@
# - notes
#
id: example:AcceptanceTestAsset001
-name: foo bar
-description: This is a acceptance test case'
-runner_settings:
+name: AcceptanceTestAsset001
+description: Iron treats Aceruloplasminemia
+input_id: MONDO:0011426
+predicate_name: treats
+output_id: DRUGBANK:DB01592
+expected_output: NeverShow
+test_metadata:
+ id: "test:1"
+ test_source: SMURF
+test_runner_settings:
- "inferred"
- "test"
-test_metadata:
- id: 1
- test_source: SMURF,
- test_reference: https://github.com/NCATSTranslator/Feedback/issues/506
- test_objective: AcceptanceTest
diff --git a/examples/Good-AcceptanceTestCase-001.yaml b/examples/Good-AcceptanceTestCase-001.yaml
index 8102b5c..ca6f646 100644
--- a/examples/Good-AcceptanceTestCase-001.yaml
+++ b/examples/Good-AcceptanceTestCase-001.yaml
@@ -13,10 +13,20 @@
id: example:AcceptanceTestCase001
name: foo bar
description: This is an acceptance test case
+test_runner_settings:
+ - "inferred"
+ - "test"
test_assets:
- - id: example:TestAsset001
- name: foo bar
- description: This is a test asset
- runner_settings:
+ - id: example:AcceptanceTestAsset001
+ name: AcceptanceTestAsset001
+ description: Iron treats Aceruloplasminemia
+ input_id: MONDO:0011426
+ predicate_name: treats
+ output_id: DRUGBANK:DB01592
+ expected_output: NeverShow
+ test_runner_settings:
- "inferred"
- - "test"
\ No newline at end of file
+ - "test"
+ test_metadata:
+ id: "test:1"
+ test_source: SMURF
\ No newline at end of file
diff --git a/examples/Good-TestAsset-001.json b/examples/Good-TestAsset-001.json
index 05aae30..f773550 100644
--- a/examples/Good-TestAsset-001.json
+++ b/examples/Good-TestAsset-001.json
@@ -1,16 +1,13 @@
{
"id": "example:TestAsset001",
- "name": "foo bar",
- "description": "This is a test asset",
- "runner_settings": ["inferred", "test"],
+ "name": "TestAsset001",
+ "description": "Fingolimod treats multiple sclerosis",
+ "input_id": "PUBCHEM.COMPOUND:107970",
+ "predicate_name": "treats",
+ "output_id": "MONDO:0005301",
+ "expected_output": "Acceptable",
+ "test_runner_settings": ["inferred", "test"],
"test_metadata": {
- "id": "1",
- "name": null,
- "description": null,
- "tags": [],
- "test_source": "SMURF",
- "test_reference": "https://github.com/NCATSTranslator/Feedback/issues/506",
- "test_objective": "AcceptanceTest",
- "test_annotations": []
+ "id": "example:TestAsset001"
}
}
diff --git a/examples/Good-TestAsset-001.yaml b/examples/Good-TestAsset-001.yaml
index cbfb640..31fd44d 100644
--- a/examples/Good-TestAsset-001.yaml
+++ b/examples/Good-TestAsset-001.yaml
@@ -1,7 +1,8 @@
# Example TestAsset data object
---
-# TODO: the TestAsset example data needs further elaboration
+# TODO: the TestAsset example data may need further elaboration
+#
#
# TestAsset:
# description: >-
@@ -12,15 +13,20 @@
# slots:
# - input_id
# - input_name
-# - predicate
+# - input_category
+# - predicate_id
+# - predicate_name
# - output_id
# - output_name
+# - output_category
+# - association
+# - qualifiers
# - expected_output
# - test_issue
# - semantic_severity
# - in_v1
# - well_known
-# - runner_settings
+# - test_reference
# slot_usage:
# id:
# aliases: ["AssetIdentifier"]
@@ -29,7 +35,7 @@
# description: >-
# One or more 'tags' slot values (inherited from TestEntity) should generally
# be defined to specify TestAsset membership in a "Block List" collection
-# runner_settings:
+# test_runner_settings:
# description: >-
# Settings for the test harness, e.g. "inferred"
#
@@ -38,7 +44,7 @@ name: TestAsset001
description: Iron treats Aceruloplasminemia
input_id: MONDO:0011426
input_name: Aceruloplasminemia
-predicate: Treats
+predicate_name: treats
output_id: DRUGBANK:DB01592
output_name: Iron (PUBCHEM)
expected_output: NeverShow
@@ -46,11 +52,8 @@ test_reference: https://github.com/NCATSTranslator/Feedback/issues/506
semantic_severity: NotApplicable
in_v1: True
well_known: False
-runner_settings:
- - "inferred"
- - "test"
test_metadata:
- id: 1
- test_source: SMURF,
- test_reference: https://github.com/NCATSTranslator/Feedback/issues/506
- test_objective: AcceptanceTest
+ id: "example:TestAsset001"
+test_runner_settings:
+ - "inferred"
+ - "test"
\ No newline at end of file
diff --git a/examples/Good-TestCase-001.json b/examples/Good-TestCase-001.json
index 1a006b7..d4763fe 100644
--- a/examples/Good-TestCase-001.json
+++ b/examples/Good-TestCase-001.json
@@ -5,9 +5,17 @@
"test_assets": [
{
"id": "example:TestAsset001",
- "name": "foo bar",
- "description": "This is a test asset",
- "runner_settings": ["inferred","test_setting"]
+ "name": "TestAsset001",
+ "description": "Fingolimod treats multiple sclerosis",
+ "input_id": "PUBCHEM.COMPOUND:107970",
+ "predicate_name": "treats",
+ "output_id": "MONDO:0005301",
+ "expected_output": "Acceptable",
+ "test_runner_settings": ["inferred", "test"],
+ "test_metadata": {
+ "id": "example:TestMetadata001"
+ }
}
- ]
+ ],
+ "test_runner_settings": ["inferred", "test"]
}
diff --git a/examples/Good-TestCase-001.yaml b/examples/Good-TestCase-001.yaml
index 48cbafc..2af86e1 100644
--- a/examples/Good-TestCase-001.yaml
+++ b/examples/Good-TestCase-001.yaml
@@ -2,6 +2,7 @@
---
# TODO: the TestCase example data needs further elaboration
#
+#
# TestCase:
# description: >-
# Represents a single enumerated instance of Test Case, derived from a
@@ -34,10 +35,20 @@
id: example:TestCase001
name: foo bar
description: This is a test case
+# NOTE: we only provide the minimal set of TestAsset slots where required: true
test_assets:
- id: example:TestAsset001
- name: foo bar
- description: This is a test asset
- runner_settings:
+ name: TestAsset001
+ input_id: MONDO:0011426
+ predicate_name: treats
+ output_id: DRUGBANK:DB01592
+ expected_output: NeverShow
+ test_runner_settings:
- "inferred"
- "test"
+ test_metadata:
+ id: test:1
+ test_source: SMURF
+test_runner_settings:
+ - "inferred"
+ - "test"
\ No newline at end of file
diff --git a/examples/Good-TestCaseSpecification-001.yaml b/examples/Good-TestCaseSpecification-001.yaml
index 5c4f8cb..cf671f2 100644
--- a/examples/Good-TestCaseSpecification-001.yaml
+++ b/examples/Good-TestCaseSpecification-001.yaml
@@ -11,3 +11,7 @@
id: example:TestCaseSpecification001
name: foo bar
description: This is a test case specification
+test_case_specification_runner_settings:
+ - "inferred"
+ - "test"
+
diff --git a/examples/Good-TestEntity-Complete.yaml b/examples/Good-TestEntity-Complete.yaml
index ad412a8..2671e65 100644
--- a/examples/Good-TestEntity-Complete.yaml
+++ b/examples/Good-TestEntity-Complete.yaml
@@ -11,6 +11,8 @@
# - id
# - name
# - description
+# - tags
+# - test_runner_settings
#
# where the slots are:
#
diff --git a/examples/Good-TestSuite-001.yaml b/examples/Good-TestSuite-001.yaml
index c4d8a07..e579103 100644
--- a/examples/Good-TestSuite-001.yaml
+++ b/examples/Good-TestSuite-001.yaml
@@ -18,3 +18,6 @@
id: example:TestSuite001
name: foo bar
description: This is a test suite
+test_metadata:
+ id: test:1
+ test_source: SMURF
diff --git a/examples/SampleTestAssetList.json b/examples/SampleTestAssetList.json
index 227e400..84bb0e0 100644
--- a/examples/SampleTestAssetList.json
+++ b/examples/SampleTestAssetList.json
@@ -1,20 +1,30 @@
[
{
"id": "example:TestAsset001",
- "name": "foo bar",
- "description": "This is a test asset",
- "runner_settings": ["inferred","test_setting"]
+ "name": "TestAsset001",
+ "description": "Fingolimod treats multiple sclerosis",
+ "input_id": "PUBCHEM.COMPOUND:107970",
+ "predicate_name": "treats",
+ "output_id": "MONDO:0005301",
+ "expected_output": "Acceptable",
+ "runner_settings": ["inferred", "test"],
+ "test_metadata": {
+ "id": "example:TestAsset001",
+ "source": "SMURF"
+ }
},
{
"id": "example:TestAsset002",
- "name": "tweedle dee",
- "description": "This is another test asset",
- "runner_settings": ["inferred","test_setting"]
- },
- {
- "id": "example:TestAsset003",
- "name": "tweedle dum",
- "description": "This is yetanuder test asset",
- "runner_settings": ["inferred","test_setting"]
+ "name": "TestAsset002",
+ "description": "Carbamazepine treats Cerebral palsy",
+ "input_id": "PUBCHEM.COMPOUND:2554",
+ "predicate_name": "treats",
+ "output_id": "MONDO:0006497",
+ "expected_output": "number_2_Acceptable",
+ "runner_settings": ["inferred", "test"],
+ "test_metadata": {
+ "id": "example:TestAsset001",
+ "source": "SMURF"
+ }
}
]
\ No newline at end of file
diff --git a/poetry.lock b/poetry.lock
index ddfe104..cefe9c0 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand.
[[package]]
name = "annotated-types"
@@ -463,13 +463,13 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"]
[[package]]
name = "google-api-python-client"
-version = "2.126.0"
+version = "2.127.0"
description = "Google API Client Library for Python"
optional = false
python-versions = ">=3.7"
files = [
- {file = "google-api-python-client-2.126.0.tar.gz", hash = "sha256:97c0410630e2bebd194d99e91bd620dab5bc6b6ec0bf033f9a9109b700b83acb"},
- {file = "google_api_python_client-2.126.0-py2.py3-none-any.whl", hash = "sha256:299255fdb8dddf4eb96ab99e8358991160900b4109a9e0d3e3ac127c04b1e2ee"},
+ {file = "google-api-python-client-2.127.0.tar.gz", hash = "sha256:bbb51b0fbccdf40e536c26341e372d7800f09afebb53103bbcc94e08f14b523b"},
+ {file = "google_api_python_client-2.127.0-py2.py3-none-any.whl", hash = "sha256:d01c70c7840ec37888aa02b1aea5d9baba4c1701e268d1a0251640afd56e5e90"},
]
[package.dependencies]
@@ -1421,18 +1421,19 @@ files = [
[[package]]
name = "platformdirs"
-version = "4.2.0"
-description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
+version = "4.2.1"
+description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`."
optional = false
python-versions = ">=3.8"
files = [
- {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"},
- {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"},
+ {file = "platformdirs-4.2.1-py3-none-any.whl", hash = "sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1"},
+ {file = "platformdirs-4.2.1.tar.gz", hash = "sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf"},
]
[package.extras]
docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"]
+type = ["mypy (>=1.8)"]
[[package]]
name = "pluggy"
@@ -1556,18 +1557,18 @@ pyasn1 = ">=0.4.6,<0.7.0"
[[package]]
name = "pydantic"
-version = "2.7.0"
+version = "2.7.1"
description = "Data validation using Python type hints"
optional = false
python-versions = ">=3.8"
files = [
- {file = "pydantic-2.7.0-py3-none-any.whl", hash = "sha256:9dee74a271705f14f9a1567671d144a851c675b072736f0a7b2608fd9e495352"},
- {file = "pydantic-2.7.0.tar.gz", hash = "sha256:b5ecdd42262ca2462e2624793551e80911a1e989f462910bb81aef974b4bb383"},
+ {file = "pydantic-2.7.1-py3-none-any.whl", hash = "sha256:e029badca45266732a9a79898a15ae2e8b14840b1eabbb25844be28f0b33f3d5"},
+ {file = "pydantic-2.7.1.tar.gz", hash = "sha256:e9dbb5eada8abe4d9ae5f46b9939aead650cd2b68f249bb3a8139dbe125803cc"},
]
[package.dependencies]
annotated-types = ">=0.4.0"
-pydantic-core = "2.18.1"
+pydantic-core = "2.18.2"
typing-extensions = ">=4.6.1"
[package.extras]
@@ -1575,90 +1576,90 @@ email = ["email-validator (>=2.0.0)"]
[[package]]
name = "pydantic-core"
-version = "2.18.1"
+version = "2.18.2"
description = "Core functionality for Pydantic validation and serialization"
optional = false
python-versions = ">=3.8"
files = [
- {file = "pydantic_core-2.18.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:ee9cf33e7fe14243f5ca6977658eb7d1042caaa66847daacbd2117adb258b226"},
- {file = "pydantic_core-2.18.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6b7bbb97d82659ac8b37450c60ff2e9f97e4eb0f8a8a3645a5568b9334b08b50"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df4249b579e75094f7e9bb4bd28231acf55e308bf686b952f43100a5a0be394c"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d0491006a6ad20507aec2be72e7831a42efc93193d2402018007ff827dc62926"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ae80f72bb7a3e397ab37b53a2b49c62cc5496412e71bc4f1277620a7ce3f52b"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:58aca931bef83217fca7a390e0486ae327c4af9c3e941adb75f8772f8eeb03a1"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1be91ad664fc9245404a789d60cba1e91c26b1454ba136d2a1bf0c2ac0c0505a"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:667880321e916a8920ef49f5d50e7983792cf59f3b6079f3c9dac2b88a311d17"},
- {file = "pydantic_core-2.18.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f7054fdc556f5421f01e39cbb767d5ec5c1139ea98c3e5b350e02e62201740c7"},
- {file = "pydantic_core-2.18.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:030e4f9516f9947f38179249778709a460a3adb516bf39b5eb9066fcfe43d0e6"},
- {file = "pydantic_core-2.18.1-cp310-none-win32.whl", hash = "sha256:2e91711e36e229978d92642bfc3546333a9127ecebb3f2761372e096395fc649"},
- {file = "pydantic_core-2.18.1-cp310-none-win_amd64.whl", hash = "sha256:9a29726f91c6cb390b3c2338f0df5cd3e216ad7a938762d11c994bb37552edb0"},
- {file = "pydantic_core-2.18.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:9ece8a49696669d483d206b4474c367852c44815fca23ac4e48b72b339807f80"},
- {file = "pydantic_core-2.18.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a5d83efc109ceddb99abd2c1316298ced2adb4570410defe766851a804fcd5b"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f7973c381283783cd1043a8c8f61ea5ce7a3a58b0369f0ee0ee975eaf2f2a1b"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:54c7375c62190a7845091f521add19b0f026bcf6ae674bdb89f296972272e86d"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd63cec4e26e790b70544ae5cc48d11b515b09e05fdd5eff12e3195f54b8a586"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:561cf62c8a3498406495cfc49eee086ed2bb186d08bcc65812b75fda42c38294"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68717c38a68e37af87c4da20e08f3e27d7e4212e99e96c3d875fbf3f4812abfc"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d5728e93d28a3c63ee513d9ffbac9c5989de8c76e049dbcb5bfe4b923a9739d"},
- {file = "pydantic_core-2.18.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f0f17814c505f07806e22b28856c59ac80cee7dd0fbb152aed273e116378f519"},
- {file = "pydantic_core-2.18.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d816f44a51ba5175394bc6c7879ca0bd2be560b2c9e9f3411ef3a4cbe644c2e9"},
- {file = "pydantic_core-2.18.1-cp311-none-win32.whl", hash = "sha256:09f03dfc0ef8c22622eaa8608caa4a1e189cfb83ce847045eca34f690895eccb"},
- {file = "pydantic_core-2.18.1-cp311-none-win_amd64.whl", hash = "sha256:27f1009dc292f3b7ca77feb3571c537276b9aad5dd4efb471ac88a8bd09024e9"},
- {file = "pydantic_core-2.18.1-cp311-none-win_arm64.whl", hash = "sha256:48dd883db92e92519201f2b01cafa881e5f7125666141a49ffba8b9facc072b0"},
- {file = "pydantic_core-2.18.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b6b0e4912030c6f28bcb72b9ebe4989d6dc2eebcd2a9cdc35fefc38052dd4fe8"},
- {file = "pydantic_core-2.18.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f3202a429fe825b699c57892d4371c74cc3456d8d71b7f35d6028c96dfecad31"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3982b0a32d0a88b3907e4b0dc36809fda477f0757c59a505d4e9b455f384b8b"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25595ac311f20e5324d1941909b0d12933f1fd2171075fcff763e90f43e92a0d"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:14fe73881cf8e4cbdaded8ca0aa671635b597e42447fec7060d0868b52d074e6"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca976884ce34070799e4dfc6fbd68cb1d181db1eefe4a3a94798ddfb34b8867f"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:684d840d2c9ec5de9cb397fcb3f36d5ebb6fa0d94734f9886032dd796c1ead06"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:54764c083bbe0264f0f746cefcded6cb08fbbaaf1ad1d78fb8a4c30cff999a90"},
- {file = "pydantic_core-2.18.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:201713f2f462e5c015b343e86e68bd8a530a4f76609b33d8f0ec65d2b921712a"},
- {file = "pydantic_core-2.18.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fd1a9edb9dd9d79fbeac1ea1f9a8dd527a6113b18d2e9bcc0d541d308dae639b"},
- {file = "pydantic_core-2.18.1-cp312-none-win32.whl", hash = "sha256:d5e6b7155b8197b329dc787356cfd2684c9d6a6b1a197f6bbf45f5555a98d411"},
- {file = "pydantic_core-2.18.1-cp312-none-win_amd64.whl", hash = "sha256:9376d83d686ec62e8b19c0ac3bf8d28d8a5981d0df290196fb6ef24d8a26f0d6"},
- {file = "pydantic_core-2.18.1-cp312-none-win_arm64.whl", hash = "sha256:c562b49c96906b4029b5685075fe1ebd3b5cc2601dfa0b9e16c2c09d6cbce048"},
- {file = "pydantic_core-2.18.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:3e352f0191d99fe617371096845070dee295444979efb8f27ad941227de6ad09"},
- {file = "pydantic_core-2.18.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0295d52b012cbe0d3059b1dba99159c3be55e632aae1999ab74ae2bd86a33d7"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56823a92075780582d1ffd4489a2e61d56fd3ebb4b40b713d63f96dd92d28144"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd3f79e17b56741b5177bcc36307750d50ea0698df6aa82f69c7db32d968c1c2"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38a5024de321d672a132b1834a66eeb7931959c59964b777e8f32dbe9523f6b1"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2ce426ee691319d4767748c8e0895cfc56593d725594e415f274059bcf3cb76"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2adaeea59849ec0939af5c5d476935f2bab4b7f0335b0110f0f069a41024278e"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9b6431559676a1079eac0f52d6d0721fb8e3c5ba43c37bc537c8c83724031feb"},
- {file = "pydantic_core-2.18.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:85233abb44bc18d16e72dc05bf13848a36f363f83757541f1a97db2f8d58cfd9"},
- {file = "pydantic_core-2.18.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:641a018af4fe48be57a2b3d7a1f0f5dbca07c1d00951d3d7463f0ac9dac66622"},
- {file = "pydantic_core-2.18.1-cp38-none-win32.whl", hash = "sha256:63d7523cd95d2fde0d28dc42968ac731b5bb1e516cc56b93a50ab293f4daeaad"},
- {file = "pydantic_core-2.18.1-cp38-none-win_amd64.whl", hash = "sha256:907a4d7720abfcb1c81619863efd47c8a85d26a257a2dbebdb87c3b847df0278"},
- {file = "pydantic_core-2.18.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:aad17e462f42ddbef5984d70c40bfc4146c322a2da79715932cd8976317054de"},
- {file = "pydantic_core-2.18.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:94b9769ba435b598b547c762184bcfc4783d0d4c7771b04a3b45775c3589ca44"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80e0e57cc704a52fb1b48f16d5b2c8818da087dbee6f98d9bf19546930dc64b5"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:76b86e24039c35280ceee6dce7e62945eb93a5175d43689ba98360ab31eebc4a"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12a05db5013ec0ca4a32cc6433f53faa2a014ec364031408540ba858c2172bb0"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:250ae39445cb5475e483a36b1061af1bc233de3e9ad0f4f76a71b66231b07f88"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a32204489259786a923e02990249c65b0f17235073149d0033efcebe80095570"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6395a4435fa26519fd96fdccb77e9d00ddae9dd6c742309bd0b5610609ad7fb2"},
- {file = "pydantic_core-2.18.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2533ad2883f001efa72f3d0e733fb846710c3af6dcdd544fe5bf14fa5fe2d7db"},
- {file = "pydantic_core-2.18.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b560b72ed4816aee52783c66854d96157fd8175631f01ef58e894cc57c84f0f6"},
- {file = "pydantic_core-2.18.1-cp39-none-win32.whl", hash = "sha256:582cf2cead97c9e382a7f4d3b744cf0ef1a6e815e44d3aa81af3ad98762f5a9b"},
- {file = "pydantic_core-2.18.1-cp39-none-win_amd64.whl", hash = "sha256:ca71d501629d1fa50ea7fa3b08ba884fe10cefc559f5c6c8dfe9036c16e8ae89"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e178e5b66a06ec5bf51668ec0d4ac8cfb2bdcb553b2c207d58148340efd00143"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:72722ce529a76a4637a60be18bd789d8fb871e84472490ed7ddff62d5fed620d"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fe0c1ce5b129455e43f941f7a46f61f3d3861e571f2905d55cdbb8b5c6f5e2c"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4284c621f06a72ce2cb55f74ea3150113d926a6eb78ab38340c08f770eb9b4d"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a0c3e718f4e064efde68092d9d974e39572c14e56726ecfaeebbe6544521f47"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2027493cc44c23b598cfaf200936110433d9caa84e2c6cf487a83999638a96ac"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:76909849d1a6bffa5a07742294f3fa1d357dc917cb1fe7b470afbc3a7579d539"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ee7ccc7fb7e921d767f853b47814c3048c7de536663e82fbc37f5eb0d532224b"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ee2794111c188548a4547eccc73a6a8527fe2af6cf25e1a4ebda2fd01cdd2e60"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a139fe9f298dc097349fb4f28c8b81cc7a202dbfba66af0e14be5cfca4ef7ce5"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d074b07a10c391fc5bbdcb37b2f16f20fcd9e51e10d01652ab298c0d07908ee2"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c69567ddbac186e8c0aadc1f324a60a564cfe25e43ef2ce81bcc4b8c3abffbae"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:baf1c7b78cddb5af00971ad5294a4583188bda1495b13760d9f03c9483bb6203"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2684a94fdfd1b146ff10689c6e4e815f6a01141781c493b97342cdc5b06f4d5d"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:73c1bc8a86a5c9e8721a088df234265317692d0b5cd9e86e975ce3bc3db62a59"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e60defc3c15defb70bb38dd605ff7e0fae5f6c9c7cbfe0ad7868582cb7e844a6"},
- {file = "pydantic_core-2.18.1.tar.gz", hash = "sha256:de9d3e8717560eb05e28739d1b35e4eac2e458553a52a301e51352a7ffc86a35"},
+ {file = "pydantic_core-2.18.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9e08e867b306f525802df7cd16c44ff5ebbe747ff0ca6cf3fde7f36c05a59a81"},
+ {file = "pydantic_core-2.18.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f0a21cbaa69900cbe1a2e7cad2aa74ac3cf21b10c3efb0fa0b80305274c0e8a2"},
+ {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0680b1f1f11fda801397de52c36ce38ef1c1dc841a0927a94f226dea29c3ae3d"},
+ {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95b9d5e72481d3780ba3442eac863eae92ae43a5f3adb5b4d0a1de89d42bb250"},
+ {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fcf5cd9c4b655ad666ca332b9a081112cd7a58a8b5a6ca7a3104bc950f2038"},
+ {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b5155ff768083cb1d62f3e143b49a8a3432e6789a3abee8acd005c3c7af1c74"},
+ {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:553ef617b6836fc7e4df130bb851e32fe357ce36336d897fd6646d6058d980af"},
+ {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b89ed9eb7d616ef5714e5590e6cf7f23b02d0d539767d33561e3675d6f9e3857"},
+ {file = "pydantic_core-2.18.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:75f7e9488238e920ab6204399ded280dc4c307d034f3924cd7f90a38b1829563"},
+ {file = "pydantic_core-2.18.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ef26c9e94a8c04a1b2924149a9cb081836913818e55681722d7f29af88fe7b38"},
+ {file = "pydantic_core-2.18.2-cp310-none-win32.whl", hash = "sha256:182245ff6b0039e82b6bb585ed55a64d7c81c560715d1bad0cbad6dfa07b4027"},
+ {file = "pydantic_core-2.18.2-cp310-none-win_amd64.whl", hash = "sha256:e23ec367a948b6d812301afc1b13f8094ab7b2c280af66ef450efc357d2ae543"},
+ {file = "pydantic_core-2.18.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:219da3f096d50a157f33645a1cf31c0ad1fe829a92181dd1311022f986e5fbe3"},
+ {file = "pydantic_core-2.18.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cc1cfd88a64e012b74e94cd00bbe0f9c6df57049c97f02bb07d39e9c852e19a4"},
+ {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05b7133a6e6aeb8df37d6f413f7705a37ab4031597f64ab56384c94d98fa0e90"},
+ {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:224c421235f6102e8737032483f43c1a8cfb1d2f45740c44166219599358c2cd"},
+ {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b14d82cdb934e99dda6d9d60dc84a24379820176cc4a0d123f88df319ae9c150"},
+ {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2728b01246a3bba6de144f9e3115b532ee44bd6cf39795194fb75491824a1413"},
+ {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:470b94480bb5ee929f5acba6995251ada5e059a5ef3e0dfc63cca287283ebfa6"},
+ {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:997abc4df705d1295a42f95b4eec4950a37ad8ae46d913caeee117b6b198811c"},
+ {file = "pydantic_core-2.18.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75250dbc5290e3f1a0f4618db35e51a165186f9034eff158f3d490b3fed9f8a0"},
+ {file = "pydantic_core-2.18.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4456f2dca97c425231d7315737d45239b2b51a50dc2b6f0c2bb181fce6207664"},
+ {file = "pydantic_core-2.18.2-cp311-none-win32.whl", hash = "sha256:269322dcc3d8bdb69f054681edff86276b2ff972447863cf34c8b860f5188e2e"},
+ {file = "pydantic_core-2.18.2-cp311-none-win_amd64.whl", hash = "sha256:800d60565aec896f25bc3cfa56d2277d52d5182af08162f7954f938c06dc4ee3"},
+ {file = "pydantic_core-2.18.2-cp311-none-win_arm64.whl", hash = "sha256:1404c69d6a676245199767ba4f633cce5f4ad4181f9d0ccb0577e1f66cf4c46d"},
+ {file = "pydantic_core-2.18.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:fb2bd7be70c0fe4dfd32c951bc813d9fe6ebcbfdd15a07527796c8204bd36242"},
+ {file = "pydantic_core-2.18.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6132dd3bd52838acddca05a72aafb6eab6536aa145e923bb50f45e78b7251043"},
+ {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d904828195733c183d20a54230c0df0eb46ec746ea1a666730787353e87182"},
+ {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c9bd70772c720142be1020eac55f8143a34ec9f82d75a8e7a07852023e46617f"},
+ {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b8ed04b3582771764538f7ee7001b02e1170223cf9b75dff0bc698fadb00cf3"},
+ {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e6dac87ddb34aaec85f873d737e9d06a3555a1cc1a8e0c44b7f8d5daeb89d86f"},
+ {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ca4ae5a27ad7a4ee5170aebce1574b375de390bc01284f87b18d43a3984df72"},
+ {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:886eec03591b7cf058467a70a87733b35f44707bd86cf64a615584fd72488b7c"},
+ {file = "pydantic_core-2.18.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ca7b0c1f1c983e064caa85f3792dd2fe3526b3505378874afa84baf662e12241"},
+ {file = "pydantic_core-2.18.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b4356d3538c3649337df4074e81b85f0616b79731fe22dd11b99499b2ebbdf3"},
+ {file = "pydantic_core-2.18.2-cp312-none-win32.whl", hash = "sha256:8b172601454f2d7701121bbec3425dd71efcb787a027edf49724c9cefc14c038"},
+ {file = "pydantic_core-2.18.2-cp312-none-win_amd64.whl", hash = "sha256:b1bd7e47b1558ea872bd16c8502c414f9e90dcf12f1395129d7bb42a09a95438"},
+ {file = "pydantic_core-2.18.2-cp312-none-win_arm64.whl", hash = "sha256:98758d627ff397e752bc339272c14c98199c613f922d4a384ddc07526c86a2ec"},
+ {file = "pydantic_core-2.18.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:9fdad8e35f278b2c3eb77cbdc5c0a49dada440657bf738d6905ce106dc1de439"},
+ {file = "pydantic_core-2.18.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1d90c3265ae107f91a4f279f4d6f6f1d4907ac76c6868b27dc7fb33688cfb347"},
+ {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:390193c770399861d8df9670fb0d1874f330c79caaca4642332df7c682bf6b91"},
+ {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:82d5d4d78e4448683cb467897fe24e2b74bb7b973a541ea1dcfec1d3cbce39fb"},
+ {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4774f3184d2ef3e14e8693194f661dea5a4d6ca4e3dc8e39786d33a94865cefd"},
+ {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4d938ec0adf5167cb335acb25a4ee69a8107e4984f8fbd2e897021d9e4ca21b"},
+ {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0e8b1be28239fc64a88a8189d1df7fad8be8c1ae47fcc33e43d4be15f99cc70"},
+ {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:868649da93e5a3d5eacc2b5b3b9235c98ccdbfd443832f31e075f54419e1b96b"},
+ {file = "pydantic_core-2.18.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:78363590ef93d5d226ba21a90a03ea89a20738ee5b7da83d771d283fd8a56761"},
+ {file = "pydantic_core-2.18.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:852e966fbd035a6468fc0a3496589b45e2208ec7ca95c26470a54daed82a0788"},
+ {file = "pydantic_core-2.18.2-cp38-none-win32.whl", hash = "sha256:6a46e22a707e7ad4484ac9ee9f290f9d501df45954184e23fc29408dfad61350"},
+ {file = "pydantic_core-2.18.2-cp38-none-win_amd64.whl", hash = "sha256:d91cb5ea8b11607cc757675051f61b3d93f15eca3cefb3e6c704a5d6e8440f4e"},
+ {file = "pydantic_core-2.18.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ae0a8a797a5e56c053610fa7be147993fe50960fa43609ff2a9552b0e07013e8"},
+ {file = "pydantic_core-2.18.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:042473b6280246b1dbf530559246f6842b56119c2926d1e52b631bdc46075f2a"},
+ {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a388a77e629b9ec814c1b1e6b3b595fe521d2cdc625fcca26fbc2d44c816804"},
+ {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e25add29b8f3b233ae90ccef2d902d0ae0432eb0d45370fe315d1a5cf231004b"},
+ {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f459a5ce8434614dfd39bbebf1041952ae01da6bed9855008cb33b875cb024c0"},
+ {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eff2de745698eb46eeb51193a9f41d67d834d50e424aef27df2fcdee1b153845"},
+ {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8309f67285bdfe65c372ea3722b7a5642680f3dba538566340a9d36e920b5f0"},
+ {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f93a8a2e3938ff656a7c1bc57193b1319960ac015b6e87d76c76bf14fe0244b4"},
+ {file = "pydantic_core-2.18.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:22057013c8c1e272eb8d0eebc796701167d8377441ec894a8fed1af64a0bf399"},
+ {file = "pydantic_core-2.18.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cfeecd1ac6cc1fb2692c3d5110781c965aabd4ec5d32799773ca7b1456ac636b"},
+ {file = "pydantic_core-2.18.2-cp39-none-win32.whl", hash = "sha256:0d69b4c2f6bb3e130dba60d34c0845ba31b69babdd3f78f7c0c8fae5021a253e"},
+ {file = "pydantic_core-2.18.2-cp39-none-win_amd64.whl", hash = "sha256:d9319e499827271b09b4e411905b24a426b8fb69464dfa1696258f53a3334641"},
+ {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a1874c6dd4113308bd0eb568418e6114b252afe44319ead2b4081e9b9521fe75"},
+ {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:ccdd111c03bfd3666bd2472b674c6899550e09e9f298954cfc896ab92b5b0e6d"},
+ {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e18609ceaa6eed63753037fc06ebb16041d17d28199ae5aba0052c51449650a9"},
+ {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e5c584d357c4e2baf0ff7baf44f4994be121e16a2c88918a5817331fc7599d7"},
+ {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:43f0f463cf89ace478de71a318b1b4f05ebc456a9b9300d027b4b57c1a2064fb"},
+ {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:e1b395e58b10b73b07b7cf740d728dd4ff9365ac46c18751bf8b3d8cca8f625a"},
+ {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0098300eebb1c837271d3d1a2cd2911e7c11b396eac9661655ee524a7f10587b"},
+ {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:36789b70d613fbac0a25bb07ab3d9dba4d2e38af609c020cf4d888d165ee0bf3"},
+ {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3f9a801e7c8f1ef8718da265bba008fa121243dfe37c1cea17840b0944dfd72c"},
+ {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:3a6515ebc6e69d85502b4951d89131ca4e036078ea35533bb76327f8424531ce"},
+ {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20aca1e2298c56ececfd8ed159ae4dde2df0781988c97ef77d5c16ff4bd5b400"},
+ {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:223ee893d77a310a0391dca6df00f70bbc2f36a71a895cecd9a0e762dc37b349"},
+ {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2334ce8c673ee93a1d6a65bd90327588387ba073c17e61bf19b4fd97d688d63c"},
+ {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:cbca948f2d14b09d20268cda7b0367723d79063f26c4ffc523af9042cad95592"},
+ {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b3ef08e20ec49e02d5c6717a91bb5af9b20f1805583cb0adfe9ba2c6b505b5ae"},
+ {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6fdc8627910eed0c01aed6a390a252fe3ea6d472ee70fdde56273f198938374"},
+ {file = "pydantic_core-2.18.2.tar.gz", hash = "sha256:2e29d20810dfc3043ee13ac7d9e25105799817683348823f305ab3f349b9386e"},
]
[package.dependencies]
@@ -1979,13 +1980,13 @@ rdflib-jsonld = "0.6.1"
[[package]]
name = "referencing"
-version = "0.34.0"
+version = "0.35.0"
description = "JSON Referencing + Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "referencing-0.34.0-py3-none-any.whl", hash = "sha256:d53ae300ceddd3169f1ffa9caf2cb7b769e92657e4fafb23d34b93679116dfd4"},
- {file = "referencing-0.34.0.tar.gz", hash = "sha256:5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844"},
+ {file = "referencing-0.35.0-py3-none-any.whl", hash = "sha256:8080727b30e364e5783152903672df9b6b091c926a146a759080b62ca3126cd6"},
+ {file = "referencing-0.35.0.tar.gz", hash = "sha256:191e936b0c696d0af17ad7430a3dc68e88bc11be6514f4757dc890f04ab05889"},
]
[package.dependencies]
@@ -2207,49 +2208,35 @@ files = [
{file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462"},
{file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:d92f81886165cb14d7b067ef37e142256f1c6a90a65cd156b063a43da1708cfd"},
{file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412"},
- {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:840f0c7f194986a63d2c2465ca63af8ccbbc90ab1c6001b1978f05119b5e7334"},
- {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:024cfe1fc7c7f4e1aff4a81e718109e13409767e4f871443cbff3dba3578203d"},
{file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win32.whl", hash = "sha256:c69212f63169ec1cfc9bb44723bf2917cbbd8f6191a00ef3410f5a7fe300722d"},
{file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win_amd64.whl", hash = "sha256:cabddb8d8ead485e255fe80429f833172b4cadf99274db39abc080e068cbcc31"},
{file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069"},
{file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248"},
{file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:b5edda50e5e9e15e54a6a8a0070302b00c518a9d32accc2346ad6c984aacd279"},
{file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b"},
- {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899"},
- {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9"},
{file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win32.whl", hash = "sha256:53a300ed9cea38cf5a2a9b069058137c2ca1ce658a874b79baceb8f892f915a7"},
{file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win_amd64.whl", hash = "sha256:c2a72e9109ea74e511e29032f3b670835f8a59bbdc9ce692c5b4ed91ccf1eedb"},
{file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ebc06178e8821efc9692ea7544aa5644217358490145629914d8020042c24aa1"},
{file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:edaef1c1200c4b4cb914583150dcaa3bc30e592e907c01117c08b13a07255ec2"},
{file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:7048c338b6c86627afb27faecf418768acb6331fc24cfa56c93e8c9780f815fa"},
{file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d176b57452ab5b7028ac47e7b3cf644bcfdc8cacfecf7e71759f7f51a59e5c92"},
- {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3213ece08ea033eb159ac52ae052a4899b56ecc124bb80020d9bbceeb50258e9"},
- {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aab7fd643f71d7946f2ee58cc88c9b7bfc97debd71dcc93e03e2d174628e7e2d"},
- {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-win32.whl", hash = "sha256:5c365d91c88390c8d0a8545df0b5857172824b1c604e867161e6b3d59a827eaa"},
- {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-win_amd64.whl", hash = "sha256:1758ce7d8e1a29d23de54a16ae867abd370f01b5a69e1a3ba75223eaa3ca1a1b"},
{file = "ruamel.yaml.clib-0.2.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a5aa27bad2bb83670b71683aae140a1f52b0857a2deff56ad3f6c13a017a26ed"},
{file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c58ecd827313af6864893e7af0a3bb85fd529f862b6adbefe14643947cfe2942"},
{file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875"},
{file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3fcc54cb0c8b811ff66082de1680b4b14cf8a81dce0d4fbf665c2265a81e07a1"},
{file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7f67a1ee819dc4562d444bbafb135832b0b909f81cc90f7aa00260968c9ca1b3"},
- {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4ecbf9c3e19f9562c7fdd462e8d18dd902a47ca046a2e64dba80699f0b6c09b7"},
- {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:87ea5ff66d8064301a154b3933ae406b0863402a799b16e4a1d24d9fbbcbe0d3"},
{file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win32.whl", hash = "sha256:75e1ed13e1f9de23c5607fe6bd1aeaae21e523b32d83bb33918245361e9cc51b"},
{file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win_amd64.whl", hash = "sha256:3f215c5daf6a9d7bbed4a0a4f760f3113b10e82ff4c5c44bec20a68c8014f675"},
{file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615"},
{file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337"},
{file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:665f58bfd29b167039f714c6998178d27ccd83984084c286110ef26b230f259f"},
{file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91"},
- {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e2b4c44b60eadec492926a7270abb100ef9f72798e18743939bdbf037aab8c28"},
- {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e79e5db08739731b0ce4850bed599235d601701d5694c36570a99a0c5ca41a9d"},
{file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win32.whl", hash = "sha256:955eae71ac26c1ab35924203fda6220f84dce57d6d7884f189743e2abe3a9fbe"},
{file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win_amd64.whl", hash = "sha256:56f4252222c067b4ce51ae12cbac231bce32aee1d33fbfc9d17e5b8d6966c312"},
{file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001"},
{file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf"},
{file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:9eb5dee2772b0f704ca2e45b1713e4e5198c18f515b52743576d196348f374d3"},
{file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5"},
- {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:184565012b60405d93838167f425713180b949e9d8dd0bbc7b49f074407c5a8b"},
- {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880"},
{file = "ruamel.yaml.clib-0.2.8-cp39-cp39-win32.whl", hash = "sha256:84b554931e932c46f94ab306913ad7e11bba988104c5cff26d90d03f68258cd5"},
{file = "ruamel.yaml.clib-0.2.8-cp39-cp39-win_amd64.whl", hash = "sha256:25ac8c08322002b06fa1d49d1646181f0b2c72f5cbc15a85e80b4c30a544bb15"},
{file = "ruamel.yaml.clib-0.2.8.tar.gz", hash = "sha256:beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512"},
@@ -2431,7 +2418,7 @@ files = [
]
[package.dependencies]
-greenlet = {version = "!=0.4.17", markers = "platform_machine == \"win32\" or platform_machine == \"WIN32\" or platform_machine == \"AMD64\" or platform_machine == \"amd64\" or platform_machine == \"x86_64\" or platform_machine == \"ppc64le\" or platform_machine == \"aarch64\""}
+greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""}
typing-extensions = ">=4.6.0"
[package.extras]
diff --git a/project/excel/translator_testing_model.xlsx b/project/excel/translator_testing_model.xlsx
index b39b191..7525b91 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 cbbb48b..a6b5150 100644
--- a/project/graphql/translator_testing_model.graphql
+++ b/project/graphql/translator_testing_model.graphql
@@ -18,7 +18,7 @@ type AcceptanceTestAsset
inV1: Boolean
wellKnown: Boolean
testReference: Uriorcurie
- testMetadata: TestMetadata!
+ testMetadata: TestMetadata
id: Uriorcurie!
tags: [String]
testRunnerSettings: [String]
@@ -64,7 +64,7 @@ type AcceptanceTestSuite
description: String
tags: [String]
testRunnerSettings: [String]
- testMetadata: TestMetadata!
+ testMetadata: TestMetadata
testPersona: TestPersonaEnum
testCases: [TestCase]
testSuiteSpecification: TestSuiteSpecification
@@ -81,7 +81,7 @@ type OneHopTestSuite
description: String
tags: [String]
testRunnerSettings: [String]
- testMetadata: TestMetadata!
+ testMetadata: TestMetadata
testPersona: TestPersonaEnum
testCases: [TestCase]
testSuiteSpecification: TestSuiteSpecification
@@ -132,7 +132,7 @@ type StandardsComplianceTestSuite
description: String
tags: [String]
testRunnerSettings: [String]
- testMetadata: TestMetadata!
+ testMetadata: TestMetadata
testPersona: TestPersonaEnum
testCases: [TestCase]
testSuiteSpecification: TestSuiteSpecification
@@ -158,7 +158,7 @@ type TestAsset
inV1: Boolean
wellKnown: Boolean
testReference: Uriorcurie
- testMetadata: TestMetadata!
+ testMetadata: TestMetadata
id: Uriorcurie!
tags: [String]
testRunnerSettings: [String]
@@ -219,7 +219,7 @@ type TestEdgeData
inV1: Boolean
wellKnown: Boolean
testReference: Uriorcurie
- testMetadata: TestMetadata!
+ testMetadata: TestMetadata
id: Uriorcurie!
tags: [String]
testRunnerSettings: [String]
@@ -303,7 +303,7 @@ type TestSuite
description: String
tags: [String]
testRunnerSettings: [String]
- testMetadata: TestMetadata!
+ testMetadata: TestMetadata
testPersona: TestPersonaEnum
testCases: [TestCase]
testSuiteSpecification: TestSuiteSpecification
diff --git a/project/jsonld/translator_testing_model.context.jsonld b/project/jsonld/translator_testing_model.context.jsonld
index 81d2d1f..047640b 100644
--- a/project/jsonld/translator_testing_model.context.jsonld
+++ b/project/jsonld/translator_testing_model.context.jsonld
@@ -1,55 +1,26 @@
{
"comments": {
"description": "Auto generated by LinkML jsonld context generator",
- "generation_date": "2024-04-19T10:26:20",
+ "generation_date": "2024-04-25T16:37:22",
"source": "translator_testing_model.yaml"
},
"@context": {
"biolink": "https://w3id.org/biolink/",
"example": "https://example.org/",
+ "infores": "https://w3id.org/biolink/vocab/",
"linkml": "https://w3id.org/linkml/",
"schema": "http://schema.org/",
"skos": "http://www.w3.org/2004/02/skos/core#",
"ttm": "https://w3id.org/TranslatorSRI/TranslatorTestingModel/",
"@vocab": "https://w3id.org/TranslatorSRI/TranslatorTestingModel/",
- "answer_informal_concept": {
- "@id": "answer_informal_concept"
- },
- "aragorn": {
- "@id": "aragorn"
- },
- "arax": {
- "@id": "arax"
- },
"association": {
- "@type": "@id",
- "@id": "association"
- },
- "biolink_object_aspect_qualifier": {
- "@id": "biolink_object_aspect_qualifier"
- },
- "biolink_object_direction_qualifier": {
- "@id": "biolink_object_direction_qualifier"
+ "@type": "@id"
},
"biolink_predicate": {
- "@type": "@id",
- "@id": "biolink_predicate"
+ "@type": "@id"
},
"biolink_qualified_predicate": {
- "@type": "@id",
- "@id": "biolink_qualified_predicate"
- },
- "biolink_subject_aspect_qualifier": {
- "@id": "biolink_subject_aspect_qualifier"
- },
- "biolink_subject_direction_qualifier": {
- "@id": "biolink_subject_direction_qualifier"
- },
- "biolink_version": {
- "@id": "biolink_version"
- },
- "bte": {
- "@id": "bte"
+ "@type": "@id"
},
"components": {
"@context": {
@@ -57,8 +28,7 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "components"
+ }
},
"description": {
"@id": "schema:description"
@@ -69,11 +39,7 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "direction"
- },
- "expected_output": {
- "@id": "expected_output"
+ }
},
"expected_result": {
"@context": {
@@ -81,34 +47,20 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "expected_result"
+ }
},
"id": "@id",
- "improving": {
- "@id": "improving"
- },
"in_v1": {
- "@type": "xsd:boolean",
- "@id": "in_v1"
+ "@type": "xsd:boolean"
},
"input_category": {
- "@type": "@id",
- "@id": "input_category"
+ "@type": "@id"
},
"input_id": {
- "@type": "@id",
- "@id": "input_id"
- },
- "input_name": {
- "@id": "input_name"
- },
- "merged_pk": {
- "@id": "merged_pk"
+ "@type": "@id"
},
"must_pass_date": {
- "@type": "xsd:date",
- "@id": "must_pass_date"
+ "@type": "xsd:date"
},
"must_pass_environment": {
"@context": {
@@ -116,50 +68,28 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "must_pass_environment"
+ }
},
"name": {
"@id": "schema:name"
},
- "notes": {
- "@id": "notes"
- },
"output_category": {
- "@type": "@id",
- "@id": "output_category"
+ "@type": "@id"
},
"output_id": {
- "@type": "@id",
- "@id": "output_id"
- },
- "output_name": {
- "@id": "output_name"
- },
- "parameter": {
- "@id": "parameter"
- },
- "parent_pk": {
- "@id": "parent_pk"
+ "@type": "@id"
},
"pks": {
- "@type": "@id",
- "@id": "pks"
+ "@type": "@id"
},
"preconditions": {
- "@type": "@id",
- "@id": "preconditions"
+ "@type": "@id"
},
"predicate_id": {
- "@type": "@id",
- "@id": "predicate_id"
- },
- "predicate_name": {
- "@id": "predicate_name"
+ "@type": "@id"
},
"qualifiers": {
- "@type": "@id",
- "@id": "qualifiers"
+ "@type": "@id"
},
"query_node": {
"@context": {
@@ -167,8 +97,7 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "query_node"
+ }
},
"query_type": {
"@context": {
@@ -176,15 +105,10 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "query_type"
+ }
},
"results": {
- "@type": "@id",
- "@id": "results"
- },
- "scientific_question": {
- "@id": "scientific_question"
+ "@type": "@id"
},
"semantic_severity": {
"@context": {
@@ -192,33 +116,22 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "semantic_severity"
- },
- "string_entry": {
- "@id": "string_entry"
+ }
},
"tags": {
"@id": "schema:additionalType"
},
"test_annotations": {
- "@type": "@id",
- "@id": "test_annotations"
+ "@type": "@id"
},
"test_assets": {
- "@type": "@id",
- "@id": "test_assets"
+ "@type": "@id"
},
"test_case": {
- "@type": "@id",
- "@id": "test_case"
- },
- "test_case_id": {
- "@id": "test_case_id"
+ "@type": "@id"
},
"test_case_input_id": {
- "@type": "@id",
- "@id": "test_case_input_id"
+ "@type": "@id"
},
"test_case_objective": {
"@context": {
@@ -226,14 +139,7 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "test_case_objective"
- },
- "test_case_predicate_id": {
- "@id": "test_case_predicate_id"
- },
- "test_case_predicate_name": {
- "@id": "test_case_predicate_name"
+ }
},
"test_case_result": {
"@context": {
@@ -241,12 +147,10 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "test_case_result"
+ }
},
"test_case_results": {
- "@type": "@id",
- "@id": "test_case_results"
+ "@type": "@id"
},
"test_case_source": {
"@context": {
@@ -254,12 +158,10 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "test_case_source"
+ }
},
"test_cases": {
- "@type": "@id",
- "@id": "test_cases"
+ "@type": "@id"
},
"test_data_file_format": {
"@context": {
@@ -267,20 +169,16 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "test_data_file_format"
+ }
},
"test_data_file_locator": {
- "@type": "@id",
- "@id": "test_data_file_locator"
+ "@type": "@id"
},
"test_entities": {
- "@type": "@id",
- "@id": "test_entities"
+ "@type": "@id"
},
"test_entity_parameters": {
- "@type": "@id",
- "@id": "test_entity_parameters"
+ "@type": "@id"
},
"test_env": {
"@context": {
@@ -288,8 +186,7 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "test_env"
+ }
},
"test_issue": {
"@context": {
@@ -297,12 +194,10 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "test_issue"
+ }
},
"test_metadata": {
- "@type": "@id",
- "@id": "test_metadata"
+ "@type": "@id"
},
"test_objective": {
"@context": {
@@ -310,8 +205,7 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "test_objective"
+ }
},
"test_persona": {
"@context": {
@@ -319,22 +213,13 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "test_persona"
+ }
},
"test_reference": {
- "@type": "@id",
- "@id": "test_reference"
+ "@type": "@id"
},
"test_run_parameters": {
- "@type": "@id",
- "@id": "test_run_parameters"
- },
- "test_runner_name": {
- "@id": "test_runner_name"
- },
- "test_runner_settings": {
- "@id": "test_runner_settings"
+ "@type": "@id"
},
"test_source": {
"@context": {
@@ -342,24 +227,19 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "test_source"
+ }
},
"test_suite_id": {
- "@type": "@id",
- "@id": "test_suite_id"
+ "@type": "@id"
},
"test_suite_specification": {
- "@type": "@id",
- "@id": "test_suite_specification"
+ "@type": "@id"
},
"timestamp": {
- "@type": "xsd:dateTime",
- "@id": "timestamp"
+ "@type": "xsd:dateTime"
},
"top_level": {
- "@type": "xsd:integer",
- "@id": "top_level"
+ "@type": "xsd:integer"
},
"trapi_template": {
"@context": {
@@ -367,84 +247,10 @@
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
- },
- "@id": "trapi_template"
- },
- "trapi_version": {
- "@id": "trapi_version"
- },
- "unsecret": {
- "@id": "unsecret"
- },
- "value": {
- "@id": "value"
+ }
},
"well_known": {
- "@type": "xsd:boolean",
- "@id": "well_known"
- },
- "AcceptanceTestAsset": {
- "@id": "AcceptanceTestAsset"
- },
- "AcceptanceTestCase": {
- "@id": "AcceptanceTestCase"
- },
- "AcceptanceTestSuite": {
- "@id": "AcceptanceTestSuite"
- },
- "BenchmarkTestSuite": {
- "@id": "BenchmarkTestSuite"
- },
- "OneHopTestSuite": {
- "@id": "OneHopTestSuite"
- },
- "Precondition": {
- "@id": "Precondition"
- },
- "Qualifier": {
- "@id": "Qualifier"
- },
- "QuantitativeTestCase": {
- "@id": "QuantitativeTestCase"
- },
- "StandardsComplianceTestSuite": {
- "@id": "StandardsComplianceTestSuite"
- },
- "TestAsset": {
- "@id": "TestAsset"
- },
- "TestCase": {
- "@id": "TestCase"
- },
- "TestCaseResult": {
- "@id": "TestCaseResult"
- },
- "TestEdgeData": {
- "@id": "TestEdgeData"
- },
- "TestEntity": {
- "@id": "TestEntity"
- },
- "TestEntityParameter": {
- "@id": "TestEntityParameter"
- },
- "TestMetadata": {
- "@id": "TestMetadata"
- },
- "TestOutput": {
- "@id": "TestOutput"
- },
- "TestResultPKSet": {
- "@id": "TestResultPKSet"
- },
- "TestRunSession": {
- "@id": "TestRunSession"
- },
- "TestSuite": {
- "@id": "TestSuite"
- },
- "TestSuiteSpecification": {
- "@id": "TestSuiteSpecification"
+ "@type": "xsd:boolean"
}
}
}
diff --git a/project/jsonld/translator_testing_model.jsonld b/project/jsonld/translator_testing_model.jsonld
index 9a0bdf0..669a262 100644
--- a/project/jsonld/translator_testing_model.jsonld
+++ b/project/jsonld/translator_testing_model.jsonld
@@ -24,6 +24,10 @@
"prefix_prefix": "biolink",
"prefix_reference": "https://w3id.org/biolink/"
},
+ {
+ "prefix_prefix": "infores",
+ "prefix_reference": "https://w3id.org/biolink/vocab/"
+ },
{
"prefix_prefix": "schema",
"prefix_reference": "http://schema.org/"
@@ -644,12 +648,93 @@
"definition_uri": "https://w3id.org/TranslatorSRI/TranslatorTestingModel/ComponentEnum",
"description": "Translator components are identified by their InfoRes identifiers.",
"from_schema": "https://w3id.org/TranslatorSRI/TranslatorTestingModel",
- "reachable_from": {
- "source_ontology": "biolink",
- "source_nodes": [
- "biolink:infores"
- ]
- }
+ "permissible_values": [
+ {
+ "text": "ars",
+ "description": "Automatic Relay Service component of Translator",
+ "meaning": "infores:ncats-ars"
+ },
+ {
+ "text": "arax",
+ "description": "ARAX Translator Reasoner",
+ "meaning": "infores:arax"
+ },
+ {
+ "text": "explanatory",
+ "description": "A Translator Reasoner API for the Explanatory Agent",
+ "meaning": "infores:explanatory-agent"
+ },
+ {
+ "text": "improving",
+ "description": "imProving Agent OpenAPI TRAPI Specification",
+ "meaning": "infores:improving-agent"
+ },
+ {
+ "text": "aragorn",
+ "description": "Performs a query operation which compiles data from numerous ranking agent services.",
+ "meaning": "infores:aragorn"
+ },
+ {
+ "text": "bte",
+ "description": "BioThings Explorer",
+ "meaning": "infores:biothings-explorer"
+ },
+ {
+ "text": "unsecret",
+ "description": "Unsecret Agent OpenAPI for NCATS Biomedical Translator Reasoners",
+ "meaning": "infores:unsecret-agent"
+ },
+ {
+ "text": "rtxkg2",
+ "description": "TRAPI endpoint for the NCATS Biomedical Translator KP called RTX KG2",
+ "meaning": "infores:rtx-kg2"
+ },
+ {
+ "text": "icees",
+ "description": "ICEES (Integrated Clinical and Environmental Exposures Service)",
+ "meaning": "infores:icees-kg"
+ },
+ {
+ "text": "cam",
+ "description": "Causal Activity Model KP",
+ "meaning": "infores:cam-kp"
+ },
+ {
+ "text": "spoke",
+ "description": "SPOKE KP - an NIH NCATS Knowledge Provider to expose UCSFs SPOKE",
+ "meaning": "infores:spoke"
+ },
+ {
+ "text": "molepro",
+ "description": "Molecular Data Provider for NCATS Biomedical Translator Reasoners",
+ "meaning": "infores:molepro"
+ },
+ {
+ "text": "textmining",
+ "description": "Text Mining KP",
+ "meaning": "infores:textmining-kp"
+ },
+ {
+ "text": "cohd",
+ "description": "Columbia Open Health Data (COHD)",
+ "meaning": "infores:cohd"
+ },
+ {
+ "text": "openpredict",
+ "description": "OpenPredict API",
+ "meaning": "infores:openpredict"
+ },
+ {
+ "text": "collaboratory",
+ "description": "Translator Knowledge Collaboratory API",
+ "meaning": "infores:knowledge-collaboratory"
+ },
+ {
+ "text": "connections",
+ "description": "Connections Hypothesis Provider API",
+ "meaning": "infores:connections-hypothesis"
+ }
+ ]
},
{
"name": "TestPersonaEnum",
@@ -1702,7 +1787,6 @@
"TestSuite"
],
"range": "TestMetadata",
- "required": true,
"inlined": true,
"@type": "SlotDefinition"
},
@@ -2554,9 +2638,9 @@
],
"metamodel_version": "1.7.0",
"source_file": "translator_testing_model.yaml",
- "source_file_date": "2024-04-18T22:29:50",
- "source_file_size": 27247,
- "generation_date": "2024-04-19T10:26:20",
+ "source_file_date": "2024-04-25T16:35:26",
+ "source_file_size": 29634,
+ "generation_date": "2024-04-25T16:37: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 af8337d..a0e4519 100644
--- a/project/jsonschema/translator_testing_model.schema.json
+++ b/project/jsonschema/translator_testing_model.schema.json
@@ -131,7 +131,6 @@
}
},
"required": [
- "test_metadata",
"id"
],
"title": "AcceptanceTestAsset",
@@ -262,18 +261,7 @@
},
"test_cases": {
"additionalProperties": {
- "anyOf": [
- {
- "$ref": "#/$defs/TestCase__identifier_optional"
- },
- {
- "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.",
- "items": {
- "$ref": "#/$defs/TestAsset"
- },
- "type": "array"
- }
- ]
+ "$ref": "#/$defs/TestCase__identifier_optional"
},
"description": "List of explicitly enumerated Test Cases.",
"type": "object"
@@ -299,7 +287,6 @@
}
},
"required": [
- "test_metadata",
"id"
],
"title": "AcceptanceTestSuite",
@@ -313,6 +300,25 @@
},
"ComponentEnum": {
"description": "Translator components are identified by their InfoRes identifiers.",
+ "enum": [
+ "ars",
+ "arax",
+ "explanatory",
+ "improving",
+ "aragorn",
+ "bte",
+ "unsecret",
+ "rtxkg2",
+ "icees",
+ "cam",
+ "spoke",
+ "molepro",
+ "textmining",
+ "cohd",
+ "openpredict",
+ "collaboratory",
+ "connections"
+ ],
"title": "ComponentEnum",
"type": "string"
},
@@ -390,18 +396,7 @@
},
"test_cases": {
"additionalProperties": {
- "anyOf": [
- {
- "$ref": "#/$defs/TestCase__identifier_optional"
- },
- {
- "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.",
- "items": {
- "$ref": "#/$defs/TestAsset"
- },
- "type": "array"
- }
- ]
+ "$ref": "#/$defs/TestCase__identifier_optional"
},
"description": "List of explicitly enumerated Test Cases.",
"type": "object"
@@ -427,7 +422,6 @@
}
},
"required": [
- "test_metadata",
"id"
],
"title": "OneHopTestSuite",
@@ -629,18 +623,7 @@
},
"test_cases": {
"additionalProperties": {
- "anyOf": [
- {
- "$ref": "#/$defs/TestCase__identifier_optional"
- },
- {
- "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.",
- "items": {
- "$ref": "#/$defs/TestAsset"
- },
- "type": "array"
- }
- ]
+ "$ref": "#/$defs/TestCase__identifier_optional"
},
"description": "List of explicitly enumerated Test Cases.",
"type": "object"
@@ -666,7 +649,6 @@
}
},
"required": [
- "test_metadata",
"id"
],
"title": "StandardsComplianceTestSuite",
@@ -762,7 +744,6 @@
}
},
"required": [
- "test_metadata",
"id"
],
"title": "TestAsset",
@@ -1163,7 +1144,6 @@
}
},
"required": [
- "test_metadata",
"id"
],
"title": "TestEdgeData",
@@ -1525,18 +1505,7 @@
},
"test_cases": {
"additionalProperties": {
- "anyOf": [
- {
- "$ref": "#/$defs/TestCase__identifier_optional"
- },
- {
- "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.",
- "items": {
- "$ref": "#/$defs/TestAsset"
- },
- "type": "array"
- }
- ]
+ "$ref": "#/$defs/TestCase__identifier_optional"
},
"description": "List of explicitly enumerated Test Cases.",
"type": "object"
@@ -1562,7 +1531,6 @@
}
},
"required": [
- "test_metadata",
"id"
],
"title": "TestSuite",
@@ -1627,7 +1595,7 @@
}
},
"$id": "https://w3id.org/TranslatorSRI/TranslatorTestingModel",
- "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"metamodel_version": "1.7.0",
"title": "Translator-Testing-Model",
diff --git a/project/owl/translator_testing_model.owl.ttl b/project/owl/translator_testing_model.owl.ttl
index e93be4c..12c4582 100644
--- a/project/owl/translator_testing_model.owl.ttl
+++ b/project/owl/translator_testing_model.owl.ttl
@@ -1,4 +1,5 @@
@prefix dcterms: .
+@prefix infores: .
@prefix linkml: .
@prefix owl: .
@prefix pav: .
@@ -65,59 +66,59 @@ ttm:TestRunSession a owl:Class,
linkml:ClassDefinition ;
rdfs:label "TestRunSession" ;
rdfs:subClassOf [ a owl:Restriction ;
- owl:maxCardinality 1 ;
+ owl:allValuesFrom ttm:TestEnvEnum ;
owl:onProperty ttm:test_env ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:components ],
+ owl:onProperty ttm:timestamp ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:test_env ],
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:test_run_parameters ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:TestEnvEnum ;
- owl:onProperty ttm:test_env ],
+ owl:allValuesFrom ttm:ComponentEnum ;
+ owl:onProperty ttm:components ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
owl:onProperty ttm:test_case_results ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:TestCaseResult ;
+ owl:onProperty ttm:test_case_results ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
owl:onProperty ttm:test_run_parameters ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
owl:onProperty ttm:timestamp ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:TestCaseResult ;
- owl:onProperty ttm:test_case_results ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:test_run_parameters ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:Datetime ;
owl:onProperty ttm:timestamp ],
- [ 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:allValuesFrom ttm:TestEntity ;
- owl:onProperty ttm:test_entities ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:timestamp ],
+ owl:onProperty ttm:test_env ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
owl:onProperty ttm:test_runner_name ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
+ owl:onProperty ttm:test_run_parameters ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_entities ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom owl:Thing ;
owl:onProperty ttm:test_entities ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:test_run_parameters ],
+ owl:onProperty ttm:test_env ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:ComponentEnum ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:components ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_runner_name ],
ttm:TestEntity ;
skos:definition "Single run of a TestRunner in a given environment, with a specified set of test_entities (generally, one or more instances of TestSuite)." ;
skos:inScheme .
@@ -183,95 +184,95 @@ ttm:AcceptanceTestAsset a owl:Class,
linkml:ClassDefinition ;
rdfs:label "AcceptanceTestAsset" ;
rdfs:subClassOf [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:must_pass_date ],
- [ a owl:Restriction ;
owl:allValuesFrom linkml:Date ;
owl:onProperty ttm:must_pass_date ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:scientific_question ],
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:notes ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:must_pass_environment ],
+ owl:allValuesFrom ttm:ExpectedResultsEnum ;
+ owl:onProperty ttm:expected_result ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:scientific_question ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:must_pass_date ],
+ owl:onProperty ttm:top_level ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:must_pass_environment ],
+ owl:onProperty ttm:query_node ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:notes ],
+ owl:onProperty ttm:answer_informal_concept ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:NodeEnum ;
+ owl:onProperty ttm:query_node ],
[ 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 linkml:String ;
- owl:onProperty ttm:answer_informal_concept ],
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:must_pass_environment ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:direction ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:string_entry ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:notes ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
owl:onProperty ttm:scientific_question ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
owl:onProperty ttm:notes ],
[ 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 ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:scientific_question ],
+ owl:onProperty ttm:string_entry ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:NodeEnum ;
+ owl:maxCardinality 1 ;
owl:onProperty ttm:query_node ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:DirectionEnum ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:direction ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:notes ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:string_entry ],
[ a owl:Restriction ;
owl:allValuesFrom ttm:TestEnvEnum ;
owl:onProperty ttm:must_pass_environment ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:direction ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:direction ],
+ owl:onProperty ttm:must_pass_date ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:answer_informal_concept ],
+ owl:onProperty ttm:must_pass_environment ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:query_node ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:query_node ],
+ owl:onProperty ttm:must_pass_date ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
owl:onProperty ttm:expected_result ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:string_entry ],
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:answer_informal_concept ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:top_level ],
+ owl:allValuesFrom ttm:DirectionEnum ;
+ owl:onProperty ttm:direction ],
[ a owl:Restriction ;
- owl:allValuesFrom linkml:Integer ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:top_level ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:answer_informal_concept ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:expected_result ],
ttm:TestAsset ;
skos:definition "Model derived from Jenn's test asset design and Shervin's runner JSON here as an example." ;
skos:inScheme .
@@ -285,20 +286,20 @@ ttm:TestOutput a owl:Class,
linkml:ClassDefinition ;
rdfs:label "TestOutput" ;
rdfs:subClassOf [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:pks ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:TestResultPKSet ;
- owl:onProperty ttm:pks ],
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:test_case_id ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
owl:onProperty ttm:test_case_id ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:test_case_id ],
+ owl:allValuesFrom ttm:TestResultPKSet ;
+ owl:onProperty ttm:pks ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
owl:onProperty ttm:test_case_id ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:pks ],
ttm:TestEntity ;
skos:definition "The output of a TestRunner run of one specific TestCase." ;
skos:inScheme .
@@ -399,32 +400,32 @@ ttm:TestCaseResult a owl:Class,
linkml:ClassDefinition ;
rdfs:label "TestCaseResult" ;
rdfs:subClassOf [ a owl:Restriction ;
- owl:allValuesFrom linkml:Uriorcurie ;
- owl:onProperty ttm:test_suite_id ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:test_suite_id ],
+ owl:allValuesFrom ttm:TestCase ;
+ owl:onProperty ttm:test_case ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
owl:onProperty ttm:test_case_result ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:test_case ],
+ owl:onProperty ttm:test_suite_id ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
+ owl:onProperty ttm:test_case ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:Uriorcurie ;
+ owl:onProperty ttm:test_suite_id ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:TestCaseResultEnum ;
owl:onProperty ttm:test_case_result ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:test_case ],
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_case_result ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
owl:onProperty ttm:test_suite_id ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:TestCase ;
+ owl:maxCardinality 1 ;
owl:onProperty ttm:test_case ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:TestCaseResultEnum ;
- owl:onProperty ttm:test_case_result ],
ttm:TestEntity ;
skos:definition "The outcome of a TestRunner run of one specific TestCase." ;
skos:inScheme .
@@ -448,14 +449,14 @@ ttm:TestEntityParameter a owl:Class,
linkml:ClassDefinition ;
rdfs:label "TestEntityParameter" ;
rdfs:subClassOf [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:parameter ],
- [ a owl:Restriction ;
owl:minCardinality 0 ;
owl:onProperty ttm:value ],
[ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
+ owl:maxCardinality 1 ;
owl:onProperty ttm:value ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:parameter ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
owl:onProperty ttm:parameter ],
@@ -463,7 +464,7 @@ ttm:TestEntityParameter a owl:Class,
owl:maxCardinality 1 ;
owl:onProperty ttm:parameter ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
+ owl:allValuesFrom linkml:String ;
owl:onProperty ttm:value ] ;
skos:definition "A single 'tag = value' pair (where 'value' is a simple string)." ;
skos:inScheme .
@@ -567,68 +568,68 @@ ttm:TestResultPKSet a owl:Class,
linkml:ClassDefinition ;
rdfs:label "TestResultPKSet" ;
rdfs:subClassOf [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:parent_pk ],
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:arax ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
owl:onProperty ttm:aragorn ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:parent_pk ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:bte ],
+ owl:onProperty ttm:merged_pk ],
[ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:unsecret ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:aragorn ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:parent_pk ],
+ owl:onProperty ttm:merged_pk ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:bte ],
+ owl:onProperty ttm:unsecret ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:bte ],
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:merged_pk ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:aragorn ],
+ owl:onProperty ttm:parent_pk ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:merged_pk ],
+ owl:onProperty ttm:bte ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
owl:onProperty ttm:improving ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:bte ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
owl:onProperty ttm:aragorn ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:improving ],
+ owl:onProperty ttm:bte ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:merged_pk ],
+ owl:onProperty ttm:improving ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
+ owl:allValuesFrom linkml:String ;
owl:onProperty ttm:unsecret ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:unsecret ],
+ owl:onProperty ttm:improving ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
owl:onProperty ttm:arax ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:improving ],
+ owl:onProperty ttm:parent_pk ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
owl:onProperty ttm:arax ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:arax ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:merged_pk ],
+ owl:onProperty ttm:parent_pk ],
ttm:TestEntity ;
skos:definition "Primary keys for a given ARA result set from a SmokeTest result for a given TestCase." ;
skos:inScheme .
@@ -668,23 +669,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_format ],
- [ a owl:Restriction ;
owl:maxCardinality 1 ;
owl:onProperty ttm:test_data_file_format ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:FileFormatEnum ;
+ owl:allValuesFrom linkml:Uriorcurie ;
+ owl:onProperty ttm:test_data_file_locator ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:test_data_file_format ],
[ a owl:Restriction ;
- owl:allValuesFrom linkml:Uriorcurie ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:test_data_file_locator ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
owl:onProperty ttm:test_data_file_locator ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:test_data_file_locator ],
+ owl:allValuesFrom ttm:FileFormatEnum ;
+ owl:onProperty ttm:test_data_file_format ],
ttm:TestEntity ;
skos:definition "Parameters for a Test Case instances either dynamically generated from some external source of Test Assets." ;
skos:inScheme .
@@ -767,8 +768,90 @@ ttm:test_entity_parameters a owl:ObjectProperty,
skos:definition "One or more 'tag = value' parameters documenting target characteristics of a TestEntity." ;
skos:inScheme .
-ttm:ComponentEnum a owl:Class,
- linkml:EnumDefinition .
+infores:aragorn a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "aragorn" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:arax a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "arax" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:biothings-explorer a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "bte" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:cam-kp a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "cam" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:cohd a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "cohd" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:connections-hypothesis a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "connections" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:explanatory-agent a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "explanatory" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:icees-kg a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "icees" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:improving-agent a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "improving" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:knowledge-collaboratory a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "collaboratory" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:molepro a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "molepro" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:ncats-ars a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "ars" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:openpredict a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "openpredict" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:rtx-kg2 a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "rtxkg2" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:spoke a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "spoke" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:textmining-kp a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "textmining" ;
+ rdfs:subClassOf ttm:ComponentEnum .
+
+infores:unsecret-agent a owl:Class,
+ ttm:ComponentEnum ;
+ rdfs:label "unsecret" ;
+ rdfs:subClassOf ttm:ComponentEnum .
ttm:Qualifier a owl:Class,
linkml:ClassDefinition ;
@@ -776,63 +859,241 @@ ttm:Qualifier a owl:Class,
rdfs:subClassOf [ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
owl:onProperty ttm:parameter ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:parameter ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
owl:onProperty ttm:parameter ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:value ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
+ owl:maxCardinality 1 ;
owl:onProperty ttm:value ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
owl:onProperty ttm:value ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:parameter ],
ttm:TestEntityParameter ;
skos:inScheme .
-ttm:TestMetadata a owl:Class,
+ttm:TestAsset a owl:Class,
linkml:ClassDefinition ;
- rdfs:label "TestMetadata" ;
+ rdfs:label "TestAsset" ;
rdfs:subClassOf [ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:test_source ],
+ owl:onProperty ttm:semantic_severity ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:output_id ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:tags ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:TestMetadata ;
+ owl:onProperty ttm:test_metadata ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:association ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:test_objective ],
+ owl:onProperty ttm:well_known ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:input_category ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:Qualifier ;
+ owl:onProperty ttm:qualifiers ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:test_annotations ],
+ owl:onProperty ttm:id ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:output_name ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:Uriorcurie ;
+ owl:onProperty ttm:output_id ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:test_source ],
+ owl:onProperty ttm:in_v1 ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:predicate_name ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:Boolean ;
+ owl:onProperty ttm:well_known ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:predicate_name ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:output_id ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:SemanticSeverityEnum ;
+ owl:onProperty ttm:semantic_severity ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:concept_category ;
+ owl:onProperty ttm:input_category ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:test_issue ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:output_category ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:test_runner_settings ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:in_v1 ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:concept_category ;
+ owl:onProperty ttm:output_category ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:test_metadata ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:expected_output ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:input_id ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:well_known ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:input_name ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:association ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_issue ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:Boolean ;
+ owl:onProperty ttm:in_v1 ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:input_name ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:association_category ;
+ owl:onProperty ttm:association ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:expected_output ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:predicate_type ;
+ owl:onProperty ttm:predicate_id ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
owl:onProperty ttm:test_reference ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:output_name ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:test_annotations ],
+ owl:onProperty ttm:predicate_name ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:TestIssueEnum ;
+ owl:onProperty ttm:test_issue ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:Uriorcurie ;
+ owl:onProperty ttm:id ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_metadata ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:Uriorcurie ;
+ owl:onProperty ttm:input_id ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:test_reference ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:test_objective ],
+ owl:onProperty ttm:predicate_id ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:input_id ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:Uriorcurie ;
owl:onProperty ttm:test_reference ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:output_category ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:test_annotations ],
+ owl:onProperty ttm:tags ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_runner_settings ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:output_name ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:input_category ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:input_name ],
+ [ a owl:Restriction ;
+ owl:minCardinality 1 ;
+ owl:onProperty ttm:id ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:predicate_id ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:qualifiers ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:expected_output ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:semantic_severity ],
+ 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 .
+
+ttm:TestMetadata a owl:Class,
+ linkml:ClassDefinition ;
+ rdfs:label "TestMetadata" ;
+ rdfs:subClassOf [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:test_source ],
[ a owl:Restriction ;
owl:allValuesFrom ttm:TestSourceEnum ;
owl:onProperty ttm:test_source ],
+ [ 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:maxCardinality 1 ;
+ owl:onProperty ttm:test_reference ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_reference ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_objective ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:test_annotations ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:Uriorcurie ;
+ owl:onProperty ttm:test_reference ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_source ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_annotations ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:test_annotations ],
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 .
@@ -846,37 +1107,37 @@ ttm:TestSuite a owl:Class,
linkml:ClassDefinition ;
rdfs:label "TestSuite" ;
rdfs:subClassOf [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:test_cases ],
+ owl:allValuesFrom ttm:TestSuiteSpecification ;
+ owl:onProperty ttm:test_suite_specification ],
[ a owl:Restriction ;
- owl:minCardinality 1 ;
+ owl:maxCardinality 1 ;
owl:onProperty ttm:test_metadata ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:test_suite_specification ],
+ owl:onProperty ttm:test_metadata ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_cases ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:TestMetadata ;
owl:onProperty ttm:test_metadata ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:TestSuiteSpecification ;
+ owl:allValuesFrom ttm:TestCase ;
+ owl:onProperty ttm:test_cases ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
owl:onProperty ttm:test_suite_specification ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:test_persona ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
owl:onProperty ttm:test_suite_specification ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
+ owl:allValuesFrom ttm:TestPersonaEnum ;
owl:onProperty ttm:test_persona ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:TestCase ;
- owl:onProperty ttm:test_cases ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:TestMetadata ;
- owl:onProperty ttm:test_metadata ],
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_persona ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:TestPersonaEnum ;
+ owl:maxCardinality 1 ;
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." ;
@@ -1235,184 +1496,6 @@ ttm:QueryTypeEnum a owl:Class,
linkml:EnumDefinition ;
linkml:permissible_values .
-ttm:TestAsset a owl:Class,
- linkml:ClassDefinition ;
- rdfs:label "TestAsset" ;
- rdfs:subClassOf [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:predicate_name ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:test_issue ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:predicate_name ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:concept_category ;
- owl:onProperty ttm:input_category ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:in_v1 ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:output_name ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:Boolean ;
- owl:onProperty ttm:in_v1 ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:test_reference ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:TestIssueEnum ;
- owl:onProperty ttm:test_issue ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:output_category ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:semantic_severity ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:input_name ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:input_category ],
- [ a owl:Restriction ;
- owl:minCardinality 1 ;
- owl:onProperty ttm:test_metadata ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:output_id ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:input_name ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:test_issue ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:expected_output ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:input_category ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:input_id ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:Uriorcurie ;
- owl:onProperty ttm:test_reference ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:predicate_id ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:association_category ;
- owl:onProperty ttm:association ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:test_metadata ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:TestMetadata ;
- owl:onProperty ttm:test_metadata ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:test_reference ],
- [ a owl:Restriction ;
- owl:minCardinality 1 ;
- owl:onProperty ttm:id ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:input_id ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:well_known ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:test_runner_settings ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:output_name ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:qualifiers ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:concept_category ;
- owl:onProperty ttm:output_category ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:output_id ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:well_known ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:predicate_name ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:Uriorcurie ;
- owl:onProperty ttm:id ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:expected_output ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:id ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:tags ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:input_name ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:Uriorcurie ;
- owl:onProperty ttm:input_id ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:output_name ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:semantic_severity ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:output_category ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:association ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:predicate_id ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:test_runner_settings ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:expected_output ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:Qualifier ;
- owl:onProperty ttm:qualifiers ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:Boolean ;
- owl:onProperty ttm:well_known ],
- [ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:association ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:SemanticSeverityEnum ;
- owl:onProperty ttm:semantic_severity ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:tags ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:Uriorcurie ;
- owl:onProperty ttm:output_id ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:predicate_type ;
- owl:onProperty ttm:predicate_id ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:in_v1 ],
- 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 .
-
ttm:components a owl:ObjectProperty,
linkml:SlotDefinition ;
rdfs:label "components" ;
@@ -1464,125 +1547,125 @@ ttm:TestCase a owl:Class,
linkml:ClassDefinition ;
rdfs:label "TestCase" ;
rdfs:subClassOf [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:test_case_input_id ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:QueryTypeEnum ;
- owl:onProperty ttm:query_type ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:TestAsset ;
- owl:onProperty ttm:test_assets ],
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:components ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
+ owl:onProperty ttm:test_env ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:query_type ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:test_case_predicate_name ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:tags ],
+ owl:onProperty ttm:input_category ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:TestObjectiveEnum ;
- owl:onProperty ttm:test_case_objective ],
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:test_case_source ],
[ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:tags ],
+ owl:minCardinality 1 ;
+ owl:onProperty ttm:test_assets ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:query_type ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:ComponentEnum ;
- owl:onProperty ttm:components ],
- [ a owl:Restriction ;
- owl:allValuesFrom ttm:concept_category ;
- owl:onProperty ttm:output_category ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:trapi_template ],
+ owl:onProperty ttm:tags ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:test_case_predicate_name ],
+ owl:onProperty ttm:preconditions ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
owl:onProperty ttm:test_case_predicate_name ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:test_case_objective ],
+ owl:allValuesFrom owl:Thing ;
+ owl:onProperty ttm:test_assets ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:components ],
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:test_case_predicate_name ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:TestEnvEnum ;
- owl:onProperty ttm:test_env ],
+ owl:allValuesFrom ttm:concept_category ;
+ owl:onProperty ttm:output_category ],
[ a owl:Restriction ;
owl:allValuesFrom ttm:Qualifier ;
owl:onProperty ttm:qualifiers ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:preconditions ],
+ owl:onProperty ttm:qualifiers ],
[ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:test_case_predicate_id ],
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_env ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:output_category ],
+ owl:onProperty ttm:test_case_objective ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:TestSourceEnum ;
+ owl:minCardinality 0 ;
owl:onProperty ttm:test_case_source ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:test_case_source ],
- [ a owl:Restriction ;
- owl:minCardinality 1 ;
- owl:onProperty ttm:test_assets ],
+ owl:onProperty ttm:trapi_template ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:concept_category ;
+ owl:maxCardinality 1 ;
owl:onProperty ttm:input_category ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:qualifiers ],
+ owl:allValuesFrom ttm:QueryTypeEnum ;
+ owl:onProperty ttm:query_type ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:tags ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:Precondition ;
+ owl:onProperty ttm:preconditions ],
[ a owl:Restriction ;
owl:allValuesFrom ttm:TrapiTemplateEnum ;
owl:onProperty ttm:trapi_template ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:test_case_source ],
+ owl:allValuesFrom ttm:TestObjectiveEnum ;
+ owl:onProperty ttm:test_case_objective ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
+ owl:allValuesFrom ttm:concept_category ;
+ owl:onProperty ttm:input_category ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
owl:onProperty ttm:test_case_predicate_id ],
[ a owl:Restriction ;
- owl:allValuesFrom ttm:Precondition ;
- owl:onProperty ttm:preconditions ],
+ owl:allValuesFrom ttm:ComponentEnum ;
+ owl:onProperty ttm:components ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:output_category ],
+ owl:onProperty ttm:query_type ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
+ owl:allValuesFrom ttm:TestEnvEnum ;
owl:onProperty ttm:test_env ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
+ owl:maxCardinality 1 ;
owl:onProperty ttm:test_case_objective ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:test_case_predicate_id ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom ttm:TestSourceEnum ;
+ owl:onProperty ttm:test_case_source ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_case_input_id ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
owl:onProperty ttm:trapi_template ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:test_env ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:test_case_predicate_id ],
+ owl:onProperty ttm:output_category ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty ttm:input_category ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:Uriorcurie ;
owl:onProperty ttm:test_case_input_id ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:test_case_input_id ],
+ owl:onProperty ttm:output_category ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:input_category ],
+ owl:onProperty ttm:test_case_predicate_id ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:Uriorcurie ;
+ owl:onProperty ttm:test_case_input_id ],
ttm:TestEntity ;
skos:definition "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." ;
skos:inScheme .
@@ -1694,44 +1777,44 @@ ttm:TestEntity a owl:Class,
linkml:ClassDefinition ;
rdfs:label "TestEntity" ;
rdfs:subClassOf [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:name ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:description ],
- [ a owl:Restriction ;
owl:minCardinality 0 ;
owl:onProperty ttm:tags ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:test_runner_settings ],
+ owl:onProperty ttm:description ],
[ a owl:Restriction ;
- owl:allValuesFrom linkml:Uriorcurie ;
- owl:onProperty ttm:id ],
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:tags ],
[ a owl:Restriction ;
- owl:minCardinality 0 ;
- owl:onProperty ttm:name ],
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:description ],
[ a owl:Restriction ;
owl:minCardinality 1 ;
owl:onProperty ttm:id ],
- [ a owl:Restriction ;
- owl:maxCardinality 1 ;
- owl:onProperty ttm:description ],
[ a owl:Restriction ;
owl:allValuesFrom linkml:String ;
owl:onProperty ttm:test_runner_settings ],
- [ a owl:Restriction ;
- owl:allValuesFrom linkml:String ;
- owl:onProperty ttm:tags ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
owl:onProperty ttm:name ],
+ [ a owl:Restriction ;
+ owl:minCardinality 0 ;
+ owl:onProperty ttm:test_runner_settings ],
[ a owl:Restriction ;
owl:maxCardinality 1 ;
owl:onProperty ttm:id ],
[ a owl:Restriction ;
owl:minCardinality 0 ;
- owl:onProperty ttm:description ] ;
+ owl:onProperty ttm:name ],
+ [ a owl:Restriction ;
+ owl:maxCardinality 1 ;
+ owl:onProperty ttm:description ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:String ;
+ owl:onProperty ttm:name ],
+ [ a owl:Restriction ;
+ owl:allValuesFrom linkml:Uriorcurie ;
+ owl:onProperty ttm:id ] ;
skos:definition "Abstract global 'identification' class shared as a parent with all major model classes within the data model for Translator testing." ;
skos:inScheme .
@@ -1782,6 +1865,27 @@ ttm:TestSourceEnum a owl:Class,
,
.
+ttm:ComponentEnum a owl:Class,
+ linkml:EnumDefinition ;
+ owl:unionOf ( infores:ncats-ars infores:arax infores:explanatory-agent infores:improving-agent infores:aragorn infores:biothings-explorer infores:unsecret-agent infores:rtx-kg2 infores:icees-kg infores:cam-kp infores:spoke infores:molepro infores:textmining-kp infores:cohd infores:openpredict infores:knowledge-collaboratory infores:connections-hypothesis ) ;
+ linkml:permissible_values infores:aragorn,
+ infores:arax,
+ infores:biothings-explorer,
+ infores:cam-kp,
+ infores:cohd,
+ infores:connections-hypothesis,
+ infores:explanatory-agent,
+ infores:icees-kg,
+ infores:improving-agent,
+ infores:knowledge-collaboratory,
+ infores:molepro,
+ infores:ncats-ars,
+ infores:openpredict,
+ infores:rtx-kg2,
+ infores:spoke,
+ infores:textmining-kp,
+ infores:unsecret-agent .
+
a owl:Ontology ;
rdfs:label "Translator-Testing-Model" ;
dcterms:license "MIT" ;
diff --git a/project/prefixmap/translator_testing_model.yaml b/project/prefixmap/translator_testing_model.yaml
index 1e5dbdf..5141b2f 100644
--- a/project/prefixmap/translator_testing_model.yaml
+++ b/project/prefixmap/translator_testing_model.yaml
@@ -1,6 +1,7 @@
{
"biolink": "https://w3id.org/biolink/",
"example": "https://example.org/",
+ "infores": "https://w3id.org/biolink/vocab/",
"linkml": "https://w3id.org/linkml/",
"schema": "http://schema.org/",
"ttm": "https://w3id.org/TranslatorSRI/TranslatorTestingModel/"
diff --git a/project/shacl/translator_testing_model.shacl.ttl b/project/shacl/translator_testing_model.shacl.ttl
index d382e1e..61811b3 100644
--- a/project/shacl/translator_testing_model.shacl.ttl
+++ b/project/shacl/translator_testing_model.shacl.ttl
@@ -1,3 +1,4 @@
+@prefix infores: .
@prefix rdf: .
@prefix schema1: .
@prefix sh: .
@@ -13,118 +14,93 @@ ttm:AcceptanceTestCase a sh:NodeShape ;
sh:maxCount 1 ;
sh:order 16 ;
sh:path schema1:description ],
- [ sh:datatype xsd:string ;
+ [ sh:description "Deployment environment within which the associated TestSuite is run." ;
+ sh:in ( "dev" "ci" "test" "prod" ) ;
sh:maxCount 1 ;
- sh:order 6 ;
- sh:path ttm:test_case_predicate_name ],
- [ sh:class ttm:Precondition ;
- sh:nodeKind sh:IRI ;
- sh:order 2 ;
- sh:path ttm:preconditions ],
+ sh:order 13 ;
+ sh:path ttm:test_env ],
+ [ sh:description "A unique identifier for a Test Entity" ;
+ sh:maxCount 1 ;
+ sh:minCount 1 ;
+ sh:order 14 ;
+ sh:path schema1:identifier ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:order 7 ;
sh:path ttm:test_case_predicate_id ],
- [ 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 1 ;
- sh:path ttm:test_assets ],
- [ 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:maxCount 1 ;
+ sh:order 8 ;
+ sh:path ttm:test_case_input_id ],
[ sh:maxCount 1 ;
sh:order 11 ;
sh:path ttm:output_category ],
- [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative; standards compliance; graph navigation integrity)" ;
- sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" "StandardsValidationTest" "OneHopTest" ) ;
+ [ sh:maxCount 1 ;
+ sh:order 10 ;
+ sh:path ttm:input_category ],
+ [ sh:datatype xsd:string ;
sh:maxCount 1 ;
- sh:order 4 ;
- sh:path ttm:test_case_objective ],
+ sh:order 6 ;
+ sh:path ttm:test_case_predicate_name ],
[ sh:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 18 ;
- sh:path ttm:test_runner_settings ],
+ sh:description "A human-readable name for a Test Entity" ;
+ sh:maxCount 1 ;
+ sh:order 15 ;
+ sh:path schema1:name ],
+ [ 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 3 ;
+ 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 ( infores:ncats-ars infores:arax infores:explanatory-agent infores:improving-agent infores:aragorn infores:biothings-explorer infores:unsecret-agent infores:rtx-kg2 infores:icees-kg infores:cam-kp infores:spoke infores:molepro infores:textmining-kp infores:cohd infores:openpredict infores:knowledge-collaboratory infores:connections-hypothesis ) ;
+ sh:order 12 ;
+ sh:path ttm:components ],
[ sh:description "Type of TestCase query." ;
sh:in ( "treats" ) ;
sh:maxCount 1 ;
sh:order 0 ;
sh:path ttm:query_type ],
+ [ sh:datatype xsd:string ;
+ sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 18 ;
+ sh:path ttm:test_runner_settings ],
+ [ sh:class ttm:Precondition ;
+ sh:nodeKind sh:IRI ;
+ sh:order 2 ;
+ sh:path ttm:preconditions ],
+ [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative; standards compliance; graph navigation integrity)" ;
+ sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" "StandardsValidationTest" "OneHopTest" ) ;
+ sh:maxCount 1 ;
+ sh:order 4 ;
+ sh:path ttm:test_case_objective ],
+ [ 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 1 ;
+ 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 5 ;
sh:path ttm:test_case_source ],
- [ 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 3 ;
- sh:path ttm:trapi_template ],
- [ sh:maxCount 1 ;
- sh:order 10 ;
- sh:path ttm:input_category ],
- [ sh:maxCount 1 ;
- sh:order 8 ;
- 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 13 ;
- 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 12 ;
- sh:path ttm:components ],
[ 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:BlankNodeOrIRI ;
+ sh:nodeKind sh:BlankNode ;
sh:order 9 ;
sh:path ttm:qualifiers ],
- [ sh:description "A unique identifier for a Test Entity" ;
- sh:maxCount 1 ;
- sh:minCount 1 ;
- sh:order 14 ;
- sh:path schema1:identifier ],
[ 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: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:targetClass ttm:AcceptanceTestCase .
ttm:AcceptanceTestSuite a sh:NodeShape ;
sh:closed true ;
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: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: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:TestCase ;
- sh:description "List of explicitly enumerated Test Cases." ;
- sh:nodeKind sh:IRI ;
- sh:order 2 ;
- 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:class ttm:TestMetadata ;
+ 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 ],
@@ -133,16 +109,40 @@ ttm:AcceptanceTestSuite a sh:NodeShape ;
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: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 "Scalar parameters for the TestRunner processing a given TestEntity." ;
sh:order 8 ;
sh:path ttm:test_runner_settings ],
+ [ 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: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:path ttm:test_suite_specification ],
+ [ 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:targetClass ttm:AcceptanceTestSuite .
ttm:BenchmarkTestSuite a sh:NodeShape ;
@@ -155,243 +155,237 @@ 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:description "A unique identifier for a Test Entity" ;
- sh:maxCount 1 ;
- 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:property [ sh:class ttm:TestCase ;
+ sh:description "List of explicitly enumerated Test Cases." ;
sh:nodeKind sh:IRI ;
- sh:order 0 ;
- sh:path ttm:test_metadata ],
- [ sh:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 8 ;
- sh:path ttm:test_runner_settings ],
+ sh:order 2 ;
+ sh:path ttm:test_cases ],
[ 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:class ttm:TestMetadata ;
+ sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ;
+ sh:maxCount 1 ;
sh:nodeKind sh:IRI ;
- sh:order 2 ;
- sh:path ttm:test_cases ],
+ sh:order 0 ;
+ sh:path ttm:test_metadata ],
[ 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: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 "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 8 ;
+ sh:path ttm:test_runner_settings ],
[ 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:path ttm:test_persona ],
+ [ 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 "A unique identifier for a Test Entity" ;
+ sh:maxCount 1 ;
+ sh:minCount 1 ;
+ sh:order 4 ;
+ sh:path schema1:identifier ] ;
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:description "A unique identifier for a Test Entity" ;
+ 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:minCount 1 ;
- sh:order 14 ;
- sh:path schema1:identifier ],
+ sh:order 5 ;
+ sh:path ttm:test_case_source ],
[ sh:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 18 ;
- sh:path ttm:test_runner_settings ],
- [ sh:maxCount 1 ;
- sh:order 8 ;
- sh:path ttm:test_case_input_id ],
+ sh:description "A human-readable description for a Test Entity" ;
+ sh:maxCount 1 ;
+ sh:order 16 ;
+ sh:path schema1:description ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:order 6 ;
sh:path ttm:test_case_predicate_name ],
- [ sh:maxCount 1 ;
- sh:order 10 ;
- sh:path ttm:input_category ],
[ 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:BlankNodeOrIRI ;
+ sh:nodeKind sh:BlankNode ;
sh:order 9 ;
sh:path ttm:qualifiers ],
- [ 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:class ttm:Precondition ;
- sh:nodeKind sh:IRI ;
- sh:order 2 ;
- 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:in ( infores:ncats-ars infores:arax infores:explanatory-agent infores:improving-agent infores:aragorn infores:biothings-explorer infores:unsecret-agent infores:rtx-kg2 infores:icees-kg infores:cam-kp infores:spoke infores:molepro infores:textmining-kp infores:cohd infores:openpredict infores:knowledge-collaboratory infores:connections-hypothesis ) ;
sh:order 12 ;
sh:path ttm:components ],
+ [ sh:maxCount 1 ;
+ sh:order 10 ;
+ sh:path ttm:input_category ],
[ 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:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative; standards compliance; graph navigation integrity)" ;
- sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" "StandardsValidationTest" "OneHopTest" ) ;
+ sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 18 ;
+ sh:path ttm:test_runner_settings ],
+ [ sh:description "Deployment environment within which the associated TestSuite is run." ;
+ sh:in ( "dev" "ci" "test" "prod" ) ;
sh:maxCount 1 ;
- sh:order 4 ;
- sh:path ttm:test_case_objective ],
+ sh:order 13 ;
+ sh:path ttm:test_env ],
+ [ sh:maxCount 1 ;
+ sh:order 8 ;
+ sh:path ttm:test_case_input_id ],
+ [ 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 1 ;
+ sh:path ttm:test_assets ],
[ 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 3 ;
sh:path ttm:trapi_template ],
- [ sh:description "Type of TestCase query." ;
- sh:in ( "treats" ) ;
+ [ sh:description "A unique identifier for a Test Entity" ;
sh:maxCount 1 ;
- sh:order 0 ;
- sh:path ttm:query_type ],
+ sh:minCount 1 ;
+ sh:order 14 ;
+ sh:path schema1:identifier ],
[ sh:maxCount 1 ;
sh:order 11 ;
sh:path ttm:output_category ],
- [ sh:description "Deployment environment within which the associated TestSuite is run." ;
- sh:in ( "dev" "ci" "test" "prod" ) ;
- sh:maxCount 1 ;
- sh:order 13 ;
- sh:path ttm:test_env ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:order 7 ;
sh:path ttm:test_case_predicate_id ],
- [ 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 5 ;
- 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: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:class ttm:Precondition ;
sh:nodeKind sh:IRI ;
- sh:order 1 ;
- sh:path ttm:test_assets ],
+ sh:order 2 ;
+ sh:path ttm:preconditions ],
+ [ sh:description "Type of TestCase query." ;
+ sh:in ( "treats" ) ;
+ sh:maxCount 1 ;
+ sh:order 0 ;
+ sh:path ttm:query_type ],
+ [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative; standards compliance; graph navigation integrity)" ;
+ sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" "StandardsValidationTest" "OneHopTest" ) ;
+ sh:maxCount 1 ;
+ sh:order 4 ;
+ sh:path ttm:test_case_objective ],
[ 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 16 ;
- sh:path schema1:description ] ;
+ sh:order 15 ;
+ sh:path schema1:name ] ;
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: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: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:nodeKind sh:IRI ;
- sh:order 3 ;
- sh:path ttm:test_suite_specification ],
+ 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:class ttm:TestCase ;
sh:description "List of explicitly enumerated Test Cases." ;
sh:nodeKind sh:IRI ;
sh:order 2 ;
sh:path ttm:test_cases ],
- [ sh:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 8 ;
- sh:path ttm:test_runner_settings ],
- [ sh:datatype xsd:string ;
- sh:description "A human-readable description for a Test Entity" ;
+ [ 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: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: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:minCount 1 ;
- sh:order 4 ;
- sh:path schema1:identifier ],
+ sh:nodeKind sh:IRI ;
+ sh:order 3 ;
+ sh:path ttm:test_suite_specification ],
+ [ sh:datatype xsd:string ;
+ sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 8 ;
+ sh:path ttm:test_runner_settings ],
[ 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: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: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:datatype xsd:boolean ;
- sh:maxCount 1 ;
- sh:order 13 ;
- sh:path ttm:in_v1 ],
- [ sh:description "A unique identifier for a Test Entity" ;
- sh:maxCount 1 ;
- sh:minCount 1 ;
- sh:order 17 ;
- sh:path schema1:identifier ],
- [ sh:maxCount 1 ;
+ sh:property [ sh:maxCount 1 ;
sh:order 0 ;
sh:path ttm:input_id ],
- [ sh:description "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement" ;
+ [ sh:maxCount 1 ;
+ sh:order 7 ;
+ sh:path ttm:output_category ],
+ [ sh:datatype xsd:boolean ;
sh:maxCount 1 ;
- sh:order 8 ;
- sh:path ttm:association ],
+ sh:order 14 ;
+ sh:path ttm:well_known ],
+ [ 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:datatype xsd:string ;
+ sh:description "A human-readable description for a Test Entity" ;
sh:maxCount 1 ;
- sh:order 1 ;
- sh:path ttm:input_name ],
+ sh:order 19 ;
+ sh:path schema1:description ],
[ 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:maxCount 1 ;
- sh:order 3 ;
- sh:path ttm:predicate_id ],
[ sh:maxCount 1 ;
sh:order 2 ;
sh:path ttm:input_category ],
+ [ sh:description "A unique identifier for a Test Entity" ;
+ sh:maxCount 1 ;
+ sh:minCount 1 ;
+ sh:order 17 ;
+ sh:path schema1:identifier ],
[ sh:datatype xsd:string ;
sh:description "Scalar settings for the TestRunner, e.g. \"inferred\"" ;
sh:order 21 ;
sh:path ttm:test_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:BlankNodeOrIRI ;
- sh:order 9 ;
- sh:path ttm:qualifiers ],
- [ sh:in ( "causes not treats" "TMKP" "category too generic" "contraindications" "chemical roles" "test_issue" ) ;
+ [ sh:datatype xsd:string ;
sh:maxCount 1 ;
- sh:order 11 ;
- sh:path ttm:test_issue ],
+ sh:order 10 ;
+ sh:path ttm:expected_output ],
[ sh:datatype xsd:string ;
sh:description "A human-readable name for a Test Entity" ;
sh:maxCount 1 ;
@@ -400,45 +394,48 @@ ttm:TestEdgeData a sh:NodeShape ;
[ 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 16 ;
sh:path ttm:test_metadata ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
- sh:order 10 ;
- sh:path ttm:expected_output ],
+ sh:order 4 ;
+ sh:path ttm:predicate_name ],
+ [ 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:in ( "High" "Low" "NotApplicable" ) ;
sh:maxCount 1 ;
sh:order 12 ;
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 20 ;
- sh:path schema1:additionalType ],
- [ sh:datatype xsd:boolean ;
- sh:maxCount 1 ;
- sh:order 14 ;
- sh:path ttm:well_known ],
- [ sh:datatype xsd:string ;
- sh:description "A human-readable description for a Test Entity" ;
- sh:maxCount 1 ;
- sh:order 19 ;
- sh:path schema1:description ],
- [ 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:order 1 ;
+ sh:path ttm:input_name ],
+ [ 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 5 ;
sh:path ttm:output_id ],
+ [ sh:maxCount 1 ;
+ sh:order 3 ;
+ sh:path ttm:predicate_id ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:order 6 ;
- sh:path ttm:output_name ] ;
+ sh:path ttm:output_name ],
+ [ 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 20 ;
+ sh:path schema1:additionalType ],
+ [ sh:datatype xsd:boolean ;
+ sh:maxCount 1 ;
+ sh:order 13 ;
+ sh:path ttm:in_v1 ] ;
sh:targetClass ttm:TestEdgeData .
ttm:TestOutput a sh:NodeShape ;
@@ -446,101 +443,101 @@ 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 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: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:description "CURIE id of a TestCase registered in the system." ;
sh:maxCount 1 ;
- sh:order 3 ;
- sh:path schema1:name ],
+ sh:order 0 ;
+ sh:path ttm:test_case_id ],
[ sh:datatype xsd:string ;
sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
sh:order 6 ;
sh:path ttm:test_runner_settings ],
- [ 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 "CURIE id of a TestCase registered in the system." ;
- sh:maxCount 1 ;
- sh:order 0 ;
- sh:path ttm:test_case_id ],
[ sh:description "A unique identifier for a Test Entity" ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:order 2 ;
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 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 "Single run of a TestRunner in a given environment, with a specified set of test_entities (generally, one or more instances of TestSuite)." ;
sh:ignoredProperties ( rdf:type ) ;
- sh:property [ 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:test_env ],
- [ sh:description "A unique identifier for a Test Entity" ;
+ sh:property [ sh:datatype xsd:string ;
+ sh:description "A human-readable name for a Test Entity" ;
sh:maxCount 1 ;
- sh:minCount 1 ;
- sh:order 7 ;
- sh:path schema1:identifier ],
+ sh:order 8 ;
+ sh:path schema1:name ],
+ [ sh:datatype xsd:string ;
+ sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 11 ;
+ sh:path ttm:test_runner_settings ],
[ sh:class ttm:TestCaseResult ;
sh:description "One or more instances of TestCaseResult." ;
sh:nodeKind sh:IRI ;
sh:order 5 ;
sh:path ttm:test_case_results ],
+ [ sh:datatype xsd:string ;
+ sh:description "Global system name of a TestRunner." ;
+ sh:maxCount 1 ;
+ sh:order 2 ;
+ sh:path ttm:test_runner_name ],
[ 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:in ( infores:ncats-ars infores:arax infores:explanatory-agent infores:improving-agent infores:aragorn infores:biothings-explorer infores:unsecret-agent infores:rtx-kg2 infores:icees-kg infores:cam-kp infores:spoke infores:molepro infores:textmining-kp infores:cohd infores:openpredict infores:knowledge-collaboratory infores:connections-hypothesis ) ;
sh:order 0 ;
sh:path ttm:components ],
- [ 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:class ttm:TestEntity ;
- sh:description "Different TestRunners could expect specific kinds of TestEntity as an input. These 'test_entities' are one or more instances of TestAsset, TestCase or (preferably?) TestSuite." ;
- sh:nodeKind sh:IRI ;
- sh:order 4 ;
- sh:path ttm:test_entities ],
+ [ sh:class ttm:TestEntityParameter ;
+ sh:description "Different TestRunners could expect additional global test configuration parameters, like the applicable TRAPI version (\"trapi_version\") or Biolink Model versions (\"biolink_version\")." ;
+ sh:nodeKind sh:BlankNode ;
+ sh:order 3 ;
+ sh:path ttm:test_run_parameters ],
[ sh:datatype xsd:dateTime ;
sh:description "Date time when a given entity was created." ;
sh:maxCount 1 ;
sh:order 6 ;
sh:path ttm:timestamp ],
[ sh:datatype xsd:string ;
- sh:description "A human-readable name for a Test Entity" ;
+ 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:description "A unique identifier for a Test Entity" ;
sh:maxCount 1 ;
- sh:order 8 ;
- sh:path schema1:name ],
- [ sh:class ttm:TestEntityParameter ;
- sh:description "Different TestRunners could expect additional global test configuration parameters, like the applicable TRAPI version (\"trapi_version\") or Biolink Model versions (\"biolink_version\")." ;
- sh:nodeKind sh:BlankNodeOrIRI ;
- sh:order 3 ;
- sh:path ttm:test_run_parameters ],
+ sh:minCount 1 ;
+ sh:order 7 ;
+ 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 1 ;
+ sh:path ttm:test_env ],
[ 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:datatype xsd:string ;
- sh:description "Global system name of a TestRunner." ;
- sh:maxCount 1 ;
- sh:order 2 ;
- sh:path ttm:test_runner_name ],
- [ sh:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 11 ;
- sh:path ttm:test_runner_settings ] ;
+ [ sh:class ttm:TestEntity ;
+ sh:description "Different TestRunners could expect specific kinds of TestEntity as an input. These 'test_entities' are one or more instances of TestAsset, TestCase or (preferably?) TestSuite." ;
+ sh:nodeKind sh:IRI ;
+ sh:order 4 ;
+ sh:path ttm:test_entities ] ;
sh:targetClass ttm:TestRunSession .
ttm:TestSuite a sh:NodeShape ;
@@ -552,172 +549,152 @@ ttm:TestSuite a sh:NodeShape ;
sh:maxCount 1 ;
sh:order 5 ;
sh:path schema1:name ],
- [ sh:description "A unique identifier 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:minCount 1 ;
- sh:order 4 ;
- sh:path schema1:identifier ],
+ sh:nodeKind sh:IRI ;
+ sh:order 3 ;
+ sh:path ttm:test_suite_specification ],
[ 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:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 8 ;
- sh:path ttm:test_runner_settings ],
+ sh:description "A human-readable description for a Test Entity" ;
+ sh:maxCount 1 ;
+ sh:order 6 ;
+ sh:path schema1:description ],
[ 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: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 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 "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 8 ;
+ sh:path ttm:test_runner_settings ],
[ 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:datatype xsd:string ;
- sh:description "A human-readable description for a Test Entity" ;
- sh:maxCount 1 ;
- sh:order 6 ;
- sh:path schema1:description ] ;
+ sh:path ttm:test_cases ] ;
sh:targetClass ttm:TestSuite .
ttm:AcceptanceTestAsset a sh:NodeShape ;
sh:closed true ;
sh:description "Model derived from Jenn's test asset design and Shervin's runner JSON here as an example." ;
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 29 ;
- sh:path schema1:description ],
- [ sh:in ( "High" "Low" "NotApplicable" ) ;
- sh:maxCount 1 ;
- sh:order 22 ;
- sh:path ttm:semantic_severity ],
- [ sh:maxCount 1 ;
- sh:order 17 ;
- sh:path ttm:output_category ],
- [ sh:class ttm:TestMetadata ;
- sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ;
+ sh:property [ sh:datatype xsd:boolean ;
sh:maxCount 1 ;
- sh:minCount 1 ;
- sh:nodeKind sh:IRI ;
- sh:order 26 ;
- sh:path ttm:test_metadata ],
+ sh:order 24 ;
+ sh:path ttm:well_known ],
[ sh:datatype xsd:string ;
+ sh:description "Scalar settings for the TestRunner, e.g. \"inferred\"" ;
+ sh:order 31 ;
+ sh:path ttm:test_runner_settings ],
+ [ sh:description "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement" ;
sh:maxCount 1 ;
- sh:order 20 ;
- sh:path ttm:expected_output ],
+ sh:order 18 ;
+ sh:path ttm:association ],
+ [ 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:maxCount 1 ;
- sh:order 15 ;
- sh:path ttm:output_id ],
+ sh:order 13 ;
+ sh:path ttm:predicate_id ],
[ sh:datatype xsd:string ;
+ sh:description "A human-readable name for a Test Entity" ;
sh:maxCount 1 ;
- sh:order 14 ;
- sh:path ttm:predicate_name ],
- [ sh:description "The node of the (templated) TRAPI query to replace" ;
- sh:in ( "subject" "object" ) ;
+ sh:order 28 ;
+ sh:path schema1:name ],
+ [ sh:datatype xsd:integer ;
+ sh:description "The answer must return in these many results" ;
sh:maxCount 1 ;
- sh:order 8 ;
- sh:path ttm:query_node ],
- [ sh:description "The direction of the expected query result triple" ;
- sh:in ( "increased" "decreased" ) ;
+ sh:order 7 ;
+ sh:path ttm:top_level ],
+ [ sh:in ( "High" "Low" "NotApplicable" ) ;
sh:maxCount 1 ;
- sh:order 4 ;
- sh:path ttm:direction ],
+ sh:order 22 ;
+ sh:path ttm:semantic_severity ],
[ sh:maxCount 1 ;
- sh:order 12 ;
- sh:path ttm:input_category ],
+ sh:order 10 ;
+ sh:path ttm:input_id ],
+ [ sh:maxCount 1 ;
+ sh:order 15 ;
+ sh:path ttm:output_id ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:order 11 ;
sh:path ttm:input_name ],
- [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ;
- sh:maxCount 1 ;
- sh:order 25 ;
- sh:path ttm:test_reference ],
- [ 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 30 ;
- sh:path schema1:additionalType ],
- [ sh:datatype xsd:boolean ;
+ [ sh:datatype xsd:date ;
+ sh:description "The date by which this test must pass" ;
sh:maxCount 1 ;
- sh:order 23 ;
- sh:path ttm:in_v1 ],
- [ 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 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:maxCount 1 ;
- sh:order 13 ;
- sh:path ttm:predicate_id ],
- [ 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: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:description "A unique identifier for a Test Entity" ;
+ sh:order 17 ;
+ sh:path ttm:output_category ],
+ [ sh:description "The deployment environment within which this test must pass." ;
+ sh:in ( "dev" "ci" "test" "prod" ) ;
sh:maxCount 1 ;
- sh:minCount 1 ;
- sh:order 27 ;
- sh:path schema1:identifier ],
- [ sh:datatype xsd:date ;
- sh:description "The date by which this test must pass" ;
+ sh:order 1 ;
+ sh:path ttm:must_pass_environment ],
+ [ sh:description "The expected result of the query" ;
+ sh:in ( "include_good" "exclude_bad" ) ;
sh:maxCount 1 ;
- sh:order 0 ;
- sh:path ttm:must_pass_date ],
+ sh:order 6 ;
+ sh:path ttm:expected_result ],
[ sh:datatype xsd:boolean ;
sh:maxCount 1 ;
- sh:order 24 ;
- sh:path ttm:well_known ],
+ sh:order 23 ;
+ sh:path ttm:in_v1 ],
[ sh:datatype xsd:string ;
- sh:description "A human-readable name for a Test Entity" ;
sh:maxCount 1 ;
- sh:order 28 ;
- sh:path schema1:name ],
- [ sh:description "The expected result of the query" ;
- sh:in ( "include_good" "exclude_bad" ) ;
+ sh:order 16 ;
+ sh:path ttm:output_name ],
+ [ sh:datatype xsd:string ;
+ sh:maxCount 1 ;
+ sh:order 14 ;
+ sh:path ttm:predicate_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:order 6 ;
- sh:path ttm:expected_result ],
+ sh:nodeKind sh:IRI ;
+ sh:order 26 ;
+ sh:path ttm:test_metadata ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
- sh:order 16 ;
- sh:path ttm:output_name ],
- [ sh:datatype xsd:string ;
- sh:description "Scalar settings for the TestRunner, e.g. \"inferred\"" ;
- sh:order 31 ;
- sh:path ttm:test_runner_settings ],
- [ sh:datatype xsd:string ;
- sh:description "The notes of the query" ;
+ sh:order 20 ;
+ sh:path ttm:expected_output ],
+ [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ;
sh:maxCount 1 ;
- sh:order 9 ;
- sh:path ttm:notes ],
+ sh:order 25 ;
+ sh:path ttm:test_reference ],
+ [ 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: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:BlankNodeOrIRI ;
+ sh:nodeKind sh:BlankNode ;
sh:order 19 ;
sh:path ttm:qualifiers ],
[ sh:datatype xsd:string ;
@@ -725,30 +702,53 @@ ttm:AcceptanceTestAsset a sh:NodeShape ;
sh:maxCount 1 ;
sh:order 5 ;
sh:path ttm:answer_informal_concept ],
- [ sh:description "The deployment environment within which this test must pass." ;
- sh:in ( "dev" "ci" "test" "prod" ) ;
+ [ sh:maxCount 1 ;
+ sh:order 12 ;
+ sh:path ttm:input_category ],
+ [ 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 30 ;
+ sh:path schema1:additionalType ],
+ [ sh:description "A unique identifier for a Test Entity" ;
sh:maxCount 1 ;
- sh:order 1 ;
- sh:path ttm:must_pass_environment ],
- [ sh:datatype xsd:integer ;
- sh:description "The answer must return in these many results" ;
+ sh:minCount 1 ;
+ sh:order 27 ;
+ sh:path schema1:identifier ],
+ [ sh:datatype xsd:string ;
+ sh:description "The object of the core triple to be tested" ;
sh:maxCount 1 ;
- sh:order 7 ;
- sh:path ttm:top_level ],
- [ sh:description "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement" ;
+ sh:order 3 ;
+ sh:path ttm:string_entry ],
+ [ sh:datatype xsd:string ;
+ sh:description "The notes of the query" ;
sh:maxCount 1 ;
- sh:order 18 ;
- sh:path ttm:association ] ;
+ sh:order 9 ;
+ sh:path ttm:notes ],
+ [ sh:datatype xsd:string ;
+ sh:description "A human-readable description for a Test Entity" ;
+ sh:maxCount 1 ;
+ sh:order 29 ;
+ sh:path schema1:description ],
+ [ 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: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: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:property [ 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 "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 7 ;
+ sh:path ttm:test_runner_settings ],
[ sh:datatype xsd:string ;
sh:description "A human-readable description for a Test Entity" ;
sh:maxCount 1 ;
@@ -759,6 +759,16 @@ ttm:TestCaseResult a sh:NodeShape ;
sh:maxCount 1 ;
sh:order 4 ;
sh:path schema1:name ],
+ [ sh:class ttm:TestCase ;
+ sh:description "Slot referencing a single TestCase." ;
+ 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:description "CURIE id of a TestSuite registered in the system." ;
sh:maxCount 1 ;
sh:order 0 ;
@@ -767,50 +777,35 @@ ttm:TestCaseResult a sh:NodeShape ;
sh:in ( "PASSED" "FAILED" "SKIPPED" ) ;
sh:maxCount 1 ;
sh:order 2 ;
- sh:path ttm:test_case_result ],
- [ sh:class ttm:TestCase ;
- sh:description "Slot referencing a single TestCase." ;
- sh:maxCount 1 ;
- 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 "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 7 ;
- sh:path ttm:test_runner_settings ] ;
+ sh:path ttm:test_case_result ] ;
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:description "A unique identifier for a Test Entity" ;
+ sh:property [ sh:datatype xsd:string ;
+ sh:description "A human-readable name for a Test Entity" ;
sh:maxCount 1 ;
- sh:order 0 ;
- sh:path schema1:identifier ],
+ 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:datatype xsd:string ;
- sh:description "A human-readable name for a Test Entity" ;
- sh:maxCount 1 ;
- sh:order 1 ;
- sh:path schema1:name ],
+ sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 4 ;
+ sh:path ttm:test_runner_settings ],
[ 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:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 4 ;
- sh:path ttm:test_runner_settings ] ;
+ [ sh:description "A unique identifier for a Test Entity" ;
+ sh:maxCount 1 ;
+ sh:order 0 ;
+ sh:path schema1:identifier ] ;
sh:targetClass ttm:TestEntity .
ttm:TestResultPKSet a sh:NodeShape ;
@@ -818,6 +813,10 @@ ttm:TestResultPKSet a sh:NodeShape ;
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:maxCount 1 ;
+ sh:order 4 ;
+ sh:path ttm:unsecret ],
+ [ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:order 1 ;
sh:path ttm:merged_pk ],
@@ -825,145 +824,140 @@ ttm:TestResultPKSet a sh:NodeShape ;
sh:maxCount 1 ;
sh:order 0 ;
sh:path ttm:parent_pk ],
- [ sh:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 11 ;
- sh:path ttm:test_runner_settings ],
- [ 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: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: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:description "A human-readable description for a Test Entity" ;
+ sh:maxCount 1 ;
+ 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: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 4 ;
- sh:path ttm:unsecret ],
+ sh:order 5 ;
+ sh:path ttm:bte ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:order 3 ;
sh:path ttm:arax ],
[ 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:order 2 ;
+ sh:path ttm:aragorn ],
[ sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:order 5 ;
- sh:path ttm:bte ] ;
+ 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 "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 11 ;
+ sh:path ttm:test_runner_settings ] ;
sh:targetClass ttm:TestResultPKSet .
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: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:BlankNodeOrIRI ;
- sh:order 9 ;
- sh:path ttm:qualifiers ],
+ sh:property [ sh:datatype xsd:boolean ;
+ sh:maxCount 1 ;
+ sh:order 14 ;
+ sh:path ttm:well_known ],
[ sh:datatype xsd:string ;
- sh:description "A human-readable description for a Test Entity" ;
+ sh:description "Scalar settings for the TestRunner, e.g. \"inferred\"" ;
+ sh:order 21 ;
+ sh:path ttm:test_runner_settings ],
+ [ sh:in ( "High" "Low" "NotApplicable" ) ;
sh:maxCount 1 ;
- sh:order 19 ;
- sh:path schema1:description ],
+ sh:order 12 ;
+ sh:path ttm:semantic_severity ],
[ sh:maxCount 1 ;
- sh:order 3 ;
- sh:path ttm:predicate_id ],
+ sh:order 0 ;
+ sh:path ttm:input_id ],
+ [ sh:datatype xsd:string ;
+ sh:maxCount 1 ;
+ sh:order 10 ;
+ sh:path ttm:expected_output ],
+ [ 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 20 ;
+ sh:path schema1:additionalType ],
+ [ sh:datatype xsd:string ;
+ sh:maxCount 1 ;
+ sh:order 6 ;
+ sh:path ttm:output_name ],
+ [ sh:maxCount 1 ;
+ sh:order 5 ;
+ sh:path ttm:output_id ],
[ sh:datatype xsd:string ;
sh:description "A human-readable name for a Test Entity" ;
sh:maxCount 1 ;
sh:order 18 ;
sh:path schema1:name ],
+ [ sh:maxCount 1 ;
+ sh:order 2 ;
+ sh:path ttm:input_category ],
[ 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: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 10 ;
- sh:path ttm:expected_output ],
- [ 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: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 16 ;
- sh:path ttm:test_metadata ],
- [ sh:maxCount 1 ;
- sh:order 0 ;
- sh:path ttm:input_id ],
- [ sh:datatype xsd:string ;
+ sh:order 19 ;
+ sh:path schema1:description ],
+ [ sh:datatype xsd:boolean ;
sh:maxCount 1 ;
- sh:order 4 ;
- sh:path ttm:predicate_name ],
- [ sh:maxCount 1 ;
- sh:order 7 ;
- sh:path ttm:output_category ],
+ sh:order 13 ;
+ sh:path ttm:in_v1 ],
[ sh:description "A unique identifier for a Test Entity" ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:order 17 ;
sh:path schema1:identifier ],
- [ sh:datatype xsd:string ;
- sh:description "Scalar settings for the TestRunner, e.g. \"inferred\"" ;
- sh:order 21 ;
- sh:path ttm:test_runner_settings ],
- [ 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 20 ;
- sh:path schema1:additionalType ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:order 1 ;
sh:path ttm:input_name ],
[ sh:maxCount 1 ;
- sh:order 2 ;
- sh:path ttm:input_category ],
- [ sh:datatype xsd:boolean ;
+ sh:order 3 ;
+ sh:path ttm:predicate_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:order 13 ;
- sh:path ttm:in_v1 ],
+ sh:nodeKind sh:IRI ;
+ sh:order 16 ;
+ sh:path ttm:test_metadata ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
- sh:order 6 ;
- sh:path ttm:output_name ],
+ sh:order 4 ;
+ sh:path ttm:predicate_name ],
+ [ 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: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:maxCount 1 ;
+ sh:order 7 ;
+ sh:path ttm:output_category ],
[ 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:in ( "High" "Low" "NotApplicable" ) ;
- sh:maxCount 1 ;
- sh:order 12 ;
- sh:path ttm:semantic_severity ],
- [ sh:datatype xsd:boolean ;
- sh:maxCount 1 ;
- sh:order 14 ;
- sh:path ttm:well_known ] ;
+ sh:path ttm:test_issue ] ;
sh:targetClass ttm:TestAsset .
ttm:TestEntityParameter a sh:NodeShape ;
@@ -971,72 +965,60 @@ 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:Precondition a sh:NodeShape ;
sh:closed true ;
sh:description "Represents a precondition for a TestCase" ;
sh:ignoredProperties ( rdf:type ) ;
- sh:property [ sh:datatype xsd:string ;
+ sh:property [ sh:description "A unique identifier for a Test Entity" ;
+ sh:maxCount 1 ;
+ sh:minCount 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 ;
+ sh:order 1 ;
+ 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 3 ;
sh:path schema1:additionalType ],
- [ sh:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 4 ;
- sh:path ttm:test_runner_settings ],
[ 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:datatype xsd:string ;
- sh:description "A human-readable name for a Test Entity" ;
- sh:maxCount 1 ;
- sh:order 1 ;
- sh:path schema1:name ] ;
+ sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 4 ;
+ sh:path ttm:test_runner_settings ] ;
sh:targetClass ttm:Precondition .
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 "A unique identifier for a Test Entity" ;
- sh:maxCount 1 ;
- sh:minCount 1 ;
- sh:order 2 ;
- sh:path schema1:identifier ],
- [ sh:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 6 ;
- sh:path ttm:test_runner_settings ],
- [ sh:description "File format of test entity data (e.g. TSV, YAML or JSON)" ;
+ sh:property [ sh:description "File format of test entity data (e.g. TSV, YAML or JSON)" ;
sh:in ( "TSV" "YAML" "JSON" ) ;
sh:maxCount 1 ;
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:description "A unique identifier for a Test Entity" ;
sh:maxCount 1 ;
- sh:order 0 ;
- sh:path ttm:test_data_file_locator ],
- [ 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: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 ;
@@ -1046,55 +1028,70 @@ ttm:TestSuiteSpecification a sh:NodeShape ;
sh:description "A human-readable name for a Test Entity" ;
sh:maxCount 1 ;
sh:order 3 ;
- sh:path schema1:name ] ;
+ 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 "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 6 ;
+ sh:path ttm:test_runner_settings ],
+ [ 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 0 ;
+ sh:path ttm:test_data_file_locator ] ;
sh:targetClass ttm:TestSuiteSpecification .
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: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 12 ;
- sh:path ttm:components ],
- [ sh:description "Type of TestCase query." ;
- sh:in ( "treats" ) ;
- sh:maxCount 1 ;
- sh:order 0 ;
- 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 3 ;
- sh:path ttm:trapi_template ],
- [ sh:maxCount 1 ;
- sh:order 10 ;
- sh:path ttm:input_category ],
- [ sh:datatype xsd:string ;
- sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
- sh:order 18 ;
- sh:path ttm:test_runner_settings ],
+ sh:property [ sh:maxCount 1 ;
+ sh:order 8 ;
+ sh:path ttm:test_case_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:datatype xsd:string ;
sh:maxCount 1 ;
- sh:order 7 ;
- sh:path ttm:test_case_predicate_id ],
+ sh:order 6 ;
+ sh:path ttm:test_case_predicate_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 5 ;
sh:path ttm:test_case_source ],
- [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative; standards compliance; graph navigation integrity)" ;
- sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" "StandardsValidationTest" "OneHopTest" ) ;
+ [ sh:description "Type of TestCase query." ;
+ sh:in ( "treats" ) ;
sh:maxCount 1 ;
- sh:order 4 ;
- sh:path ttm:test_case_objective ],
+ sh:order 0 ;
+ sh:path ttm:query_type ],
[ sh:class ttm:Precondition ;
sh:nodeKind sh:IRI ;
sh:order 2 ;
sh:path ttm:preconditions ],
- [ sh:maxCount 1 ;
- sh:order 8 ;
- 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 16 ;
+ sh:path schema1:description ],
+ [ sh:datatype xsd:string ;
+ sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ;
+ sh:order 18 ;
+ sh:path ttm:test_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 1 ;
+ sh:path ttm:test_assets ],
+ [ 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 "Deployment environment within which the associated TestSuite is run." ;
sh:in ( "dev" "ci" "test" "prod" ) ;
sh:maxCount 1 ;
@@ -1105,100 +1102,97 @@ ttm:TestCase a sh:NodeShape ;
sh:maxCount 1 ;
sh:order 15 ;
sh:path schema1:name ],
+ [ sh:description "Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative; standards compliance; graph navigation integrity)" ;
+ sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" "StandardsValidationTest" "OneHopTest" ) ;
+ sh:maxCount 1 ;
+ sh:order 4 ;
+ sh:path ttm:test_case_objective ],
+ [ sh:maxCount 1 ;
+ sh:order 10 ;
+ sh:path ttm:input_category ],
+ [ 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 3 ;
+ sh:path ttm:trapi_template ],
[ 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: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 1 ;
- sh:path ttm:test_assets ],
+ sh:maxCount 1 ;
+ sh:order 7 ;
+ sh:path ttm:test_case_predicate_id ],
[ sh:maxCount 1 ;
sh:order 11 ;
sh:path ttm:output_category ],
+ [ 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 ( infores:ncats-ars infores:arax infores:explanatory-agent infores:improving-agent infores:aragorn infores:biothings-explorer infores:unsecret-agent infores:rtx-kg2 infores:icees-kg infores:cam-kp infores:spoke infores:molepro infores:textmining-kp infores:cohd infores:openpredict infores:knowledge-collaboratory infores:connections-hypothesis ) ;
+ sh:order 12 ;
+ sh:path ttm:components ],
[ sh:description "A unique identifier for a Test Entity" ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:order 14 ;
- sh:path schema1:identifier ],
- [ 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:BlankNodeOrIRI ;
- sh:order 9 ;
- sh:path ttm:qualifiers ],
- [ sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:order 6 ;
- sh:path ttm:test_case_predicate_name ],
- [ sh:datatype xsd:string ;
- sh:description "A human-readable description for a Test Entity" ;
- sh:maxCount 1 ;
- sh:order 16 ;
- sh:path schema1:description ] ;
+ sh:path schema1:identifier ] ;
sh:targetClass ttm:TestCase .
ttm:Qualifier a sh:NodeShape ;
sh:closed true ;
sh:ignoredProperties ( rdf:type ) ;
sh:property [ sh:datatype xsd:string ;
- sh:description "The 'value' of should be a suitable value generally drawn from an applicable Biolink Model (\"Enum\") value set of the specified Qualifier." ;
- sh:maxCount 1 ;
- sh:order 1 ;
- sh:path ttm:value ],
- [ sh:datatype xsd:string ;
sh:description "The 'parameter' of a Qualifier should be a `qualifier` slot name from the Biolink Model ('biolink' namespace) 'biolink:qualifier' hierarchy." ;
sh:maxCount 1 ;
sh:order 0 ;
- sh:path ttm:parameter ] ;
+ sh:path ttm:parameter ],
+ [ sh:datatype xsd:string ;
+ sh:description "The 'value' of should be a suitable value generally drawn from an applicable Biolink Model (\"Enum\") value set of the specified Qualifier." ;
+ sh:maxCount 1 ;
+ sh:order 1 ;
+ sh:path ttm:value ] ;
sh:targetClass ttm:Qualifier .
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: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:property [ sh:class ttm:TestEntityParameter ;
+ sh:description "Metadata annotation." ;
+ sh:nodeKind sh:BlankNode ;
+ sh:order 3 ;
+ sh:path ttm:test_annotations ],
[ 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: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 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; standards compliance; graph navigation integrity)" ;
sh:in ( "AcceptanceTest" "BenchmarkTest" "QuantitativeTest" "StandardsValidationTest" "OneHopTest" ) ;
sh:maxCount 1 ;
sh:order 2 ;
sh:path ttm:test_objective ],
- [ sh:class ttm:TestEntityParameter ;
- sh:description "Metadata annotation." ;
- sh:nodeKind sh:BlankNodeOrIRI ;
- sh:order 3 ;
- sh:path ttm:test_annotations ],
- [ 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: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 "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 "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 "Scalar parameters for the TestRunner processing a given TestEntity." ;
sh:order 8 ;
- sh:path ttm:test_runner_settings ] ;
+ sh:path ttm:test_runner_settings ],
+ [ 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:TestMetadata .
diff --git a/project/shex/translator_testing_model.shex b/project/shex/translator_testing_model.shex
index 4c5ec7b..33ed2fe 100644
--- a/project/shex/translator_testing_model.shex
+++ b/project/shex/translator_testing_model.shex
@@ -55,20 +55,14 @@ linkml:Sparqlpath xsd:string
( $ ( & ;
rdf:type [ ] ? ;
@linkml:Date ? ;
- [
-
-
- ] ? ;
+ @ ? ;
@linkml:String ? ;
@linkml:String ? ;
- [
- ] ? ;
+ @ ? ;
@linkml:String ? ;
- [
- ] ? ;
+ @ ? ;
@linkml:Integer ? ;
- [
- ] ? ;
+ @ ? ;
@linkml:String ?
) ;
rdf:type [ ]
@@ -155,19 +149,12 @@ linkml:Sparqlpath xsd:string
@ ? ;
@ * ;
@linkml:String ? ;
- [
-
-
-
-
- ] ? ;
- [
-
- ] ? ;
+ @ ? ;
+ @ ? ;
@linkml:Boolean ? ;
@linkml:Boolean ? ;
@linkml:Uriorcurie ? ;
- @ ;
+ @ ? ;
schema1:additionalType @linkml:String * ;
@linkml:String *
) ;
@@ -180,37 +167,20 @@ linkml:Sparqlpath xsd:string
CLOSED {
( $ ( & ;
rdf:type [ ] ? ;
- [ ] ? ;
+ @ ? ;
@ + ;
@ * ;
- [
-
-
-
- ] ? ;
- [
-
-
-
- ] ? ;
- [
-
-
-
-
-
- ] ? ;
+ @ ? ;
+ @ ? ;
+ @ ? ;
@linkml:String ? ;
@linkml:String ? ;
@linkml:Uriorcurie ? ;
@ * ;
@ ? ;
@ ? ;
- . * ;
- [
-
-
- ] ? ;
+ @ * ;
+ @ ? ;
schema1:additionalType @linkml:String *
) ;
rdf:type [ ]
@@ -223,9 +193,7 @@ linkml:Sparqlpath xsd:string
rdf:type [ ] ? ;
@linkml:Uriorcurie ? ;
@ ? ;
- [
-
- ] ?
+ @ ?
) ;
rdf:type [ ]
)
@@ -267,19 +235,9 @@ linkml:Sparqlpath xsd:string
CLOSED {
( $ ( & ;
rdf:type [ ] ? ;
- [
-
-
-
-
-
- ] ? ;
+ @ ? ;
@linkml:Uriorcurie ? ;
- [
-
-
-
- ] ? ;
+ @ ? ;
@ *
) ;
rdf:type [ ]
@@ -314,11 +272,8 @@ linkml:Sparqlpath xsd:string
CLOSED {
( $ ( & ;
rdf:type [ ] ? ;
- . * ;
- [
-
-
- ] ? ;
+ @ * ;
+ @ ? ;
@linkml:String ? ;
@ * ;
@ * ;
@@ -333,11 +288,8 @@ linkml:Sparqlpath xsd:string
CLOSED {
( $ ( & ;
rdf:type [ ] ? ;
- @ ;
- [
-
-
- ] ? ;
+ @ ? ;
+ @ ? ;
@ * ;
@ ?
) ;
@@ -350,9 +302,7 @@ linkml:Sparqlpath xsd:string
( $ ( & ;
rdf:type [ ] ? ;
@linkml:Uriorcurie ? ;
- [
-
- ] ?
+ @ ?
) ;
rdf:type [ ]
)
diff --git a/project/sqlschema/translator_testing_model.sql b/project/sqlschema/translator_testing_model.sql
index 9344fdc..1dd1fbf 100644
--- a/project/sqlschema/translator_testing_model.sql
+++ b/project/sqlschema/translator_testing_model.sql
@@ -1,461 +1,143 @@
--- # Class: "TestEntityParameter" Description: "A single 'tag = value' pair (where 'value' is a simple string)."
--- * Slot: id Description:
--- * Slot: parameter Description: Name of a TestParameter.
--- * Slot: value Description: (String) value of a TestParameter.
--- * Slot: TestMetadata_id Description: Autocreated FK slot
--- * Slot: TestRunSession_id Description: Autocreated FK slot
--- # Class: "Qualifier" Description: ""
--- * Slot: id Description:
--- * Slot: parameter Description: The 'parameter' of a Qualifier should be a `qualifier` slot name from the Biolink Model ('biolink' namespace) 'biolink:qualifier' hierarchy.
--- * Slot: value Description: The 'value' of should be a suitable value generally drawn from an applicable Biolink Model ("Enum") value set of the specified Qualifier.
--- * Slot: TestAsset_id Description: Autocreated FK slot
--- * Slot: AcceptanceTestAsset_id Description: Autocreated FK slot
--- * Slot: TestEdgeData_id Description: Autocreated FK slot
--- * Slot: TestCase_id Description: Autocreated FK slot
--- * Slot: AcceptanceTestCase_id Description: Autocreated FK slot
--- * Slot: QuantitativeTestCase_id Description: Autocreated FK slot
--- # Class: "TestEntity" Description: "Abstract global 'identification' class shared as a parent with all major model classes within the data model for Translator testing."
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- * Slot: TestRunSession_id Description: Autocreated FK slot
--- # Class: "TestMetadata" Description: "Represents metadata related to (external SME, SMURF, Translator feedback, large scale batch, etc.) like the provenance of test assets, cases and/or suites."
--- * Slot: test_source 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.
--- * Slot: test_reference Description: Document URL where original test source particulars are registered (e.g. Github repo)
--- * Slot: test_objective Description: Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative; standards compliance; graph navigation integrity)
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- # Class: "TestAsset" 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."
--- * Slot: input_id Description:
--- * Slot: input_name Description:
--- * Slot: input_category Description:
--- * Slot: predicate_id Description:
--- * Slot: predicate_name Description:
--- * Slot: output_id Description:
--- * Slot: output_name Description:
--- * Slot: output_category Description:
--- * Slot: association Description: Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement
--- * Slot: expected_output Description:
--- * Slot: test_issue Description:
--- * Slot: semantic_severity Description:
--- * Slot: in_v1 Description:
--- * Slot: well_known Description:
--- * Slot: test_reference Description: Document URL where original test source particulars are registered (e.g. Github repo)
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- * Slot: TestCase_id Description: Autocreated FK slot
--- * Slot: QuantitativeTestCase_id Description: Autocreated FK slot
--- * Slot: test_metadata_id Description: Test metadata describes the external provenance, cross-references and objectives for a given test.
--- # Class: "AcceptanceTestAsset" Description: "Model derived from Jenn's test asset design and Shervin's runner JSON here as an example."
--- * Slot: must_pass_date Description: The date by which this test must pass
--- * Slot: must_pass_environment Description: The deployment environment within which this test must pass.
--- * Slot: scientific_question Description: The full human-readable scientific question a SME would ask, which is encoded into the test asset.
--- * Slot: string_entry Description: The object of the core triple to be tested
--- * Slot: direction Description: The direction of the expected query result triple
--- * Slot: answer_informal_concept 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
--- * Slot: expected_result Description: The expected result of the query
--- * Slot: top_level Description: The answer must return in these many results
--- * Slot: query_node Description: The node of the (templated) TRAPI query to replace
--- * Slot: notes Description: The notes of the query
--- * Slot: input_id Description:
--- * Slot: input_name Description:
--- * Slot: input_category Description:
--- * Slot: predicate_id Description:
--- * Slot: predicate_name Description:
--- * Slot: output_id Description:
--- * Slot: output_name Description:
--- * Slot: output_category Description:
--- * Slot: association Description: Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement
--- * Slot: expected_output Description:
--- * Slot: test_issue Description:
--- * Slot: semantic_severity Description:
--- * Slot: in_v1 Description:
--- * Slot: well_known Description:
--- * Slot: test_reference Description: Document URL where original test source particulars are registered (e.g. Github repo)
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- * Slot: AcceptanceTestCase_id Description: Autocreated FK slot
--- * Slot: test_metadata_id Description: Test metadata describes the external provenance, cross-references and objectives for a given test.
--- # Class: "TestEdgeData" Description: "Represents a single Biolink Model compliant instance of a subject-predicate-object edge that can be used for testing."
--- * Slot: input_id Description:
--- * Slot: input_name Description:
--- * Slot: input_category Description:
--- * Slot: predicate_id Description:
--- * Slot: predicate_name Description:
--- * Slot: output_id Description:
--- * Slot: output_name Description:
--- * Slot: output_category Description:
--- * Slot: association Description: Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement
--- * Slot: expected_output Description:
--- * Slot: test_issue Description:
--- * Slot: semantic_severity Description:
--- * Slot: in_v1 Description:
--- * Slot: well_known Description:
--- * Slot: test_reference Description: Document URL where original test source particulars are registered (e.g. Github repo)
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- * Slot: test_metadata_id Description: Test metadata describes the external provenance, cross-references and objectives for a given test.
--- # Class: "Precondition" Description: "Represents a precondition for a TestCase"
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- # Class: "TestCase" 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."
--- * Slot: query_type Description: Type of TestCase query.
--- * Slot: trapi_template 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.
--- * Slot: test_case_objective Description: Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative; standards compliance; graph navigation integrity)
--- * Slot: test_case_source 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.
--- * Slot: test_case_predicate_name Description:
--- * Slot: test_case_predicate_id Description:
--- * Slot: test_case_input_id Description:
--- * Slot: input_category Description:
--- * Slot: output_category Description:
--- * Slot: test_env Description: Deployment environment within which the associated TestSuite is run.
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- * Slot: TestSuite_id Description: Autocreated FK slot
--- * Slot: AcceptanceTestSuite_id Description: Autocreated FK slot
--- * Slot: StandardsComplianceTestSuite_id Description: Autocreated FK slot
--- * Slot: OneHopTestSuite_id Description: Autocreated FK slot
--- # Class: "AcceptanceTestCase" Description: "See AcceptanceTestAsset above for more details."
--- * Slot: query_type Description: Type of TestCase query.
--- * Slot: trapi_template 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.
--- * Slot: test_case_objective Description: Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative; standards compliance; graph navigation integrity)
--- * Slot: test_case_source 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.
--- * Slot: test_case_predicate_name Description:
--- * Slot: test_case_predicate_id Description:
--- * Slot: test_case_input_id Description:
--- * Slot: input_category Description:
--- * Slot: output_category Description:
--- * Slot: test_env Description: Deployment environment within which the associated TestSuite is run.
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- # Class: "QuantitativeTestCase" Description: "Assumed additional model from Shervin's runner JSON here as an example. This schema is not yet complete."
--- * Slot: query_type Description: Type of TestCase query.
--- * Slot: trapi_template 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.
--- * Slot: test_case_objective Description: Testing objective behind specified set of test particulars (e.g. acceptance pass/fail; benchmark; quantitative; standards compliance; graph navigation integrity)
--- * Slot: test_case_source 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.
--- * Slot: test_case_predicate_name Description:
--- * Slot: test_case_predicate_id Description:
--- * Slot: test_case_input_id Description:
--- * Slot: input_category Description:
--- * Slot: output_category Description:
--- * Slot: test_env Description: Deployment environment within which the associated TestSuite is run.
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- # Class: "TestSuiteSpecification" Description: "Parameters for a Test Case instances either dynamically generated from some external source of Test Assets."
--- * Slot: test_data_file_locator Description: An web accessible file resource link to test entity data (e.g. a web accessible text file of Test Asset entries)
--- * Slot: test_data_file_format Description: File format of test entity data (e.g. TSV, YAML or JSON)
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- # Class: "TestSuite" 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."
--- * Slot: test_persona Description: A Test persona describes the user or operational context of a given test.
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- * Slot: test_metadata_id Description: Test metadata describes the external provenance, cross-references and objectives for a given test.
--- * Slot: test_suite_specification_id 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.
--- # Class: "AcceptanceTestSuite" Description: ""
--- * Slot: test_persona Description: A Test persona describes the user or operational context of a given test.
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- * Slot: test_metadata_id Description: Test metadata describes the external provenance, cross-references and objectives for a given test.
--- * Slot: test_suite_specification_id 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.
--- # Class: "BenchmarkTestSuite" Description: "JsonObj(is_a='TestSuite')"
--- * Slot: id Description:
--- # Class: "StandardsComplianceTestSuite" Description: "Test suite for testing Translator components against releases of standards like TRAPI and the Biolink Model."
--- * Slot: test_persona Description: A Test persona describes the user or operational context of a given test.
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- * Slot: test_metadata_id Description: Test metadata describes the external provenance, cross-references and objectives for a given test.
--- * Slot: test_suite_specification_id 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.
--- # Class: "OneHopTestSuite" Description: "Test case for testing the integrity of "One Hop" knowledge graph retrievals sensa legacy SRI_Testing harness."
--- * Slot: test_persona Description: A Test persona describes the user or operational context of a given test.
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- * Slot: test_metadata_id Description: Test metadata describes the external provenance, cross-references and objectives for a given test.
--- * Slot: test_suite_specification_id 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.
--- # Class: "TestCaseResult" Description: "The outcome of a TestRunner run of one specific TestCase."
--- * Slot: test_suite_id Description: CURIE id of a TestSuite registered in the system.
--- * Slot: test_case_result Description: Encoded result of a single test run of a given test case
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- * Slot: TestRunSession_id Description: Autocreated FK slot
--- * Slot: test_case_id Description: Slot referencing a single TestCase.
--- # Class: "TestRunSession" Description: "Single run of a TestRunner in a given environment, with a specified set of test_entities (generally, one or more instances of TestSuite)."
--- * Slot: test_env Description: Deployment environment within which the associated TestSuite is run.
--- * Slot: test_runner_name Description: Global system name of a TestRunner.
--- * Slot: timestamp Description: Date time when a given entity was created.
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- # Class: "TestOutput" Description: "The output of a TestRunner run of one specific TestCase."
--- * Slot: test_case_id Description: CURIE id of a TestCase registered in the system.
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- # Class: "TestResultPKSet" Description: "Primary keys for a given ARA result set from a SmokeTest result for a given TestCase."
--- * Slot: parent_pk Description:
--- * Slot: merged_pk Description:
--- * Slot: aragorn Description:
--- * Slot: arax Description:
--- * Slot: unsecret Description:
--- * Slot: bte Description:
--- * Slot: improving Description:
--- * Slot: id Description: A unique identifier for a Test Entity
--- * Slot: name Description: A human-readable name for a Test Entity
--- * Slot: description Description: A human-readable description for a Test Entity
--- # Class: "TestEntity_tags" Description: ""
--- * Slot: TestEntity_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "TestEntity_test_runner_settings" Description: ""
--- * Slot: TestEntity_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "TestMetadata_tags" Description: ""
--- * Slot: TestMetadata_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "TestMetadata_test_runner_settings" Description: ""
--- * Slot: TestMetadata_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "TestAsset_tags" Description: ""
--- * Slot: TestAsset_id Description: Autocreated FK slot
--- * Slot: tags Description: One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a "Block List" collection
--- # Class: "TestAsset_test_runner_settings" Description: ""
--- * Slot: TestAsset_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar settings for the TestRunner, e.g. "inferred"
--- # Class: "AcceptanceTestAsset_tags" Description: ""
--- * Slot: AcceptanceTestAsset_id Description: Autocreated FK slot
--- * Slot: tags Description: One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a "Block List" collection
--- # Class: "AcceptanceTestAsset_test_runner_settings" Description: ""
--- * Slot: AcceptanceTestAsset_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar settings for the TestRunner, e.g. "inferred"
--- # Class: "TestEdgeData_tags" Description: ""
--- * Slot: TestEdgeData_id Description: Autocreated FK slot
--- * Slot: tags Description: One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a "Block List" collection
--- # Class: "TestEdgeData_test_runner_settings" Description: ""
--- * Slot: TestEdgeData_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar settings for the TestRunner, e.g. "inferred"
--- # Class: "Precondition_tags" Description: ""
--- * Slot: Precondition_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "Precondition_test_runner_settings" Description: ""
--- * Slot: Precondition_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "TestCase_preconditions" Description: ""
--- * Slot: TestCase_id Description: Autocreated FK slot
--- * Slot: preconditions_id Description:
--- # Class: "TestCase_components" Description: ""
--- * Slot: TestCase_id Description: Autocreated FK slot
--- * Slot: components 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.
--- # Class: "TestCase_tags" Description: ""
--- * Slot: TestCase_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "TestCase_test_runner_settings" Description: ""
--- * Slot: TestCase_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "AcceptanceTestCase_preconditions" Description: ""
--- * Slot: AcceptanceTestCase_id Description: Autocreated FK slot
--- * Slot: preconditions_id Description:
--- # Class: "AcceptanceTestCase_components" Description: ""
--- * Slot: AcceptanceTestCase_id Description: Autocreated FK slot
--- * Slot: components 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.
--- # Class: "AcceptanceTestCase_tags" Description: ""
--- * Slot: AcceptanceTestCase_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "AcceptanceTestCase_test_runner_settings" Description: ""
--- * Slot: AcceptanceTestCase_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "QuantitativeTestCase_preconditions" Description: ""
--- * Slot: QuantitativeTestCase_id Description: Autocreated FK slot
--- * Slot: preconditions_id Description:
--- # Class: "QuantitativeTestCase_components" Description: ""
--- * Slot: QuantitativeTestCase_id Description: Autocreated FK slot
--- * Slot: components 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.
--- # Class: "QuantitativeTestCase_tags" Description: ""
--- * Slot: QuantitativeTestCase_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "QuantitativeTestCase_test_runner_settings" Description: ""
--- * Slot: QuantitativeTestCase_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "TestSuiteSpecification_tags" Description: ""
--- * Slot: TestSuiteSpecification_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "TestSuiteSpecification_test_runner_settings" Description: ""
--- * Slot: TestSuiteSpecification_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "TestSuite_tags" Description: ""
--- * Slot: TestSuite_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "TestSuite_test_runner_settings" Description: ""
--- * Slot: TestSuite_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "AcceptanceTestSuite_tags" Description: ""
--- * Slot: AcceptanceTestSuite_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "AcceptanceTestSuite_test_runner_settings" Description: ""
--- * Slot: AcceptanceTestSuite_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "StandardsComplianceTestSuite_tags" Description: ""
--- * Slot: StandardsComplianceTestSuite_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "StandardsComplianceTestSuite_test_runner_settings" Description: ""
--- * Slot: StandardsComplianceTestSuite_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "OneHopTestSuite_tags" Description: ""
--- * Slot: OneHopTestSuite_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "OneHopTestSuite_test_runner_settings" Description: ""
--- * Slot: OneHopTestSuite_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "TestCaseResult_tags" Description: ""
--- * Slot: TestCaseResult_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "TestCaseResult_test_runner_settings" Description: ""
--- * Slot: TestCaseResult_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "TestRunSession_components" Description: ""
--- * Slot: TestRunSession_id Description: Autocreated FK slot
--- * Slot: components 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.
--- # Class: "TestRunSession_tags" Description: ""
--- * Slot: TestRunSession_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "TestRunSession_test_runner_settings" Description: ""
--- * Slot: TestRunSession_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "TestOutput_pks" Description: ""
--- * Slot: TestOutput_id Description: Autocreated FK slot
--- * Slot: pks_id Description: Primary keys for a given ARA result set from a SmokeTest result for a given TestCase.
--- # Class: "TestOutput_tags" Description: ""
--- * Slot: TestOutput_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "TestOutput_test_runner_settings" Description: ""
--- * Slot: TestOutput_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
--- # Class: "TestResultPKSet_tags" Description: ""
--- * Slot: TestResultPKSet_id Description: Autocreated FK slot
--- * Slot: tags 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.
--- # Class: "TestResultPKSet_test_runner_settings" Description: ""
--- * Slot: TestResultPKSet_id Description: Autocreated FK slot
--- * Slot: test_runner_settings Description: Scalar parameters for the TestRunner processing a given TestEntity.
-CREATE TABLE "TestMetadata" (
- test_source VARCHAR(18),
- test_reference TEXT,
- test_objective VARCHAR(23),
- id TEXT NOT NULL,
- name TEXT,
- description TEXT,
- PRIMARY KEY (id)
-);
-CREATE TABLE "Precondition" (
+
+CREATE TABLE "AcceptanceTestCase" (
id TEXT NOT NULL,
name TEXT,
description TEXT,
- PRIMARY KEY (id)
-);
-CREATE TABLE "AcceptanceTestCase" (
query_type VARCHAR(6),
+ preconditions TEXT,
trapi_template VARCHAR(24),
test_case_objective VARCHAR(23),
test_case_source VARCHAR(18),
test_case_predicate_name TEXT,
test_case_predicate_id TEXT,
test_case_input_id TEXT,
+ qualifiers TEXT,
input_category TEXT,
output_category TEXT,
test_env VARCHAR(4),
+ PRIMARY KEY (id)
+);
+
+CREATE TABLE "Precondition" (
id TEXT NOT NULL,
name TEXT,
description TEXT,
PRIMARY KEY (id)
);
+
+CREATE TABLE "Qualifier" (
+ parameter TEXT,
+ value TEXT,
+ PRIMARY KEY (parameter, value)
+);
+
CREATE TABLE "QuantitativeTestCase" (
+ id TEXT NOT NULL,
+ name TEXT,
+ description TEXT,
query_type VARCHAR(6),
+ test_assets TEXT NOT NULL,
+ preconditions TEXT,
trapi_template VARCHAR(24),
test_case_objective VARCHAR(23),
test_case_source VARCHAR(18),
test_case_predicate_name TEXT,
test_case_predicate_id TEXT,
test_case_input_id TEXT,
+ qualifiers TEXT,
input_category TEXT,
output_category TEXT,
test_env VARCHAR(4),
- id TEXT NOT NULL,
- name TEXT,
- description TEXT,
PRIMARY KEY (id)
);
-CREATE TABLE "TestSuiteSpecification" (
- test_data_file_locator TEXT,
- test_data_file_format VARCHAR(4),
+
+CREATE TABLE "TestCase" (
id TEXT NOT NULL,
name TEXT,
description TEXT,
+ query_type VARCHAR(6),
+ test_assets TEXT NOT NULL,
+ preconditions TEXT,
+ trapi_template VARCHAR(24),
+ test_case_objective VARCHAR(23),
+ test_case_source VARCHAR(18),
+ test_case_predicate_name TEXT,
+ test_case_predicate_id TEXT,
+ test_case_input_id TEXT,
+ qualifiers TEXT,
+ input_category TEXT,
+ output_category TEXT,
+ test_env VARCHAR(4),
PRIMARY KEY (id)
);
-CREATE TABLE "BenchmarkTestSuite" (
- id INTEGER NOT NULL,
- PRIMARY KEY (id)
+
+CREATE TABLE "TestEntityParameter" (
+ parameter TEXT,
+ value TEXT,
+ PRIMARY KEY (parameter, value)
);
-CREATE TABLE "TestRunSession" (
- test_env VARCHAR(4),
- test_runner_name TEXT,
- timestamp DATETIME,
+
+CREATE TABLE "TestMetadata" (
id TEXT NOT NULL,
name TEXT,
description TEXT,
+ test_source VARCHAR(18),
+ test_reference TEXT,
+ test_objective VARCHAR(23),
+ test_annotations TEXT,
PRIMARY KEY (id)
);
+
CREATE TABLE "TestOutput" (
- test_case_id TEXT,
id TEXT NOT NULL,
name TEXT,
description TEXT,
+ test_case_id TEXT,
PRIMARY KEY (id)
);
-CREATE TABLE "TestResultPKSet" (
- parent_pk TEXT,
- merged_pk TEXT,
- aragorn TEXT,
- arax TEXT,
- unsecret TEXT,
- bte TEXT,
- improving TEXT,
+
+CREATE TABLE "TestRunSession" (
id TEXT NOT NULL,
name TEXT,
description TEXT,
+ test_env VARCHAR(4),
+ test_runner_name TEXT,
+ test_run_parameters TEXT,
+ timestamp DATETIME,
PRIMARY KEY (id)
);
-CREATE TABLE "TestEntityParameter" (
- id INTEGER NOT NULL,
- parameter TEXT,
- value TEXT,
- "TestMetadata_id" TEXT,
- "TestRunSession_id" TEXT,
- PRIMARY KEY (id),
- FOREIGN KEY("TestMetadata_id") REFERENCES "TestMetadata" (id),
- FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id)
-);
-CREATE TABLE "TestEntity" (
+
+CREATE TABLE "TestSuiteSpecification" (
id TEXT NOT NULL,
name TEXT,
description TEXT,
- "TestRunSession_id" TEXT,
- PRIMARY KEY (id),
- FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id)
+ test_data_file_locator TEXT,
+ test_data_file_format VARCHAR(4),
+ PRIMARY KEY (id)
);
+
CREATE TABLE "AcceptanceTestAsset" (
+ name TEXT,
+ description TEXT,
+ input_id TEXT,
+ input_name TEXT,
+ input_category TEXT,
+ predicate_id TEXT,
+ predicate_name TEXT,
+ output_id TEXT,
+ output_name TEXT,
+ output_category TEXT,
+ association TEXT,
+ qualifiers TEXT,
+ expected_output TEXT,
+ test_issue VARCHAR(20),
+ semantic_severity VARCHAR(13),
+ in_v1 BOOLEAN,
+ well_known BOOLEAN,
+ test_reference TEXT,
+ test_metadata TEXT,
+ id TEXT NOT NULL,
must_pass_date DATE,
must_pass_environment VARCHAR(4),
scientific_question TEXT,
@@ -466,6 +148,54 @@ CREATE TABLE "AcceptanceTestAsset" (
top_level INTEGER,
query_node VARCHAR(7),
notes TEXT,
+ "AcceptanceTestCase_id" TEXT,
+ PRIMARY KEY (id),
+ FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id),
+ FOREIGN KEY("AcceptanceTestCase_id") REFERENCES "AcceptanceTestCase" (id)
+);
+
+CREATE TABLE "AcceptanceTestSuite" (
+ id TEXT NOT NULL,
+ name TEXT,
+ description TEXT,
+ test_metadata TEXT,
+ test_persona VARCHAR(11),
+ test_cases TEXT,
+ test_suite_specification TEXT,
+ PRIMARY KEY (id),
+ FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id),
+ FOREIGN KEY(test_suite_specification) REFERENCES "TestSuiteSpecification" (id)
+);
+
+CREATE TABLE "OneHopTestSuite" (
+ id TEXT NOT NULL,
+ name TEXT,
+ description TEXT,
+ test_metadata TEXT,
+ test_persona VARCHAR(11),
+ test_cases TEXT,
+ test_suite_specification TEXT,
+ PRIMARY KEY (id),
+ FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id),
+ FOREIGN KEY(test_suite_specification) REFERENCES "TestSuiteSpecification" (id)
+);
+
+CREATE TABLE "StandardsComplianceTestSuite" (
+ id TEXT NOT NULL,
+ name TEXT,
+ description TEXT,
+ test_metadata TEXT,
+ test_persona VARCHAR(11),
+ test_cases TEXT,
+ test_suite_specification TEXT,
+ PRIMARY KEY (id),
+ FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id),
+ FOREIGN KEY(test_suite_specification) REFERENCES "TestSuiteSpecification" (id)
+);
+
+CREATE TABLE "TestAsset" (
+ name TEXT,
+ description TEXT,
input_id TEXT,
input_name TEXT,
input_category TEXT,
@@ -475,22 +205,35 @@ CREATE TABLE "AcceptanceTestAsset" (
output_name TEXT,
output_category TEXT,
association TEXT,
+ qualifiers TEXT,
expected_output TEXT,
test_issue VARCHAR(20),
semantic_severity VARCHAR(13),
in_v1 BOOLEAN,
well_known BOOLEAN,
test_reference TEXT,
+ test_metadata TEXT,
+ id TEXT NOT NULL,
+ PRIMARY KEY (id),
+ FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id)
+);
+
+CREATE TABLE "TestCaseResult" (
id TEXT NOT NULL,
name TEXT,
description TEXT,
- "AcceptanceTestCase_id" TEXT,
- test_metadata_id TEXT NOT NULL,
+ test_suite_id TEXT,
+ test_case TEXT,
+ test_case_result VARCHAR(7),
+ "TestRunSession_id" TEXT,
PRIMARY KEY (id),
- FOREIGN KEY("AcceptanceTestCase_id") REFERENCES "AcceptanceTestCase" (id),
- FOREIGN KEY(test_metadata_id) REFERENCES "TestMetadata" (id)
+ FOREIGN KEY(test_case) REFERENCES "TestCase" (id),
+ FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id)
);
+
CREATE TABLE "TestEdgeData" (
+ name TEXT,
+ description TEXT,
input_id TEXT,
input_name TEXT,
input_category TEXT,
@@ -500,409 +243,317 @@ CREATE TABLE "TestEdgeData" (
output_name TEXT,
output_category TEXT,
association TEXT,
+ qualifiers TEXT,
expected_output TEXT,
test_issue VARCHAR(20),
semantic_severity VARCHAR(13),
in_v1 BOOLEAN,
well_known BOOLEAN,
test_reference TEXT,
+ test_metadata TEXT,
id TEXT NOT NULL,
- name TEXT,
- description TEXT,
- test_metadata_id TEXT NOT NULL,
PRIMARY KEY (id),
- FOREIGN KEY(test_metadata_id) REFERENCES "TestMetadata" (id)
+ FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id)
);
-CREATE TABLE "TestSuite" (
- test_persona VARCHAR(11),
+
+CREATE TABLE "TestResultPKSet" (
id TEXT NOT NULL,
name TEXT,
description TEXT,
- test_metadata_id TEXT NOT NULL,
- test_suite_specification_id TEXT,
+ parent_pk TEXT,
+ merged_pk TEXT,
+ aragorn TEXT,
+ arax TEXT,
+ unsecret TEXT,
+ bte TEXT,
+ improving TEXT,
+ "TestOutput_id" TEXT,
PRIMARY KEY (id),
- FOREIGN KEY(test_metadata_id) REFERENCES "TestMetadata" (id),
- FOREIGN KEY(test_suite_specification_id) REFERENCES "TestSuiteSpecification" (id)
+ FOREIGN KEY("TestOutput_id") REFERENCES "TestOutput" (id)
);
-CREATE TABLE "AcceptanceTestSuite" (
- test_persona VARCHAR(11),
+
+CREATE TABLE "TestSuite" (
id TEXT NOT NULL,
name TEXT,
description TEXT,
- test_metadata_id TEXT NOT NULL,
- test_suite_specification_id TEXT,
- PRIMARY KEY (id),
- FOREIGN KEY(test_metadata_id) REFERENCES "TestMetadata" (id),
- FOREIGN KEY(test_suite_specification_id) REFERENCES "TestSuiteSpecification" (id)
-);
-CREATE TABLE "StandardsComplianceTestSuite" (
+ test_metadata TEXT,
test_persona VARCHAR(11),
- id TEXT NOT NULL,
- name TEXT,
- description TEXT,
- test_metadata_id TEXT NOT NULL,
- test_suite_specification_id TEXT,
+ test_cases TEXT,
+ test_suite_specification TEXT,
PRIMARY KEY (id),
- FOREIGN KEY(test_metadata_id) REFERENCES "TestMetadata" (id),
- FOREIGN KEY(test_suite_specification_id) REFERENCES "TestSuiteSpecification" (id)
+ FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id),
+ FOREIGN KEY(test_suite_specification) REFERENCES "TestSuiteSpecification" (id)
);
-CREATE TABLE "OneHopTestSuite" (
- test_persona VARCHAR(11),
- id TEXT NOT NULL,
- name TEXT,
- description TEXT,
- test_metadata_id TEXT NOT NULL,
- test_suite_specification_id TEXT,
- PRIMARY KEY (id),
- FOREIGN KEY(test_metadata_id) REFERENCES "TestMetadata" (id),
- FOREIGN KEY(test_suite_specification_id) REFERENCES "TestSuiteSpecification" (id)
+
+CREATE TABLE "AcceptanceTestCase_test_runner_settings" (
+ backref_id TEXT,
+ test_runner_settings TEXT,
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestCase" (id)
);
-CREATE TABLE "TestMetadata_tags" (
- "TestMetadata_id" TEXT,
- tags TEXT,
- PRIMARY KEY ("TestMetadata_id", tags),
- FOREIGN KEY("TestMetadata_id") REFERENCES "TestMetadata" (id)
+
+CREATE TABLE "AcceptanceTestCase_components" (
+ backref_id TEXT,
+ components VARCHAR(13),
+ PRIMARY KEY (backref_id, components),
+ FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestCase" (id)
);
-CREATE TABLE "TestMetadata_test_runner_settings" (
- "TestMetadata_id" TEXT,
- test_runner_settings TEXT,
- PRIMARY KEY ("TestMetadata_id", test_runner_settings),
- FOREIGN KEY("TestMetadata_id") REFERENCES "TestMetadata" (id)
+
+CREATE TABLE "AcceptanceTestCase_tags" (
+ backref_id TEXT,
+ tags TEXT,
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestCase" (id)
);
+
CREATE TABLE "Precondition_tags" (
- "Precondition_id" TEXT,
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("Precondition_id", tags),
- FOREIGN KEY("Precondition_id") REFERENCES "Precondition" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "Precondition" (id)
);
+
CREATE TABLE "Precondition_test_runner_settings" (
- "Precondition_id" TEXT,
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("Precondition_id", test_runner_settings),
- FOREIGN KEY("Precondition_id") REFERENCES "Precondition" (id)
-);
-CREATE TABLE "AcceptanceTestCase_preconditions" (
- "AcceptanceTestCase_id" TEXT,
- preconditions_id TEXT,
- PRIMARY KEY ("AcceptanceTestCase_id", preconditions_id),
- FOREIGN KEY("AcceptanceTestCase_id") REFERENCES "AcceptanceTestCase" (id),
- FOREIGN KEY(preconditions_id) REFERENCES "Precondition" (id)
-);
-CREATE TABLE "AcceptanceTestCase_components" (
- "AcceptanceTestCase_id" TEXT,
- components VARCHAR,
- PRIMARY KEY ("AcceptanceTestCase_id", components),
- FOREIGN KEY("AcceptanceTestCase_id") REFERENCES "AcceptanceTestCase" (id)
-);
-CREATE TABLE "AcceptanceTestCase_tags" (
- "AcceptanceTestCase_id" TEXT,
- tags TEXT,
- PRIMARY KEY ("AcceptanceTestCase_id", tags),
- FOREIGN KEY("AcceptanceTestCase_id") REFERENCES "AcceptanceTestCase" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "Precondition" (id)
);
-CREATE TABLE "AcceptanceTestCase_test_runner_settings" (
- "AcceptanceTestCase_id" TEXT,
+
+CREATE TABLE "QuantitativeTestCase_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("AcceptanceTestCase_id", test_runner_settings),
- FOREIGN KEY("AcceptanceTestCase_id") REFERENCES "AcceptanceTestCase" (id)
-);
-CREATE TABLE "QuantitativeTestCase_preconditions" (
- "QuantitativeTestCase_id" TEXT,
- preconditions_id TEXT,
- PRIMARY KEY ("QuantitativeTestCase_id", preconditions_id),
- FOREIGN KEY("QuantitativeTestCase_id") REFERENCES "QuantitativeTestCase" (id),
- FOREIGN KEY(preconditions_id) REFERENCES "Precondition" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "QuantitativeTestCase" (id)
);
+
CREATE TABLE "QuantitativeTestCase_components" (
- "QuantitativeTestCase_id" TEXT,
- components VARCHAR,
- PRIMARY KEY ("QuantitativeTestCase_id", components),
- FOREIGN KEY("QuantitativeTestCase_id") REFERENCES "QuantitativeTestCase" (id)
+ backref_id TEXT,
+ components VARCHAR(13),
+ PRIMARY KEY (backref_id, components),
+ FOREIGN KEY(backref_id) REFERENCES "QuantitativeTestCase" (id)
);
+
CREATE TABLE "QuantitativeTestCase_tags" (
- "QuantitativeTestCase_id" TEXT,
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("QuantitativeTestCase_id", tags),
- FOREIGN KEY("QuantitativeTestCase_id") REFERENCES "QuantitativeTestCase" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "QuantitativeTestCase" (id)
);
-CREATE TABLE "QuantitativeTestCase_test_runner_settings" (
- "QuantitativeTestCase_id" TEXT,
+
+CREATE TABLE "TestCase_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("QuantitativeTestCase_id", test_runner_settings),
- FOREIGN KEY("QuantitativeTestCase_id") REFERENCES "QuantitativeTestCase" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "TestCase" (id)
);
-CREATE TABLE "TestSuiteSpecification_tags" (
- "TestSuiteSpecification_id" TEXT,
- tags TEXT,
- PRIMARY KEY ("TestSuiteSpecification_id", tags),
- FOREIGN KEY("TestSuiteSpecification_id") REFERENCES "TestSuiteSpecification" (id)
-);
-CREATE TABLE "TestSuiteSpecification_test_runner_settings" (
- "TestSuiteSpecification_id" TEXT,
- test_runner_settings TEXT,
- PRIMARY KEY ("TestSuiteSpecification_id", test_runner_settings),
- FOREIGN KEY("TestSuiteSpecification_id") REFERENCES "TestSuiteSpecification" (id)
+
+CREATE TABLE "TestCase_components" (
+ backref_id TEXT,
+ components VARCHAR(13),
+ PRIMARY KEY (backref_id, components),
+ FOREIGN KEY(backref_id) REFERENCES "TestCase" (id)
);
-CREATE TABLE "TestRunSession_components" (
- "TestRunSession_id" TEXT,
- components VARCHAR,
- PRIMARY KEY ("TestRunSession_id", components),
- FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id)
+
+CREATE TABLE "TestCase_tags" (
+ backref_id TEXT,
+ tags TEXT,
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "TestCase" (id)
);
-CREATE TABLE "TestRunSession_tags" (
- "TestRunSession_id" TEXT,
+
+CREATE TABLE "TestMetadata_tags" (
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("TestRunSession_id", tags),
- FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "TestMetadata" (id)
);
-CREATE TABLE "TestRunSession_test_runner_settings" (
- "TestRunSession_id" TEXT,
+
+CREATE TABLE "TestMetadata_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("TestRunSession_id", test_runner_settings),
- FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id)
-);
-CREATE TABLE "TestOutput_pks" (
- "TestOutput_id" TEXT,
- pks_id TEXT,
- PRIMARY KEY ("TestOutput_id", pks_id),
- FOREIGN KEY("TestOutput_id") REFERENCES "TestOutput" (id),
- FOREIGN KEY(pks_id) REFERENCES "TestResultPKSet" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "TestMetadata" (id)
);
+
CREATE TABLE "TestOutput_tags" (
- "TestOutput_id" TEXT,
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("TestOutput_id", tags),
- FOREIGN KEY("TestOutput_id") REFERENCES "TestOutput" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "TestOutput" (id)
);
+
CREATE TABLE "TestOutput_test_runner_settings" (
- "TestOutput_id" TEXT,
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("TestOutput_id", test_runner_settings),
- FOREIGN KEY("TestOutput_id") REFERENCES "TestOutput" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "TestOutput" (id)
);
-CREATE TABLE "TestResultPKSet_tags" (
- "TestResultPKSet_id" TEXT,
+
+CREATE TABLE "TestRunSession_tags" (
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("TestResultPKSet_id", tags),
- FOREIGN KEY("TestResultPKSet_id") REFERENCES "TestResultPKSet" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "TestRunSession" (id)
);
-CREATE TABLE "TestResultPKSet_test_runner_settings" (
- "TestResultPKSet_id" TEXT,
+
+CREATE TABLE "TestRunSession_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("TestResultPKSet_id", test_runner_settings),
- FOREIGN KEY("TestResultPKSet_id") REFERENCES "TestResultPKSet" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "TestRunSession" (id)
);
-CREATE TABLE "TestCase" (
- query_type VARCHAR(6),
- trapi_template VARCHAR(24),
- test_case_objective VARCHAR(23),
- test_case_source VARCHAR(18),
- test_case_predicate_name TEXT,
- test_case_predicate_id TEXT,
- test_case_input_id TEXT,
- input_category TEXT,
- output_category TEXT,
- test_env VARCHAR(4),
- id TEXT NOT NULL,
- name TEXT,
- description TEXT,
- "TestSuite_id" TEXT,
- "AcceptanceTestSuite_id" TEXT,
- "StandardsComplianceTestSuite_id" TEXT,
- "OneHopTestSuite_id" TEXT,
- PRIMARY KEY (id),
- FOREIGN KEY("TestSuite_id") REFERENCES "TestSuite" (id),
- FOREIGN KEY("AcceptanceTestSuite_id") REFERENCES "AcceptanceTestSuite" (id),
- FOREIGN KEY("StandardsComplianceTestSuite_id") REFERENCES "StandardsComplianceTestSuite" (id),
- FOREIGN KEY("OneHopTestSuite_id") REFERENCES "OneHopTestSuite" (id)
+
+CREATE TABLE "TestRunSession_components" (
+ backref_id TEXT,
+ components VARCHAR(13),
+ PRIMARY KEY (backref_id, components),
+ FOREIGN KEY(backref_id) REFERENCES "TestRunSession" (id)
+);
+
+CREATE TABLE "TestRunSession_test_entities" (
+ backref_id TEXT,
+ test_entities TEXT,
+ PRIMARY KEY (backref_id, test_entities),
+ FOREIGN KEY(backref_id) REFERENCES "TestRunSession" (id)
);
-CREATE TABLE "TestEntity_tags" (
- "TestEntity_id" TEXT,
+
+CREATE TABLE "TestSuiteSpecification_tags" (
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("TestEntity_id", tags),
- FOREIGN KEY("TestEntity_id") REFERENCES "TestEntity" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "TestSuiteSpecification" (id)
);
-CREATE TABLE "TestEntity_test_runner_settings" (
- "TestEntity_id" TEXT,
+
+CREATE TABLE "TestSuiteSpecification_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("TestEntity_id", test_runner_settings),
- FOREIGN KEY("TestEntity_id") REFERENCES "TestEntity" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "TestSuiteSpecification" (id)
);
+
CREATE TABLE "AcceptanceTestAsset_tags" (
- "AcceptanceTestAsset_id" TEXT,
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("AcceptanceTestAsset_id", tags),
- FOREIGN KEY("AcceptanceTestAsset_id") REFERENCES "AcceptanceTestAsset" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestAsset" (id)
);
+
CREATE TABLE "AcceptanceTestAsset_test_runner_settings" (
- "AcceptanceTestAsset_id" TEXT,
- test_runner_settings TEXT,
- PRIMARY KEY ("AcceptanceTestAsset_id", test_runner_settings),
- FOREIGN KEY("AcceptanceTestAsset_id") REFERENCES "AcceptanceTestAsset" (id)
-);
-CREATE TABLE "TestEdgeData_tags" (
- "TestEdgeData_id" TEXT,
- tags TEXT,
- PRIMARY KEY ("TestEdgeData_id", tags),
- FOREIGN KEY("TestEdgeData_id") REFERENCES "TestEdgeData" (id)
-);
-CREATE TABLE "TestEdgeData_test_runner_settings" (
- "TestEdgeData_id" TEXT,
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("TestEdgeData_id", test_runner_settings),
- FOREIGN KEY("TestEdgeData_id") REFERENCES "TestEdgeData" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestAsset" (id)
);
-CREATE TABLE "TestSuite_tags" (
- "TestSuite_id" TEXT,
+
+CREATE TABLE "AcceptanceTestSuite_tags" (
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("TestSuite_id", tags),
- FOREIGN KEY("TestSuite_id") REFERENCES "TestSuite" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestSuite" (id)
);
-CREATE TABLE "TestSuite_test_runner_settings" (
- "TestSuite_id" TEXT,
+
+CREATE TABLE "AcceptanceTestSuite_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("TestSuite_id", test_runner_settings),
- FOREIGN KEY("TestSuite_id") REFERENCES "TestSuite" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestSuite" (id)
);
-CREATE TABLE "AcceptanceTestSuite_tags" (
- "AcceptanceTestSuite_id" TEXT,
+
+CREATE TABLE "OneHopTestSuite_tags" (
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("AcceptanceTestSuite_id", tags),
- FOREIGN KEY("AcceptanceTestSuite_id") REFERENCES "AcceptanceTestSuite" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "OneHopTestSuite" (id)
);
-CREATE TABLE "AcceptanceTestSuite_test_runner_settings" (
- "AcceptanceTestSuite_id" TEXT,
+
+CREATE TABLE "OneHopTestSuite_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("AcceptanceTestSuite_id", test_runner_settings),
- FOREIGN KEY("AcceptanceTestSuite_id") REFERENCES "AcceptanceTestSuite" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "OneHopTestSuite" (id)
);
+
CREATE TABLE "StandardsComplianceTestSuite_tags" (
- "StandardsComplianceTestSuite_id" TEXT,
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("StandardsComplianceTestSuite_id", tags),
- FOREIGN KEY("StandardsComplianceTestSuite_id") REFERENCES "StandardsComplianceTestSuite" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "StandardsComplianceTestSuite" (id)
);
+
CREATE TABLE "StandardsComplianceTestSuite_test_runner_settings" (
- "StandardsComplianceTestSuite_id" TEXT,
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("StandardsComplianceTestSuite_id", test_runner_settings),
- FOREIGN KEY("StandardsComplianceTestSuite_id") REFERENCES "StandardsComplianceTestSuite" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "StandardsComplianceTestSuite" (id)
);
-CREATE TABLE "OneHopTestSuite_tags" (
- "OneHopTestSuite_id" TEXT,
+
+CREATE TABLE "TestAsset_tags" (
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("OneHopTestSuite_id", tags),
- FOREIGN KEY("OneHopTestSuite_id") REFERENCES "OneHopTestSuite" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "TestAsset" (id)
);
-CREATE TABLE "OneHopTestSuite_test_runner_settings" (
- "OneHopTestSuite_id" TEXT,
+
+CREATE TABLE "TestAsset_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("OneHopTestSuite_id", test_runner_settings),
- FOREIGN KEY("OneHopTestSuite_id") REFERENCES "OneHopTestSuite" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "TestAsset" (id)
);
-CREATE TABLE "TestAsset" (
- input_id TEXT,
- input_name TEXT,
- input_category TEXT,
- predicate_id TEXT,
- predicate_name TEXT,
- output_id TEXT,
- output_name TEXT,
- output_category TEXT,
- association TEXT,
- expected_output TEXT,
- test_issue VARCHAR(20),
- semantic_severity VARCHAR(13),
- in_v1 BOOLEAN,
- well_known BOOLEAN,
- test_reference TEXT,
- id TEXT NOT NULL,
- name TEXT,
- description TEXT,
- "TestCase_id" TEXT,
- "QuantitativeTestCase_id" TEXT,
- test_metadata_id TEXT NOT NULL,
- PRIMARY KEY (id),
- FOREIGN KEY("TestCase_id") REFERENCES "TestCase" (id),
- FOREIGN KEY("QuantitativeTestCase_id") REFERENCES "QuantitativeTestCase" (id),
- FOREIGN KEY(test_metadata_id) REFERENCES "TestMetadata" (id)
-);
-CREATE TABLE "TestCaseResult" (
- test_suite_id TEXT,
- test_case_result VARCHAR(7),
- id TEXT NOT NULL,
- name TEXT,
- description TEXT,
- "TestRunSession_id" TEXT,
- test_case_id TEXT,
- PRIMARY KEY (id),
- FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id),
- FOREIGN KEY(test_case_id) REFERENCES "TestCase" (id)
-);
-CREATE TABLE "TestCase_preconditions" (
- "TestCase_id" TEXT,
- preconditions_id TEXT,
- PRIMARY KEY ("TestCase_id", preconditions_id),
- FOREIGN KEY("TestCase_id") REFERENCES "TestCase" (id),
- FOREIGN KEY(preconditions_id) REFERENCES "Precondition" (id)
+
+CREATE TABLE "TestCaseResult_tags" (
+ backref_id TEXT,
+ tags TEXT,
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "TestCaseResult" (id)
);
-CREATE TABLE "TestCase_components" (
- "TestCase_id" TEXT,
- components VARCHAR,
- PRIMARY KEY ("TestCase_id", components),
- FOREIGN KEY("TestCase_id") REFERENCES "TestCase" (id)
+
+CREATE TABLE "TestCaseResult_test_runner_settings" (
+ backref_id TEXT,
+ test_runner_settings TEXT,
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "TestCaseResult" (id)
);
-CREATE TABLE "TestCase_tags" (
- "TestCase_id" TEXT,
+
+CREATE TABLE "TestEdgeData_tags" (
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("TestCase_id", tags),
- FOREIGN KEY("TestCase_id") REFERENCES "TestCase" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "TestEdgeData" (id)
);
-CREATE TABLE "TestCase_test_runner_settings" (
- "TestCase_id" TEXT,
+
+CREATE TABLE "TestEdgeData_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("TestCase_id", test_runner_settings),
- FOREIGN KEY("TestCase_id") REFERENCES "TestCase" (id)
-);
-CREATE TABLE "Qualifier" (
- id INTEGER NOT NULL,
- parameter TEXT,
- value TEXT,
- "TestAsset_id" TEXT,
- "AcceptanceTestAsset_id" TEXT,
- "TestEdgeData_id" TEXT,
- "TestCase_id" TEXT,
- "AcceptanceTestCase_id" TEXT,
- "QuantitativeTestCase_id" TEXT,
- PRIMARY KEY (id),
- FOREIGN KEY("TestAsset_id") REFERENCES "TestAsset" (id),
- FOREIGN KEY("AcceptanceTestAsset_id") REFERENCES "AcceptanceTestAsset" (id),
- FOREIGN KEY("TestEdgeData_id") REFERENCES "TestEdgeData" (id),
- FOREIGN KEY("TestCase_id") REFERENCES "TestCase" (id),
- FOREIGN KEY("AcceptanceTestCase_id") REFERENCES "AcceptanceTestCase" (id),
- FOREIGN KEY("QuantitativeTestCase_id") REFERENCES "QuantitativeTestCase" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "TestEdgeData" (id)
);
-CREATE TABLE "TestAsset_tags" (
- "TestAsset_id" TEXT,
+
+CREATE TABLE "TestResultPKSet_tags" (
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("TestAsset_id", tags),
- FOREIGN KEY("TestAsset_id") REFERENCES "TestAsset" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "TestResultPKSet" (id)
);
-CREATE TABLE "TestAsset_test_runner_settings" (
- "TestAsset_id" TEXT,
+
+CREATE TABLE "TestResultPKSet_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("TestAsset_id", test_runner_settings),
- FOREIGN KEY("TestAsset_id") REFERENCES "TestAsset" (id)
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "TestResultPKSet" (id)
);
-CREATE TABLE "TestCaseResult_tags" (
- "TestCaseResult_id" TEXT,
+
+CREATE TABLE "TestSuite_tags" (
+ backref_id TEXT,
tags TEXT,
- PRIMARY KEY ("TestCaseResult_id", tags),
- FOREIGN KEY("TestCaseResult_id") REFERENCES "TestCaseResult" (id)
+ PRIMARY KEY (backref_id, tags),
+ FOREIGN KEY(backref_id) REFERENCES "TestSuite" (id)
);
-CREATE TABLE "TestCaseResult_test_runner_settings" (
- "TestCaseResult_id" TEXT,
+
+CREATE TABLE "TestSuite_test_runner_settings" (
+ backref_id TEXT,
test_runner_settings TEXT,
- PRIMARY KEY ("TestCaseResult_id", test_runner_settings),
- FOREIGN KEY("TestCaseResult_id") REFERENCES "TestCaseResult" (id)
-);
\ No newline at end of file
+ PRIMARY KEY (backref_id, test_runner_settings),
+ FOREIGN KEY(backref_id) REFERENCES "TestSuite" (id)
+);
diff --git a/src/data/examples/Bad-TestAsset-002.yaml b/src/data/examples/Bad-TestAsset-002.yaml
deleted file mode 100644
index bb16005..0000000
--- a/src/data/examples/Bad-TestAsset-002.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# Example TestAsset data object
----
-# TODO: the TestAsset example data needs further elaboration
-
-# Bad Query 2 - Missing required input_id?
-
-id: example:TestAsset001
-name: TestAsset001
-description: Fingolimod treats multiple sclerosis
-#input_id: PUBCHEM.COMPOUND:107970
-predicate_name: treats
-output_id: MONDO:0005301
-expected_output: Acceptable
-test_runner_settings:
- - "inferred"
- - "test"
diff --git a/src/data/examples/Bad-TestAsset-003.yaml b/src/data/examples/Bad-TestAsset-003.yaml
deleted file mode 100644
index 5a8f6dc..0000000
--- a/src/data/examples/Bad-TestAsset-003.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# Example TestAsset data object
----
-# TODO: the TestAsset example data needs further elaboration
-
-# Bad Query 3 - Missing required predicate?
-
-id: example:TestAsset001
-name: TestAsset001
-description: Fingolimod treats multiple sclerosis
-input_id: PUBCHEM.COMPOUND:107970
-#predicate_name: treats
-output_id: MONDO:0005301
-expected_output: Acceptable
-test_runner_settings:
- - "inferred"
- - "test"
diff --git a/src/data/examples/Bad-TestAsset-004.yaml b/src/data/examples/Bad-TestAsset-004.yaml
deleted file mode 100644
index 7c1a41a..0000000
--- a/src/data/examples/Bad-TestAsset-004.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# Example TestAsset data object
----
-# TODO: the TestAsset example data needs further elaboration
-
-# Bad Query 4 - Missing required output_id?
-
-id: example:TestAsset001
-name: TestAsset001
-description: Fingolimod treats multiple sclerosis
-input_id: PUBCHEM.COMPOUND:107970
-predicate_name: treats
-#output_id: MONDO:0005301
-expected_output: Acceptable
-test_runner_settings:
- - "inferred"
- - "test"
diff --git a/src/data/examples/Bad-TestAsset-005.yaml b/src/data/examples/Bad-TestAsset-005.yaml
deleted file mode 100644
index a0d29b7..0000000
--- a/src/data/examples/Bad-TestAsset-005.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# Example TestAsset data object
----
-# TODO: the TestAsset example data needs further elaboration
-
-# Bad Query 5 - Missing required output_id?
-
-id: example:TestAsset001
-name: TestAsset001
-description: Fingolimod treats multiple sclerosis
-input_id: PUBCHEM.COMPOUND:107970
-predicate_name: treats
-#output_id: MONDO:0005301
-expected_output: Acceptable
-test_runner_settings:
- - "inferred"
- - "test"
diff --git a/src/data/examples/Bad-TestAsset-006.yaml b/src/data/examples/Bad-TestAsset-006.yaml
deleted file mode 100644
index 64aa600..0000000
--- a/src/data/examples/Bad-TestAsset-006.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# Example TestAsset data object
----
-# TODO: the TestAsset example data needs further elaboration
-
-# Bad Query 6 - Missing required runner_settings?
-
-id: example:TestAsset001
-name: TestAsset001
-description: Fingolimod treats multiple sclerosis
-input_id: PUBCHEM.COMPOUND:107970
-predicate_name: treats
-output_id: MONDO:0005301
-expected_output: Acceptable
-#test_runner_settings:
-# - "inferred"
-# - "test"
diff --git a/src/data/examples/Bad-TestCase-001.yaml b/src/data/examples/Bad-TestCase-001.yaml
deleted file mode 100644
index 11babb4..0000000
--- a/src/data/examples/Bad-TestCase-001.yaml
+++ /dev/null
@@ -1,38 +0,0 @@
-# Example TestCase data object
----
-# TODO: the TestCase example data needs further elaboration
-#
-# TestCase:
-# 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.
-# is_a: TestEntity
-# slots:
-# - test_env
-# - test_case_type
-# - query_type
-# - test_assets
-# - preconditions
-# slot_usage:
-# test_case_type:
-# description: >-
-# Is this valid or even necessary with the class names already
-# available from classes of 'test_assets' used (seems redundant?)
-# test_assets:
-# aliases: ["Block List"]
-# 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.
-# tags:
-# description: >-
-# One or more 'tags' slot values (inherited from TestEntity) should generally
-# be defined as filters to specify TestAsset membership in a "Block List" collection.
-#
-# Bad Query 1 - Missing required identifier?
-
-# id: id: example:TestCase001
-name: foo bar
-description: This is a test case
diff --git a/src/translator_testing_model/datamodel/pydanticmodel.py b/src/translator_testing_model/datamodel/pydanticmodel.py
index 4faaf31..2f60e8b 100644
--- a/src/translator_testing_model/datamodel/pydanticmodel.py
+++ b/src/translator_testing_model/datamodel/pydanticmodel.py
@@ -190,12 +190,45 @@ class TrapiTemplateEnum(str, Enum):
-class ComponentEnum(str):
+class ComponentEnum(str, Enum):
"""
Translator components are identified by their InfoRes identifiers.
"""
+ # Automatic Relay Service component of Translator
+ ars = "ars"
+ # ARAX Translator Reasoner
+ arax = "arax"
+ # A Translator Reasoner API for the Explanatory Agent
+ explanatory = "explanatory"
+ # imProving Agent OpenAPI TRAPI Specification
+ improving = "improving"
+ # Performs a query operation which compiles data from numerous ranking agent services.
+ aragorn = "aragorn"
+ # BioThings Explorer
+ bte = "bte"
+ # Unsecret Agent OpenAPI for NCATS Biomedical Translator Reasoners
+ unsecret = "unsecret"
+ # TRAPI endpoint for the NCATS Biomedical Translator KP called RTX KG2
+ rtxkg2 = "rtxkg2"
+ # ICEES (Integrated Clinical and Environmental Exposures Service)
+ icees = "icees"
+ # Causal Activity Model KP
+ cam = "cam"
+ # SPOKE KP - an NIH NCATS Knowledge Provider to expose UCSFs SPOKE
+ spoke = "spoke"
+ # Molecular Data Provider for NCATS Biomedical Translator Reasoners
+ molepro = "molepro"
+ # Text Mining KP
+ textmining = "textmining"
+ # Columbia Open Health Data (COHD)
+ cohd = "cohd"
+ # OpenPredict API
+ openpredict = "openpredict"
+ # Translator Knowledge Collaboratory API
+ collaboratory = "collaboratory"
+ # Connections Hypothesis Provider API
+ connections = "connections"
- dummy = "dummy"
class TestPersonaEnum(str, Enum):
@@ -284,7 +317,7 @@ class TestAsset(TestEntity):
in_v1: Optional[bool] = Field(None)
well_known: Optional[bool] = Field(None)
test_reference: Optional[str] = Field(None, description="""Document URL where original test source particulars are registered (e.g. Github repo)""")
- test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
+ test_metadata: Optional[TestMetadata] = Field(None, description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
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""")
@@ -322,7 +355,7 @@ class AcceptanceTestAsset(TestAsset):
in_v1: Optional[bool] = Field(None)
well_known: Optional[bool] = Field(None)
test_reference: Optional[str] = Field(None, description="""Document URL where original test source particulars are registered (e.g. Github repo)""")
- test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
+ test_metadata: Optional[TestMetadata] = Field(None, description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
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""")
@@ -350,7 +383,7 @@ class TestEdgeData(TestAsset):
in_v1: Optional[bool] = Field(None)
well_known: Optional[bool] = Field(None)
test_reference: Optional[str] = Field(None, description="""Document URL where original test source particulars are registered (e.g. Github repo)""")
- test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
+ test_metadata: Optional[TestMetadata] = Field(None, description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
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""")
@@ -461,7 +494,7 @@ class TestSuite(TestEntity):
"""
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.
"""
- test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
+ test_metadata: Optional[TestMetadata] = Field(None, description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
test_persona: Optional[TestPersonaEnum] = Field(None, description="""A Test persona describes the user or operational context of a given test.""")
test_cases: Optional[Dict[str, TestCase]] = Field(default_factory=dict, description="""List of explicitly enumerated Test Cases.""")
test_suite_specification: Optional[TestSuiteSpecification] = Field(None, 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.""")
@@ -474,7 +507,7 @@ class TestSuite(TestEntity):
class AcceptanceTestSuite(TestSuite):
- test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
+ test_metadata: Optional[TestMetadata] = Field(None, description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
test_persona: Optional[TestPersonaEnum] = Field(None, description="""A Test persona describes the user or operational context of a given test.""")
test_cases: Optional[Dict[str, TestCase]] = Field(default_factory=dict, description="""List of explicitly enumerated Test Cases.""")
test_suite_specification: Optional[TestSuiteSpecification] = Field(None, 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.""")
@@ -496,7 +529,7 @@ class StandardsComplianceTestSuite(TestSuite):
"""
Test suite for testing Translator components against releases of standards like TRAPI and the Biolink Model.
"""
- test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
+ test_metadata: Optional[TestMetadata] = Field(None, description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
test_persona: Optional[TestPersonaEnum] = Field(None, description="""A Test persona describes the user or operational context of a given test.""")
test_cases: Optional[Dict[str, TestCase]] = Field(default_factory=dict, description="""List of explicitly enumerated Test Cases.""")
test_suite_specification: Optional[TestSuiteSpecification] = Field(None, 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.""")
@@ -511,7 +544,7 @@ class OneHopTestSuite(TestSuite):
"""
Test case for testing the integrity of \"One Hop\" knowledge graph retrievals sensa legacy SRI_Testing harness.
"""
- test_metadata: TestMetadata = Field(..., description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
+ test_metadata: Optional[TestMetadata] = Field(None, description="""Test metadata describes the external provenance, cross-references and objectives for a given test.""")
test_persona: Optional[TestPersonaEnum] = Field(None, description="""A Test persona describes the user or operational context of a given test.""")
test_cases: Optional[Dict[str, TestCase]] = Field(default_factory=dict, description="""List of explicitly enumerated Test Cases.""")
test_suite_specification: Optional[TestSuiteSpecification] = Field(None, 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.""")
diff --git a/src/translator_testing_model/datamodel/translator_testing_model.py b/src/translator_testing_model/datamodel/translator_testing_model.py
index c04dc5b..038904e 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-04-19T10:26:22
+# Generation date: 2024-04-25T16:37:26
# Schema: Translator-Testing-Model
#
# id: https://w3id.org/TranslatorSRI/TranslatorTestingModel
@@ -12,7 +12,6 @@
from jsonasobj2 import JsonObj, as_dict
from typing import Optional, List, Union, Dict, ClassVar, Any
from dataclasses import dataclass
-from datetime import date, datetime
from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions
from linkml_runtime.utils.slot import Slot
@@ -35,6 +34,7 @@
# Namespaces
BIOLINK = CurieNamespace('biolink', 'https://w3id.org/biolink/')
EXAMPLE = CurieNamespace('example', 'https://example.org/')
+INFORES = CurieNamespace('infores', 'https://w3id.org/biolink/vocab/')
LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/')
SCHEMA = CurieNamespace('schema', 'http://schema.org/')
TTM = CurieNamespace('ttm', 'https://w3id.org/TranslatorSRI/TranslatorTestingModel/')
@@ -292,7 +292,6 @@ class TestAsset(TestEntity):
class_model_uri: ClassVar[URIRef] = TTM.TestAsset
id: Union[str, TestAssetId] = None
- test_metadata: Union[dict, TestMetadata] = None
input_id: Optional[Union[str, URIorCURIE]] = None
input_name: Optional[str] = None
input_category: Optional[Union[str, ConceptCategory]] = None
@@ -309,6 +308,7 @@ class TestAsset(TestEntity):
in_v1: Optional[Union[bool, Bool]] = None
well_known: Optional[Union[bool, Bool]] = None
test_reference: Optional[Union[str, URIorCURIE]] = None
+ test_metadata: Optional[Union[dict, TestMetadata]] = None
tags: Optional[Union[str, List[str]]] = empty_list()
test_runner_settings: Optional[Union[str, List[str]]] = empty_list()
@@ -318,11 +318,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
if not isinstance(self.id, TestAssetId):
self.id = TestAssetId(self.id)
- if self._is_empty(self.test_metadata):
- self.MissingRequiredField("test_metadata")
- if not isinstance(self.test_metadata, TestMetadata):
- self.test_metadata = TestMetadata(**as_dict(self.test_metadata))
-
if self.input_id is not None and not isinstance(self.input_id, URIorCURIE):
self.input_id = URIorCURIE(self.input_id)
@@ -372,6 +367,9 @@ 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.test_metadata is not None and not isinstance(self.test_metadata, TestMetadata):
+ self.test_metadata = TestMetadata(**as_dict(self.test_metadata))
+
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]
@@ -396,7 +394,6 @@ class AcceptanceTestAsset(TestAsset):
class_model_uri: ClassVar[URIRef] = TTM.AcceptanceTestAsset
id: Union[str, AcceptanceTestAssetId] = None
- test_metadata: Union[dict, TestMetadata] = None
must_pass_date: Optional[Union[str, XSDDate]] = None
must_pass_environment: Optional[Union[str, "TestEnvEnum"]] = None
scientific_question: Optional[str] = None
@@ -461,7 +458,6 @@ class TestEdgeData(TestAsset):
class_model_uri: ClassVar[URIRef] = TTM.TestEdgeData
id: Union[str, TestEdgeDataId] = None
- test_metadata: Union[dict, TestMetadata] = None
def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
if self._is_empty(self.id):
@@ -571,6 +567,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
if self.output_category is not None and not isinstance(self.output_category, ConceptCategory):
self.output_category = ConceptCategory(self.output_category)
+ if not isinstance(self.components, list):
+ self.components = [self.components] if self.components is not None else []
+ self.components = [v if isinstance(v, ComponentEnum) else ComponentEnum(v) for v in self.components]
+
if self.test_env is not None and not isinstance(self.test_env, TestEnvEnum):
self.test_env = TestEnvEnum(self.test_env)
@@ -679,7 +679,7 @@ class TestSuite(TestEntity):
class_model_uri: ClassVar[URIRef] = TTM.TestSuite
id: Union[str, TestSuiteId] = None
- test_metadata: Union[dict, TestMetadata] = None
+ test_metadata: Optional[Union[dict, TestMetadata]] = None
test_persona: Optional[Union[str, "TestPersonaEnum"]] = None
test_cases: Optional[Union[Dict[Union[str, TestCaseId], Union[dict, TestCase]], List[Union[dict, TestCase]]]] = empty_dict()
test_suite_specification: Optional[Union[dict, TestSuiteSpecification]] = None
@@ -690,9 +690,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
if not isinstance(self.id, TestSuiteId):
self.id = TestSuiteId(self.id)
- if self._is_empty(self.test_metadata):
- self.MissingRequiredField("test_metadata")
- if not isinstance(self.test_metadata, TestMetadata):
+ if self.test_metadata is not None and not isinstance(self.test_metadata, TestMetadata):
self.test_metadata = TestMetadata(**as_dict(self.test_metadata))
if self.test_persona is not None and not isinstance(self.test_persona, TestPersonaEnum):
@@ -716,7 +714,6 @@ class AcceptanceTestSuite(TestSuite):
class_model_uri: ClassVar[URIRef] = TTM.AcceptanceTestSuite
id: Union[str, AcceptanceTestSuiteId] = None
- test_metadata: Union[dict, TestMetadata] = None
def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
if self._is_empty(self.id):
@@ -752,7 +749,6 @@ class StandardsComplianceTestSuite(TestSuite):
class_model_uri: ClassVar[URIRef] = TTM.StandardsComplianceTestSuite
id: Union[str, StandardsComplianceTestSuiteId] = None
- test_metadata: Union[dict, TestMetadata] = None
def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
if self._is_empty(self.id):
@@ -776,7 +772,6 @@ class OneHopTestSuite(TestSuite):
class_model_uri: ClassVar[URIRef] = TTM.OneHopTestSuite
id: Union[str, OneHopTestSuiteId] = None
- test_metadata: Union[dict, TestMetadata] = None
def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
if self._is_empty(self.id):
@@ -850,6 +845,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
if not isinstance(self.id, TestRunSessionId):
self.id = TestRunSessionId(self.id)
+ if not isinstance(self.components, list):
+ self.components = [self.components] if self.components is not None else []
+ self.components = [v if isinstance(v, ComponentEnum) else ComponentEnum(v) for v in self.components]
+
if self.test_env is not None and not isinstance(self.test_env, TestEnvEnum):
self.test_env = TestEnvEnum(self.test_env)
@@ -1157,6 +1156,75 @@ class ComponentEnum(EnumDefinitionImpl):
"""
Translator components are identified by their InfoRes identifiers.
"""
+ ars = PermissibleValue(
+ text="ars",
+ description="Automatic Relay Service component of Translator",
+ meaning=INFORES["ncats-ars"])
+ arax = PermissibleValue(
+ text="arax",
+ description="ARAX Translator Reasoner",
+ meaning=INFORES["arax"])
+ explanatory = PermissibleValue(
+ text="explanatory",
+ description="A Translator Reasoner API for the Explanatory Agent",
+ meaning=INFORES["explanatory-agent"])
+ improving = PermissibleValue(
+ text="improving",
+ description="imProving Agent OpenAPI TRAPI Specification",
+ meaning=INFORES["improving-agent"])
+ aragorn = PermissibleValue(
+ text="aragorn",
+ description="Performs a query operation which compiles data from numerous ranking agent services.",
+ meaning=INFORES["aragorn"])
+ bte = PermissibleValue(
+ text="bte",
+ description="BioThings Explorer",
+ meaning=INFORES["biothings-explorer"])
+ unsecret = PermissibleValue(
+ text="unsecret",
+ description="Unsecret Agent OpenAPI for NCATS Biomedical Translator Reasoners",
+ meaning=INFORES["unsecret-agent"])
+ rtxkg2 = PermissibleValue(
+ text="rtxkg2",
+ description="TRAPI endpoint for the NCATS Biomedical Translator KP called RTX KG2",
+ meaning=INFORES["rtx-kg2"])
+ icees = PermissibleValue(
+ text="icees",
+ description="ICEES (Integrated Clinical and Environmental Exposures Service)",
+ meaning=INFORES["icees-kg"])
+ cam = PermissibleValue(
+ text="cam",
+ description="Causal Activity Model KP",
+ meaning=INFORES["cam-kp"])
+ spoke = PermissibleValue(
+ text="spoke",
+ description="SPOKE KP - an NIH NCATS Knowledge Provider to expose UCSFs SPOKE",
+ meaning=INFORES["spoke"])
+ molepro = PermissibleValue(
+ text="molepro",
+ description="Molecular Data Provider for NCATS Biomedical Translator Reasoners",
+ meaning=INFORES["molepro"])
+ textmining = PermissibleValue(
+ text="textmining",
+ description="Text Mining KP",
+ meaning=INFORES["textmining-kp"])
+ cohd = PermissibleValue(
+ text="cohd",
+ description="Columbia Open Health Data (COHD)",
+ meaning=INFORES["cohd"])
+ openpredict = PermissibleValue(
+ text="openpredict",
+ description="OpenPredict API",
+ meaning=INFORES["openpredict"])
+ collaboratory = PermissibleValue(
+ text="collaboratory",
+ description="Translator Knowledge Collaboratory API",
+ meaning=INFORES["knowledge-collaboratory"])
+ connections = PermissibleValue(
+ text="connections",
+ description="Connections Hypothesis Provider API",
+ meaning=INFORES["connections-hypothesis"])
+
_defn = EnumDefinition(
name="ComponentEnum",
description="Translator components are identified by their InfoRes identifiers.",
@@ -1410,7 +1478,7 @@ class slots:
model_uri=TTM.test_data_file_format, domain=None, range=Optional[Union[str, "FileFormatEnum"]])
slots.test_metadata = Slot(uri=TTM.test_metadata, name="test_metadata", curie=TTM.curie('test_metadata'),
- model_uri=TTM.test_metadata, domain=None, range=Union[dict, TestMetadata])
+ model_uri=TTM.test_metadata, domain=None, range=Optional[Union[dict, TestMetadata]])
slots.test_persona = Slot(uri=TTM.test_persona, name="test_persona", curie=TTM.curie('test_persona'),
model_uri=TTM.test_persona, domain=None, range=Optional[Union[str, "TestPersonaEnum"]])
diff --git a/src/translator_testing_model/schema/translator_testing_model.yaml b/src/translator_testing_model/schema/translator_testing_model.yaml
index 4c75403..0339c1b 100644
--- a/src/translator_testing_model/schema/translator_testing_model.yaml
+++ b/src/translator_testing_model/schema/translator_testing_model.yaml
@@ -14,6 +14,7 @@ prefixes:
ttm: https://w3id.org/TranslatorSRI/TranslatorTestingModel/
linkml: https://w3id.org/linkml/
biolink: https://w3id.org/biolink/
+ infores: https://w3id.org/biolink/vocab/
schema: http://schema.org/
example: https://example.org/
@@ -713,7 +714,7 @@ slots:
Test metadata describes the external provenance, cross-references and objectives for a given test.
range: TestMetadata
inlined: true
- required: true
+ required: false
test_persona:
description: >-
@@ -949,11 +950,83 @@ enums:
ComponentEnum:
description: >-
Translator components are identified by their InfoRes identifiers.
- reachable_from:
- source_ontology: biolink
- source_nodes:
- - biolink:infores
- include_self: false
+ # reachable_from:
+ # source_ontology: biolink
+ # source_nodes:
+ # - biolink:infores
+ # include_self: false
+ permissible_values:
+ ars:
+ description: >-
+ Automatic Relay Service component of Translator
+ meaning: "infores:ncats-ars"
+ # ARA's
+ arax:
+ description: >-
+ ARAX Translator Reasoner
+ meaning: "infores:arax"
+ explanatory:
+ description: >-
+ A Translator Reasoner API for the Explanatory Agent
+ meaning: "infores:explanatory-agent"
+ improving:
+ description: >-
+ imProving Agent OpenAPI TRAPI Specification
+ meaning: "infores:improving-agent"
+ aragorn:
+ description: >-
+ Performs a query operation which compiles data from numerous ranking agent services.
+ meaning: "infores:aragorn"
+ bte:
+ description: >-
+ BioThings Explorer
+ meaning: "infores:biothings-explorer"
+ unsecret:
+ description: >-
+ Unsecret Agent OpenAPI for NCATS Biomedical Translator Reasoners
+ meaning: "infores:unsecret-agent"
+ # KP's
+ rtxkg2:
+ description: >-
+ TRAPI endpoint for the NCATS Biomedical Translator KP called RTX KG2
+ meaning: "infores:rtx-kg2"
+ icees:
+ description: >-
+ ICEES (Integrated Clinical and Environmental Exposures Service)
+ meaning: "infores:icees-kg"
+ cam:
+ description: >-
+ Causal Activity Model KP
+ meaning: "infores:cam-kp"
+ spoke:
+ description: >-
+ SPOKE KP - an NIH NCATS Knowledge Provider to expose UCSFs SPOKE
+ meaning: "infores:spoke"
+ molepro:
+ description: >-
+ Molecular Data Provider for NCATS Biomedical Translator Reasoners
+ meaning: "infores:molepro"
+ textmining:
+ description: >-
+ Text Mining KP
+ meaning: "infores:textmining-kp"
+ cohd:
+ description: >-
+ Columbia Open Health Data (COHD)
+ meaning: "infores:cohd"
+ openpredict:
+ description: >-
+ OpenPredict API
+ meaning: "infores:openpredict"
+ collaboratory:
+ description: >-
+ Translator Knowledge Collaboratory API
+ meaning: "infores:knowledge-collaboratory"
+ connections:
+ description: >-
+ Connections Hypothesis Provider API
+ meaning: "infores:connections-hypothesis"
+
#########################
# TestSuite Model Enums #