{"id":16149038,"url":"https://github.com/julianmendez/jcel","last_synced_at":"2025-10-16T12:24:32.989Z","repository":{"id":34874540,"uuid":"38883479","full_name":"julianmendez/jcel","owner":"julianmendez","description":"Reasoner for the description logic EL+.","archived":false,"fork":false,"pushed_at":"2024-12-28T13:58:13.000Z","size":37953,"stargazers_count":14,"open_issues_count":4,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-27T07:12:14.148Z","etag":null,"topics":["automated-reasoning","description-logics","java","jcel","owl-api","protege-plugin","tu-dresden"],"latest_commit_sha":null,"homepage":"https://julianmendez.github.io/jcel/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/julianmendez.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2015-07-10T14:10:16.000Z","updated_at":"2024-12-28T13:58:17.000Z","dependencies_parsed_at":"2024-12-23T19:42:06.697Z","dependency_job_id":null,"html_url":"https://github.com/julianmendez/jcel","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianmendez%2Fjcel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianmendez%2Fjcel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianmendez%2Fjcel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianmendez%2Fjcel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julianmendez","download_url":"https://codeload.github.com/julianmendez/jcel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243809875,"owners_count":20351407,"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","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":["automated-reasoning","description-logics","java","jcel","owl-api","protege-plugin","tu-dresden"],"created_at":"2024-10-10T00:36:10.626Z","updated_at":"2025-10-16T12:24:27.955Z","avatar_url":"https://github.com/julianmendez.png","language":"Java","funding_links":[],"categories":["Reasoners"],"sub_categories":["Vocabularies"],"readme":"# [jcel](https://julianmendez.github.io/jcel/)\n\n[![License 1](https://img.shields.io/badge/License%201-Apache%202.0-blue.svg)][license1]\n[![license 2](https://img.shields.io/badge/License%202-LGPL%203.0-blue.svg)][license2]\n[![Maven Central](https://img.shields.io/maven-central/v/de.tu-dresden.inf.lat.jcel/jcel-parent.svg?label=Maven%20Central)][maven-central]\n[![build](https://github.com/julianmendez/jcel/workflows/Java%20CI/badge.svg)][build-status]\n[![download](https://img.shields.io/sourceforge/dm/jcel.svg)][releases]\n[![follow](https://img.shields.io/twitter/follow/jcelreasoner.svg?style=social)][twitter]\n\n**jcel** is a reasoner for the [description logic][description-logics] EL+. It uses the [OWL\nAPI][owl-api] and can be used as a plug-in for [Protege][protege].\n\n\n## Download\n\n* [all-in-one ZIP file][zip-file]\n* [The Central Repository][central-repository]\n* [all releases][releases]\n* as dependency:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ede.tu-dresden.inf.lat.jcel\u003c/groupId\u003e\n  \u003cartifactId\u003ejcel-owlapi\u003c/artifactId\u003e\n  \u003cversion\u003e0.24.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n\n## Author\n\n[Julian Alfredo Mendez][author]\n\n\n## Licenses\n\n[Apache 2.0][license1], [LGPL 3.0][license2]\n\n\n## Main features\n\n* is an [OWL 2 EL][owl-2-el] reasoner (albeit currently with some limitations)\n* uses the [OWL API][owl-api]\n* can be used in [Prot\u0026eacute;g\u0026eacute;][protege]\n* is free software and is licensed under [Apache License, Version 2.0][license1] and\n[GNU Lesser General Public License version 3][license2]\n* is fully implemented in [Java][java]\n* evaluated by the [SEALS Community](https://web.archive.org/web/20130723132747/http://www.seals-project.eu/news/storage-and-reasoning-systems-news) having the lowest Average Reasoning Time in 2010\n\n\n## Suggested technologies\n\n* [Java Development Kit 11][java] (or higher)\n* [Apache Maven 3.6.3][maven] (or higher)\n\n\n## Source code\n\nThe project is hosted on [GitHub][jcel-source].\nTo check out and compile the project with [Apache Maven][maven]:\n\n```\n$ git clone https://github.com/julianmendez/jcel.git\n$ cd jcel\n$ mvn clean install\n```\n\nThe library, its sources and its Javadoc will be in `jcel-library/target`, the plug-in will be in `jcel-plugin/target`, the standalone will be in `jcel-standalone/target`, and the release ZIP file will be in `target`.\n\nTo compile the project offline, first download the dependencies:\n\n```\n$ mvn dependency:go-offline\n```\n\nand once offline, use:\n\n```\n$ mvn --offline clean install\n```\n\nThe bundles uploaded to [Sonatype][sonatype] are created with:\n\n```\n$ mvn clean install -DperformRelease=true\n```\n\nand then on each module:\n\n```\n$ cd target\n$ jar -cf bundle.jar jcel-*\n```\n\nand on the main directory:\n\n```\n$ cd target\n$ jar -cf bundle.jar jcel-parent-*\n```\n\nThe version number is updated with:\n\n```\n$ mvn versions:set -DnewVersion=NEW_VERSION\n```\n\nwhere *NEW_VERSION* is the new version.\nThe file [VersionInfo.java][jcel-version-java] is updated manually.\n\n\n## Architecture\n\n\n### Modules\n\nThe version under development has the following modules:\n\n* **jcel-coreontology** : set of normalized axioms\n* **jcel-core** : classification algorithms using only normalized axioms\n* **jcel-ontology** : set of all possible axioms and a procedure to normalize them\n* **jcel-reasoner** : reasoner that can classify an ontology and can compute entailment\n* **jcel-owlapi** : OWL API interface, performs the translation between the OWL API axioms and jcel axioms\n* **jcel-protege** : module to connect to Protégé\n\nIt also has the following module used to build the release:\n\n* **jcel-library** : module to create the library, its sources and its javadoc\n* **jcel-plugin** : module to create the jar for Protégé\n* **jcel-standalone** : module to create the standalone application\n* **jcel-distribution** : module to create the release, a single ZIP file\n\n\n### Algorithm\n\n* translate OWL API axioms into jcel axioms, which are composed by integer numbers\n* detect the expressivity used in the axioms\n* apply normalization rules to the set of axioms, producing a set of normalized axioms and auxiliary entities if necessary\n* saturate the set of normalized axioms with deduced object property axioms\n* create an extended ontology based on the set of normalized axioms\n* apply the completion rules while there is some change in the affected sets\n* remove the auxiliary entities\n* build a graph containing direct subsumers (parents), direct subsumees (children) and equivalents\n* create OWL API data structures based on the jcel's integer representation\n\n\n### Package dependencies\n\nIf we consider each package as a node, and each dependency between two packages as a directed edge, the structure of package dependency should be a directed acyclic graph (DAG). The packages should only make public those classes that are or could be used by another package preserving the DAG structure.\n\n\n## Example\n\nThis [file](https://github.com/julianmendez/jcel/blob/master/docs/data/start-jcel.sh.txt) is an example of how to start jcel.\n\nThis [file](https://github.com/julianmendez/jcel/blob/master/docs/data/example.owl) is an example ontology using ELHIfR+.\n\nOntologies:\n\n* [Gene Ontology](http://geneontology.org/): input [owl](https://sourceforge.net/projects/jcel/files/ontologies/geneontology.owl.zip) [krss](https://sourceforge.net/projects/jcel/files/ontologies/go.cel.zip), output [xml](https://sourceforge.net/projects/jcel/files/ontologies/geneontology-inferred-0.12.0.xml.zip)\n* [NCI Thesaurus](https://ncit.nci.nih.gov/ncitbrowser/): input [owl](https://sourceforge.net/projects/jcel/files/ontologies/nci.owl.zip), output [xml](https://sourceforge.net/projects/jcel/files/ontologies/nci-inferred-0.12.0.xml.zip)\n* [CEL GALEN](http://www.opengalen.org/): input [owl](https://sourceforge.net/projects/jcel/files/ontologies/celgalen.owl.zip) [krss](https://sourceforge.net/projects/jcel/files/ontologies/celgalen.cel.zip), output [xml](https://sourceforge.net/projects/jcel/files/ontologies/celgalen-inferred-0.12.0.xml.zip)\n* Not GALEN: input [owl](https://sourceforge.net/projects/jcel/files/ontologies/notgalen.owl.zip), output [xml](https://sourceforge.net/projects/jcel/files/ontologies/notgalen-inferred-0.12.0.xml.zip)\n* [Foundational Model of Anatomy](http://si.washington.edu/projects/fma)\n* [SNOMED CT](https://www.snomed.org/)\n\n\n## Release notes\nSee [release notes][release-notes].\n\n\n## Older versions\n\n* [Git SHA](https://github.com/julianmendez/jcel/blob/master/docs/data/gitsha.txt)\n* [old SVN revision](https://github.com/julianmendez/jcel/blob/master/docs/data/svnrev.txt)\n* [releases][releases]\n\n\n## More information\n\n* [Frequently Asked Questions][faq]\n\n\n## References\n\n* Theoretical foundation:\n  * [Master's thesis by J. A. Mendez](https://lat.inf.tu-dresden.de/research/mas/Men-Mas-11.pdf)\n  * [Master's thesis by Q. H. Vu](https://lat.inf.tu-dresden.de/research/mas/Vu-Mas-08.pdf)\n  * [Ph.D. thesis by B. Suntisrivaraporn](https://lat.inf.tu-dresden.de/research/phd/Sun-PhD-09.pdf)\n* CEL: [main page][cel-home] - [source code][cel-source]\n* OWL API: [main page][owl-api]\n* OWL 2: [OWL Working Group](https://www.w3.org/2007/OWL/wiki/OWL_Working_Group)\n\n\n## Support\n\nAny bug or unexpected behavior can be directly reported by sending a message to the author.\nQuestions and suggestions are also very welcome.\nIn case you need more information, please contact [julianmendez][author].\n\n\n## News\n[@jcelreasoner][twitter]\n\n[author]: https://julianmendez.github.io\n[license1]: https://www.apache.org/licenses/LICENSE-2.0.txt\n[license2]: https://www.gnu.org/licenses/lgpl-3.0.txt\n[maven-central]: https://search.maven.org/artifact/de.tu-dresden.inf.lat.jcel/jcel-owlapi\n[build-status]: https://github.com/julianmendez/jcel/actions\n[central-repository]: https://repo1.maven.org/maven2/de/tu-dresden/inf/lat/jcel/\n[zip-file]: https://sourceforge.net/projects/jcel/files/jcel/0.24.1/zip/jcel-0.24.1.zip/download\n[releases]: https://sourceforge.net/projects/jcel/files/\n[release-notes]: https://julianmendez.github.io/jcel/RELEASE-NOTES.html\n[faq]: https://julianmendez.github.io/jcel/faq.html\n[jcel-home]: https://julianmendez.github.io/jcel\n[jcel-source]: https://github.com/julianmendez/jcel\n[twitter]: https://twitter.com/jcelreasoner\n[jcel-version-java]: https://github.com/julianmendez/jcel/blob/master/jcel-reasoner/src/main/java/de/tudresden/inf/lat/jcel/reasoner/main/VersionInfo.java\n[sonatype]: https://oss.sonatype.org\n[java]: https://www.oracle.com/java/technologies/\n[maven]: https://maven.apache.org\n[description-logics]: http://dl.kr.org\n[owl-api]: https://owlcs.github.io/owlapi/\n[owl-2-el]: https://www.w3.org/TR/owl2-profiles/#OWL_2_EL\n[protege]: https://protege.stanford.edu\n[cel-home]: https://julianmendez.github.io/cel\n[cel-source]: https://github.com/julianmendez/cel\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulianmendez%2Fjcel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulianmendez%2Fjcel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulianmendez%2Fjcel/lists"}