{"id":20053788,"url":"https://github.com/casperwa/turtle-canon","last_synced_at":"2025-08-12T13:07:32.841Z","repository":{"id":38208058,"uuid":"434292203","full_name":"CasperWA/turtle-canon","owner":"CasperWA","description":"A tool for canonizing Turtle (`.ttl`) ontology files.","archived":false,"fork":false,"pushed_at":"2025-08-06T06:30:08.000Z","size":3943,"stargazers_count":3,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-06T08:26:47.473Z","etag":null,"topics":["ontology","turtle"],"latest_commit_sha":null,"homepage":"https://CasperWA.github.io/turtle-canon","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CasperWA.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-02T16:19:07.000Z","updated_at":"2025-08-06T06:28:51.000Z","dependencies_parsed_at":"2024-05-08T13:29:08.741Z","dependency_job_id":"c0783893-ba03-457f-9d2e-d9b3e0f37b3f","html_url":"https://github.com/CasperWA/turtle-canon","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/CasperWA/turtle-canon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CasperWA%2Fturtle-canon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CasperWA%2Fturtle-canon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CasperWA%2Fturtle-canon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CasperWA%2Fturtle-canon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CasperWA","download_url":"https://codeload.github.com/CasperWA/turtle-canon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CasperWA%2Fturtle-canon/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270065441,"owners_count":24520946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ontology","turtle"],"created_at":"2024-11-13T12:29:39.995Z","updated_at":"2025-08-12T13:07:32.817Z","avatar_url":"https://github.com/CasperWA.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Turtle Canon\n\n\u003c!-- markdownlint-disable-next-line MD036 --\u003e\n*It's turtles all the way down*\n\n[![Codecov main](https://img.shields.io/codecov/c/github/CasperWA/turtle-canon/main)](https://app.codecov.io/gh/CasperWA/turtle-canon)\n[![CI main](https://github.com/CasperWA/turtle-canon/actions/workflows/ci_tests.yml/badge.svg?branch=main)](https://github.com/CasperWA/turtle-canon/actions/workflows/ci_tests.yml?query=branch%3Amain)\n\nA tool for canonizing Turtle (`.ttl`) ontology files.\n\nThe domain standardized tool for editing and creating ontologies is [Protégé](https://protege.stanford.edu/).\nThe Turtle (`.ttl`) file format is a format based on XML and OWL, which is considered one of the most readable formats for OWL ontology files.\nHowever, Protégé writes the order of ontology entities differently depending on the version, this tool mitigates this by running the file through a canonizing parser that ensures the classes are sorted and listed in the same way, always.\n\nThe main use case for developing this tool is when developing ontologies utilizing versioning tools such as `git`, `svn` or similar, which are single character diff-sensitive.\n\n## Install\n\nThe tool is written for Python 3.10, so one needs at minimum Python 3.10 installed to run it at this stage.\nThe plan is to make a stand-alone executable for each of the major OS'.\n\nInstall via PyPI (stable version, recommended):\n\n```shell\npython3.10 -m pip install turtle-canon\n```\n\nInstall via GitHub (development version):\n\n```shell\npython3.10 -m pip install git+https://github.com/CasperWA/turtle-canon#egg=turtle-canon\n```\n\n## Usage\n\nTo run the tool, simply run:\n\n```shell\nturtle-canon path/to/my_ontology_file.ttl\n```\n\nFor more information about the tool and the options available, run `turtle-canon --help`.  \nTo check the version run `turtle-canon --version`.\n\nThe currently latest stable version is **0.1.1**.\n\n## License \u0026 copyright\n\nThis tool is [MIT Licensed](LICENSE) and copyright \u0026copy; 2021 Casper Welzel Andersen ([GitHub](https://github.com/CasperWA), [GitLab](https://gitlab.com/CasperWA), [website](https://casper.welzel.nu)) \u0026 SINTEF.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasperwa%2Fturtle-canon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcasperwa%2Fturtle-canon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasperwa%2Fturtle-canon/lists"}