From f204737517bd5545364ff12637773116c563a0d2 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Thu, 25 Apr 2024 16:47:27 -0700 Subject: [PATCH] recommit project artifacts --- Makefile | 2 +- poetry.lock | 40 +- project/excel/translator_testing_model.xlsx | Bin 18762 -> 18763 bytes .../translator_testing_model.context.jsonld | 293 +++- .../jsonld/translator_testing_model.jsonld | 2 +- .../translator_testing_model.schema.json | 54 +- project/owl/translator_testing_model.owl.ttl | 858 ++++++------ .../shacl/translator_testing_model.shacl.ttl | 1184 ++++++++--------- project/shex/translator_testing_model.shex | 95 +- .../sqlschema/translator_testing_model.sql | 1075 ++++++++++----- .../datamodel/pydanticmodel.py | 229 ++-- .../datamodel/translator_testing_model.py | 3 +- 12 files changed, 2238 insertions(+), 1597 deletions(-) diff --git a/Makefile b/Makefile index e6429b0..2dc679e 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 src/translator_testing_model/schema/translator_testing_model.yaml > $(PYMODEL)/pydanticmodel.py + $(RUN) gen-pydantic --pydantic-version 2 src/translator_testing_model/schema/translator_testing_model.yaml > $(PYMODEL)/pydanticmodel.py test: test-schema test-python test-examples diff --git a/poetry.lock b/poetry.lock index cefe9c0..e87957d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "annotated-types" @@ -1848,6 +1848,7 @@ description = "A pure Python implementation of the trie data structure." optional = false python-versions = "*" files = [ + {file = "PyTrie-0.4.0-py3-none-any.whl", hash = "sha256:f687c224ee8c66cda8e8628a903011b692635ffbb08d4b39c5f92b18eb78c950"}, {file = "PyTrie-0.4.0.tar.gz", hash = "sha256:8f4488f402d3465993fb6b6efa09866849ed8cda7903b50647b7d0342b805379"}, ] @@ -1877,6 +1878,7 @@ files = [ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -1884,8 +1886,16 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, @@ -1902,6 +1912,7 @@ files = [ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, @@ -1909,6 +1920,7 @@ files = [ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, @@ -2206,37 +2218,51 @@ python-versions = ">=3.6" files = [ {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d"}, {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-manylinux_2_24_aarch64.whl", hash = "sha256:aa2267c6a303eb483de8d02db2871afb5c5fc15618d894300b88958f729ad74f"}, + {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-manylinux_2_24_aarch64.whl", hash = "sha256:1707814f0d9791df063f8c19bb51b0d1278b8e9a2353abbb676c2f685dee6afe"}, + {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-manylinux_2_24_aarch64.whl", hash = "sha256:1dc67314e7e1086c9fdf2680b7b6c2be1c0d8e3a8279f2e993ca2a7545fecf62"}, + {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_24_aarch64.whl", hash = "sha256:77159f5d5b5c14f7c34073862a6b7d34944075d9f93e681638f6d753606c6ce6"}, {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_24_aarch64.whl", hash = "sha256:305889baa4043a09e5b76f8e2a51d4ffba44259f6b4c72dec8ca56207d9c6fe1"}, {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_24_aarch64.whl", hash = "sha256:a1a45e0bb052edf6a1d3a93baef85319733a888363938e1fc9924cb00c8df24c"}, {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"}, diff --git a/project/excel/translator_testing_model.xlsx b/project/excel/translator_testing_model.xlsx index 7525b91ee1e301477db899a3e2f0564f57c39440..ed9caec2bb987635ce5578698f2f5e32bceddf3a 100644 GIT binary patch delta 1212 zcmX>#iShI#MxFp~W)=|!1_lm>tF04x)^T2Kof+|3F5cnY#KT(k(>Prt^%eXS6b(6# z=z8s0yU26#krj7uPoB0`x{3SvkNK!E zBmIYmgxIA2=ggSgDwDiB;BdXc6KB)n%*8_Y=E=oBd%F3WYmlFE_L7TE>>*d$({`PZ zKkj!ZG;m&8z4(PSmslL#`=!hL;#Tke{gyeq;^6BwD~#(lKb^Yb`l4O6^JDCP={wz? zU3UH7`H1lFW1AOD{P6nzEPZ6(&y1KEGe=o~je%i~Is=0+FibYTV$@}0y4t!~lB0$Z zNKcmJP~E(TGaSU;EXqBB2}CdF{RF0G3!GpEsaejey17f_ELbd3d=6OON*UG7GLqdO z`OPb3Hh}49g^ggEPel`?c5>jVL?$OUIXu%mEmjhf`5 z4zf?vMTW^w9IPqE1#C<{P~?pSNJQ8|uOc@mz?+dtgc+9LCxfKt$$&MyfN1y)6bVoO ziil0tcZE3F==Jo7FN_Qf?ko%pk|<7QRskz4a|PRV!BvJyPYo;*ug1!UW)(=bNCPa( z;s!Bzs`V0mL7>4WfEd-_ZCXHu(vt(+ctG9)Y5k`S)~c_A)nF$*u{YIW-CIA2c delta 1261 zcmX>-iSg7VMxFp~W)=|!1_lm>jV%*-)^ToZnHk}5ZEeWgiHEi7#U?CTCoZ5qVZscS zM`Eh?#MWjmIbP$wEX7g7 z2&5-Vai~uI@5H*W-z>&GfeA#f;Qa)q=Lno&2B}-YtGc;c*pY6722eOmEE!n2TL0}Oa@zZ!qEniE++FjnaP9Pg&thM5Cek-#xs+XoRmQR zIpZY5#LF=`(N%1+0|(3GeNH?u(QZzls34%S^S&dP_Tv;ZjkS^_M)*ad7GNMx=ISmeA6>*RMXVCVkkVJ7l)8qtK4UpXzU1gYb)xf$E)G+J@$rfsWWm(<8c1yU)Fm2TW zi}*l9Kx+PKL+sUIojk)0>>7}$qaIlF7DU}!pw3nUkcfdfW{Av;NY&r>uMQa2jliUi z>ey|Q1Kq)nt#+4T$~FZXy51cUL#jW&M63aN(HFyu(&j*gqLaV63xWK}=^&t+2tX_bk=V2 nD?1r&)JU5d5#&-7ngnzgFCQe+!c1#mRGTdCsm8X`5hMZt31Or@ diff --git a/project/jsonld/translator_testing_model.context.jsonld b/project/jsonld/translator_testing_model.context.jsonld index 047640b..ec002d6 100644 --- a/project/jsonld/translator_testing_model.context.jsonld +++ b/project/jsonld/translator_testing_model.context.jsonld @@ -1,7 +1,7 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2024-04-25T16:37:22", + "generation_date": "2024-04-25T16:46:29", "source": "translator_testing_model.yaml" }, "@context": { @@ -13,14 +13,44 @@ "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" + "@type": "@id", + "@id": "association" + }, + "biolink_object_aspect_qualifier": { + "@id": "biolink_object_aspect_qualifier" + }, + "biolink_object_direction_qualifier": { + "@id": "biolink_object_direction_qualifier" }, "biolink_predicate": { - "@type": "@id" + "@type": "@id", + "@id": "biolink_predicate" }, "biolink_qualified_predicate": { - "@type": "@id" + "@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" }, "components": { "@context": { @@ -28,7 +58,8 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "components" }, "description": { "@id": "schema:description" @@ -39,7 +70,11 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "direction" + }, + "expected_output": { + "@id": "expected_output" }, "expected_result": { "@context": { @@ -47,20 +82,34 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "expected_result" }, "id": "@id", + "improving": { + "@id": "improving" + }, "in_v1": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "in_v1" }, "input_category": { - "@type": "@id" + "@type": "@id", + "@id": "input_category" }, "input_id": { - "@type": "@id" + "@type": "@id", + "@id": "input_id" + }, + "input_name": { + "@id": "input_name" + }, + "merged_pk": { + "@id": "merged_pk" }, "must_pass_date": { - "@type": "xsd:date" + "@type": "xsd:date", + "@id": "must_pass_date" }, "must_pass_environment": { "@context": { @@ -68,28 +117,50 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "must_pass_environment" }, "name": { "@id": "schema:name" }, + "notes": { + "@id": "notes" + }, "output_category": { - "@type": "@id" + "@type": "@id", + "@id": "output_category" }, "output_id": { - "@type": "@id" + "@type": "@id", + "@id": "output_id" + }, + "output_name": { + "@id": "output_name" + }, + "parameter": { + "@id": "parameter" + }, + "parent_pk": { + "@id": "parent_pk" }, "pks": { - "@type": "@id" + "@type": "@id", + "@id": "pks" }, "preconditions": { - "@type": "@id" + "@type": "@id", + "@id": "preconditions" }, "predicate_id": { - "@type": "@id" + "@type": "@id", + "@id": "predicate_id" + }, + "predicate_name": { + "@id": "predicate_name" }, "qualifiers": { - "@type": "@id" + "@type": "@id", + "@id": "qualifiers" }, "query_node": { "@context": { @@ -97,7 +168,8 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "query_node" }, "query_type": { "@context": { @@ -105,10 +177,15 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "query_type" }, "results": { - "@type": "@id" + "@type": "@id", + "@id": "results" + }, + "scientific_question": { + "@id": "scientific_question" }, "semantic_severity": { "@context": { @@ -116,22 +193,33 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "semantic_severity" + }, + "string_entry": { + "@id": "string_entry" }, "tags": { "@id": "schema:additionalType" }, "test_annotations": { - "@type": "@id" + "@type": "@id", + "@id": "test_annotations" }, "test_assets": { - "@type": "@id" + "@type": "@id", + "@id": "test_assets" }, "test_case": { - "@type": "@id" + "@type": "@id", + "@id": "test_case" + }, + "test_case_id": { + "@id": "test_case_id" }, "test_case_input_id": { - "@type": "@id" + "@type": "@id", + "@id": "test_case_input_id" }, "test_case_objective": { "@context": { @@ -139,7 +227,14 @@ "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": { @@ -147,10 +242,12 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "test_case_result" }, "test_case_results": { - "@type": "@id" + "@type": "@id", + "@id": "test_case_results" }, "test_case_source": { "@context": { @@ -158,10 +255,12 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "test_case_source" }, "test_cases": { - "@type": "@id" + "@type": "@id", + "@id": "test_cases" }, "test_data_file_format": { "@context": { @@ -169,16 +268,20 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "test_data_file_format" }, "test_data_file_locator": { - "@type": "@id" + "@type": "@id", + "@id": "test_data_file_locator" }, "test_entities": { - "@type": "@id" + "@type": "@id", + "@id": "test_entities" }, "test_entity_parameters": { - "@type": "@id" + "@type": "@id", + "@id": "test_entity_parameters" }, "test_env": { "@context": { @@ -186,7 +289,8 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "test_env" }, "test_issue": { "@context": { @@ -194,10 +298,12 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "test_issue" }, "test_metadata": { - "@type": "@id" + "@type": "@id", + "@id": "test_metadata" }, "test_objective": { "@context": { @@ -205,7 +311,8 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "test_objective" }, "test_persona": { "@context": { @@ -213,13 +320,22 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "test_persona" }, "test_reference": { - "@type": "@id" + "@type": "@id", + "@id": "test_reference" }, "test_run_parameters": { - "@type": "@id" + "@type": "@id", + "@id": "test_run_parameters" + }, + "test_runner_name": { + "@id": "test_runner_name" + }, + "test_runner_settings": { + "@id": "test_runner_settings" }, "test_source": { "@context": { @@ -227,19 +343,24 @@ "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "test_source" }, "test_suite_id": { - "@type": "@id" + "@type": "@id", + "@id": "test_suite_id" }, "test_suite_specification": { - "@type": "@id" + "@type": "@id", + "@id": "test_suite_specification" }, "timestamp": { - "@type": "xsd:dateTime" + "@type": "xsd:dateTime", + "@id": "timestamp" }, "top_level": { - "@type": "xsd:integer" + "@type": "xsd:integer", + "@id": "top_level" }, "trapi_template": { "@context": { @@ -247,10 +368,84 @@ "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" + "@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" } } } diff --git a/project/jsonld/translator_testing_model.jsonld b/project/jsonld/translator_testing_model.jsonld index 669a262..d48dd1e 100644 --- a/project/jsonld/translator_testing_model.jsonld +++ b/project/jsonld/translator_testing_model.jsonld @@ -2640,7 +2640,7 @@ "source_file": "translator_testing_model.yaml", "source_file_date": "2024-04-25T16:35:26", "source_file_size": 29634, - "generation_date": "2024-04-25T16:37:22", + "generation_date": "2024-04-25T16:46:29", "@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 a0e4519..8f636c1 100644 --- a/project/jsonschema/translator_testing_model.schema.json +++ b/project/jsonschema/translator_testing_model.schema.json @@ -261,7 +261,18 @@ }, "test_cases": { "additionalProperties": { - "$ref": "#/$defs/TestCase__identifier_optional" + "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" + } + ] }, "description": "List of explicitly enumerated Test Cases.", "type": "object" @@ -396,7 +407,18 @@ }, "test_cases": { "additionalProperties": { - "$ref": "#/$defs/TestCase__identifier_optional" + "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" + } + ] }, "description": "List of explicitly enumerated Test Cases.", "type": "object" @@ -623,7 +645,18 @@ }, "test_cases": { "additionalProperties": { - "$ref": "#/$defs/TestCase__identifier_optional" + "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" + } + ] }, "description": "List of explicitly enumerated Test Cases.", "type": "object" @@ -1505,7 +1538,18 @@ }, "test_cases": { "additionalProperties": { - "$ref": "#/$defs/TestCase__identifier_optional" + "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" + } + ] }, "description": "List of explicitly enumerated Test Cases.", "type": "object" @@ -1595,7 +1639,7 @@ } }, "$id": "https://w3id.org/TranslatorSRI/TranslatorTestingModel", - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2019-09/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 12c4582..48bb808 100644 --- a/project/owl/translator_testing_model.owl.ttl +++ b/project/owl/translator_testing_model.owl.ttl @@ -13,10 +13,10 @@ ttm:AcceptanceTestCase a owl:Class, linkml:ClassDefinition ; rdfs:label "AcceptanceTestCase" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom ttm:AcceptanceTestAsset ; owl:onProperty ttm:test_assets ], [ a owl:Restriction ; - owl:allValuesFrom ttm:AcceptanceTestAsset ; + owl:minCardinality 1 ; owl:onProperty ttm:test_assets ], ttm:TestCase ; skos:definition "See AcceptanceTestAsset above for more details." ; @@ -66,56 +66,56 @@ ttm:TestRunSession a owl:Class, linkml:ClassDefinition ; rdfs:label "TestRunSession" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ttm:TestEnvEnum ; - owl:onProperty ttm:test_env ], - [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:timestamp ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty ttm:test_run_parameters ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TestCaseResult ; + owl:onProperty ttm:test_case_results ], [ a owl:Restriction ; owl:allValuesFrom ttm:ComponentEnum ; owl:onProperty ttm:components ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:test_case_results ], + owl:maxCardinality 1 ; + owl:onProperty ttm:test_runner_name ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestCaseResult ; + owl:allValuesFrom ttm:TestEntity ; + owl:onProperty ttm:test_entities ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty ttm:test_case_results ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:test_run_parameters ], + owl:minCardinality 0 ; + owl:onProperty ttm:timestamp ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:timestamp ], + owl:onProperty ttm:test_run_parameters ], [ a owl:Restriction ; owl:allValuesFrom linkml:Datetime ; owl:onProperty ttm:timestamp ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:test_runner_name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom ttm:TestEnvEnum ; 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 ], + owl:maxCardinality 1 ; + owl:onProperty ttm:timestamp ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:test_env ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:components ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:test_runner_name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:test_env ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:test_runner_name ], @@ -184,15 +184,6 @@ ttm:AcceptanceTestAsset a owl:Class, linkml:ClassDefinition ; rdfs:label "AcceptanceTestAsset" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Date ; - owl:onProperty ttm:must_pass_date ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:notes ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:ExpectedResultsEnum ; - owl:onProperty ttm:expected_result ], - [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty ttm:scientific_question ], [ a owl:Restriction ; @@ -201,78 +192,87 @@ ttm:AcceptanceTestAsset a owl:Class, [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:query_node ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:answer_informal_concept ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:answer_informal_concept ], [ a owl:Restriction ; - owl:allValuesFrom ttm:NodeEnum ; - owl:onProperty ttm:query_node ], + owl:allValuesFrom ttm:TestEnvEnum ; + owl:onProperty ttm:must_pass_environment ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:scientific_question ], + owl:onProperty ttm:answer_informal_concept ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty ttm:top_level ], + owl:allValuesFrom linkml:Date ; + owl:onProperty ttm:must_pass_date ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:must_pass_environment ], + owl:onProperty ttm:notes ], [ 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 ], + owl:onProperty ttm:must_pass_environment ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty ttm:scientific_question ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:notes ], + owl:onProperty ttm:expected_result ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:string_entry ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:string_entry ], + owl:onProperty ttm:top_level ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:query_node ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty ttm:must_pass_date ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty ttm:direction ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestEnvEnum ; + owl:minCardinality 0 ; owl:onProperty ttm:must_pass_environment ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:must_pass_date ], + owl:allValuesFrom ttm:NodeEnum ; + owl:onProperty ttm:query_node ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:must_pass_environment ], + owl:onProperty ttm:notes ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:scientific_question ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:must_pass_date ], + owl:onProperty ttm:string_entry ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:expected_result ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:answer_informal_concept ], + owl:onProperty ttm:notes ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:direction ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:ExpectedResultsEnum ; + owl:onProperty ttm:expected_result ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:must_pass_date ], [ a owl:Restriction ; owl:allValuesFrom ttm:DirectionEnum ; owl:onProperty ttm:direction ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty ttm:top_level ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:answer_informal_concept ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:expected_result ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:string_entry ], ttm:TestAsset ; skos:definition "Model derived from Jenn's test asset design and Shervin's runner JSON here as an example." ; skos:inScheme . @@ -289,17 +289,17 @@ ttm:TestOutput a owl:Class, 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:allValuesFrom ttm:TestResultPKSet ; + owl:minCardinality 0 ; owl:onProperty ttm:pks ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:test_case_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom ttm:TestResultPKSet ; owl:onProperty ttm:pks ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:test_case_id ], ttm:TestEntity ; skos:definition "The output of a TestRunner run of one specific TestCase." ; skos:inScheme . @@ -400,31 +400,31 @@ ttm:TestCaseResult a owl:Class, linkml:ClassDefinition ; rdfs:label "TestCaseResult" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ttm:TestCase ; - owl:onProperty ttm:test_case ], - [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty ttm:test_suite_id ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TestCaseResultEnum ; owl:onProperty ttm:test_case_result ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_suite_id ], + owl:onProperty ttm:test_case_result ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; 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:maxCardinality 1 ; owl:onProperty ttm:test_case_result ], [ a owl:Restriction ; 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:maxCardinality 1 ; + owl:allValuesFrom ttm:TestCase ; + owl:onProperty ttm:test_case ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty ttm:test_case ], ttm:TestEntity ; skos:definition "The outcome of a TestRunner run of one specific TestCase." ; @@ -453,18 +453,18 @@ ttm:TestEntityParameter a owl:Class, owl:onProperty ttm:value ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:value ], + owl:onProperty ttm:parameter ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty ttm:parameter ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:parameter ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:parameter ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; + owl:onProperty ttm:value ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty ttm:value ] ; skos:definition "A single 'tag = value' pair (where 'value' is a simple string)." ; skos:inScheme . @@ -568,68 +568,68 @@ ttm:TestResultPKSet a owl:Class, linkml:ClassDefinition ; rdfs:label "TestResultPKSet" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:arax ], - [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:aragorn ], + owl:onProperty ttm:merged_pk ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:merged_pk ], + owl:onProperty ttm:parent_pk ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:unsecret ], + owl:onProperty ttm:bte ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:parent_pk ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:aragorn ], + owl:onProperty ttm:bte ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:merged_pk ], + owl:onProperty ttm:aragorn ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty ttm:improving ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty ttm:unsecret ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:improving ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:merged_pk ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; + owl:onProperty ttm:arax ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty ttm:parent_pk ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:bte ], + owl:onProperty ttm:unsecret ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:improving ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:bte ], + owl:onProperty ttm:merged_pk ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty ttm:aragorn ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:bte ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:improving ], + owl:onProperty ttm:aragorn ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:unsecret ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:improving ], + owl:onProperty ttm:bte ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:arax ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:parent_pk ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:improving ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:arax ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:parent_pk ], + owl:onProperty ttm:unsecret ], ttm:TestEntity ; skos:definition "Primary keys for a given ARA result set from a SmokeTest result for a given TestCase." ; skos:inScheme . @@ -669,13 +669,10 @@ ttm:TestSuiteSpecification a owl:Class, linkml:ClassDefinition ; rdfs:label "TestSuiteSpecification" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty ttm:test_data_file_format ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty ttm:test_data_file_locator ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom ttm:FileFormatEnum ; owl:onProperty ttm:test_data_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; @@ -684,7 +681,10 @@ ttm:TestSuiteSpecification a owl:Class, owl:maxCardinality 1 ; owl:onProperty ttm:test_data_file_locator ], [ a owl:Restriction ; - owl:allValuesFrom ttm:FileFormatEnum ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:test_data_file_locator ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; 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." ; @@ -857,9 +857,6 @@ ttm:Qualifier a owl:Class, linkml:ClassDefinition ; rdfs:label "Qualifier" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:parameter ], - [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:parameter ], [ a owl:Restriction ; @@ -871,229 +868,54 @@ ttm:Qualifier a owl:Class, [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty ttm:value ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:parameter ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:parameter ], ttm:TestEntityParameter ; skos:inScheme . -ttm:TestAsset a owl:Class, +ttm:TestMetadata a owl:Class, linkml:ClassDefinition ; - rdfs:label "TestAsset" ; + rdfs:label "TestMetadata" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:semantic_severity ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:output_id ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:test_reference ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:tags ], + owl:minCardinality 0 ; + owl:onProperty ttm:test_annotations ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestMetadata ; - owl:onProperty ttm:test_metadata ], + owl:minCardinality 0 ; + owl:onProperty ttm:test_reference ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:association ], + owl:onProperty ttm:test_objective ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:well_known ], + owl:allValuesFrom ttm:TestSourceEnum ; + owl:onProperty ttm:test_source ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:input_category ], - [ a owl:Restriction ; - owl:allValuesFrom ttm:Qualifier ; - owl:onProperty ttm:qualifiers ], + owl:onProperty ttm:test_objective ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:id ], + owl:onProperty ttm:test_source ], [ 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: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: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:predicate_id ], + owl:onProperty ttm:test_annotations ], [ a owl:Restriction ; 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: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 ], + owl:onProperty ttm:test_annotations ], [ 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 . @@ -1107,38 +929,38 @@ ttm:TestSuite a owl:Class, linkml:ClassDefinition ; rdfs:label "TestSuite" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ttm:TestSuiteSpecification ; - owl:onProperty ttm:test_suite_specification ], + owl:allValuesFrom ttm:TestMetadata ; + owl:onProperty ttm:test_metadata ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:test_metadata ], + owl:onProperty ttm:test_suite_specification ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_metadata ], + owl:onProperty ttm:test_persona ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:test_cases ], + owl:maxCardinality 1 ; + owl:onProperty ttm:test_persona ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestMetadata ; + owl:maxCardinality 1 ; owl:onProperty ttm:test_metadata ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestCase ; - owl:onProperty ttm:test_cases ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:test_suite_specification ], + owl:minCardinality 0 ; + owl:onProperty ttm:test_metadata ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_suite_specification ], + owl:onProperty ttm:test_cases ], [ a owl:Restriction ; owl:allValuesFrom ttm:TestPersonaEnum ; owl:onProperty ttm:test_persona ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_persona ], + owl:onProperty ttm:test_suite_specification ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:test_persona ], + owl:allValuesFrom ttm:TestCase ; + owl:onProperty ttm:test_cases ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TestSuiteSpecification ; + owl:onProperty ttm:test_suite_specification ], ttm:TestEntity ; skos:definition "Specification of a set of Test Cases, one of either with a static list of 'test_cases' or a dynamic 'test_suite_specification' slot values. Note: at least one slot or the other, but generally not both(?) needs to be present." ; skos:inScheme . @@ -1496,176 +1318,354 @@ ttm:QueryTypeEnum a owl:Class, linkml:EnumDefinition ; linkml:permissible_values . -ttm:components a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "components" ; - rdfs:range ttm:ComponentEnum ; - skos:definition "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." ; - skos:inScheme . - -ttm:qualifiers a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "qualifiers" ; - rdfs:range ttm:Qualifier ; - skos:definition "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." ; - skos:inScheme . - -ttm:test_assets a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "test_assets" ; - rdfs:range ttm:TestAsset ; - skos:definition "List of explicitly enumerated Test Assets. The class attributes of TestAsset would be included in the TestCase versus being referred to by the identifier (curie) of the TestAsset. That is, this would be a list of objects (in JSONSchema serialization) versus a list of strings (where each string is an identifier pointing to another class)." ; - skos:inScheme . - -ttm:test_runner_settings a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "test_runner_settings" ; - rdfs:range linkml:String ; - skos:altLabel "Settings" ; - skos:definition "Scalar parameters for the TestRunner processing a given TestEntity." ; - skos:inScheme . - -ttm:DirectionEnum a owl:Class, - linkml:EnumDefinition ; - owl:unionOf ( ) ; - linkml:permissible_values , - . - -ttm:ExpectedResultsEnum a owl:Class, - linkml:EnumDefinition ; - owl:unionOf ( ) ; - linkml:permissible_values , - . - -ttm:NodeEnum a owl:Class, - linkml:EnumDefinition ; - owl:unionOf ( ) ; - linkml:permissible_values , - . - -ttm:TestCase a owl:Class, +ttm:TestAsset a owl:Class, linkml:ClassDefinition ; - rdfs:label "TestCase" ; + rdfs:label "TestAsset" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:input_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:test_metadata ], + [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:components ], + owl:onProperty ttm:output_category ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:association_category ; + owl:onProperty ttm:association ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:test_env ], + owl:onProperty ttm:input_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:query_type ], + owl:onProperty ttm:test_runner_settings ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_case_predicate_name ], + owl:onProperty ttm:association ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:output_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:input_name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:input_category ], + 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:input_name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:output_name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:well_known ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:test_case_source ], + owl:onProperty ttm:in_v1 ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty ttm:test_assets ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:qualifiers ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ttm:tags ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:predicate_name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:association ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty ttm:id ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:predicate_type ; + owl:onProperty ttm:predicate_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:preconditions ], + owl:onProperty ttm:semantic_severity ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:test_case_predicate_name ], + owl:onProperty ttm:test_runner_settings ], [ a owl:Restriction ; - owl:allValuesFrom owl:Thing ; - owl:onProperty ttm:test_assets ], + owl:maxCardinality 1 ; + owl:onProperty ttm:test_reference ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:test_reference ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:test_case_predicate_name ], + 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:expected_output ], + [ 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:maxCardinality 1 ; + owl:onProperty ttm:predicate_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:output_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:output_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:input_category ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:well_known ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + 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_issue ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:predicate_name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:predicate_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:in_v1 ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:output_category ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:test_issue ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:semantic_severity ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TestMetadata ; + owl:onProperty ttm:test_metadata ], [ a owl:Restriction ; owl:allValuesFrom ttm:Qualifier ; owl:onProperty ttm:qualifiers ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:expected_output ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:qualifiers ], + owl:onProperty ttm:output_id ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:SemanticSeverityEnum ; + owl:onProperty ttm:semantic_severity ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_env ], + owl:onProperty ttm:test_metadata ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:tags ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:input_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:output_name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_case_objective ], + owl:onProperty ttm:input_id ], [ a owl:Restriction ; + owl:allValuesFrom ttm:concept_category ; + owl:onProperty ttm:input_category ], + 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" ; + rdfs:range ttm:ComponentEnum ; + skos:definition "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." ; + skos:inScheme . + +ttm:qualifiers a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "qualifiers" ; + rdfs:range ttm:Qualifier ; + skos:definition "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." ; + skos:inScheme . + +ttm:test_assets a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "test_assets" ; + rdfs:range ttm:TestAsset ; + skos:definition "List of explicitly enumerated Test Assets. The class attributes of TestAsset would be included in the TestCase versus being referred to by the identifier (curie) of the TestAsset. That is, this would be a list of objects (in JSONSchema serialization) versus a list of strings (where each string is an identifier pointing to another class)." ; + skos:inScheme . + +ttm:test_runner_settings a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "test_runner_settings" ; + rdfs:range linkml:String ; + skos:altLabel "Settings" ; + skos:definition "Scalar parameters for the TestRunner processing a given TestEntity." ; + skos:inScheme . + +ttm:DirectionEnum a owl:Class, + linkml:EnumDefinition ; + owl:unionOf ( ) ; + linkml:permissible_values , + . + +ttm:ExpectedResultsEnum a owl:Class, + linkml:EnumDefinition ; + owl:unionOf ( ) ; + linkml:permissible_values , + . + +ttm:NodeEnum a owl:Class, + linkml:EnumDefinition ; + owl:unionOf ( ) ; + linkml:permissible_values , + . + +ttm:TestCase a owl:Class, + linkml:ClassDefinition ; + rdfs:label "TestCase" ; + rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_case_source ], + owl:onProperty ttm:test_case_predicate_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:trapi_template ], + owl:allValuesFrom ttm:Precondition ; + owl:onProperty ttm:preconditions ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom ttm:concept_category ; owl:onProperty ttm:input_category ], [ a owl:Restriction ; owl:allValuesFrom ttm:QueryTypeEnum ; owl:onProperty ttm:query_type ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:qualifiers ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty ttm:tags ], [ a owl:Restriction ; - owl:allValuesFrom ttm:Precondition ; - owl:onProperty ttm:preconditions ], + owl:maxCardinality 1 ; + owl:onProperty ttm:test_env ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:query_type ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:output_category ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:test_case_input_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:output_category ], [ a owl:Restriction ; owl:allValuesFrom ttm:TrapiTemplateEnum ; owl:onProperty ttm:trapi_template ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestObjectiveEnum ; - owl:onProperty ttm:test_case_objective ], + owl:maxCardinality 1 ; + owl:onProperty ttm:trapi_template ], [ a owl:Restriction ; - owl:allValuesFrom ttm:concept_category ; - owl:onProperty ttm:input_category ], + owl:minCardinality 0 ; + owl:onProperty ttm:query_type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:test_case_predicate_id ], + owl:allValuesFrom ttm:TestEnvEnum ; + owl:onProperty ttm:test_env ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:concept_category ; + owl:onProperty ttm:output_category ], [ a owl:Restriction ; owl:allValuesFrom ttm:ComponentEnum ; owl:onProperty ttm:components ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty ttm:query_type ], + owl:onProperty ttm:test_case_source ], [ a owl:Restriction ; - owl:allValuesFrom ttm:TestEnvEnum ; + owl:maxCardinality 1 ; + owl:onProperty ttm:input_category ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty ttm:test_env ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:test_case_objective ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:test_case_predicate_id ], + owl:minCardinality 0 ; + owl:onProperty ttm:input_category ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:Qualifier ; + owl:onProperty ttm:qualifiers ], [ a owl:Restriction ; owl:allValuesFrom ttm:TestSourceEnum ; owl:onProperty ttm:test_case_source ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty ttm:test_case_input_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:trapi_template ], + owl:onProperty ttm:test_case_source ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:output_category ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:test_case_predicate_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:test_case_input_id ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:test_case_predicate_name ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TestObjectiveEnum ; + owl:onProperty ttm:test_case_objective ], + [ a owl:Restriction ; + owl:allValuesFrom ttm:TestAsset ; + owl:onProperty ttm:test_assets ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:output_category ], + owl:onProperty ttm:test_case_predicate_name ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty ttm:tags ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:components ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty ttm:test_case_predicate_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; + owl:minCardinality 0 ; + owl:onProperty ttm:test_case_objective ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ttm:test_case_predicate_name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:trapi_template ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty ttm:test_assets ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty ttm:test_case_input_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ttm:preconditions ], 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 . @@ -1777,44 +1777,44 @@ ttm:TestEntity a owl:Class, linkml:ClassDefinition ; rdfs:label "TestEntity" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:tags ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:description ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:description ], + owl:onProperty ttm:test_runner_settings ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ttm:tags ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty ttm:id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; + owl:onProperty ttm:name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty ttm:description ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty ttm:id ], + owl:maxCardinality 1 ; + owl:onProperty ttm:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:test_runner_settings ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty ttm:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty ttm:test_runner_settings ], + owl:onProperty ttm:description ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty ttm:id ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ttm:name ], + owl:minCardinality 1 ; + owl:onProperty ttm:id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ttm:description ], + owl:allValuesFrom linkml:String ; + owl:onProperty ttm:test_runner_settings ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ttm:name ], + owl:onProperty ttm:tags ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty ttm:id ] ; + owl:minCardinality 0 ; + owl:onProperty ttm:tags ] ; skos:definition "Abstract global 'identification' class shared as a parent with all major model classes within the data model for Translator testing." ; skos:inScheme . diff --git a/project/shacl/translator_testing_model.shacl.ttl b/project/shacl/translator_testing_model.shacl.ttl index 61811b3..1367836 100644 --- a/project/shacl/translator_testing_model.shacl.ttl +++ b/project/shacl/translator_testing_model.shacl.ttl @@ -10,139 +10,139 @@ ttm:AcceptanceTestCase a sh:NodeShape ; sh:description "See AcceptanceTestAsset above for more details." ; 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 16 ; - sh:path schema1:description ], - [ 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 "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:order 6 ; + sh:path ttm:test_case_predicate_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 7 ; - sh:path ttm:test_case_predicate_id ], + sh:order 3 ; + sh:path ttm:trapi_template ], + [ sh:class ttm:Precondition ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path ttm:preconditions ], + [ 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: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: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 11 ; sh:path ttm:output_category ], - [ sh:maxCount 1 ; - sh:order 10 ; - sh:path ttm:input_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 "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:datatype xsd:string ; sh:maxCount 1 ; - sh:order 6 ; - sh:path ttm:test_case_predicate_name ], + sh:order 7 ; + sh:path ttm:test_case_predicate_id ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; sh:order 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:description "A unique identifier for a Test Entity" ; 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:minCount 1 ; + sh:order 14 ; + sh:path schema1:identifier ], + [ 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 "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 "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 "A human-readable description for a Test Entity" ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path schema1:description ], [ 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: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: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 "Scalar parameters for the TestRunner processing a given TestEntity." ; + sh:order 18 ; + sh:path ttm:test_runner_settings ] ; sh:targetClass ttm:AcceptanceTestCase . ttm:AcceptanceTestSuite a sh:NodeShape ; sh:closed true ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class ttm:TestMetadata ; - sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; + sh:property [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path ttm:test_metadata ], + 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 "A human-readable name for a Test Entity" ; sh:maxCount 1 ; sh:order 5 ; sh:path schema1:name ], - [ sh:description "A Test persona describes the user or operational context of a given test." ; - sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; - sh: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:description "A human-readable description for a Test Entity" ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path schema1:description ], [ sh:class ttm:TestSuiteSpecification ; sh:description "Declarative specification of a Test Suite of Test Cases whose generation is deferred, (i.e. within a Test Runner) or whose creation is achieved by stream processing of an external data source." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 3 ; sh:path ttm:test_suite_specification ], - [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; + [ 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 schema1:description ] ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path ttm:test_metadata ], + [ sh:description "A Test persona describes the user or operational context of a given test." ; + sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path ttm:test_persona ], + [ sh:class ttm:TestCase ; + sh:description "List of explicitly enumerated Test Cases." ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path ttm:test_cases ] ; sh:targetClass ttm:AcceptanceTestSuite . ttm:BenchmarkTestSuite a sh:NodeShape ; @@ -155,17 +155,11 @@ 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: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:property [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path ttm:test_suite_specification ], + sh:order 6 ; + sh:path schema1:description ], [ sh:class ttm:TestMetadata ; sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; sh:maxCount 1 ; @@ -173,44 +167,64 @@ ttm:OneHopTestSuite a sh:NodeShape ; sh:order 0 ; sh:path ttm:test_metadata ], [ 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 7 ; + sh:path schema1:additionalType ], + [ sh:class ttm:TestSuiteSpecification ; + sh:description "Declarative specification of a Test Suite of Test Cases whose generation is deferred, (i.e. within a Test Runner) or whose creation is achieved by stream processing of an external data source." ; sh:maxCount 1 ; - sh:order 5 ; - sh:path schema1:name ], - [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; + sh:nodeKind sh:IRI ; + sh:order 3 ; + sh:path ttm:test_suite_specification ], + [ 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 "Scalar parameters for the TestRunner processing a given TestEntity." ; - sh:order 8 ; - sh:path ttm:test_runner_settings ], + sh:minCount 1 ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:description "A Test persona describes the user or operational context of a given test." ; sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; sh:maxCount 1 ; sh:order 1 ; sh:path ttm:test_persona ], + [ sh:class ttm:TestCase ; + sh:description "List of explicitly enumerated Test Cases." ; + sh:nodeKind sh:IRI ; + 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:description "A unique identifier for a Test Entity" ; + 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:minCount 1 ; - sh:order 4 ; - sh:path schema1:identifier ] ; + sh:order 5 ; + sh:path schema1:name ] ; sh:targetClass ttm:OneHopTestSuite . ttm:QuantitativeTestCase a sh:NodeShape ; sh:closed true ; sh:description "Assumed additional model from Shervin's runner JSON here as an example. This schema is not yet complete." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh: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:property [ sh:description "Type of TestCase query." ; + sh:in ( "treats" ) ; sh:maxCount 1 ; - sh:order 5 ; - sh:path ttm:test_case_source ], + sh:order 0 ; + sh:path ttm:query_type ], + [ sh:class ttm:TestAsset ; + sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in 'test_assets' slot (\"Block List\") collection." ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 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: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 ; @@ -218,43 +232,21 @@ ttm:QuantitativeTestCase a sh:NodeShape ; sh:path schema1:description ], [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 6 ; - sh:path ttm:test_case_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:order 7 ; + sh:path ttm:test_case_predicate_id ], [ 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: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: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: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:order 6 ; + sh:path ttm:test_case_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:BlankNodeOrIRI ; + sh:order 9 ; + sh:path ttm:qualifiers ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -263,10 +255,23 @@ ttm:QuantitativeTestCase a sh:NodeShape ; [ sh:maxCount 1 ; sh:order 11 ; sh:path ttm:output_category ], + [ 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:datatype xsd:string ; + sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ; + sh:order 18 ; + 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 7 ; - sh:path ttm:test_case_predicate_id ], + sh:order 15 ; + sh:path schema1:name ], + [ sh:maxCount 1 ; + sh:order 10 ; + sh:path ttm:input_category ], [ 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 ; @@ -275,48 +280,51 @@ ttm:QuantitativeTestCase a sh:NodeShape ; sh:nodeKind sh:IRI ; 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 name for a Test Entity" ; + [ sh:description "Deployment environment within which the associated TestSuite is run." ; + sh:in ( "dev" "ci" "test" "prod" ) ; sh:maxCount 1 ; - sh:order 15 ; - sh:path schema1:name ] ; + sh:order 13 ; + sh:path ttm:test_env ] ; 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: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 0 ; - sh:path ttm:test_metadata ], + sh:property [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 7 ; + sh:path schema1:additionalType ], [ sh: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: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: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 0 ; + sh:path ttm:test_metadata ], + [ sh:class ttm:TestCase ; + sh:description "List of explicitly enumerated Test Cases." ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path ttm:test_cases ], [ sh:description "A Test persona describes the user or operational context of a given test." ; sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; sh:maxCount 1 ; @@ -328,69 +336,50 @@ ttm:StandardsComplianceTestSuite a sh:NodeShape ; 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: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:path schema1:name ] ; 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:maxCount 1 ; - sh:order 0 ; - sh:path ttm:input_id ], - [ sh:maxCount 1 ; - sh:order 7 ; - sh:path ttm:output_category ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path ttm:well_known ], - [ sh:in ( "causes not treats" "TMKP" "category too generic" "contraindications" "chemical roles" "test_issue" ) ; + 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:datatype xsd:string ; sh:maxCount 1 ; - sh:order 11 ; - sh:path ttm:test_issue ], + sh:order 4 ; + sh:path ttm:predicate_name ], [ 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:description "Document URL where original test source particulars are registered (e.g. Github repo)" ; + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; - sh:order 15 ; - sh:path ttm:test_reference ], + sh:order 13 ; + sh:path ttm:in_v1 ], + [ sh:datatype xsd:string ; + sh:description "One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a \"Block List\" collection" ; + sh:order 20 ; + sh:path schema1:additionalType ], [ sh:maxCount 1 ; - sh:order 2 ; - sh:path ttm:input_category ], + sh:order 5 ; + sh:path ttm:output_id ], [ 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:maxCount 1 ; - 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 ; - sh:order 18 ; - sh:path schema1:name ], + [ sh:maxCount 1 ; + sh:order 2 ; + sh:path ttm:input_category ], [ sh:class ttm:TestMetadata ; sh:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; sh:maxCount 1 ; @@ -398,13 +387,32 @@ ttm:TestEdgeData a sh:NodeShape ; sh:order 16 ; sh:path ttm:test_metadata ], [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 4 ; - sh:path ttm:predicate_name ], + sh:order 18 ; + sh:path schema1:name ], + [ sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:input_id ], + [ sh:datatype xsd:string ; + sh:description "Scalar settings for the TestRunner, e.g. \"inferred\"" ; + sh:order 21 ; + 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 8 ; sh:path ttm:association ], + [ sh:maxCount 1 ; + sh:order 7 ; + sh:path ttm:output_category ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path ttm:output_name ], + [ sh:in ( "causes not treats" "TMKP" "category too generic" "contraindications" "chemical roles" "test_issue" ) ; + sh:maxCount 1 ; + sh:order 11 ; + sh:path ttm:test_issue ], [ sh:in ( "High" "Low" "NotApplicable" ) ; sh:maxCount 1 ; sh:order 12 ; @@ -413,29 +421,21 @@ ttm:TestEdgeData a sh:NodeShape ; sh:maxCount 1 ; 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:datatype xsd:boolean ; sh:maxCount 1 ; - sh:order 6 ; - sh:path ttm:output_name ], + sh:order 14 ; + sh:path ttm:well_known ], + [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path ttm:test_reference ], [ sh:datatype xsd:string ; - sh:description "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:order 10 ; + sh:path ttm:expected_output ], + [ sh:maxCount 1 ; + sh:order 3 ; + sh:path ttm:predicate_id ] ; sh:targetClass ttm:TestEdgeData . ttm:TestOutput a sh:NodeShape ; @@ -443,20 +443,6 @@ ttm:TestOutput a sh:NodeShape ; sh:description "The output of a TestRunner run of one specific TestCase." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable 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 "CURIE id of a TestCase registered in the system." ; sh:maxCount 1 ; sh:order 0 ; @@ -465,16 +451,30 @@ ttm:TestOutput a sh:NodeShape ; 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 name for a Test Entity" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path schema1:name ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 2 ; sh:path schema1:identifier ], [ 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 5 ; + sh:path schema1:additionalType ], + [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path schema1:name ] ; + sh:order 4 ; + sh:path schema1:description ], + [ 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:targetClass ttm:TestOutput . ttm:TestRunSession a sh:NodeShape ; @@ -482,57 +482,57 @@ ttm:TestRunSession a sh:NodeShape ; 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:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - 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 "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 "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 0 ; sh:path ttm:components ], - [ 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:string ; + sh:description "A human-readable description for a Test Entity" ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path schema1:description ], [ 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 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 "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: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:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; 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: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 1 ; - sh:path ttm:test_env ], + sh:order 2 ; + sh:path ttm:test_runner_name ], [ sh:datatype xsd:string ; - sh:description "A human-readable description for a Test Entity" ; + 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:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 9 ; - sh:path schema1:description ], + sh:order 8 ; + sh:path schema1:name ], [ 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 ; @@ -545,130 +545,130 @@ ttm:TestSuite a sh:NodeShape ; sh:description "Specification of a set of Test Cases, one of either with a static list of 'test_cases' or a dynamic 'test_suite_specification' slot values. Note: at least one slot or the other, but generally not both(?) needs to be present." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; - sh:maxCount 1 ; - sh:order 5 ; - sh:path schema1:name ], - [ sh:class ttm:TestSuiteSpecification ; - sh:description "Declarative specification of a Test Suite of Test Cases whose generation is deferred, (i.e. within a Test Runner) or whose creation is achieved by stream processing of an external data source." ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path ttm:test_suite_specification ], - [ sh: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: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:description "Test metadata describes the external provenance, cross-references and objectives for a given test." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path ttm:test_metadata ], - [ 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: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: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 "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:description "A Test persona describes the user or operational context of a given test." ; + sh:in ( "All" "Clinical" "LookUp" "Mechanistic" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path ttm:test_persona ], + [ sh:class ttm: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 2 ; - sh:path ttm:test_cases ] ; + sh:order 3 ; + sh:path ttm:test_suite_specification ], + [ 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: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:boolean ; + sh:property [ sh:maxCount 1 ; + sh:order 10 ; + sh:path ttm:input_id ], + [ sh:description "The direction of the expected query result triple" ; + sh:in ( "increased" "decreased" ) ; sh:maxCount 1 ; - sh:order 24 ; - sh:path ttm:well_known ], + sh:order 4 ; + sh:path ttm:direction ], [ 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 18 ; - sh:path ttm:association ], + 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:maxCount 1 ; + sh:order 12 ; + sh:path ttm:input_category ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path ttm:output_name ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:order 23 ; + sh:path ttm:in_v1 ], [ 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: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 19 ; + sh:path ttm:qualifiers ], [ sh:maxCount 1 ; sh:order 13 ; sh:path ttm:predicate_id ], [ sh:datatype xsd:string ; - sh:description "A human-readable name for a Test Entity" ; + sh:description "Scalar settings for the TestRunner, e.g. \"inferred\"" ; + sh:order 31 ; + sh:path ttm:test_runner_settings ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 28 ; - sh:path schema1:name ], + sh:order 20 ; + sh:path ttm:expected_output ], + [ sh:maxCount 1 ; + sh:order 15 ; + sh:path ttm:output_id ], + [ sh:description "The expected result of the query" ; + sh:in ( "include_good" "exclude_bad" ) ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path ttm:expected_result ], [ sh:datatype xsd:integer ; sh:description "The answer must return in these many results" ; sh:maxCount 1 ; sh:order 7 ; sh:path ttm:top_level ], - [ sh:in ( "High" "Low" "NotApplicable" ) ; + [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; - sh:order 22 ; - sh:path ttm:semantic_severity ], - [ sh:maxCount 1 ; - sh:order 10 ; - sh:path ttm:input_id ], - [ sh:maxCount 1 ; - sh:order 15 ; - sh:path ttm:output_id ], + sh:minCount 1 ; + sh:order 27 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 11 ; - sh:path ttm:input_name ], - [ sh:datatype xsd:date ; - sh:description "The date by which this test must pass" ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:must_pass_date ], + 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: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 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: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 6 ; - sh:path ttm:expected_result ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:order 23 ; - sh:path ttm:in_v1 ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path ttm:output_name ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:order 14 ; @@ -680,45 +680,18 @@ ttm:AcceptanceTestAsset a sh:NodeShape ; sh:order 26 ; sh:path ttm:test_metadata ], [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - 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 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:BlankNode ; - sh:order 19 ; - sh:path ttm:qualifiers ], + sh:order 28 ; + sh:path schema1:name ], [ sh:datatype xsd:string ; sh:description "An answer that is returned from the test case, note: this must be combined with the expected_result to form a complete answer. It might make sense to couple these in their own object instead of strictly sticking to the flat schema introduced by the spreadsheet here: https://docs.google.com/spreadsheets/d/1yj7zIchFeVl1OHqL_kE_pqvzNLmGml_FLbHDs-8Yvig/edit#gid=0" ; sh:maxCount 1 ; sh:order 5 ; sh:path ttm:answer_informal_concept ], [ sh:maxCount 1 ; - sh:order 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: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 3 ; - sh:path ttm:string_entry ], + sh:order 17 ; + sh:path ttm:output_category ], [ sh:datatype xsd:string ; sh:description "The notes of the query" ; sh:maxCount 1 ; @@ -729,55 +702,82 @@ ttm:AcceptanceTestAsset a sh:NodeShape ; 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:datatype xsd:boolean ; sh:maxCount 1 ; - sh:order 4 ; - sh:path ttm:direction ] ; + sh:order 24 ; + sh:path ttm:well_known ], + [ sh:description "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement" ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path ttm:association ], + [ sh:description "The node of the (templated) TRAPI query to replace" ; + sh:in ( "subject" "object" ) ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path ttm:query_node ], + [ sh:datatype xsd:string ; + sh:description "The object of the core triple to be tested" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ttm:string_entry ], + [ sh:description "The deployment environment within which this test must pass." ; + sh:in ( "dev" "ci" "test" "prod" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path ttm:must_pass_environment ], + [ sh:in ( "High" "Low" "NotApplicable" ) ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path ttm:semantic_severity ], + [ sh:datatype xsd:date ; + sh:description "The date by which this test must pass" ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:must_pass_date ] ; 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: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:property [ 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:description "Encoded result of a single test run of a given test case" ; + sh:in ( "PASSED" "FAILED" "SKIPPED" ) ; sh:maxCount 1 ; - sh:order 5 ; - sh:path schema1:description ], + sh:order 2 ; + sh:path ttm:test_case_result ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; sh:order 4 ; sh:path schema1:name ], + [ sh: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:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path schema1:description ], [ 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 "A unique identifier for a Test Entity" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 3 ; + sh:path schema1:identifier ], [ sh:description "CURIE id of a TestSuite registered in the system." ; sh:maxCount 1 ; sh:order 0 ; - sh:path ttm:test_suite_id ], - [ sh:description "Encoded result of a single test run of a given test case" ; - sh:in ( "PASSED" "FAILED" "SKIPPED" ) ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path ttm:test_case_result ] ; + sh:path ttm:test_suite_id ] ; sh:targetClass ttm:TestCaseResult . ttm:TestEntity a sh:NodeShape ; @@ -785,27 +785,27 @@ ttm:TestEntity a sh:NodeShape ; sh:description "Abstract global 'identification' class shared as a parent with all major model classes within the data model for Translator testing." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; + sh:description "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 name for a Test Entity" ; sh:maxCount 1 ; sh:order 1 ; sh:path schema1:name ], + [ sh:description "A unique identifier for a Test Entity" ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; sh:order 2 ; sh:path schema1:description ], - [ 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 tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; sh:order 3 ; - sh:path schema1:additionalType ], - [ sh:description "A unique identifier for a Test Entity" ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path schema1:identifier ] ; + sh:path schema1:additionalType ] ; sh:targetClass ttm:TestEntity . ttm:TestResultPKSet a sh:NodeShape ; @@ -813,31 +813,47 @@ 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 ], [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:parent_pk ], + sh:order 9 ; + 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 10 ; + sh:path schema1:additionalType ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ttm:arax ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:order 6 ; sh:path ttm:improving ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:parent_pk ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path ttm:aragorn ], [ 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 description for a Test Entity" ; + 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 9 ; - sh:path schema1:description ], + sh:order 4 ; + sh:path ttm:unsecret ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; @@ -846,118 +862,102 @@ ttm:TestResultPKSet a sh:NodeShape ; [ sh:datatype xsd:string ; sh:maxCount 1 ; 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:maxCount 1 ; - sh:order 2 ; - sh:path ttm:aragorn ], - [ sh:datatype xsd:string ; - sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; - sh:order 10 ; - sh:path schema1:additionalType ], - [ sh:datatype xsd:string ; - sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ; - sh:order 11 ; - sh:path ttm:test_runner_settings ] ; + sh:path ttm:bte ] ; 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:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; - sh:order 14 ; - sh:path ttm:well_known ], - [ sh:datatype xsd:string ; - 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:order 18 ; + 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:nodeKind sh:IRI ; + sh:order 16 ; + sh:path ttm:test_metadata ], + [ sh:maxCount 1 ; + sh:order 2 ; + sh:path ttm:input_category ], + [ sh:description "Document URL where original test source particulars are registered (e.g. Github repo)" ; sh:maxCount 1 ; - sh:order 12 ; - sh:path ttm:semantic_severity ], + sh:order 15 ; + sh:path ttm:test_reference ], [ sh:maxCount 1 ; sh:order 0 ; sh:path ttm:input_id ], - [ sh:datatype xsd:string ; + [ sh:in ( "causes not treats" "TMKP" "category too generic" "contraindications" "chemical roles" "test_issue" ) ; sh:maxCount 1 ; - sh:order 10 ; - sh:path ttm:expected_output ], + sh:order 11 ; + sh:path ttm:test_issue ], [ 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:order 6 ; + sh:path ttm:output_name ], [ sh:description "Specific Biolink Model association 'category' which applies to the test asset defined knowledge statement" ; sh:maxCount 1 ; sh:order 8 ; sh:path ttm:association ], + [ sh:maxCount 1 ; + sh:order 3 ; + sh:path ttm:predicate_id ], [ 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:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path ttm:in_v1 ], + [ sh:datatype xsd:string ; + sh:description "Scalar settings for the TestRunner, e.g. \"inferred\"" ; + sh:order 21 ; + sh:path ttm:test_runner_settings ], [ sh:description "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 17 ; 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 1 ; - sh:path ttm:input_name ], - [ sh:maxCount 1 ; - 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:order 4 ; + sh:path ttm:predicate_name ], + [ sh:in ( "High" "Low" "NotApplicable" ) ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 16 ; - sh:path ttm:test_metadata ], + sh:order 12 ; + sh:path ttm:semantic_severity ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path ttm:in_v1 ], [ sh:datatype xsd:string ; sh:maxCount 1 ; - 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:order 1 ; + sh:path ttm:input_name ], + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; - sh:order 15 ; - sh:path ttm:test_reference ], + sh:order 14 ; + sh:path ttm:well_known ], [ 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:datatype xsd:string ; sh:maxCount 1 ; - sh:order 11 ; - sh:path ttm:test_issue ] ; + sh:order 10 ; + sh:path ttm:expected_output ] ; sh:targetClass ttm:TestAsset . ttm:TestEntityParameter a sh:NodeShape ; @@ -980,152 +980,152 @@ ttm:Precondition a sh:NodeShape ; sh:closed true ; sh:description "Represents a precondition for a TestCase" ; sh:ignoredProperties ( rdf:type ) ; - 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:property [ 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 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 "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 "Scalar parameters for the TestRunner processing a given TestEntity." ; - sh:order 4 ; - sh:path ttm:test_runner_settings ] ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 3 ; + sh:path schema1:additionalType ] ; sh:targetClass ttm:Precondition . ttm:TestSuiteSpecification a sh:NodeShape ; sh:closed true ; sh:description "Parameters for a Test Case instances either dynamically generated from some external source of Test Assets." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "File format of test entity data (e.g. TSV, YAML or JSON)" ; - sh:in ( "TSV" "YAML" "JSON" ) ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path ttm:test_data_file_format ], - [ 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 2 ; - sh:path schema1:identifier ], + sh:order 3 ; + sh:path schema1:name ], [ 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 "A unique identifier for a Test Entity" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path schema1:name ], + sh:minCount 1 ; + sh:order 2 ; + 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 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:path ttm:test_data_file_locator ], + [ 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:datatype xsd:string ; + sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ; + sh:order 6 ; + sh:path ttm:test_runner_settings ] ; 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:maxCount 1 ; - sh:order 8 ; - sh:path ttm:test_case_input_id ], - [ sh:class ttm:Qualifier ; + 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:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 9 ; sh:path ttm:qualifiers ], [ sh:datatype xsd:string ; + sh:description "A human-readable description for a Test Entity" ; sh:maxCount 1 ; - 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 "Type of TestCase query." ; - sh:in ( "treats" ) ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path ttm:query_type ], + sh:order 16 ; + sh:path schema1:description ], [ sh:class ttm:Precondition ; sh:nodeKind sh:IRI ; sh:order 2 ; sh:path ttm:preconditions ], [ 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:description "One or more 'tags' slot values (slot inherited from TestEntity) should generally be defined as filters to specify TestAsset membership in a \"Block List\" collection." ; + sh:order 17 ; + sh:path schema1:additionalType ], [ sh:datatype xsd:string ; sh:description "Scalar parameters for the TestRunner processing a given TestEntity." ; sh:order 18 ; sh:path ttm:test_runner_settings ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + 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 "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: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 ; - sh:order 13 ; - sh:path ttm:test_env ], [ 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: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:maxCount 1 ; + sh:order 11 ; + sh:path ttm:output_category ], + [ sh:maxCount 1 ; + sh:order 8 ; + sh:path ttm:test_case_input_id ], [ sh:datatype xsd:string ; 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:order 10 ; + sh:path ttm:input_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 4 ; + sh:path ttm:test_case_objective ], + [ sh:description "Type of TestCase query." ; + sh:in ( "treats" ) ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path ttm:query_type ], + [ 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 "A unique identifier for a Test Entity" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1152,43 +1152,43 @@ 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:class ttm:TestEntityParameter ; - sh:description "Metadata annotation." ; - sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path ttm:test_annotations ], + sh:property [ sh:datatype xsd:string ; + sh:description "A human-readable tags for categorical memberships of a TestEntity (preferably a URI or CURIE). Typically used to aggregate instances of TestEntity into formally typed or ad hoc lists." ; + sh:order 7 ; + sh:path schema1:additionalType ], [ sh: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 "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: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:class ttm:TestEntityParameter ; + sh:description "Metadata annotation." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path ttm:test_annotations ], [ 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 description for a Test Entity" ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path schema1:description ], + [ 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: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:datatype xsd:string ; sh:description "A human-readable name for a Test Entity" ; sh:maxCount 1 ; diff --git a/project/shex/translator_testing_model.shex b/project/shex/translator_testing_model.shex index 33ed2fe..3566b99 100644 --- a/project/shex/translator_testing_model.shex +++ b/project/shex/translator_testing_model.shex @@ -2,6 +2,7 @@ BASE PREFIX rdf: PREFIX xsd: PREFIX linkml: +PREFIX infores: PREFIX schema1: @@ -55,14 +56,20 @@ linkml:Sparqlpath xsd:string ( $ ( & ; rdf:type [ ] ? ; @linkml:Date ? ; - @ ? ; + [ + + + ] ? ; @linkml:String ? ; @linkml:String ? ; - @ ? ; + [ + ] ? ; @linkml:String ? ; - @ ? ; + [ + ] ? ; @linkml:Integer ? ; - @ ? ; + [ + ] ? ; @linkml:String ? ) ; rdf:type [ ] @@ -149,8 +156,15 @@ linkml:Sparqlpath xsd:string @ ? ; @ * ; @linkml:String ? ; - @ ? ; - @ ? ; + [ + + + + + ] ? ; + [ + + ] ? ; @linkml:Boolean ? ; @linkml:Boolean ? ; @linkml:Uriorcurie ? ; @@ -167,20 +181,40 @@ linkml:Sparqlpath xsd:string CLOSED { ( $ ( & ; rdf:type [ ] ? ; - @ ? ; + [ ] ? ; @ + ; @ * ; - @ ? ; - @ ? ; - @ ? ; + [ + + + + ] ? ; + [ + + + + ] ? ; + [ + + + + + + ] ? ; @linkml:String ? ; @linkml:String ? ; @linkml:Uriorcurie ? ; @ * ; @ ? ; @ ? ; - @ * ; - @ ? ; + [ 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 ] * ; + [ + + + ] ? ; schema1:additionalType @linkml:String * ) ; rdf:type [ ] @@ -193,7 +227,9 @@ linkml:Sparqlpath xsd:string rdf:type [ ] ? ; @linkml:Uriorcurie ? ; @ ? ; - @ ? + [ + + ] ? ) ; rdf:type [ ] ) @@ -235,9 +271,19 @@ linkml:Sparqlpath xsd:string CLOSED { ( $ ( & ; rdf:type [ ] ? ; - @ ? ; + [ + + + + + + ] ? ; @linkml:Uriorcurie ? ; - @ ? ; + [ + + + + ] ? ; @ * ) ; rdf:type [ ] @@ -272,8 +318,14 @@ linkml:Sparqlpath xsd:string CLOSED { ( $ ( & ; rdf:type [ ] ? ; - @ * ; - @ ? ; + [ 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:String ? ; @ * ; @ * ; @@ -289,7 +341,10 @@ linkml:Sparqlpath xsd:string ( $ ( & ; rdf:type [ ] ? ; @ ? ; - @ ? ; + [ + + + ] ? ; @ * ; @ ? ) ; @@ -302,7 +357,9 @@ 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 1dd1fbf..2cbfdcd 100644 --- a/project/sqlschema/translator_testing_model.sql +++ b/project/sqlschema/translator_testing_model.sql @@ -1,143 +1,461 @@ +-- # 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 "AcceptanceTestCase" ( +CREATE TABLE "TestMetadata" ( + test_source VARCHAR(18), + test_reference TEXT, + test_objective VARCHAR(23), id TEXT NOT NULL, name TEXT, description TEXT, - 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, +CREATE TABLE "AcceptanceTestCase" ( 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 "TestCase" ( id TEXT NOT NULL, name TEXT, description TEXT, + PRIMARY KEY (id) +); +CREATE TABLE "QuantitativeTestCase" ( 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 "TestEntityParameter" ( - parameter TEXT, - value TEXT, - PRIMARY KEY (parameter, value) -); - -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" ( +CREATE TABLE "TestSuiteSpecification" ( + test_data_file_locator TEXT, + test_data_file_format VARCHAR(4), id TEXT NOT NULL, name TEXT, description TEXT, - test_case_id TEXT, PRIMARY KEY (id) ); - +CREATE TABLE "BenchmarkTestSuite" ( + id INTEGER NOT NULL, + PRIMARY KEY (id) +); 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, + id TEXT NOT NULL, + name TEXT, + description TEXT, PRIMARY KEY (id) ); - -CREATE TABLE "TestSuiteSpecification" ( +CREATE TABLE "TestOutput" ( + test_case_id TEXT, id TEXT NOT NULL, name TEXT, description TEXT, - test_data_file_locator TEXT, - test_data_file_format VARCHAR(4), PRIMARY KEY (id) ); - -CREATE TABLE "AcceptanceTestAsset" ( +CREATE TABLE "TestResultPKSet" ( + parent_pk TEXT, + merged_pk TEXT, + aragorn TEXT, + arax TEXT, + unsecret TEXT, + bte TEXT, + improving TEXT, + id TEXT NOT NULL, 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, + 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" ( id TEXT NOT NULL, + name TEXT, + description TEXT, + "TestRunSession_id" TEXT, + PRIMARY KEY (id), + FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id) +); +CREATE TABLE "AcceptanceTestAsset" ( must_pass_date DATE, must_pass_environment VARCHAR(4), scientific_question TEXT, @@ -148,54 +466,6 @@ 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, @@ -205,35 +475,22 @@ CREATE TABLE "TestAsset" ( 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, - test_suite_id TEXT, - test_case TEXT, - test_case_result VARCHAR(7), - "TestRunSession_id" TEXT, + "AcceptanceTestCase_id" TEXT, + test_metadata_id TEXT, PRIMARY KEY (id), - FOREIGN KEY(test_case) REFERENCES "TestCase" (id), - FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id) + FOREIGN KEY("AcceptanceTestCase_id") REFERENCES "AcceptanceTestCase" (id), + FOREIGN KEY(test_metadata_id) REFERENCES "TestMetadata" (id) ); - CREATE TABLE "TestEdgeData" ( - name TEXT, - description TEXT, input_id TEXT, input_name TEXT, input_category TEXT, @@ -243,317 +500,409 @@ 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, PRIMARY KEY (id), - FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id) + FOREIGN KEY(test_metadata_id) REFERENCES "TestMetadata" (id) ); - -CREATE TABLE "TestResultPKSet" ( +CREATE TABLE "TestSuite" ( + test_persona VARCHAR(11), id TEXT NOT NULL, name TEXT, description TEXT, - parent_pk TEXT, - merged_pk TEXT, - aragorn TEXT, - arax TEXT, - unsecret TEXT, - bte TEXT, - improving TEXT, - "TestOutput_id" TEXT, + test_metadata_id TEXT, + test_suite_specification_id TEXT, PRIMARY KEY (id), - FOREIGN KEY("TestOutput_id") REFERENCES "TestOutput" (id) + FOREIGN KEY(test_metadata_id) REFERENCES "TestMetadata" (id), + FOREIGN KEY(test_suite_specification_id) REFERENCES "TestSuiteSpecification" (id) ); - -CREATE TABLE "TestSuite" ( +CREATE TABLE "AcceptanceTestSuite" ( + test_persona VARCHAR(11), id TEXT NOT NULL, name TEXT, description TEXT, - test_metadata TEXT, - test_persona VARCHAR(11), - test_cases TEXT, - test_suite_specification TEXT, + test_metadata_id TEXT, + test_suite_specification_id TEXT, PRIMARY KEY (id), - FOREIGN KEY(test_metadata) REFERENCES "TestMetadata" (id), - FOREIGN KEY(test_suite_specification) REFERENCES "TestSuiteSpecification" (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 "StandardsComplianceTestSuite" ( + test_persona VARCHAR(11), + id TEXT NOT NULL, + name TEXT, + description TEXT, + test_metadata_id TEXT, + 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_components" ( - backref_id TEXT, - components VARCHAR(13), - PRIMARY KEY (backref_id, components), - FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestCase" (id) +CREATE TABLE "OneHopTestSuite" ( + test_persona VARCHAR(11), + id TEXT NOT NULL, + name TEXT, + description TEXT, + test_metadata_id TEXT, + 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_tags" ( - backref_id TEXT, +CREATE TABLE "TestMetadata_tags" ( + "TestMetadata_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestCase" (id) + PRIMARY KEY ("TestMetadata_id", tags), + FOREIGN KEY("TestMetadata_id") REFERENCES "TestMetadata" (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 "Precondition_tags" ( - backref_id TEXT, + "Precondition_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "Precondition" (id) + PRIMARY KEY ("Precondition_id", tags), + FOREIGN KEY("Precondition_id") REFERENCES "Precondition" (id) ); - CREATE TABLE "Precondition_test_runner_settings" ( - backref_id TEXT, + "Precondition_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "Precondition" (id) + PRIMARY KEY ("Precondition_id", test_runner_settings), + FOREIGN KEY("Precondition_id") REFERENCES "Precondition" (id) ); - -CREATE TABLE "QuantitativeTestCase_test_runner_settings" ( - backref_id TEXT, +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(13), + 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) +); +CREATE TABLE "AcceptanceTestCase_test_runner_settings" ( + "AcceptanceTestCase_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "QuantitativeTestCase" (id) + 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) ); - CREATE TABLE "QuantitativeTestCase_components" ( - backref_id TEXT, + "QuantitativeTestCase_id" TEXT, components VARCHAR(13), - PRIMARY KEY (backref_id, components), - FOREIGN KEY(backref_id) REFERENCES "QuantitativeTestCase" (id) + PRIMARY KEY ("QuantitativeTestCase_id", components), + FOREIGN KEY("QuantitativeTestCase_id") REFERENCES "QuantitativeTestCase" (id) ); - CREATE TABLE "QuantitativeTestCase_tags" ( - backref_id TEXT, + "QuantitativeTestCase_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "QuantitativeTestCase" (id) + PRIMARY KEY ("QuantitativeTestCase_id", tags), + FOREIGN KEY("QuantitativeTestCase_id") REFERENCES "QuantitativeTestCase" (id) ); - -CREATE TABLE "TestCase_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "QuantitativeTestCase_test_runner_settings" ( + "QuantitativeTestCase_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "TestCase" (id) -); - -CREATE TABLE "TestCase_components" ( - backref_id TEXT, - components VARCHAR(13), - PRIMARY KEY (backref_id, components), - FOREIGN KEY(backref_id) REFERENCES "TestCase" (id) + PRIMARY KEY ("QuantitativeTestCase_id", test_runner_settings), + FOREIGN KEY("QuantitativeTestCase_id") REFERENCES "QuantitativeTestCase" (id) ); - -CREATE TABLE "TestCase_tags" ( - backref_id TEXT, +CREATE TABLE "TestSuiteSpecification_tags" ( + "TestSuiteSpecification_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "TestCase" (id) + PRIMARY KEY ("TestSuiteSpecification_id", tags), + FOREIGN KEY("TestSuiteSpecification_id") REFERENCES "TestSuiteSpecification" (id) ); - -CREATE TABLE "TestMetadata_tags" ( - backref_id TEXT, +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 "TestRunSession_components" ( + "TestRunSession_id" TEXT, + components VARCHAR(13), + PRIMARY KEY ("TestRunSession_id", components), + FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id) +); +CREATE TABLE "TestRunSession_tags" ( + "TestRunSession_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "TestMetadata" (id) + PRIMARY KEY ("TestRunSession_id", tags), + FOREIGN KEY("TestRunSession_id") REFERENCES "TestRunSession" (id) ); - -CREATE TABLE "TestMetadata_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "TestRunSession_test_runner_settings" ( + "TestRunSession_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "TestMetadata" (id) + 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) ); - CREATE TABLE "TestOutput_tags" ( - backref_id TEXT, + "TestOutput_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "TestOutput" (id) + PRIMARY KEY ("TestOutput_id", tags), + FOREIGN KEY("TestOutput_id") REFERENCES "TestOutput" (id) ); - CREATE TABLE "TestOutput_test_runner_settings" ( - backref_id TEXT, + "TestOutput_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "TestOutput" (id) + PRIMARY KEY ("TestOutput_id", test_runner_settings), + FOREIGN KEY("TestOutput_id") REFERENCES "TestOutput" (id) ); - -CREATE TABLE "TestRunSession_tags" ( - backref_id TEXT, +CREATE TABLE "TestResultPKSet_tags" ( + "TestResultPKSet_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "TestRunSession" (id) + PRIMARY KEY ("TestResultPKSet_id", tags), + FOREIGN KEY("TestResultPKSet_id") REFERENCES "TestResultPKSet" (id) ); - -CREATE TABLE "TestRunSession_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "TestResultPKSet_test_runner_settings" ( + "TestResultPKSet_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "TestRunSession" (id) -); - -CREATE TABLE "TestRunSession_components" ( - backref_id TEXT, - components VARCHAR(13), - PRIMARY KEY (backref_id, components), - FOREIGN KEY(backref_id) REFERENCES "TestRunSession" (id) + PRIMARY KEY ("TestResultPKSet_id", test_runner_settings), + FOREIGN KEY("TestResultPKSet_id") REFERENCES "TestResultPKSet" (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 "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 "TestSuiteSpecification_tags" ( - backref_id TEXT, +CREATE TABLE "TestEntity_tags" ( + "TestEntity_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "TestSuiteSpecification" (id) + PRIMARY KEY ("TestEntity_id", tags), + FOREIGN KEY("TestEntity_id") REFERENCES "TestEntity" (id) ); - -CREATE TABLE "TestSuiteSpecification_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "TestEntity_test_runner_settings" ( + "TestEntity_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "TestSuiteSpecification" (id) + PRIMARY KEY ("TestEntity_id", test_runner_settings), + FOREIGN KEY("TestEntity_id") REFERENCES "TestEntity" (id) ); - CREATE TABLE "AcceptanceTestAsset_tags" ( - backref_id TEXT, + "AcceptanceTestAsset_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestAsset" (id) + PRIMARY KEY ("AcceptanceTestAsset_id", tags), + FOREIGN KEY("AcceptanceTestAsset_id") REFERENCES "AcceptanceTestAsset" (id) ); - CREATE TABLE "AcceptanceTestAsset_test_runner_settings" ( - backref_id TEXT, + "AcceptanceTestAsset_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestAsset" (id) + PRIMARY KEY ("AcceptanceTestAsset_id", test_runner_settings), + FOREIGN KEY("AcceptanceTestAsset_id") REFERENCES "AcceptanceTestAsset" (id) ); - -CREATE TABLE "AcceptanceTestSuite_tags" ( - backref_id TEXT, +CREATE TABLE "TestEdgeData_tags" ( + "TestEdgeData_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestSuite" (id) + PRIMARY KEY ("TestEdgeData_id", tags), + FOREIGN KEY("TestEdgeData_id") REFERENCES "TestEdgeData" (id) ); - -CREATE TABLE "AcceptanceTestSuite_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "TestEdgeData_test_runner_settings" ( + "TestEdgeData_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "AcceptanceTestSuite" (id) + PRIMARY KEY ("TestEdgeData_id", test_runner_settings), + FOREIGN KEY("TestEdgeData_id") REFERENCES "TestEdgeData" (id) ); - -CREATE TABLE "OneHopTestSuite_tags" ( - backref_id TEXT, +CREATE TABLE "TestSuite_tags" ( + "TestSuite_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "OneHopTestSuite" (id) + PRIMARY KEY ("TestSuite_id", tags), + FOREIGN KEY("TestSuite_id") REFERENCES "TestSuite" (id) ); - -CREATE TABLE "OneHopTestSuite_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "TestSuite_test_runner_settings" ( + "TestSuite_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "OneHopTestSuite" (id) + PRIMARY KEY ("TestSuite_id", test_runner_settings), + FOREIGN KEY("TestSuite_id") REFERENCES "TestSuite" (id) ); - -CREATE TABLE "StandardsComplianceTestSuite_tags" ( - backref_id TEXT, +CREATE TABLE "AcceptanceTestSuite_tags" ( + "AcceptanceTestSuite_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "StandardsComplianceTestSuite" (id) + PRIMARY KEY ("AcceptanceTestSuite_id", tags), + FOREIGN KEY("AcceptanceTestSuite_id") REFERENCES "AcceptanceTestSuite" (id) ); - -CREATE TABLE "StandardsComplianceTestSuite_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "AcceptanceTestSuite_test_runner_settings" ( + "AcceptanceTestSuite_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "StandardsComplianceTestSuite" (id) + PRIMARY KEY ("AcceptanceTestSuite_id", test_runner_settings), + FOREIGN KEY("AcceptanceTestSuite_id") REFERENCES "AcceptanceTestSuite" (id) ); - -CREATE TABLE "TestAsset_tags" ( - backref_id TEXT, +CREATE TABLE "StandardsComplianceTestSuite_tags" ( + "StandardsComplianceTestSuite_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "TestAsset" (id) + PRIMARY KEY ("StandardsComplianceTestSuite_id", tags), + FOREIGN KEY("StandardsComplianceTestSuite_id") REFERENCES "StandardsComplianceTestSuite" (id) ); - -CREATE TABLE "TestAsset_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "StandardsComplianceTestSuite_test_runner_settings" ( + "StandardsComplianceTestSuite_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "TestAsset" (id) + PRIMARY KEY ("StandardsComplianceTestSuite_id", test_runner_settings), + FOREIGN KEY("StandardsComplianceTestSuite_id") REFERENCES "StandardsComplianceTestSuite" (id) ); - -CREATE TABLE "TestCaseResult_tags" ( - backref_id TEXT, +CREATE TABLE "OneHopTestSuite_tags" ( + "OneHopTestSuite_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "TestCaseResult" (id) + PRIMARY KEY ("OneHopTestSuite_id", tags), + FOREIGN KEY("OneHopTestSuite_id") REFERENCES "OneHopTestSuite" (id) ); - -CREATE TABLE "TestCaseResult_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "OneHopTestSuite_test_runner_settings" ( + "OneHopTestSuite_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "TestCaseResult" (id) + PRIMARY KEY ("OneHopTestSuite_id", test_runner_settings), + FOREIGN KEY("OneHopTestSuite_id") REFERENCES "OneHopTestSuite" (id) ); - -CREATE TABLE "TestEdgeData_tags" ( - backref_id TEXT, +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, + 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 "TestCase_components" ( + "TestCase_id" TEXT, + components VARCHAR(13), + PRIMARY KEY ("TestCase_id", components), + FOREIGN KEY("TestCase_id") REFERENCES "TestCase" (id) +); +CREATE TABLE "TestCase_tags" ( + "TestCase_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "TestEdgeData" (id) + PRIMARY KEY ("TestCase_id", tags), + FOREIGN KEY("TestCase_id") REFERENCES "TestCase" (id) ); - -CREATE TABLE "TestEdgeData_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "TestCase_test_runner_settings" ( + "TestCase_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "TestEdgeData" (id) + PRIMARY KEY ("TestCase_id", test_runner_settings), + FOREIGN KEY("TestCase_id") REFERENCES "TestCase" (id) ); - -CREATE TABLE "TestResultPKSet_tags" ( - backref_id TEXT, +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) +); +CREATE TABLE "TestAsset_tags" ( + "TestAsset_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "TestResultPKSet" (id) + PRIMARY KEY ("TestAsset_id", tags), + FOREIGN KEY("TestAsset_id") REFERENCES "TestAsset" (id) ); - -CREATE TABLE "TestResultPKSet_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "TestAsset_test_runner_settings" ( + "TestAsset_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "TestResultPKSet" (id) + PRIMARY KEY ("TestAsset_id", test_runner_settings), + FOREIGN KEY("TestAsset_id") REFERENCES "TestAsset" (id) ); - -CREATE TABLE "TestSuite_tags" ( - backref_id TEXT, +CREATE TABLE "TestCaseResult_tags" ( + "TestCaseResult_id" TEXT, tags TEXT, - PRIMARY KEY (backref_id, tags), - FOREIGN KEY(backref_id) REFERENCES "TestSuite" (id) + PRIMARY KEY ("TestCaseResult_id", tags), + FOREIGN KEY("TestCaseResult_id") REFERENCES "TestCaseResult" (id) ); - -CREATE TABLE "TestSuite_test_runner_settings" ( - backref_id TEXT, +CREATE TABLE "TestCaseResult_test_runner_settings" ( + "TestCaseResult_id" TEXT, test_runner_settings TEXT, - PRIMARY KEY (backref_id, test_runner_settings), - FOREIGN KEY(backref_id) REFERENCES "TestSuite" (id) -); + PRIMARY KEY ("TestCaseResult_id", test_runner_settings), + FOREIGN KEY("TestCaseResult_id") REFERENCES "TestCaseResult" (id) +); \ No newline at end of file diff --git a/src/translator_testing_model/datamodel/pydanticmodel.py b/src/translator_testing_model/datamodel/pydanticmodel.py index 2f60e8b..007a1ec 100644 --- a/src/translator_testing_model/datamodel/pydanticmodel.py +++ b/src/translator_testing_model/datamodel/pydanticmodel.py @@ -1,33 +1,52 @@ -from __future__ import annotations -from datetime import datetime, date -from enum import Enum -from typing import List, Dict, Optional, Any, Union -from pydantic import BaseModel as BaseModel, ConfigDict, Field +from __future__ import annotations +from datetime import ( + datetime, + date +) +from decimal import Decimal +from enum import Enum +import re import sys -if sys.version_info >= (3, 8): - from typing import Literal +from typing import ( + Any, + List, + Literal, + Dict, + Optional, + Union +) +from pydantic.version import VERSION as PYDANTIC_VERSION +if int(PYDANTIC_VERSION[0])>=2: + from pydantic import ( + BaseModel, + ConfigDict, + Field, + field_validator + ) else: - from typing_extensions import Literal - + from pydantic import ( + BaseModel, + Field, + validator + ) metamodel_version = "None" version = "0.0.0" -class WeakRefShimBaseModel(BaseModel): - __slots__ = '__weakref__' -class ConfiguredBaseModel(WeakRefShimBaseModel, - validate_assignment = True, - validate_all = True, - underscore_attrs_are_private = True, - extra = 'forbid', - arbitrary_types_allowed = True, - use_enum_values = True): +class ConfiguredBaseModel(BaseModel): + model_config = ConfigDict( + validate_assignment = True, + validate_default = True, + extra = "forbid", + arbitrary_types_allowed = True, + use_enum_values = True, + strict = False, + ) pass class TestSourceEnum(str, Enum): - # (External) Subject Matter Expert SME = "SME" # Subject Matter User Reasonably Familiar, generally Translator-internal biomedical science expert @@ -42,11 +61,9 @@ class TestSourceEnum(str, Enum): TranslatorTeam = "TranslatorTeam" # Current SRI_Testing-like test data edges specific to KP or ARA components TestDataLocation = "TestDataLocation" - - + class TestObjectiveEnum(str, Enum): - # Acceptance (pass/fail) test AcceptanceTest = "AcceptanceTest" # Semantic benchmarking @@ -57,8 +74,7 @@ class TestObjectiveEnum(str, Enum): StandardsValidationTest = "StandardsValidationTest" # Knowledge graph "One Hop" query navigation integrity OneHopTest = "OneHopTest" - - + class TestEnvEnum(str, Enum): """ @@ -72,77 +88,51 @@ class TestEnvEnum(str, Enum): test = "test" # Production prod = "prod" - - + class FileFormatEnum(str, Enum): """ Text file formats for test data sources. """ - TSV = "TSV" - YAML = "YAML" - JSON = "JSON" - - + class ExpectedOutputEnum(str, Enum): """ Expected output values for instances of Test Asset or Test Cases(?). (Note: does this Enum overlap with 'ExpectedResultsEnum' below?) """ - Acceptable = "Acceptable" - BadButForgivable = "BadButForgivable" - NeverShow = "NeverShow" - TopAnswer = "TopAnswer" - OverlyGeneric = "OverlyGeneric" - - + class TestIssueEnum(str, Enum): - - causes_not_treats = "causes not treats" # 'Text Mining Knowledge Provider' generated relationship? TMKP = "TMKP" - category_too_generic = "category too generic" - contraindications = "contraindications" - chemical_roles = "chemical roles" - test_issue = "test_issue" - - + class SemanticSeverityEnum(str, Enum): """ From Jenn's worksheet, empty or ill defined (needs elaboration) """ - High = "High" - Low = "Low" - NotApplicable = "NotApplicable" - - + class DirectionEnum(str, Enum): - - increased = "increased" - decreased = "decreased" - - + class ExpectedResultsEnum(str, Enum): """ @@ -152,43 +142,30 @@ class ExpectedResultsEnum(str, Enum): include_good = "include_good" # The query should not return the result in this test case exclude_bad = "exclude_bad" - - + class NodeEnum(str, Enum): """ Target node of a Subject-Predicate-Object driven query """ - subject = "subject" - object = "object" - - + class QueryTypeEnum(str, Enum): """ Query """ - treats = "treats" - - + class TrapiTemplateEnum(str, Enum): - - ameliorates = "ameliorates" - treats = "treats" - three_hop = "three_hop" - drug_treats_rare_disease = "drug_treats_rare_disease" - drug_to_gene = "drug-to-gene" - - + class ComponentEnum(str, Enum): """ @@ -228,14 +205,12 @@ class ComponentEnum(str, Enum): collaboratory = "collaboratory" # Connections Hypothesis Provider API connections = "connections" - - + class TestPersonaEnum(str, Enum): """ User persona context of a given test. """ - All = "All" # An MD or someone working in the clinical field. Clinical = "Clinical" @@ -243,19 +218,16 @@ class TestPersonaEnum(str, Enum): LookUp = "LookUp" # Someone working on basic biology questions or drug discoveries where the study of the biological mechanism. Mechanistic = "Mechanistic" - - + class TestCaseResultEnum(str, Enum): - # test case result indicating success. PASSED = "PASSED" # test case result indicating failure. FAILED = "FAILED" # test case result indicating that the specified test was not run. SKIPPED = "SKIPPED" - - + class TestEntityParameter(ConfiguredBaseModel): """ @@ -263,13 +235,12 @@ class TestEntityParameter(ConfiguredBaseModel): """ parameter: Optional[str] = Field(None, description="""Name of a TestParameter.""") value: Optional[str] = Field(None, description="""(String) value of a TestParameter.""") - + class Qualifier(TestEntityParameter): - parameter: Optional[str] = Field(None, description="""The 'parameter' of a Qualifier should be a `qualifier` slot name from the Biolink Model ('biolink' namespace) 'biolink:qualifier' hierarchy.""") value: Optional[str] = Field(None, description="""The 'value' of should be a suitable value generally drawn from an applicable Biolink Model (\"Enum\") value set of the specified Qualifier.""") - + class TestEntity(ConfiguredBaseModel): """ @@ -280,7 +251,7 @@ class TestEntity(ConfiguredBaseModel): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class TestMetadata(TestEntity): """ @@ -295,7 +266,7 @@ class TestMetadata(TestEntity): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class TestAsset(TestEntity): """ @@ -323,7 +294,7 @@ class TestAsset(TestEntity): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, description="""One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a \"Block List\" collection""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar settings for the TestRunner, e.g. \"inferred\"""") - + class AcceptanceTestAsset(TestAsset): """ @@ -361,7 +332,7 @@ class AcceptanceTestAsset(TestAsset): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, description="""One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a \"Block List\" collection""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar settings for the TestRunner, e.g. \"inferred\"""") - + class TestEdgeData(TestAsset): """ @@ -389,7 +360,7 @@ class TestEdgeData(TestAsset): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, description="""One or more 'tags' slot values (inherited from TestEntity) should generally be defined to specify TestAsset membership in a \"Block List\" collection""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar settings for the TestRunner, e.g. \"inferred\"""") - + class Precondition(TestEntity): """ @@ -400,7 +371,7 @@ class Precondition(TestEntity): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class TestCase(TestEntity): """ @@ -425,7 +396,7 @@ class TestCase(TestEntity): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class AcceptanceTestCase(TestCase): """ @@ -450,7 +421,7 @@ class AcceptanceTestCase(TestCase): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class QuantitativeTestCase(TestCase): """ @@ -475,7 +446,7 @@ class QuantitativeTestCase(TestCase): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class TestSuiteSpecification(TestEntity): """ @@ -488,7 +459,7 @@ class TestSuiteSpecification(TestEntity): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class TestSuite(TestEntity): """ @@ -503,10 +474,9 @@ class TestSuite(TestEntity): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class AcceptanceTestSuite(TestSuite): - 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.""") @@ -516,14 +486,14 @@ class AcceptanceTestSuite(TestSuite): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class BenchmarkTestSuite(ConfiguredBaseModel): """ JsonObj(is_a='TestSuite') """ - None - + pass + class StandardsComplianceTestSuite(TestSuite): """ @@ -538,7 +508,7 @@ class StandardsComplianceTestSuite(TestSuite): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class OneHopTestSuite(TestSuite): """ @@ -553,7 +523,7 @@ class OneHopTestSuite(TestSuite): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class TestCaseResult(TestEntity): """ @@ -567,7 +537,7 @@ class TestCaseResult(TestEntity): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class TestRunSession(TestEntity): """ @@ -585,7 +555,7 @@ class TestRunSession(TestEntity): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class TestOutput(TestEntity): """ @@ -598,7 +568,7 @@ class TestOutput(TestEntity): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - + class TestResultPKSet(TestEntity): """ @@ -616,30 +586,29 @@ class TestResultPKSet(TestEntity): description: Optional[str] = Field(None, description="""A human-readable description for a Test Entity""") tags: Optional[List[str]] = Field(default_factory=list, 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.""") test_runner_settings: Optional[List[str]] = Field(default_factory=list, description="""Scalar parameters for the TestRunner processing a given TestEntity.""") - - - -# Update forward refs -# see https://pydantic-docs.helpmanual.io/usage/postponed_annotations/ -TestEntityParameter.update_forward_refs() -Qualifier.update_forward_refs() -TestEntity.update_forward_refs() -TestMetadata.update_forward_refs() -TestAsset.update_forward_refs() -AcceptanceTestAsset.update_forward_refs() -TestEdgeData.update_forward_refs() -Precondition.update_forward_refs() -TestCase.update_forward_refs() -AcceptanceTestCase.update_forward_refs() -QuantitativeTestCase.update_forward_refs() -TestSuiteSpecification.update_forward_refs() -TestSuite.update_forward_refs() -AcceptanceTestSuite.update_forward_refs() -BenchmarkTestSuite.update_forward_refs() -StandardsComplianceTestSuite.update_forward_refs() -OneHopTestSuite.update_forward_refs() -TestCaseResult.update_forward_refs() -TestRunSession.update_forward_refs() -TestOutput.update_forward_refs() -TestResultPKSet.update_forward_refs() + + +# Model rebuild +# see https://pydantic-docs.helpmanual.io/usage/models/#rebuilding-a-model +TestEntityParameter.model_rebuild() +Qualifier.model_rebuild() +TestEntity.model_rebuild() +TestMetadata.model_rebuild() +TestAsset.model_rebuild() +AcceptanceTestAsset.model_rebuild() +TestEdgeData.model_rebuild() +Precondition.model_rebuild() +TestCase.model_rebuild() +AcceptanceTestCase.model_rebuild() +QuantitativeTestCase.model_rebuild() +TestSuiteSpecification.model_rebuild() +TestSuite.model_rebuild() +AcceptanceTestSuite.model_rebuild() +BenchmarkTestSuite.model_rebuild() +StandardsComplianceTestSuite.model_rebuild() +OneHopTestSuite.model_rebuild() +TestCaseResult.model_rebuild() +TestRunSession.model_rebuild() +TestOutput.model_rebuild() +TestResultPKSet.model_rebuild() diff --git a/src/translator_testing_model/datamodel/translator_testing_model.py b/src/translator_testing_model/datamodel/translator_testing_model.py index 038904e..ae685e4 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-25T16:37:26 +# Generation date: 2024-04-25T16:46:31 # Schema: Translator-Testing-Model # # id: https://w3id.org/TranslatorSRI/TranslatorTestingModel @@ -12,6 +12,7 @@ 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