From 87ab51a756f7f55067cc6ace424148191b6597b6 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Fri, 16 Sep 2022 11:35:11 -0700 Subject: [PATCH 1/2] fixing tests --- Makefile | 3 - examples/Person-001.yaml | 10 +- poetry.lock | 739 ++++++++++++++---- project/excel/linkml_tutorial_schema.xlsx | Bin 9864 -> 7323 bytes .../graphql/linkml_tutorial_schema.graphql | 37 +- .../linkml_tutorial_schema.context.jsonld | 40 +- project/jsonld/linkml_tutorial_schema.jsonld | 354 ++------- .../linkml_tutorial_schema.schema.json | 124 ++- project/owl/linkml_tutorial_schema.owl.ttl | 158 ++-- project/prefixmap/linkml_tutorial_schema.yaml | 23 +- project/protobuf/linkml_tutorial_schema.proto | 28 +- .../shacl/linkml_tutorial_schema.shacl.ttl | 94 ++- project/shex/linkml_tutorial_schema.shex | 58 +- project/sqlschema/linkml_tutorial_schema.sql | 38 +- src/data/examples/Person-001.yaml | 10 +- .../datamodel/linkml_tutorial_schema.py | 175 ++--- .../schema/linkml_tutorial_schema.yaml | 48 +- .../schema/personinfo_enums.yaml | 172 ---- tests/test_data.py | 4 +- 19 files changed, 1038 insertions(+), 1077 deletions(-) delete mode 100644 src/linkml_tutorial_schema/schema/personinfo_enums.yaml diff --git a/Makefile b/Makefile index 74fd952..c20c96e 100644 --- a/Makefile +++ b/Makefile @@ -81,9 +81,6 @@ deploy: all mkd-gh-deploy compile-sheets: - $(RUN) sheets2linkml --gsheet-id $(SHEET_ID) $(SHEET_TABS) > $(SHEET_MODULE_PATH).tmp && mv $(SHEET_MODULE_PATH).tmp $(SHEET_MODULE_PATH) - - # In future this will be done by conversion gen-examples: cp src/data/examples/* $(EXAMPLEDIR) diff --git a/examples/Person-001.yaml b/examples/Person-001.yaml index 7f83a2c..62d856d 100644 --- a/examples/Person-001.yaml +++ b/examples/Person-001.yaml @@ -1,5 +1,5 @@ -# Example data object -id: example:Person001 -name: foo bar -primary_email: foo.bar@example.com -age_in_years: 33 +entries: + - id: P:001 + name: fred bloggs + primary_email: fred.bloggs@example.com + age_in_years: 33 \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 3f03c33..c232146 100644 --- a/poetry.lock +++ b/poetry.lock @@ -90,7 +90,7 @@ python-versions = "~=3.7" [[package]] name = "certifi" -version = "2022.6.15" +version = "2022.9.14" description = "Python package for providing Mozilla's CA Bundle." category = "main" optional = false @@ -185,11 +185,11 @@ python-versions = "*" [[package]] name = "docutils" -version = "0.18.1" +version = "0.19" description = "Docutils -- Python Documentation Utilities" category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.7" [[package]] name = "editorconfig" @@ -246,7 +246,7 @@ beautifulsoup4 = "*" [[package]] name = "google-api-core" -version = "2.10.0" +version = "2.10.1" description = "Google API client core library" category = "dev" optional = false @@ -265,7 +265,7 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0dev)"] [[package]] name = "google-api-python-client" -version = "2.60.0" +version = "2.61.0" description = "Google API Client Library for Python" category = "dev" optional = false @@ -313,7 +313,7 @@ six = "*" [[package]] name = "google-auth-oauthlib" -version = "0.5.2" +version = "0.5.3" description = "Google Authentication Library" category = "dev" optional = false @@ -408,7 +408,7 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 [[package]] name = "idna" -version = "3.3" +version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" category = "main" optional = false @@ -543,7 +543,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "jsonschema" -version = "4.15.0" +version = "4.16.0" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false @@ -646,27 +646,6 @@ importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} [package.extras] testing = ["coverage", "pyyaml"] -[[package]] -name = "markdown-it-py" -version = "2.1.0" -description = "Python port of markdown-it. Markdown parsing, done right!" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -mdurl = ">=0.1,<1.0" - -[package.extras] -benchmarking = ["psutil", "pytest", "pytest-benchmark (>=3.2,<4.0)"] -code_style = ["pre-commit (==2.6)"] -compare = ["commonmark (>=0.9.1,<0.10.0)", "markdown (>=3.3.6,<3.4.0)", "mistletoe (>=0.8.1,<0.9.0)", "mistune (>=2.0.2,<2.1.0)", "panflute (>=2.1.3,<2.2.0)"] -linkify = ["linkify-it-py (>=1.0,<2.0)"] -plugins = ["mdit-py-plugins"] -profiling = ["gprof2dot"] -rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx-book-theme"] -testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] - [[package]] name = "markupsafe" version = "2.1.1" @@ -676,36 +655,24 @@ optional = false python-versions = ">=3.7" [[package]] -name = "mdit-py-plugins" -version = "0.3.0" -description = "Collection of plugins for markdown-it-py" +name = "mergedeep" +version = "1.3.4" +description = "A deep merge function for 🐍." category = "dev" optional = false -python-versions = "~=3.6" - -[package.dependencies] -markdown-it-py = ">=1.0.0,<3.0.0" - -[package.extras] -code_style = ["pre-commit (==2.6)"] -rtd = ["myst-parser (>=0.14.0,<0.15.0)", "sphinx-book-theme (>=0.1.0,<0.2.0)"] -testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov", "pytest-regressions"] +python-versions = ">=3.6" [[package]] -name = "mdurl" -version = "0.1.2" -description = "Markdown URL utilities" +name = "mistletoe-ebp" +version = "0.8.2" +description = "A fast, extensible Markdown parser in pure Python." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = "~=3.5" -[[package]] -name = "mergedeep" -version = "1.3.4" -description = "A deep merge function for 🐍." -category = "dev" -optional = false -python-versions = ">=3.6" +[package.extras] +code_style = ["flake8 (>=3.7.0,<3.8.0)", "black (==19.10b0)", "pre-commit (==1.17.0)"] +testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov"] [[package]] name = "mkdocs" @@ -732,7 +699,7 @@ i18n = ["babel (>=2.9.0)"] [[package]] name = "mkdocs-material" -version = "8.4.2" +version = "8.5.1" description = "Documentation that simply works" category = "dev" optional = false @@ -745,6 +712,7 @@ mkdocs = ">=1.3.0" mkdocs-material-extensions = ">=1.0.3" pygments = ">=2.12" pymdown-extensions = ">=9.4" +requests = ">=2.26" [[package]] name = "mkdocs-material-extensions" @@ -784,26 +752,20 @@ click = "*" [[package]] name = "myst-parser" -version = "0.18.0" +version = "0.3.2" description = "An extended commonmark compliant parser, with bridges to docutils & sphinx." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.5" [package.dependencies] -docutils = ">=0.15,<0.19" -jinja2 = "*" -markdown-it-py = ">=1.0.0,<3.0.0" -mdit-py-plugins = ">=0.3.0,<0.4.0" -pyyaml = "*" -sphinx = ">=4,<6" -typing-extensions = "*" +mistletoe-ebp = "0.8.2" [package.extras] -code_style = ["pre-commit (>=2.12,<3.0)"] -linkify = ["linkify-it-py (>=1.0,<2.0)"] -rtd = ["ipython", "sphinx-book-theme", "sphinx-design", "sphinxext-rediraffe (>=0.2.7,<0.3.0)", "sphinxcontrib.mermaid (>=0.7.1,<0.8.0)", "sphinxext-opengraph (>=0.6.3,<0.7.0)"] -testing = ["beautifulsoup4", "coverage", "pytest (>=6,<7)", "pytest-cov", "pytest-regressions", "pytest-param-files (>=0.3.4,<0.4.0)", "sphinx-pytest"] +code_style = ["flake8 (>=3.7.0,<3.8.0)", "black", "pre-commit (==1.17.0)"] +rtd = ["sphinxcontrib-bibtex", "ipython"] +sphinx = ["pyyaml", "docutils (>=0.15)", "sphinx (>=2,<3)"] +testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov", "pytest-regressions", "beautifulsoup4"] [[package]] name = "oauthlib" @@ -923,7 +885,7 @@ PyYAML = ">=6.0,<7.0" [[package]] name = "protobuf" -version = "4.21.5" +version = "4.21.6" description = "" category = "dev" optional = false @@ -1230,7 +1192,7 @@ python-versions = ">=3.5" [[package]] name = "schemasheets" -version = "0.1.14" +version = "0.1.15" description = "Package to author schemas using spreadsheets" category = "dev" optional = false @@ -1425,7 +1387,7 @@ test = ["pytest"] [[package]] name = "sqlalchemy" -version = "1.4.40" +version = "1.4.41" description = "Database Abstraction Library" category = "dev" optional = false @@ -1468,11 +1430,14 @@ widechars = ["wcwidth"] [[package]] name = "termcolor" -version = "1.1.0" -description = "ANSII Color formatting for output in terminal." +version = "2.0.1" +description = "ANSI color formatting for output in terminal" category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.7" + +[package.extras] +tests = ["pytest-cov", "pytest"] [[package]] name = "tomli" @@ -1598,135 +1563,595 @@ python-versions = ">=3.7" docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "jaraco.tidelift (>=1.4)"] testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] +[extras] +docs = [] + [metadata] lock-version = "1.1" python-versions = "^3.9" -content-hash = "6730cce861384ae313bbbac97c12ba0c765eb503c6b741247afb6953cca92f95" +content-hash = "357279575653470d06e0439fe5305d1bbc2d42224bb4f32a51bf02c25735a33a" [metadata.files] -alabaster = [] -antlr4-python3-runtime = [] +alabaster = [ + {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"}, + {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, +] +antlr4-python3-runtime = [ + {file = "antlr4-python3-runtime-4.9.3.tar.gz", hash = "sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b"}, +] attrs = [] -babel = [] -beautifulsoup4 = [] -bioregistry = [] -cachetools = [] +babel = [ + {file = "Babel-2.10.3-py3-none-any.whl", hash = "sha256:ff56f4892c1c4bf0d814575ea23471c230d544203c7748e8c68f0089478d48eb"}, + {file = "Babel-2.10.3.tar.gz", hash = "sha256:7614553711ee97490f732126dc077f8d0ae084ebc6a96e23db1482afabdb2c51"}, +] +beautifulsoup4 = [ + {file = "beautifulsoup4-4.11.1-py3-none-any.whl", hash = "sha256:58d5c3d29f5a36ffeb94f02f0d786cd53014cf9b3b3951d42e0080d8a9498d30"}, + {file = "beautifulsoup4-4.11.1.tar.gz", hash = "sha256:ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693"}, +] +bioregistry = [ + {file = "bioregistry-0.4.120-py3-none-any.whl", hash = "sha256:7dcd6bc206eee972e6f229f2b45638a66b559d1487a9c691568a0d80d030385d"}, + {file = "bioregistry-0.4.120.tar.gz", hash = "sha256:f32d9266f0961c61eaa541d1dd221b35946ae415a92c886b6823ef523218e7f7"}, +] +cachetools = [ + {file = "cachetools-5.2.0-py3-none-any.whl", hash = "sha256:f9f17d2aec496a9aa6b76f53e3b614c965223c061982d434d160f930c698a9db"}, + {file = "cachetools-5.2.0.tar.gz", hash = "sha256:6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757"}, +] certifi = [] -cfgraph = [] -chardet = [] +cfgraph = [ + {file = "CFGraph-0.2.1.tar.gz", hash = "sha256:b57fe7044a10b8ff65aa3a8a8ddc7d4cd77bf511b42e57289cd52cbc29f8fe74"}, +] +chardet = [ + {file = "chardet-5.0.0-py3-none-any.whl", hash = "sha256:d3e64f022d254183001eccc5db4040520c0f23b1a3f33d6413e099eb7f126557"}, + {file = "chardet-5.0.0.tar.gz", hash = "sha256:0368df2bfd78b5fc20572bb4e9bb7fb53e2c094f60ae9993339e8671d0afb8aa"}, +] charset-normalizer = [] -click = [] -colorama = [] -daff = [] -decorator = [] -deprecated = [] +click = [ + {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, + {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, +] +colorama = [ + {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, + {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, +] +daff = [ + {file = "daff-1.3.46.tar.gz", hash = "sha256:22d0da9fd6a3275b54c926a9c97b180f9258aad65113ea18f3fec52cbadcd818"}, +] +decorator = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] +deprecated = [ + {file = "Deprecated-1.2.13-py2.py3-none-any.whl", hash = "sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d"}, + {file = "Deprecated-1.2.13.tar.gz", hash = "sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d"}, +] distlib = [] docutils = [] -editorconfig = [] -et-xmlfile = [] +editorconfig = [ + {file = "EditorConfig-0.12.3-py3-none-any.whl", hash = "sha256:6b0851425aa875b08b16789ee0eeadbd4ab59666e9ebe728e526314c4a2e52c1"}, + {file = "EditorConfig-0.12.3.tar.gz", hash = "sha256:57f8ce78afcba15c8b18d46b5170848c88d56fd38f05c2ec60dbbfcb8996e89e"}, +] +et-xmlfile = [ + {file = "et_xmlfile-1.1.0-py3-none-any.whl", hash = "sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada"}, + {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, +] filelock = [] -ghp-import = [] -google = [] +ghp-import = [ + {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, + {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, +] +google = [ + {file = "google-3.0.0-py2.py3-none-any.whl", hash = "sha256:889cf695f84e4ae2c55fbc0cfdaf4c1e729417fa52ab1db0485202ba173e4935"}, + {file = "google-3.0.0.tar.gz", hash = "sha256:143530122ee5130509ad5e989f0512f7cb218b2d4eddbafbad40fd10e8d8ccbe"}, +] google-api-core = [] google-api-python-client = [] google-auth = [] -google-auth-httplib2 = [] +google-auth-httplib2 = [ + {file = "google-auth-httplib2-0.1.0.tar.gz", hash = "sha256:a07c39fd632becacd3f07718dfd6021bf396978f03ad3ce4321d060015cc30ac"}, + {file = "google_auth_httplib2-0.1.0-py2.py3-none-any.whl", hash = "sha256:31e49c36c6b5643b57e82617cb3e021e3e1d2df9da63af67252c02fa9c1f4a10"}, +] google-auth-oauthlib = [] googleapis-common-protos = [] graphviz = [] greenlet = [] gspread = [] -gspread-formatting = [] -hbreader = [] -httplib2 = [] +gspread-formatting = [ + {file = "gspread-formatting-1.0.6.tar.gz", hash = "sha256:d895e4a645627ccb020b56a859627aa049b01e42ba4ccfce94ce5ad742967b4c"}, + {file = "gspread_formatting-1.0.6-py2.py3-none-any.whl", hash = "sha256:5b728f4b0fa8c2dd33767ba7d30b5d6240f40191b87d127bda1a22512cf78c94"}, +] +hbreader = [ + {file = "hbreader-0.9.1-py3-none-any.whl", hash = "sha256:9a6e76c9d1afc1b977374a5dc430a1ebb0ea0488205546d4678d6e31cc5f6801"}, + {file = "hbreader-0.9.1.tar.gz", hash = "sha256:d2c132f8ba6276d794c66224c3297cec25c8079d0a4cf019c061611e0a3b94fa"}, +] +httplib2 = [ + {file = "httplib2-0.20.4-py3-none-any.whl", hash = "sha256:8b6a905cb1c79eefd03f8669fd993c36dc341f7c558f056cb5a33b5c2f458543"}, + {file = "httplib2-0.20.4.tar.gz", hash = "sha256:58a98e45b4b1a48273073f905d2961666ecf0fbac4250ea5b47aef259eb5c585"}, +] idna = [] -imagesize = [] -importlib-metadata = [] -isodate = [] -jinja2 = [] +imagesize = [ + {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, + {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, +] +importlib-metadata = [ + {file = "importlib_metadata-4.12.0-py3-none-any.whl", hash = "sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23"}, + {file = "importlib_metadata-4.12.0.tar.gz", hash = "sha256:637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670"}, +] +isodate = [ + {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, + {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, +] +jinja2 = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] jsbeautifier = [] -json-flattener = [] -jsonasobj = [] -jsonasobj2 = [] -jsonpatch = [] -jsonpath-ng = [] -jsonpointer = [] +json-flattener = [ + {file = "json_flattener-0.1.9-py3-none-any.whl", hash = "sha256:6b027746f08bf37a75270f30c6690c7149d5f704d8af1740c346a3a1236bc941"}, + {file = "json_flattener-0.1.9.tar.gz", hash = "sha256:84cf8523045ffb124301a602602201665fcb003a171ece87e6f46ed02f7f0c15"}, +] +jsonasobj = [ + {file = "jsonasobj-2.0.1-py3-none-any.whl", hash = "sha256:221af946bbe4171505e81ea1f0c31d652e69c68e02fff742e37543abe08ff7d9"}, + {file = "jsonasobj-2.0.1.tar.gz", hash = "sha256:e87c47ec5ec3db65a212e15236fdefc38dd01bdcf563b0d53021095066cd5963"}, +] +jsonasobj2 = [ + {file = "jsonasobj2-1.0.4-py3-none-any.whl", hash = "sha256:12e86f86324d54fcf60632db94ea74488d5314e3da554c994fe1e2c6f29acb79"}, + {file = "jsonasobj2-1.0.4.tar.gz", hash = "sha256:f50b1668ef478004aa487b2d2d094c304e5cb6b79337809f4a1f2975cc7fbb4e"}, +] +jsonpatch = [ + {file = "jsonpatch-1.32-py2.py3-none-any.whl", hash = "sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397"}, + {file = "jsonpatch-1.32.tar.gz", hash = "sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2"}, +] +jsonpath-ng = [ + {file = "jsonpath-ng-1.5.3.tar.gz", hash = "sha256:a273b182a82c1256daab86a313b937059261b5c5f8c4fa3fc38b882b344dd567"}, + {file = "jsonpath_ng-1.5.3-py2-none-any.whl", hash = "sha256:f75b95dbecb8a0f3b86fd2ead21c2b022c3f5770957492b9b6196ecccfeb10aa"}, + {file = "jsonpath_ng-1.5.3-py3-none-any.whl", hash = "sha256:292a93569d74029ba75ac2dc3d3630fc0e17b2df26119a165fa1d498ca47bf65"}, +] +jsonpointer = [ + {file = "jsonpointer-2.3-py2.py3-none-any.whl", hash = "sha256:51801e558539b4e9cd268638c078c6c5746c9ac96bc38152d443400e4f3793e9"}, + {file = "jsonpointer-2.3.tar.gz", hash = "sha256:97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a"}, +] jsonschema = [] linkml = [] -linkml-dataops = [] +linkml-dataops = [ + {file = "linkml_dataops-0.1.0-py3-none-any.whl", hash = "sha256:193cf7f659e5f07946d2c2761896910d5f7151d91282543b1363801f68307f4c"}, + {file = "linkml_dataops-0.1.0.tar.gz", hash = "sha256:4550eab65e78b70dc3b9c651724a94ac2b1d1edb2fbe576465f1d6951a54ed04"}, +] linkml-runtime = [] -markdown = [] -markdown-it-py = [] -markupsafe = [] -mdit-py-plugins = [] -mdurl = [] -mergedeep = [] +markdown = [ + {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, + {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, +] +markupsafe = [ + {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-win32.whl", hash = "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-win32.whl", hash = "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-win32.whl", hash = "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-win32.whl", hash = "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"}, + {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"}, +] +mergedeep = [ + {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, + {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, +] +mistletoe-ebp = [] mkdocs = [] mkdocs-material = [] -mkdocs-material-extensions = [] -mkdocs-mermaid2-plugin = [] -more-click = [] +mkdocs-material-extensions = [ + {file = "mkdocs-material-extensions-1.0.3.tar.gz", hash = "sha256:bfd24dfdef7b41c312ede42648f9eb83476ea168ec163b613f9abd12bbfddba2"}, + {file = "mkdocs_material_extensions-1.0.3-py3-none-any.whl", hash = "sha256:a82b70e533ce060b2a5d9eb2bc2e1be201cf61f901f93704b4acf6e3d5983a44"}, +] +mkdocs-mermaid2-plugin = [ + {file = "mkdocs-mermaid2-plugin-0.6.0.tar.gz", hash = "sha256:99cca6db7c6b4a954a701dcb6b507191bc32a7b0b47eacf2885c1bacf77d1af1"}, + {file = "mkdocs_mermaid2_plugin-0.6.0-py3-none-any.whl", hash = "sha256:ffbe8a7daa7ed718cb800c44c5ce4c0ff413caebf7b8b63d9c4a998dfd78a64d"}, +] +more-click = [ + {file = "more_click-0.1.1-py3-none-any.whl", hash = "sha256:ff68c7e874fd409ce501903be3177363499aa9c2662607a3b66568f766dea527"}, + {file = "more_click-0.1.1.tar.gz", hash = "sha256:277c64767a6a9c6625ec6bc3e1241012867f6953b2295b2a1e8eeddec586eb53"}, +] myst-parser = [] oauthlib = [] -ontodev-cogs = [] -openpyxl = [] -packaging = [] -parse = [] -platformdirs = [] -pluggy = [] -ply = [] +ontodev-cogs = [ + {file = "ontodev-cogs-0.3.3.tar.gz", hash = "sha256:04cf448eda59e0645c6626453f7617a6b2be3129c8586c4d4a515ad031f61a18"}, + {file = "ontodev_cogs-0.3.3-py3-none-any.whl", hash = "sha256:b3299b7884891d00e016f9cb0329a1a0dc8af4bfba45dce3815f654360b1f333"}, +] +openpyxl = [ + {file = "openpyxl-3.0.10-py2.py3-none-any.whl", hash = "sha256:0ab6d25d01799f97a9464630abacbb34aafecdcaa0ef3cba6d6b3499867d0355"}, + {file = "openpyxl-3.0.10.tar.gz", hash = "sha256:e47805627aebcf860edb4edf7987b1309c1b3632f3750538ed962bbcc3bd7449"}, +] +packaging = [ + {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, + {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, +] +parse = [ + {file = "parse-1.19.0.tar.gz", hash = "sha256:9ff82852bcb65d139813e2a5197627a94966245c897796760a3a2a8eb66f020b"}, +] +platformdirs = [ + {file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"}, + {file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"}, +] +pluggy = [ + {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, + {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, +] +ply = [ + {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"}, + {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, +] prefixcommons = [] prefixmaps = [] protobuf = [] -py = [] -pyasn1 = [] -pyasn1-modules = [] +py = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] +pyasn1 = [ + {file = "pyasn1-0.4.8-py2.4.egg", hash = "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3"}, + {file = "pyasn1-0.4.8-py2.5.egg", hash = "sha256:0458773cfe65b153891ac249bcf1b5f8f320b7c2ce462151f8fa74de8934becf"}, + {file = "pyasn1-0.4.8-py2.6.egg", hash = "sha256:5c9414dcfede6e441f7e8f81b43b34e834731003427e5b09e4e00e3172a10f00"}, + {file = "pyasn1-0.4.8-py2.7.egg", hash = "sha256:6e7545f1a61025a4e58bb336952c5061697da694db1cae97b116e9c46abcf7c8"}, + {file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"}, + {file = "pyasn1-0.4.8-py3.1.egg", hash = "sha256:78fa6da68ed2727915c4767bb386ab32cdba863caa7dbe473eaae45f9959da86"}, + {file = "pyasn1-0.4.8-py3.2.egg", hash = "sha256:08c3c53b75eaa48d71cf8c710312316392ed40899cb34710d092e96745a358b7"}, + {file = "pyasn1-0.4.8-py3.3.egg", hash = "sha256:03840c999ba71680a131cfaee6fab142e1ed9bbd9c693e285cc6aca0d555e576"}, + {file = "pyasn1-0.4.8-py3.4.egg", hash = "sha256:7ab8a544af125fb704feadb008c99a88805126fb525280b2270bb25cc1d78a12"}, + {file = "pyasn1-0.4.8-py3.5.egg", hash = "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2"}, + {file = "pyasn1-0.4.8-py3.6.egg", hash = "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359"}, + {file = "pyasn1-0.4.8-py3.7.egg", hash = "sha256:99fcc3c8d804d1bc6d9a099921e39d827026409a58f2a720dcdb89374ea0c776"}, + {file = "pyasn1-0.4.8.tar.gz", hash = "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"}, +] +pyasn1-modules = [ + {file = "pyasn1-modules-0.2.8.tar.gz", hash = "sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e"}, + {file = "pyasn1_modules-0.2.8-py2.4.egg", hash = "sha256:0fe1b68d1e486a1ed5473f1302bd991c1611d319bba158e98b106ff86e1d7199"}, + {file = "pyasn1_modules-0.2.8-py2.5.egg", hash = "sha256:fe0644d9ab041506b62782e92b06b8c68cca799e1a9636ec398675459e031405"}, + {file = "pyasn1_modules-0.2.8-py2.6.egg", hash = "sha256:a99324196732f53093a84c4369c996713eb8c89d360a496b599fb1a9c47fc3eb"}, + {file = "pyasn1_modules-0.2.8-py2.7.egg", hash = "sha256:0845a5582f6a02bb3e1bde9ecfc4bfcae6ec3210dd270522fee602365430c3f8"}, + {file = "pyasn1_modules-0.2.8-py2.py3-none-any.whl", hash = "sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74"}, + {file = "pyasn1_modules-0.2.8-py3.1.egg", hash = "sha256:f39edd8c4ecaa4556e989147ebf219227e2cd2e8a43c7e7fcb1f1c18c5fd6a3d"}, + {file = "pyasn1_modules-0.2.8-py3.2.egg", hash = "sha256:b80486a6c77252ea3a3e9b1e360bc9cf28eaac41263d173c032581ad2f20fe45"}, + {file = "pyasn1_modules-0.2.8-py3.3.egg", hash = "sha256:65cebbaffc913f4fe9e4808735c95ea22d7a7775646ab690518c056784bc21b4"}, + {file = "pyasn1_modules-0.2.8-py3.4.egg", hash = "sha256:15b7c67fabc7fc240d87fb9aabf999cf82311a6d6fb2c70d00d3d0604878c811"}, + {file = "pyasn1_modules-0.2.8-py3.5.egg", hash = "sha256:426edb7a5e8879f1ec54a1864f16b882c2837bfd06eee62f2c982315ee2473ed"}, + {file = "pyasn1_modules-0.2.8-py3.6.egg", hash = "sha256:cbac4bc38d117f2a49aeedec4407d23e8866ea4ac27ff2cf7fb3e5b570df19e0"}, + {file = "pyasn1_modules-0.2.8-py3.7.egg", hash = "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd"}, +] pydantic = [] pygments = [] -pyjsg = [] -pymdown-extensions = [] -pyparsing = [] -pyrsistent = [] -pyshex = [] -pyshexc = [] +pyjsg = [ + {file = "PyJSG-0.11.10-py3-none-any.whl", hash = "sha256:10af60ff42219be7e85bf7f11c19b648715b0b29eb2ddbd269e87069a7c3f26d"}, + {file = "PyJSG-0.11.10.tar.gz", hash = "sha256:4bd6e3ff2833fa2b395bbe803a2d72a5f0bab5b7285bccd0da1a1bc0aee88bfa"}, +] +pymdown-extensions = [ + {file = "pymdown_extensions-9.5-py3-none-any.whl", hash = "sha256:ec141c0f4983755349f0c8710416348d1a13753976c028186ed14f190c8061c4"}, + {file = "pymdown_extensions-9.5.tar.gz", hash = "sha256:3ef2d998c0d5fa7eb09291926d90d69391283561cf6306f85cd588a5eb5befa0"}, +] +pyparsing = [ + {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, + {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, +] +pyrsistent = [ + {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, + {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, + {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, + {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, + {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, + {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, + {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, + {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, + {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, + {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, + {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, + {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, + {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, + {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, + {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, + {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, + {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, + {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, + {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, + {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, + {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, +] +pyshex = [ + {file = "PyShEx-0.8.1-py3-none-any.whl", hash = "sha256:6da1b10123e191abf8dcb6bf3e54aa3e1fcf771df5d1a0ed453217c8900c8e6a"}, + {file = "PyShEx-0.8.1.tar.gz", hash = "sha256:3c5c4d45fe27faaadae803cb008c41acf8ee784da7868b04fd84967e75be70d0"}, +] +pyshexc = [ + {file = "PyShExC-0.9.1-py2.py3-none-any.whl", hash = "sha256:efc55ed5cb2453e9df569b03e282505e96bb06597934288f3b23dd980ef10028"}, + {file = "PyShExC-0.9.1.tar.gz", hash = "sha256:35a9975d4b9afeb20ef710fb6680871756381d0c39fbb5470b3b506581a304d3"}, +] pystow = [] -python-dateutil = [] +python-dateutil = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] pytz = [] -pyyaml = [] -pyyaml-env-tag = [] +pyyaml = [ + {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, + {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, + {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, + {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, + {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, + {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, + {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, + {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, + {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, + {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, + {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, + {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, + {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, + {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, + {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, + {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, +] +pyyaml-env-tag = [ + {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, + {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, +] rdflib = [] -rdflib-jsonld = [] -rdflib-shim = [] -requests = [] -requests-oauthlib = [] +rdflib-jsonld = [ + {file = "rdflib-jsonld-0.6.1.tar.gz", hash = "sha256:eda5a42a2e09f80d4da78e32b5c684bccdf275368f1541e6b7bcddfb1382a0e0"}, + {file = "rdflib_jsonld-0.6.1-py2.py3-none-any.whl", hash = "sha256:bcf84317e947a661bae0a3f2aee1eced697075fc4ac4db6065a3340ea0f10fc2"}, +] +rdflib-shim = [ + {file = "rdflib_shim-1.0.3-py3-none-any.whl", hash = "sha256:7a853e7750ef1e9bf4e35dea27d54e02d4ed087de5a9e0c329c4a6d82d647081"}, + {file = "rdflib_shim-1.0.3.tar.gz", hash = "sha256:d955d11e2986aab42b6830ca56ac6bc9c893abd1d049a161c6de2f1b99d4fc0d"}, +] +requests = [ + {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"}, + {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"}, +] +requests-oauthlib = [ + {file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"}, + {file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"}, +] rsa = [] -"ruamel.yaml" = [] -"ruamel.yaml.clib" = [] +"ruamel.yaml" = [ + {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, + {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, +] +"ruamel.yaml.clib" = [ + {file = "ruamel.yaml.clib-0.2.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6e7be2c5bcb297f5b82fee9c665eb2eb7001d1050deaba8471842979293a80b0"}, + {file = "ruamel.yaml.clib-0.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:221eca6f35076c6ae472a531afa1c223b9c29377e62936f61bc8e6e8bdc5f9e7"}, + {file = "ruamel.yaml.clib-0.2.6-cp310-cp310-win32.whl", hash = "sha256:1070ba9dd7f9370d0513d649420c3b362ac2d687fe78c6e888f5b12bf8bc7bee"}, + {file = "ruamel.yaml.clib-0.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:77df077d32921ad46f34816a9a16e6356d8100374579bc35e15bab5d4e9377de"}, + {file = "ruamel.yaml.clib-0.2.6-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:cfdb9389d888c5b74af297e51ce357b800dd844898af9d4a547ffc143fa56751"}, + {file = "ruamel.yaml.clib-0.2.6-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7b2927e92feb51d830f531de4ccb11b320255ee95e791022555971c466af4527"}, + {file = "ruamel.yaml.clib-0.2.6-cp35-cp35m-win32.whl", hash = "sha256:ada3f400d9923a190ea8b59c8f60680c4ef8a4b0dfae134d2f2ff68429adfab5"}, + {file = "ruamel.yaml.clib-0.2.6-cp35-cp35m-win_amd64.whl", hash = "sha256:de9c6b8a1ba52919ae919f3ae96abb72b994dd0350226e28f3686cb4f142165c"}, + {file = "ruamel.yaml.clib-0.2.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d67f273097c368265a7b81e152e07fb90ed395df6e552b9fa858c6d2c9f42502"}, + {file = "ruamel.yaml.clib-0.2.6-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:72a2b8b2ff0a627496aad76f37a652bcef400fd861721744201ef1b45199ab78"}, + {file = "ruamel.yaml.clib-0.2.6-cp36-cp36m-win32.whl", hash = "sha256:9efef4aab5353387b07f6b22ace0867032b900d8e91674b5d8ea9150db5cae94"}, + {file = "ruamel.yaml.clib-0.2.6-cp36-cp36m-win_amd64.whl", hash = "sha256:846fc8336443106fe23f9b6d6b8c14a53d38cef9a375149d61f99d78782ea468"}, + {file = "ruamel.yaml.clib-0.2.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0847201b767447fc33b9c235780d3aa90357d20dd6108b92be544427bea197dd"}, + {file = "ruamel.yaml.clib-0.2.6-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:78988ed190206672da0f5d50c61afef8f67daa718d614377dcd5e3ed85ab4a99"}, + {file = "ruamel.yaml.clib-0.2.6-cp37-cp37m-win32.whl", hash = "sha256:a49e0161897901d1ac9c4a79984b8410f450565bbad64dbfcbf76152743a0cdb"}, + {file = "ruamel.yaml.clib-0.2.6-cp37-cp37m-win_amd64.whl", hash = "sha256:bf75d28fa071645c529b5474a550a44686821decebdd00e21127ef1fd566eabe"}, + {file = "ruamel.yaml.clib-0.2.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a32f8d81ea0c6173ab1b3da956869114cae53ba1e9f72374032e33ba3118c233"}, + {file = "ruamel.yaml.clib-0.2.6-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7f7ecb53ae6848f959db6ae93bdff1740e651809780822270eab111500842a84"}, + {file = "ruamel.yaml.clib-0.2.6-cp38-cp38-win32.whl", hash = "sha256:89221ec6d6026f8ae859c09b9718799fea22c0e8da8b766b0b2c9a9ba2db326b"}, + {file = "ruamel.yaml.clib-0.2.6-cp38-cp38-win_amd64.whl", hash = "sha256:31ea73e564a7b5fbbe8188ab8b334393e06d997914a4e184975348f204790277"}, + {file = "ruamel.yaml.clib-0.2.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dc6a613d6c74eef5a14a214d433d06291526145431c3b964f5e16529b1842bed"}, + {file = "ruamel.yaml.clib-0.2.6-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:1866cf2c284a03b9524a5cc00daca56d80057c5ce3cdc86a52020f4c720856f0"}, + {file = "ruamel.yaml.clib-0.2.6-cp39-cp39-win32.whl", hash = "sha256:3fb9575a5acd13031c57a62cc7823e5d2ff8bc3835ba4d94b921b4e6ee664104"}, + {file = "ruamel.yaml.clib-0.2.6-cp39-cp39-win_amd64.whl", hash = "sha256:825d5fccef6da42f3c8eccd4281af399f21c02b32d98e113dbc631ea6a6ecbc7"}, + {file = "ruamel.yaml.clib-0.2.6.tar.gz", hash = "sha256:4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd"}, +] schemasheets = [] -shexjsg = [] -six = [] -snowballstemmer = [] -soupsieve = [] -sparqlslurper = [] -sparqlwrapper = [] +shexjsg = [ + {file = "ShExJSG-0.8.2-py2.py3-none-any.whl", hash = "sha256:3b0d8432dd313bee9e1343382c5e02e9908dd941a7dd7342bf8c0200fe523766"}, + {file = "ShExJSG-0.8.2.tar.gz", hash = "sha256:f17a629fc577fa344382bdee143cd9ff86588537f9f811f66cea6f63cdbcd0b6"}, +] +six = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] +snowballstemmer = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] +soupsieve = [ + {file = "soupsieve-2.3.2.post1-py3-none-any.whl", hash = "sha256:3b2503d3c7084a42b1ebd08116e5f81aadfaea95863628c80a3b774a11b7c759"}, + {file = "soupsieve-2.3.2.post1.tar.gz", hash = "sha256:fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d"}, +] +sparqlslurper = [ + {file = "sparqlslurper-0.5.1-py3-none-any.whl", hash = "sha256:ae49b2d8ce3dd38df7a40465b228ad5d33fb7e11b3f248d195f9cadfc9cfff87"}, + {file = "sparqlslurper-0.5.1.tar.gz", hash = "sha256:9282ebb064fc6152a58269d194cb1e7b275b0f095425a578d75b96dcc851f546"}, +] +sparqlwrapper = [ + {file = "SPARQLWrapper-2.0.0-py3-none-any.whl", hash = "sha256:c99a7204fff676ee28e6acef327dc1ff8451c6f7217dcd8d49e8872f324a8a20"}, + {file = "SPARQLWrapper-2.0.0.tar.gz", hash = "sha256:3fed3ebcc77617a4a74d2644b86fd88e0f32e7f7003ac7b2b334c026201731f1"}, +] sphinx = [] sphinx-click = [] -sphinxcontrib-applehelp = [] -sphinxcontrib-devhelp = [] -sphinxcontrib-htmlhelp = [] -sphinxcontrib-jsmath = [] -sphinxcontrib-qthelp = [] -sphinxcontrib-serializinghtml = [] +sphinxcontrib-applehelp = [ + {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, + {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"}, +] +sphinxcontrib-devhelp = [ + {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, + {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] +sphinxcontrib-htmlhelp = [ + {file = "sphinxcontrib-htmlhelp-2.0.0.tar.gz", hash = "sha256:f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2"}, + {file = "sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl", hash = "sha256:d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07"}, +] +sphinxcontrib-jsmath = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] +sphinxcontrib-qthelp = [ + {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, + {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] +sphinxcontrib-serializinghtml = [ + {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, + {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, +] sqlalchemy = [] -tabulate = [] +tabulate = [ + {file = "tabulate-0.8.10-py3-none-any.whl", hash = "sha256:0ba055423dbaa164b9e456abe7920c5e8ed33fcc16f6d1b2f2d152c8e1e8b4fc"}, + {file = "tabulate-0.8.10-py3.8.egg", hash = "sha256:436f1c768b424654fce8597290d2764def1eea6a77cfa5c33be00b1bc0f4f63d"}, + {file = "tabulate-0.8.10.tar.gz", hash = "sha256:6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519"}, +] termcolor = [] -tomli = [] +tomli = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] tox = [] tqdm = [] -typing-extensions = [] -uritemplate = [] +typing-extensions = [ + {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, + {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, +] +uritemplate = [ + {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, + {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, +] urllib3 = [] virtualenv = [] -watchdog = [] -wrapt = [] +watchdog = [ + {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"}, + {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d"}, + {file = "watchdog-2.1.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ee3e38a6cc050a8830089f79cbec8a3878ec2fe5160cdb2dc8ccb6def8552658"}, + {file = "watchdog-2.1.9-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64a27aed691408a6abd83394b38503e8176f69031ca25d64131d8d640a307591"}, + {file = "watchdog-2.1.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:195fc70c6e41237362ba720e9aaf394f8178bfc7fa68207f112d108edef1af33"}, + {file = "watchdog-2.1.9-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:bfc4d351e6348d6ec51df007432e6fe80adb53fd41183716017026af03427846"}, + {file = "watchdog-2.1.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8250546a98388cbc00c3ee3cc5cf96799b5a595270dfcfa855491a64b86ef8c3"}, + {file = "watchdog-2.1.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:117ffc6ec261639a0209a3252546b12800670d4bf5f84fbd355957a0595fe654"}, + {file = "watchdog-2.1.9-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:97f9752208f5154e9e7b76acc8c4f5a58801b338de2af14e7e181ee3b28a5d39"}, + {file = "watchdog-2.1.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:247dcf1df956daa24828bfea5a138d0e7a7c98b1a47cf1fa5b0c3c16241fcbb7"}, + {file = "watchdog-2.1.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:226b3c6c468ce72051a4c15a4cc2ef317c32590d82ba0b330403cafd98a62cfd"}, + {file = "watchdog-2.1.9-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d9820fe47c20c13e3c9dd544d3706a2a26c02b2b43c993b62fcd8011bcc0adb3"}, + {file = "watchdog-2.1.9-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:70af927aa1613ded6a68089a9262a009fbdf819f46d09c1a908d4b36e1ba2b2d"}, + {file = "watchdog-2.1.9-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ed80a1628cee19f5cfc6bb74e173f1b4189eb532e705e2a13e3250312a62e0c9"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_aarch64.whl", hash = "sha256:9f05a5f7c12452f6a27203f76779ae3f46fa30f1dd833037ea8cbc2887c60213"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_armv7l.whl", hash = "sha256:255bb5758f7e89b1a13c05a5bceccec2219f8995a3a4c4d6968fe1de6a3b2892"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_i686.whl", hash = "sha256:d3dda00aca282b26194bdd0adec21e4c21e916956d972369359ba63ade616153"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_ppc64.whl", hash = "sha256:186f6c55abc5e03872ae14c2f294a153ec7292f807af99f57611acc8caa75306"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:083171652584e1b8829581f965b9b7723ca5f9a2cd7e20271edf264cfd7c1412"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_s390x.whl", hash = "sha256:b530ae007a5f5d50b7fbba96634c7ee21abec70dc3e7f0233339c81943848dc1"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_x86_64.whl", hash = "sha256:4f4e1c4aa54fb86316a62a87b3378c025e228178d55481d30d857c6c438897d6"}, + {file = "watchdog-2.1.9-py3-none-win32.whl", hash = "sha256:5952135968519e2447a01875a6f5fc8c03190b24d14ee52b0f4b1682259520b1"}, + {file = "watchdog-2.1.9-py3-none-win_amd64.whl", hash = "sha256:7a833211f49143c3d336729b0020ffd1274078e94b0ae42e22f596999f50279c"}, + {file = "watchdog-2.1.9-py3-none-win_ia64.whl", hash = "sha256:ad576a565260d8f99d97f2e64b0f97a48228317095908568a9d5c786c829d428"}, + {file = "watchdog-2.1.9.tar.gz", hash = "sha256:43ce20ebb36a51f21fa376f76d1d4692452b2527ccd601950d69ed36b9e21609"}, +] +wrapt = [ + {file = "wrapt-1.14.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1"}, + {file = "wrapt-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320"}, + {file = "wrapt-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2"}, + {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4"}, + {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069"}, + {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310"}, + {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f"}, + {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656"}, + {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c"}, + {file = "wrapt-1.14.1-cp310-cp310-win32.whl", hash = "sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8"}, + {file = "wrapt-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d"}, + {file = "wrapt-1.14.1-cp35-cp35m-win32.whl", hash = "sha256:dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7"}, + {file = "wrapt-1.14.1-cp35-cp35m-win_amd64.whl", hash = "sha256:b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00"}, + {file = "wrapt-1.14.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4"}, + {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1"}, + {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1"}, + {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff"}, + {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d"}, + {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1"}, + {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569"}, + {file = "wrapt-1.14.1-cp36-cp36m-win32.whl", hash = "sha256:81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed"}, + {file = "wrapt-1.14.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471"}, + {file = "wrapt-1.14.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248"}, + {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68"}, + {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d"}, + {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77"}, + {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7"}, + {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015"}, + {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a"}, + {file = "wrapt-1.14.1-cp37-cp37m-win32.whl", hash = "sha256:60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853"}, + {file = "wrapt-1.14.1-cp37-cp37m-win_amd64.whl", hash = "sha256:709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c"}, + {file = "wrapt-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456"}, + {file = "wrapt-1.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f"}, + {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc"}, + {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1"}, + {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af"}, + {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b"}, + {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0"}, + {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57"}, + {file = "wrapt-1.14.1-cp38-cp38-win32.whl", hash = "sha256:aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5"}, + {file = "wrapt-1.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d"}, + {file = "wrapt-1.14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383"}, + {file = "wrapt-1.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7"}, + {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86"}, + {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735"}, + {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b"}, + {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3"}, + {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3"}, + {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe"}, + {file = "wrapt-1.14.1-cp39-cp39-win32.whl", hash = "sha256:dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5"}, + {file = "wrapt-1.14.1-cp39-cp39-win_amd64.whl", hash = "sha256:dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb"}, + {file = "wrapt-1.14.1.tar.gz", hash = "sha256:380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d"}, +] zipp = [] diff --git a/project/excel/linkml_tutorial_schema.xlsx b/project/excel/linkml_tutorial_schema.xlsx index b902564adc63ddfa0c85bde24d8daacfcbb1afcb..6b8f03145e41bfb0e07b7aa71fc5e311ebfa3a01 100644 GIT binary patch delta 4089 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 I&+gRbcNrqu?*IS* literal 9864 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 bfD00lx(WtzFbM!4L%w8@#Es|j_iz6Ls0eF* diff --git a/project/graphql/linkml_tutorial_schema.graphql b/project/graphql/linkml_tutorial_schema.graphql index a2ddf46..4531bef 100644 --- a/project/graphql/linkml_tutorial_schema.graphql +++ b/project/graphql/linkml_tutorial_schema.graphql @@ -1,32 +1,23 @@ -type Event +type NamedThing { + id: String + name: String + description: String } -type ForProfit - { - name: String! - } - -type MedicalEvent - { - } - -type NonProfit - { - name: String! - } - -type Organization +type Person { - name: String! + id: String + name: String + description: String + primaryEmail: String + birthDate: String + ageInYears: String + vitalStatus: String } -type Person +type PersonCollection { - id: String! - name: String! - age: Decimal - gender: Decimal - hasMedicalHistory: [MedicalEvent] + entries: [Person] } diff --git a/project/jsonld/linkml_tutorial_schema.context.jsonld b/project/jsonld/linkml_tutorial_schema.context.jsonld index 62d28e3..fd4ce3f 100644 --- a/project/jsonld/linkml_tutorial_schema.context.jsonld +++ b/project/jsonld/linkml_tutorial_schema.context.jsonld @@ -1,52 +1,18 @@ { - "_comments": "Auto generated from linkml_tutorial_schema.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-09-15T16:50:46\n Schema: linkml-tutorial-schema\n metamodel version: 1.7.0\n model version: None\n \n id: https://w3id.org/linkml/linkml-tutorial-schema\n description: A repostitory that walks through schema generation.\n license: MIT\n ", + "_comments": "Auto generated from linkml_tutorial_schema.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-09-16T11:34:43\n Schema: linkml-tutorial-schema\n metamodel version: 1.7.0\n model version: None\n \n id: https://w3id.org/linkml/linkml-tutorial-schema\n description: A repostitory that walks through schema generation.\n license: MIT\n ", "@context": { "PATO": { "@id": "http://purl.obolibrary.org/obo/PATO_", "@prefix": true }, - "TEMP": "https://example.org/TEMP/", "biolink": "https://w3id.org/biolink/", "example": "https://example.org/", "linkml": "https://w3id.org/linkml/", "linkml_tutorial_schema": "https://w3id.org/linkml/linkml-tutorial-schema/", "schema": "http://schema.org/", - "sdo": "http://example.org/sdo/", - "wikidata": "http://www.wikidata.org/entity/", "@vocab": "https://w3id.org/linkml/linkml-tutorial-schema/", - "age": { - "@id": "TEMP:age" - }, - "description": { - "@id": "TEMP:description" - }, - "gender": { - "@id": "TEMP:gender" - }, - "has_medical_history": { - "@id": "TEMP:has_medical_history" - }, - "id": "@id", - "name": { - "@id": "TEMP:name" - }, - "Event": { - "@id": "TEMP:Event" - }, - "ForProfit": { - "@id": "TEMP:ForProfit" - }, - "MedicalEvent": { - "@id": "TEMP:MedicalEvent" - }, - "NonProfit": { - "@id": "TEMP:NonProfit" - }, - "Organization": { - "@id": "TEMP:Organization" - }, - "Person": { - "@id": "TEMP:Person" + "entries": { + "@type": "@id" } } } diff --git a/project/jsonld/linkml_tutorial_schema.jsonld b/project/jsonld/linkml_tutorial_schema.jsonld index 7be8609..d1da389 100644 --- a/project/jsonld/linkml_tutorial_schema.jsonld +++ b/project/jsonld/linkml_tutorial_schema.jsonld @@ -7,8 +7,7 @@ ], "id": "https://w3id.org/linkml/linkml-tutorial-schema", "imports": [ - "linkml:types", - "personinfo_enums" + "linkml:types" ], "license": "MIT", "prefixes": [ @@ -39,20 +38,6 @@ ], "default_prefix": "linkml_tutorial_schema", "default_range": "string", - "subsets": [ - { - "name": "a", - "definition_uri": "https://example.org/TEMP/A", - "from_schema": "TEMP", - "@type": "SubsetDefinition" - }, - { - "name": "b", - "definition_uri": "https://example.org/TEMP/B", - "from_schema": "TEMP", - "@type": "SubsetDefinition" - } - ], "types": [ { "name": "string", @@ -227,78 +212,49 @@ "slots": [ { "name": "id", - "definition_uri": "https://example.org/TEMP/id", - "description": "any identifier", - "from_schema": "TEMP", - "exact_mappings": [ - "http://example.org/sdo/identifier", - "http://example.org/sdo/identifier" - ], - "slot_uri": "https://example.org/TEMP/id", - "identifier": true, - "owner": "Person", + "definition_uri": "https://w3id.org/linkml/linkml-tutorial-schema/id", + "description": "A unique identifier for a thing", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", + "slot_uri": "https://w3id.org/linkml/linkml-tutorial-schema/id", + "owner": "NamedThing", "domain_of": [ - "Person" + "NamedThing" ], "range": "string", - "required": true, - "@type": "SlotDefinition" - }, - { - "name": "description", - "definition_uri": "https://example.org/TEMP/description", - "annotations": [ - { - "tag": "special", - "value": "my_val", - "@type": "Annotation" - }, - { - "tag": "special2", - "value": "my_val2", - "@type": "Annotation" - } - ], - "description": "a textual description", - "from_schema": "TEMP", - "exact_mappings": [ - "http://example.org/sdo/description", - "http://example.org/sdo/description" - ], - "slot_uri": "https://example.org/TEMP/description", - "range": "string", "@type": "SlotDefinition" }, { "name": "name", - "definition_uri": "https://example.org/TEMP/name", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/name", - "owner": "Organization", + "definition_uri": "https://w3id.org/linkml/linkml-tutorial-schema/name", + "description": "A human-readable name for a thing", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", + "slot_uri": "https://w3id.org/linkml/linkml-tutorial-schema/name", + "owner": "NamedThing", "domain_of": [ - "Person", - "Organization" + "NamedThing" ], "range": "string", "@type": "SlotDefinition" }, { - "name": "age", - "definition_uri": "https://example.org/TEMP/age", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/age", - "owner": "Person", + "name": "description", + "definition_uri": "https://w3id.org/linkml/linkml-tutorial-schema/description", + "description": "A human-readable description for a thing", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", + "slot_uri": "https://w3id.org/linkml/linkml-tutorial-schema/description", + "owner": "NamedThing", "domain_of": [ - "Person" + "NamedThing" ], "range": "string", "@type": "SlotDefinition" }, { - "name": "gender", - "definition_uri": "https://example.org/TEMP/gender", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/gender", + "name": "primary_email", + "definition_uri": "https://w3id.org/linkml/linkml-tutorial-schema/primary_email", + "description": "The main email address of a person", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", + "slot_uri": "https://w3id.org/linkml/linkml-tutorial-schema/primary_email", "owner": "Person", "domain_of": [ "Person" @@ -307,10 +263,11 @@ "@type": "SlotDefinition" }, { - "name": "has_medical_history", - "definition_uri": "https://example.org/TEMP/has_medical_history", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/has_medical_history", + "name": "birth_date", + "definition_uri": "https://w3id.org/linkml/linkml-tutorial-schema/birth_date", + "description": "Date on which a person is born", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", + "slot_uri": "https://w3id.org/linkml/linkml-tutorial-schema/birth_date", "owner": "Person", "domain_of": [ "Person" @@ -319,251 +276,112 @@ "@type": "SlotDefinition" }, { - "name": "Person_id", - "definition_uri": "https://example.org/TEMP/id", - "description": "identifier for a person", - "from_schema": "TEMP", - "exact_mappings": [ - "http://example.org/sdo/identifier" - ], - "is_a": "id", - "domain": "Person", - "slot_uri": "https://example.org/TEMP/id", - "identifier": true, - "alias": "id", + "name": "age_in_years", + "definition_uri": "https://w3id.org/linkml/linkml-tutorial-schema/age_in_years", + "description": "Number of years since birth", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", + "slot_uri": "https://w3id.org/linkml/linkml-tutorial-schema/age_in_years", "owner": "Person", "domain_of": [ "Person" ], - "is_usage_slot": true, - "usage_slot_name": "id", "range": "string", - "required": true, "@type": "SlotDefinition" }, { - "name": "Person_name", - "definition_uri": "https://example.org/TEMP/name", - "annotations": [ - { - "tag": "special", - "value": "my_val", - "@type": "Annotation" - } - ], - "description": "full name", - "from_schema": "TEMP", - "exact_mappings": [ - "http://example.org/sdo/name" - ], - "is_a": "name", - "domain": "Person", - "slot_uri": "https://example.org/TEMP/name", - "alias": "name", + "name": "vital_status", + "definition_uri": "https://w3id.org/linkml/linkml-tutorial-schema/vital_status", + "description": "living or dead status", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", + "slot_uri": "https://w3id.org/linkml/linkml-tutorial-schema/vital_status", "owner": "Person", "domain_of": [ "Person" ], - "is_usage_slot": true, - "usage_slot_name": "name", "range": "string", - "required": true, - "@type": "SlotDefinition" - }, - { - "name": "Person_age", - "definition_uri": "https://example.org/TEMP/age", - "description": "age in years", - "from_schema": "TEMP", - "is_a": "age", - "domain": "Person", - "slot_uri": "https://example.org/TEMP/age", - "alias": "age", - "owner": "Person", - "domain_of": [ - "Person" - ], - "is_usage_slot": true, - "usage_slot_name": "age", - "range": "decimal", - "@type": "SlotDefinition" - }, - { - "name": "Person_gender", - "definition_uri": "https://example.org/TEMP/gender", - "description": "age in years", - "from_schema": "TEMP", - "is_a": "gender", - "domain": "Person", - "slot_uri": "https://example.org/TEMP/gender", - "alias": "gender", - "owner": "Person", - "domain_of": [ - "Person" - ], - "is_usage_slot": true, - "usage_slot_name": "gender", - "range": "decimal", "@type": "SlotDefinition" }, { - "name": "Person_has_medical_history", - "definition_uri": "https://example.org/TEMP/has_medical_history", - "description": "medical history", - "from_schema": "TEMP", - "is_a": "has_medical_history", - "status": "testing", - "domain": "Person", - "slot_uri": "https://example.org/TEMP/has_medical_history", + "name": "personCollection__entries", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", + "slot_uri": "https://w3id.org/linkml/linkml-tutorial-schema/entries", "multivalued": true, - "alias": "has medical history", - "owner": "Person", + "alias": "entries", + "owner": "PersonCollection", "domain_of": [ - "Person" + "PersonCollection" ], - "is_usage_slot": true, - "usage_slot_name": "has medical history", - "range": "MedicalEvent", + "range": "Person", "inlined": true, "@type": "SlotDefinition" - }, - { - "name": "Organization_name", - "definition_uri": "https://example.org/TEMP/name", - "annotations": [ - { - "tag": "special", - "value": "my_val", - "@type": "Annotation" - } - ], - "description": "full name", - "from_schema": "TEMP", - "exact_mappings": [ - "http://example.org/sdo/name" - ], - "is_a": "name", - "domain": "Organization", - "slot_uri": "https://example.org/TEMP/name", - "alias": "name", - "owner": "Organization", - "domain_of": [ - "Organization" - ], - "is_usage_slot": true, - "usage_slot_name": "name", - "range": "string", - "required": true, - "@type": "SlotDefinition" } ], "classes": [ { - "name": "Person", - "definition_uri": "https://example.org/TEMP/Person", - "description": "a person,living or dead", - "from_schema": "TEMP", - "exact_mappings": [ - "sdo:Person", - "wikidata:Q215627", - "sdo:Person", - "wikidata:Q215627" - ], - "status": "release", + "name": "NamedThing", + "definition_uri": "https://w3id.org/linkml/linkml-tutorial-schema/NamedThing", + "description": "A generic grouping for any identifiable entity", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", "slots": [ - "Person_id", - "Person_name", - "Person_age", - "Person_gender", - "Person_has_medical_history" + "id", + "name", + "description" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/Person", + "class_uri": "https://w3id.org/linkml/linkml-tutorial-schema/NamedThing", "@type": "ClassDefinition" }, { - "name": "Organization", - "definition_uri": "https://example.org/TEMP/Organization", - "from_schema": "TEMP", + "name": "Person", + "definition_uri": "https://w3id.org/linkml/linkml-tutorial-schema/Person", + "description": "Represents a Person:", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", + "is_a": "NamedThing", "slots": [ - "Organization_name" + "id", + "name", + "description", + "primary_email", + "birth_date", + "age_in_years", + "vital_status" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/Organization", + "class_uri": "https://w3id.org/linkml/linkml-tutorial-schema/Person", "@type": "ClassDefinition" }, { - "name": "Event", - "definition_uri": "https://example.org/TEMP/Event", - "description": "grouping class for events", - "in_subset": [ - "a", - "a" - ], - "from_schema": "TEMP", - "exact_mappings": [ - "wikidata:Q1656682", - "wikidata:Q1656682" - ], - "status": "release", - "slot_usage": {}, - "class_uri": "https://example.org/TEMP/Event", - "@type": "ClassDefinition" - }, - { - "name": "MedicalEvent", - "definition_uri": "https://example.org/TEMP/MedicalEvent", - "description": "a medical encounter", - "in_subset": [ - "b", - "b" - ], - "from_schema": "TEMP", - "is_a": "Event", - "status": "testing", - "slot_usage": {}, - "class_uri": "https://example.org/TEMP/MedicalEvent", - "@type": "ClassDefinition" - }, - { - "name": "ForProfit", - "definition_uri": "https://example.org/TEMP/ForProfit", - "from_schema": "TEMP", - "is_a": "Organization", + "name": "PersonCollection", + "definition_uri": "https://w3id.org/linkml/linkml-tutorial-schema/PersonCollection", + "description": "A holder for Person objects", + "from_schema": "https://w3id.org/linkml/linkml-tutorial-schema", "slots": [ - "Organization_name" + "personCollection__entries" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/ForProfit", - "@type": "ClassDefinition" - }, - { - "name": "NonProfit", - "definition_uri": "https://example.org/TEMP/NonProfit", - "from_schema": "TEMP", - "exact_mappings": [ - "wikidata:Q163740", - "wikidata:Q163740" - ], - "is_a": "Organization", - "slots": [ - "Organization_name" + "attributes": [ + { + "name": "entries", + "multivalued": true, + "range": "Person", + "inlined": true, + "@type": "SlotDefinition" + } ], - "slot_usage": {}, - "class_uri": "https://example.org/TEMP/NonProfit", + "class_uri": "https://w3id.org/linkml/linkml-tutorial-schema/PersonCollection", + "tree_root": true, "@type": "ClassDefinition" } ], "metamodel_version": "1.7.0", "source_file": "linkml_tutorial_schema.yaml", - "source_file_date": "2022-09-15T16:50:02", - "source_file_size": 628, - "generation_date": "2022-09-15T16:50:47", + "source_file_date": "2022-09-16T11:23:58", + "source_file_size": 1572, + "generation_date": "2022-09-16T11:34:44", "@type": "SchemaDefinition", "@context": [ "project/jsonld/linkml_tutorial_schema.context.jsonld", "https://w3id.org/linkml/types.context.jsonld", - "personinfo_enums.context.jsonld", { "@base": "https://w3id.org/linkml/linkml-tutorial-schema/" } diff --git a/project/jsonschema/linkml_tutorial_schema.schema.json b/project/jsonschema/linkml_tutorial_schema.schema.json index 21a9b80..3a3da01 100644 --- a/project/jsonschema/linkml_tutorial_schema.schema.json +++ b/project/jsonschema/linkml_tutorial_schema.schema.json @@ -1,99 +1,76 @@ { "$defs": { - "Event": { + "NamedThing": { "additionalProperties": false, - "description": "grouping class for events", - "properties": {}, - "required": [], - "title": "Event", - "type": "object" - }, - "ForProfit": { - "additionalProperties": false, - "description": "", + "description": "A generic grouping for any identifiable entity", "properties": { + "description": { + "description": "A human-readable description for a thing", + "type": "string" + }, + "id": { + "description": "A unique identifier for a thing", + "type": "string" + }, "name": { - "description": "full name", + "description": "A human-readable name for a thing", "type": "string" } }, - "required": [ - "name" - ], - "title": "ForProfit", - "type": "object" - }, - "MedicalEvent": { - "additionalProperties": false, - "description": "a medical encounter", - "properties": {}, "required": [], - "title": "MedicalEvent", + "title": "NamedThing", "type": "object" }, - "NonProfit": { + "Person": { "additionalProperties": false, - "description": "", + "description": "Represents a Person:", "properties": { - "name": { - "description": "full name", + "age_in_years": { + "description": "Number of years since birth", "type": "string" - } - }, - "required": [ - "name" - ], - "title": "NonProfit", - "type": "object" - }, - "Organization": { - "additionalProperties": false, - "description": "", - "properties": { + }, + "birth_date": { + "description": "Date on which a person is born", + "type": "string" + }, + "description": { + "description": "A human-readable description for a thing", + "type": "string" + }, + "id": { + "description": "A unique identifier for a thing", + "type": "string" + }, "name": { - "description": "full name", + "description": "A human-readable name for a thing", + "type": "string" + }, + "primary_email": { + "description": "The main email address of a person", + "type": "string" + }, + "vital_status": { + "description": "living or dead status", "type": "string" } }, - "required": [ - "name" - ], - "title": "Organization", + "required": [], + "title": "Person", "type": "object" }, - "Person": { + "PersonCollection": { "additionalProperties": false, - "description": "a person,living or dead", + "description": "A holder for Person objects", "properties": { - "age": { - "description": "age in years", - "type": "number" - }, - "gender": { - "description": "age in years", - "type": "number" - }, - "has_medical_history": { - "description": "medical history", + "entries": { "items": { - "$ref": "#/$defs/MedicalEvent" + "$ref": "#/$defs/Person" }, "type": "array" - }, - "id": { - "description": "identifier for a person", - "type": "string" - }, - "name": { - "description": "full name", - "type": "string" } }, - "required": [ - "id", - "name" - ], - "title": "Person", + "required": [], + "title": "PersonCollection", "type": "object" } }, @@ -101,7 +78,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "metamodel_version": "1.7.0", - "properties": {}, + "properties": { + "entries": { + "items": { + "$ref": "#/$defs/Person" + }, + "type": "array" + } + }, "required": [], "title": "linkml-tutorial-schema", "type": "object", diff --git a/project/owl/linkml_tutorial_schema.owl.ttl b/project/owl/linkml_tutorial_schema.owl.ttl index 4814be8..c0c0bab 100644 --- a/project/owl/linkml_tutorial_schema.owl.ttl +++ b/project/owl/linkml_tutorial_schema.owl.ttl @@ -7,26 +7,6 @@ @prefix skos: . @prefix xsd: . - a owl:Class, - linkml:ClassDefinition ; - rdfs:label "ForProfit" ; - rdfs:subClassOf . - - a owl:Class, - linkml:ClassDefinition ; - rdfs:label "NonProfit" ; - rdfs:subClassOf ; - skos:exactMatch . - - a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "description" ; - rdfs:range linkml:String ; - skos:definition "a textual description" ; - skos:exactMatch ; - linkml_tutorial_schema:special "my_val" ; - linkml_tutorial_schema:special2 "my_val2" . - linkml:SubsetDefinition a owl:Class ; rdfs:label "subset_definition" . @@ -35,93 +15,113 @@ linkml:TypeDefinition a owl:Class ; linkml:linkml-tutorial-schema a owl:Ontology ; rdfs:label "linkml-tutorial-schema" ; - IAO:0000700 , - , - ; + IAO:0000700 linkml_tutorial_schema:NamedThing, + linkml_tutorial_schema:PersonCollection ; dcterms:license "MIT" ; dcterms:title "linkml-tutorial-schema" ; rdfs:seeAlso "https://linkml.github.io/linkml-tutorial-schema" ; - linkml:generation_date "2022-09-15T16:50:52" ; + linkml:generation_date "2022-09-16T11:34:48" ; linkml:metamodel_version "1.7.0" ; linkml:source_file "linkml_tutorial_schema.yaml" ; - linkml:source_file_date "2022-09-15T16:50:02" ; - linkml:source_file_size 628 . + linkml:source_file_date "2022-09-16T11:23:58" ; + linkml:source_file_size 1572 . linkml:topValue a owl:DatatypeProperty ; rdfs:label "value" . - a owl:Class, - linkml:ClassDefinition ; - rdfs:label "MedicalEvent" ; - rdfs:subClassOf ; - skos:definition "a medical encounter" . - - a owl:Class, +linkml_tutorial_schema:PersonCollection a owl:Class, linkml:ClassDefinition ; - rdfs:label "Person" ; + rdfs:label "PersonCollection" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Decimal ; - owl:onProperty ], - [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Decimal ; - owl:onProperty ] ; - skos:definition "a person,living or dead" ; - skos:exactMatch , - . + owl:allValuesFrom linkml_tutorial_schema:Person ; + owl:onProperty linkml_tutorial_schema:entries ] ; + skos:definition "A holder for Person objects" . + +linkml_tutorial_schema:age_in_years a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "age_in_years" ; + rdfs:range linkml:String ; + skos:definition "Number of years since birth" . - a owl:ObjectProperty, +linkml_tutorial_schema:birth_date a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "age" ; - rdfs:range linkml:String . + rdfs:label "birth_date" ; + rdfs:range linkml:String ; + skos:definition "Date on which a person is born" . - a owl:ObjectProperty, +linkml_tutorial_schema:description a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "gender" ; - rdfs:range linkml:String . + rdfs:label "description" ; + rdfs:range linkml:String ; + skos:definition "A human-readable description for a thing" . - a owl:ObjectProperty, +linkml_tutorial_schema:entries a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "has medical history" ; - rdfs:range linkml:String . + rdfs:label "entries" ; + rdfs:range linkml_tutorial_schema:Person . - a owl:ObjectProperty, +linkml_tutorial_schema:id a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "id" ; rdfs:range linkml:String ; - skos:definition "any identifier" ; - skos:exactMatch . + skos:definition "A unique identifier for a thing" . - a owl:Class, - linkml:ClassDefinition ; - rdfs:label "Event" ; - skos:definition "grouping class for events" ; - skos:exactMatch . - - a owl:ObjectProperty, +linkml_tutorial_schema:name a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "name" ; - rdfs:range linkml:String . + rdfs:range linkml:String ; + skos:definition "A human-readable name for a thing" . - a owl:Class, +linkml_tutorial_schema:primary_email a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "primary_email" ; + rdfs:range linkml:String ; + skos:definition "The main email address of a person" . + +linkml_tutorial_schema:vital_status a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "vital_status" ; + rdfs:range linkml:String ; + skos:definition "living or dead status" . + +linkml_tutorial_schema:NamedThing a owl:Class, + linkml:ClassDefinition ; + rdfs:label "NamedThing" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml_tutorial_schema:description ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml_tutorial_schema:id ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml_tutorial_schema:name ] ; + skos:definition "A generic grouping for any identifiable entity" . + +linkml_tutorial_schema:Person a owl:Class, linkml:ClassDefinition ; - rdfs:label "Organization" ; + rdfs:label "Person" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml_tutorial_schema:vital_status ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml_tutorial_schema:birth_date ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml_tutorial_schema:primary_email ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty ; - owl:qualifiedCardinality 1 ] . + owl:onProperty linkml_tutorial_schema:age_in_years ], + linkml_tutorial_schema:NamedThing ; + skos:definition "Represents a Person:" . linkml:ClassDefinition a owl:Class ; rdfs:label "class_definition" . diff --git a/project/prefixmap/linkml_tutorial_schema.yaml b/project/prefixmap/linkml_tutorial_schema.yaml index 5889071..47b44bb 100644 --- a/project/prefixmap/linkml_tutorial_schema.yaml +++ b/project/prefixmap/linkml_tutorial_schema.yaml @@ -1,29 +1,8 @@ { "PATO": "http://purl.obolibrary.org/obo/PATO_", - "TEMP": "https://example.org/TEMP/", "biolink": "https://w3id.org/biolink/", "example": "https://example.org/", "linkml": "https://w3id.org/linkml/", "linkml_tutorial_schema": "https://w3id.org/linkml/linkml-tutorial-schema/", - "schema": "http://schema.org/", - "sdo": "http://example.org/sdo/", - "wikidata": "http://www.wikidata.org/entity/", - "Event": { - "@id": "TEMP:Event" - }, - "ForProfit": { - "@id": "TEMP:ForProfit" - }, - "MedicalEvent": { - "@id": "TEMP:MedicalEvent" - }, - "NonProfit": { - "@id": "TEMP:NonProfit" - }, - "Organization": { - "@id": "TEMP:Organization" - }, - "Person": { - "@id": "TEMP:Person" - } + "schema": "http://schema.org/" } diff --git a/project/protobuf/linkml_tutorial_schema.proto b/project/protobuf/linkml_tutorial_schema.proto index 913db40..e08f923 100644 --- a/project/protobuf/linkml_tutorial_schema.proto +++ b/project/protobuf/linkml_tutorial_schema.proto @@ -1,21 +1,23 @@ -message ForProfit - { - string name = 0 - } -message NonProfit - { - string name = 0 - } -message Organization +// A generic grouping for any identifiable entity +message NamedThing { + string id = 0 string name = 0 + string description = 0 } -// a person,living or dead +// Represents a Person: message Person { string id = 0 string name = 0 - decimal age = 0 - decimal gender = 0 - repeated medicalEvent hasMedicalHistory = 0 + string description = 0 + string primaryEmail = 0 + string birthDate = 0 + string ageInYears = 0 + string vitalStatus = 0 + } +// A holder for Person objects +message PersonCollection + { + repeated person entries = 0 } diff --git a/project/shacl/linkml_tutorial_schema.shacl.ttl b/project/shacl/linkml_tutorial_schema.shacl.ttl index ad3ee04..10fea28 100644 --- a/project/shacl/linkml_tutorial_schema.shacl.ttl +++ b/project/shacl/linkml_tutorial_schema.shacl.ttl @@ -1,73 +1,67 @@ +@prefix linkml_tutorial_schema: . @prefix rdf: . @prefix sh: . @prefix xsd: . - a sh:NodeShape ; +linkml_tutorial_schema:NamedThing a sh:NodeShape ; sh:closed true ; - sh:description "grouping class for events" ; + sh:description "A generic grouping for any identifiable entity" ; sh:ignoredProperties ( rdf:type ) ; - sh:targetClass . - - a sh:NodeShape ; - sh:closed true ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path ] ; - sh:targetClass . - - a sh:NodeShape ; - sh:closed true ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:maxCount 1 ; - sh:minCount 1 ; + sh:property [ sh:description "A human-readable description for a thing" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path linkml_tutorial_schema:description ], + [ sh:description "A human-readable name for a thing" ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path linkml_tutorial_schema:name ], + [ sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; sh:order 0 ; - sh:path ] ; - sh:targetClass . + sh:path linkml_tutorial_schema:id ] ; + sh:targetClass linkml_tutorial_schema:NamedThing . - a sh:NodeShape ; +linkml_tutorial_schema:PersonCollection a sh:NodeShape ; sh:closed true ; + sh:description "A holder for Person objects" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "full name" ; - sh:maxCount 1 ; - sh:minCount 1 ; + sh:property [ sh:class linkml_tutorial_schema:Person ; + sh:nodeKind sh:BlankNode ; sh:order 0 ; - sh:path ] ; - sh:targetClass . + sh:path linkml_tutorial_schema:entries ] ; + sh:targetClass linkml_tutorial_schema:PersonCollection . - a sh:NodeShape ; +linkml_tutorial_schema:Person a sh:NodeShape ; sh:closed true ; - sh:description "a person,living or dead" ; + sh:description "Represents a Person:" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "full name" ; + sh:property [ sh:description "Date on which a person is born" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:order 1 ; - sh:path ], - [ sh:description "identifier for a person" ; + sh:path linkml_tutorial_schema:birth_date ], + [ sh:description "The main email address of a person" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:order 0 ; - sh:path ], - [ sh:description "age in years" ; + sh:path linkml_tutorial_schema:primary_email ], + [ sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path linkml_tutorial_schema:id ], + [ sh:description "A human-readable name for a thing" ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path linkml_tutorial_schema:name ], + [ sh:description "living or dead status" ; sh:maxCount 1 ; sh:order 3 ; - sh:path ], - [ sh:description "age in years" ; + sh:path linkml_tutorial_schema:vital_status ], + [ sh:description "A human-readable description for a thing" ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path linkml_tutorial_schema:description ], + [ sh:description "Number of years since birth" ; sh:maxCount 1 ; sh:order 2 ; - sh:path ], - [ sh:class ; - sh:description "medical history" ; - sh:nodeKind sh:BlankNode ; - sh:order 4 ; - sh:path ] ; - sh:targetClass . - - a sh:NodeShape ; - sh:closed true ; - sh:description "a medical encounter" ; - sh:ignoredProperties ( rdf:type ) ; - sh:targetClass . + sh:path linkml_tutorial_schema:age_in_years ] ; + sh:targetClass linkml_tutorial_schema:Person . diff --git a/project/shex/linkml_tutorial_schema.shex b/project/shex/linkml_tutorial_schema.shex index 6fb0971..02130e0 100644 --- a/project/shex/linkml_tutorial_schema.shex +++ b/project/shex/linkml_tutorial_schema.shex @@ -2,7 +2,6 @@ BASE PREFIX rdf: PREFIX xsd: PREFIX linkml: -PREFIX TEMP: linkml:String xsd:string @@ -35,53 +34,32 @@ linkml:Objectidentifier IRI linkml:Nodeidentifier NONLITERAL -TEMP:Event ( + ( CLOSED { - ( $TEMP:Event_tes rdf:type . * ; - rdf:type [ TEMP:Event ] ? + ( $ ( @linkml:String ? ; + @linkml:String ? ; + @linkml:String ? + ) ; + rdf:type [ ] ? ) - } OR @TEMP:MedicalEvent + } OR @ ) -TEMP:ForProfit CLOSED { - ( $TEMP:ForProfit_tes ( &TEMP:Organization_tes ; - rdf:type [ TEMP:Organization ] ? + CLOSED { + ( $ ( & ; + rdf:type [ ] ? ; + @linkml:String ? ; + @linkml:String ? ; + @linkml:String ? ; + @linkml:String ? ) ; - rdf:type [ TEMP:ForProfit ] ? + rdf:type [ ] ? ) } -TEMP:MedicalEvent CLOSED { - ( $TEMP:MedicalEvent_tes ( &TEMP:Event_tes ; - rdf:type [ TEMP:Event ] ? - ) ; - rdf:type [ TEMP:MedicalEvent ] ? - ) -} - -TEMP:NonProfit CLOSED { - ( $TEMP:NonProfit_tes ( &TEMP:Organization_tes ; - rdf:type [ TEMP:Organization ] ? - ) ; - rdf:type [ TEMP:NonProfit ] ? - ) -} - -TEMP:Organization ( - CLOSED { - ( $TEMP:Organization_tes TEMP:name @linkml:String ; - rdf:type [ TEMP:Organization ] ? - ) - } OR @TEMP:ForProfit OR @TEMP:NonProfit -) - -TEMP:Person CLOSED { - ( $TEMP:Person_tes ( TEMP:name @linkml:String ; - TEMP:age @linkml:Decimal ? ; - TEMP:gender @linkml:Decimal ? ; - TEMP:has_medical_history @TEMP:MedicalEvent * - ) ; - rdf:type [ TEMP:Person ] + CLOSED { + ( $ @ * ; + rdf:type [ ] ? ) } diff --git a/project/sqlschema/linkml_tutorial_schema.sql b/project/sqlschema/linkml_tutorial_schema.sql index 340abcb..4b28c21 100644 --- a/project/sqlschema/linkml_tutorial_schema.sql +++ b/project/sqlschema/linkml_tutorial_schema.sql @@ -1,30 +1,24 @@ -CREATE TABLE "ForProfit" ( - name TEXT NOT NULL, - PRIMARY KEY (name) -); - -CREATE TABLE "NonProfit" ( - name TEXT NOT NULL, - PRIMARY KEY (name) -); - -CREATE TABLE "Organization" ( - name TEXT NOT NULL, - PRIMARY KEY (name) +CREATE TABLE "NamedThing" ( + id TEXT, + name TEXT, + description TEXT, + PRIMARY KEY (id, name, description) ); CREATE TABLE "Person" ( - id TEXT NOT NULL, - name TEXT NOT NULL, - age TEXT, - gender TEXT, - PRIMARY KEY (id) + id TEXT, + name TEXT, + description TEXT, + primary_email TEXT, + birth_date TEXT, + age_in_years TEXT, + vital_status TEXT, + PRIMARY KEY (id, name, description, primary_email, birth_date, age_in_years, vital_status) ); -CREATE TABLE "MedicalEvent" ( - "Person_id" TEXT, - PRIMARY KEY ("Person_id"), - FOREIGN KEY("Person_id") REFERENCES "Person" (id) +CREATE TABLE "PersonCollection" ( + entries TEXT, + PRIMARY KEY (entries) ); diff --git a/src/data/examples/Person-001.yaml b/src/data/examples/Person-001.yaml index 7f83a2c..62d856d 100644 --- a/src/data/examples/Person-001.yaml +++ b/src/data/examples/Person-001.yaml @@ -1,5 +1,5 @@ -# Example data object -id: example:Person001 -name: foo bar -primary_email: foo.bar@example.com -age_in_years: 33 +entries: + - id: P:001 + name: fred bloggs + primary_email: fred.bloggs@example.com + age_in_years: 33 \ No newline at end of file diff --git a/src/linkml_tutorial_schema/datamodel/linkml_tutorial_schema.py b/src/linkml_tutorial_schema/datamodel/linkml_tutorial_schema.py index 2afb19a..db09419 100644 --- a/src/linkml_tutorial_schema/datamodel/linkml_tutorial_schema.py +++ b/src/linkml_tutorial_schema/datamodel/linkml_tutorial_schema.py @@ -1,5 +1,5 @@ # Auto generated from linkml_tutorial_schema.yaml by pythongen.py version: 0.9.0 -# Generation date: 2022-09-15T16:50:55 +# Generation date: 2022-09-16T11:34:51 # Schema: linkml-tutorial-schema # # id: https://w3id.org/linkml/linkml-tutorial-schema @@ -22,8 +22,7 @@ from linkml_runtime.utils.enumerations import EnumDefinitionImpl from rdflib import Namespace, URIRef from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Decimal, String -from linkml_runtime.utils.metamodelcore import Decimal +from linkml_runtime.linkml_model.types import String metamodel_version = "1.7.0" version = None @@ -33,131 +32,103 @@ # Namespaces PATO = CurieNamespace('PATO', 'http://purl.obolibrary.org/obo/PATO_') -TEMP = CurieNamespace('TEMP', 'https://example.org/TEMP/') BIOLINK = CurieNamespace('biolink', 'https://w3id.org/biolink/') EXAMPLE = CurieNamespace('example', 'https://example.org/') LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') LINKML_TUTORIAL_SCHEMA = CurieNamespace('linkml_tutorial_schema', 'https://w3id.org/linkml/linkml-tutorial-schema/') SCHEMA = CurieNamespace('schema', 'http://schema.org/') -SDO = CurieNamespace('sdo', 'http://example.org/sdo/') -WIKIDATA = CurieNamespace('wikidata', 'http://www.wikidata.org/entity/') DEFAULT_ = LINKML_TUTORIAL_SCHEMA # Types # Class references -class PersonId(extended_str): - pass + @dataclass -class Person(YAMLRoot): +class NamedThing(YAMLRoot): """ - a person,living or dead + A generic grouping for any identifiable entity """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.Person - class_class_curie: ClassVar[str] = "TEMP:Person" - class_name: ClassVar[str] = "Person" - class_model_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.Person + class_class_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.NamedThing + class_class_curie: ClassVar[str] = "linkml_tutorial_schema:NamedThing" + class_name: ClassVar[str] = "NamedThing" + class_model_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.NamedThing - id: Union[str, PersonId] = None - name: str = None - age: Optional[Decimal] = None - gender: Optional[Decimal] = None - has_medical_history: Optional[Union[Union[dict, "MedicalEvent"], List[Union[dict, "MedicalEvent"]]]] = empty_list() + id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.id): - self.MissingRequiredField("id") - if not isinstance(self.id, PersonId): - self.id = PersonId(self.id) - - if self._is_empty(self.name): - self.MissingRequiredField("name") - if not isinstance(self.name, str): - self.name = str(self.name) + if self.id is not None and not isinstance(self.id, str): + self.id = str(self.id) - if self.age is not None and not isinstance(self.age, Decimal): - self.age = Decimal(self.age) - - if self.gender is not None and not isinstance(self.gender, Decimal): - self.gender = Decimal(self.gender) + if self.name is not None and not isinstance(self.name, str): + self.name = str(self.name) - if not isinstance(self.has_medical_history, list): - self.has_medical_history = [self.has_medical_history] if self.has_medical_history is not None else [] - self.has_medical_history = [v if isinstance(v, MedicalEvent) else MedicalEvent(**as_dict(v)) for v in self.has_medical_history] + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) super().__post_init__(**kwargs) @dataclass -class Organization(YAMLRoot): +class Person(NamedThing): + """ + Represents a Person: + """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.Organization - class_class_curie: ClassVar[str] = "TEMP:Organization" - class_name: ClassVar[str] = "Organization" - class_model_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.Organization + class_class_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.Person + class_class_curie: ClassVar[str] = "linkml_tutorial_schema:Person" + class_name: ClassVar[str] = "Person" + class_model_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.Person - name: str = None + primary_email: Optional[str] = None + birth_date: Optional[str] = None + age_in_years: Optional[str] = None + vital_status: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.name): - self.MissingRequiredField("name") - if not isinstance(self.name, str): - self.name = str(self.name) + if self.primary_email is not None and not isinstance(self.primary_email, str): + self.primary_email = str(self.primary_email) - super().__post_init__(**kwargs) + if self.birth_date is not None and not isinstance(self.birth_date, str): + self.birth_date = str(self.birth_date) + if self.age_in_years is not None and not isinstance(self.age_in_years, str): + self.age_in_years = str(self.age_in_years) -class Event(YAMLRoot): - """ - grouping class for events - """ - _inherited_slots: ClassVar[List[str]] = [] + if self.vital_status is not None and not isinstance(self.vital_status, str): + self.vital_status = str(self.vital_status) - class_class_uri: ClassVar[URIRef] = TEMP.Event - class_class_curie: ClassVar[str] = "TEMP:Event" - class_name: ClassVar[str] = "Event" - class_model_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.Event + super().__post_init__(**kwargs) -class MedicalEvent(Event): +@dataclass +class PersonCollection(YAMLRoot): """ - a medical encounter + A holder for Person objects """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.MedicalEvent - class_class_curie: ClassVar[str] = "TEMP:MedicalEvent" - class_name: ClassVar[str] = "MedicalEvent" - class_model_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.MedicalEvent - - -@dataclass -class ForProfit(Organization): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = TEMP.ForProfit - class_class_curie: ClassVar[str] = "TEMP:ForProfit" - class_name: ClassVar[str] = "ForProfit" - class_model_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.ForProfit + class_class_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.PersonCollection + class_class_curie: ClassVar[str] = "linkml_tutorial_schema:PersonCollection" + class_name: ClassVar[str] = "PersonCollection" + class_model_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.PersonCollection - name: str = None + entries: Optional[Union[Union[dict, Person], List[Union[dict, Person]]]] = empty_list() -@dataclass -class NonProfit(Organization): - _inherited_slots: ClassVar[List[str]] = [] + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if not isinstance(self.entries, list): + self.entries = [self.entries] if self.entries is not None else [] + self.entries = [v if isinstance(v, Person) else Person(**as_dict(v)) for v in self.entries] - class_class_uri: ClassVar[URIRef] = TEMP.NonProfit - class_class_curie: ClassVar[str] = "TEMP:NonProfit" - class_name: ClassVar[str] = "NonProfit" - class_model_uri: ClassVar[URIRef] = LINKML_TUTORIAL_SCHEMA.NonProfit + super().__post_init__(**kwargs) - name: str = None # Enumerations @@ -166,38 +137,26 @@ class NonProfit(Organization): class slots: pass -slots.id = Slot(uri=TEMP.id, name="id", curie=TEMP.curie('id'), - model_uri=LINKML_TUTORIAL_SCHEMA.id, domain=None, range=URIRef) - -slots.description = Slot(uri=TEMP.description, name="description", curie=TEMP.curie('description'), - model_uri=LINKML_TUTORIAL_SCHEMA.description, domain=None, range=Optional[str]) +slots.id = Slot(uri=LINKML_TUTORIAL_SCHEMA.id, name="id", curie=LINKML_TUTORIAL_SCHEMA.curie('id'), + model_uri=LINKML_TUTORIAL_SCHEMA.id, domain=None, range=Optional[str]) -slots.name = Slot(uri=TEMP.name, name="name", curie=TEMP.curie('name'), +slots.name = Slot(uri=LINKML_TUTORIAL_SCHEMA.name, name="name", curie=LINKML_TUTORIAL_SCHEMA.curie('name'), model_uri=LINKML_TUTORIAL_SCHEMA.name, domain=None, range=Optional[str]) -slots.age = Slot(uri=TEMP.age, name="age", curie=TEMP.curie('age'), - model_uri=LINKML_TUTORIAL_SCHEMA.age, domain=None, range=Optional[str]) - -slots.gender = Slot(uri=TEMP.gender, name="gender", curie=TEMP.curie('gender'), - model_uri=LINKML_TUTORIAL_SCHEMA.gender, domain=None, range=Optional[str]) - -slots.has_medical_history = Slot(uri=TEMP.has_medical_history, name="has medical history", curie=TEMP.curie('has_medical_history'), - model_uri=LINKML_TUTORIAL_SCHEMA.has_medical_history, domain=None, range=Optional[str]) - -slots.Person_id = Slot(uri=TEMP.id, name="Person_id", curie=TEMP.curie('id'), - model_uri=LINKML_TUTORIAL_SCHEMA.Person_id, domain=Person, range=Union[str, PersonId]) +slots.description = Slot(uri=LINKML_TUTORIAL_SCHEMA.description, name="description", curie=LINKML_TUTORIAL_SCHEMA.curie('description'), + model_uri=LINKML_TUTORIAL_SCHEMA.description, domain=None, range=Optional[str]) -slots.Person_name = Slot(uri=TEMP.name, name="Person_name", curie=TEMP.curie('name'), - model_uri=LINKML_TUTORIAL_SCHEMA.Person_name, domain=Person, range=str) +slots.primary_email = Slot(uri=LINKML_TUTORIAL_SCHEMA.primary_email, name="primary_email", curie=LINKML_TUTORIAL_SCHEMA.curie('primary_email'), + model_uri=LINKML_TUTORIAL_SCHEMA.primary_email, domain=None, range=Optional[str]) -slots.Person_age = Slot(uri=TEMP.age, name="Person_age", curie=TEMP.curie('age'), - model_uri=LINKML_TUTORIAL_SCHEMA.Person_age, domain=Person, range=Optional[Decimal]) +slots.birth_date = Slot(uri=LINKML_TUTORIAL_SCHEMA.birth_date, name="birth_date", curie=LINKML_TUTORIAL_SCHEMA.curie('birth_date'), + model_uri=LINKML_TUTORIAL_SCHEMA.birth_date, domain=None, range=Optional[str]) -slots.Person_gender = Slot(uri=TEMP.gender, name="Person_gender", curie=TEMP.curie('gender'), - model_uri=LINKML_TUTORIAL_SCHEMA.Person_gender, domain=Person, range=Optional[Decimal]) +slots.age_in_years = Slot(uri=LINKML_TUTORIAL_SCHEMA.age_in_years, name="age_in_years", curie=LINKML_TUTORIAL_SCHEMA.curie('age_in_years'), + model_uri=LINKML_TUTORIAL_SCHEMA.age_in_years, domain=None, range=Optional[str]) -slots.Person_has_medical_history = Slot(uri=TEMP.has_medical_history, name="Person_has medical history", curie=TEMP.curie('has_medical_history'), - model_uri=LINKML_TUTORIAL_SCHEMA.Person_has_medical_history, domain=Person, range=Optional[Union[Union[dict, "MedicalEvent"], List[Union[dict, "MedicalEvent"]]]]) +slots.vital_status = Slot(uri=LINKML_TUTORIAL_SCHEMA.vital_status, name="vital_status", curie=LINKML_TUTORIAL_SCHEMA.curie('vital_status'), + model_uri=LINKML_TUTORIAL_SCHEMA.vital_status, domain=None, range=Optional[str]) -slots.Organization_name = Slot(uri=TEMP.name, name="Organization_name", curie=TEMP.curie('name'), - model_uri=LINKML_TUTORIAL_SCHEMA.Organization_name, domain=Organization, range=str) \ No newline at end of file +slots.personCollection__entries = Slot(uri=LINKML_TUTORIAL_SCHEMA.entries, name="personCollection__entries", curie=LINKML_TUTORIAL_SCHEMA.curie('entries'), + model_uri=LINKML_TUTORIAL_SCHEMA.personCollection__entries, domain=None, range=Optional[Union[Union[dict, Person], List[Union[dict, Person]]]]) \ No newline at end of file diff --git a/src/linkml_tutorial_schema/schema/linkml_tutorial_schema.yaml b/src/linkml_tutorial_schema/schema/linkml_tutorial_schema.yaml index 2146f8c..2830128 100644 --- a/src/linkml_tutorial_schema/schema/linkml_tutorial_schema.yaml +++ b/src/linkml_tutorial_schema/schema/linkml_tutorial_schema.yaml @@ -19,4 +19,50 @@ default_range: string imports: - linkml:types - - personinfo_enums + + +classes: + + NamedThing: + description: >- + A generic grouping for any identifiable entity + slots: + - id + - name + - description + + Person: + is_a: NamedThing + description: >- + Represents a Person: + slots: + - primary_email + - birth_date + - age_in_years + - vital_status + + PersonCollection: + tree_root: true + description: >- + A holder for Person objects + attributes: + entries: + range: Person + multivalued: true + inlined: true + +slots: + id: + description: A unique identifier for a thing + name: + description: A human-readable name for a thing + description: + description: A human-readable description for a thing + primary_email: + description: The main email address of a person + birth_date: + description: Date on which a person is born + age_in_years: + description: Number of years since birth + vital_status: + description: living or dead status diff --git a/src/linkml_tutorial_schema/schema/personinfo_enums.yaml b/src/linkml_tutorial_schema/schema/personinfo_enums.yaml deleted file mode 100644 index e1b689c..0000000 --- a/src/linkml_tutorial_schema/schema/personinfo_enums.yaml +++ /dev/null @@ -1,172 +0,0 @@ -name: TEMP -id: TEMP -imports: -- linkml:types -prefixes: - linkml: - prefix_prefix: linkml - prefix_reference: https://w3id.org/linkml/ - TEMP: - prefix_prefix: TEMP - prefix_reference: https://example.org/TEMP/ - sdo: - prefix_prefix: sdo - prefix_reference: http://example.org/sdo/ - wikidata: - prefix_prefix: wikidata - prefix_reference: http://www.wikidata.org/entity/ -default_prefix: TEMP -default_range: string -subsets: - a: - name: a - b: - name: b -slots: - id: - name: id - description: any identifier - from_schema: TEMP - exact_mappings: - - sdo:identifier - - sdo:identifier - multivalued: false - identifier: true - range: string - required: true - description: - name: description - annotations: - special: - tag: special - value: my_val - special2: - tag: special2 - value: my_val2 - description: a textual description - from_schema: TEMP - exact_mappings: - - sdo:description - - sdo:description - multivalued: false - range: string - required: false - name: - name: name - from_schema: TEMP - age: - name: age - from_schema: TEMP - gender: - name: gender - from_schema: TEMP - has medical history: - name: has medical history - from_schema: TEMP -classes: - Person: - name: Person - description: a person,living or dead - from_schema: TEMP - exact_mappings: - - sdo:Person - - wikidata:Q215627 - - sdo:Person - - wikidata:Q215627 - status: release - slots: - - id - - name - - age - - gender - - has medical history - slot_usage: - id: - name: id - description: identifier for a person - exact_mappings: - - sdo:identifier - multivalued: false - identifier: true - range: string - required: true - name: - name: name - annotations: - special: - tag: special - value: my_val - description: full name - exact_mappings: - - sdo:name - multivalued: false - range: string - required: true - age: - name: age - description: age in years - multivalued: false - range: decimal - required: false - gender: - name: gender - description: age in years - multivalued: false - range: decimal - required: false - has medical history: - name: has medical history - description: medical history - status: testing - multivalued: true - range: MedicalEvent - required: false - Organization: - name: Organization - from_schema: TEMP - slots: - - name - slot_usage: - name: - name: name - annotations: - special: - tag: special - value: my_val - description: full name - exact_mappings: - - sdo:name - multivalued: false - range: string - required: true - Event: - name: Event - description: grouping class for events - in_subset: - - a - - a - from_schema: TEMP - exact_mappings: - - wikidata:Q1656682 - - wikidata:Q1656682 - status: release - MedicalEvent: - name: MedicalEvent - description: a medical encounter - in_subset: - - b - - b - from_schema: TEMP - is_a: Event - status: testing - ForProfit: - name: ForProfit - from_schema: TEMP - is_a: Organization - NonProfit: - name: NonProfit - from_schema: TEMP - exact_mappings: - - wikidata:Q163740 - - wikidata:Q163740 - is_a: Organization diff --git a/tests/test_data.py b/tests/test_data.py index 6e5a46b..a7ab796 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -4,7 +4,7 @@ import unittest from linkml_runtime.loaders import yaml_loader -from linkml_tutorial_schema.datamodel import Person +from linkml_tutorial_schema.datamodel import PersonCollection ROOT = os.path.join(os.path.dirname(__file__), '..') DATA_DIR = os.path.join(ROOT, "src", "data", "examples") @@ -17,5 +17,5 @@ class TestData(unittest.TestCase): def test_data(self): """Date test.""" for path in EXAMPLE_FILES: - obj = yaml_loader.load(path, target_class=Person) + obj = yaml_loader.load(path, target_class=PersonCollection) assert obj From ee34501fa0ef2fb91ee87fb0bcd9c5df7e587150 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Fri, 16 Sep 2022 11:37:19 -0700 Subject: [PATCH 2/2] fix style of test --- tests/test_data.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_data.py b/tests/test_data.py index a7ab796..bed4035 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -11,6 +11,7 @@ EXAMPLE_FILES = glob.glob(os.path.join(DATA_DIR, '*.yaml')) + class TestData(unittest.TestCase): """Test data and datamodel."""