{"id":27266210,"url":"https://github.com/sszuev/jena-owl2","last_synced_at":"2025-04-11T08:44:29.803Z","repository":{"id":163670972,"uuid":"638496924","full_name":"sszuev/jena-owl2","owner":"sszuev","description":"Apache Jena OWL2 Model","archived":false,"fork":false,"pushed_at":"2024-05-09T10:22:26.000Z","size":1288,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-09T11:40:36.419Z","etag":null,"topics":["jena","ont-api","owl-api","owl2"],"latest_commit_sha":null,"homepage":"https://github.com/sszuev/jena-owl2","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sszuev.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2023-05-09T13:36:41.000Z","updated_at":"2024-05-09T10:22:29.000Z","dependencies_parsed_at":"2023-09-26T05:48:45.317Z","dependency_job_id":"79602e4e-0061-458c-a908-b1dfa8601471","html_url":"https://github.com/sszuev/jena-owl2","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sszuev%2Fjena-owl2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sszuev%2Fjena-owl2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sszuev%2Fjena-owl2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sszuev%2Fjena-owl2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sszuev","download_url":"https://codeload.github.com/sszuev/jena-owl2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248362703,"owners_count":21091180,"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":["jena","ont-api","owl-api","owl2"],"created_at":"2025-04-11T08:44:29.126Z","updated_at":"2025-04-11T08:44:29.780Z","avatar_url":"https://github.com/sszuev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Apache Jena OWL2 Model\n\n------\n# NOTE: This library has been integrated into Apache Jena starting from version 5.1.0 ([:jena-ontapi](https://github.com/apache/jena/tree/main/jena-ontapi)). The current repository will remain available for compatibility with Apache Jena 4.x.x.\n\n------\n\n### Summary\n\nThis is enhanced [Apache Jena](https://github.com/apache/jena) Inference [RDF](https://www.w3.org/TR/rdf11-concepts/) Model with [OWL2](https://www.w3.org/TR/owl2-syntax/) support.\nThe original code is taken from [ONT-API](https://github.com/owlcs/ont-api).\n\n### Motivation\n\n[com.github.owlcs.ontapi.jena.model.OntModel](https://github.com/owlcs/ont-api/blob/3.x.x/jena-impl/src/main/java/com/github/owlcs/ontapi/jena/model/OntModel.java)\ncovers OWL2 syntax but not inference and OWL profiles.     \n[org.apache.jena.ontology.OntModel](https://github.com/apache/jena/blob/main/jena-core/src/main/java/org/apache/jena/ontology/OntModel.java) \nsupports inference, but only follows OWL1 specification.\n\nThis project closes this gap by providing a fully functional ontology RDF model for working with OWL2. \n\n### Major components\n\n- [OntModel](src/main/java/com/github/sszuev/jena/ontapi/model/OntModel.java) - the main interface to work with OWL2 \u0026 OWL1 \u0026 RDFS ontologies\n- [OntModelFactory](src/main/java/com/github/sszuev/jena/ontapi/OntModelFactory.java) - factory for creating different `OntModel` types\n- [GraphRepository](src/main/java/com/github/sszuev/jena/ontapi/GraphRepository.java) - graph store accessor\n- [OntSpecification](src/main/java/com/github/sszuev/jena/ontapi/OntSpecification.java) - encapsulates `ReasonerFactory`, `OntConfig`, `OntPersonality`\n- [UnionGraph](src/main/java/com/github/sszuev/jena/ontapi/UnionGraph.java) - a Graph implementation with support hierarchy\n- [OntModelConfig](src/main/java/com/github/sszuev/jena/ontapi/OntModelControls.java) - model configuration, defines\n  what a model can do and what it cannot do\n- [OntPersonality](src/main/java/com/github/sszuev/jena/ontapi/common/OntPersonality.java) - a configuration class\n  to conduct Jena's polymorphism for `OntObject`s\n\n### Supported specifications\n\n- OWL2 DL \u0026 Full: NO_INF, RULES_INF, RDFS_INF, TRANS_INF + BUILTIN_INF (default)\n- OWL2 EL: NO_INF, RULES_INF, RDFS_INF, TRANS_INF\n- OWL2 QL: NO_INF, RULES_INF, RDFS_INF, TRANS_INF\n- OWL2 RL: NO_INF, RULES_INF, RDFS_INF, TRANS_INF\n- OWL1 DL \u0026 Full: NO_INF, RULES_INF, RDFS_INF, TRANS_INF, MICRO_RULES, MINI_RULES\n- OWL1 Lite: NO_INF, RULES_INF, RDFS_INF, TRANS_INF\n- RDFS: NO_INF, RDFS_INF, TRANS_INF\n\n### Example\n\n```java\nGraphRepository repository = GraphRepository.createGraphDocumentRepositoryMem();\n\nOntModel m = OntModelFactory.createModel(OntSpecification.OWL2_DL_MEM_BUILTIN_INF, repository)\n        .setNsPrefixes(OntModelFactory.STANDARD);\n\nm.setID(\"ont\").setVersionIRI(\"ont#v1\");\n\nOntObjectProperty p = m.createObjectProperty(\"p\");\nOntClass a = m.createOntClass(\"a\");\nOntIndividual i = a.createIndividual(\"i\");\nOntClass b = m.createOntClass(\"b\")\n        .addSuperClass(m.createObjectIntersectionOf(a, m.createObjectHasValue(p, i)));\n\nm.ontObjects(OntClass.class).forEach(System.out::println);\nm.ontObjects(OntIndividual.class).forEach(System.out::println);\n\nm.write(System.out, \"ttl\");\n```\n\n### Available via [jitpack](https://jitpack.io/#sszuev/jena-owl2/)\n\n```xml\n\u003crepositories\u003e\n    \u003crepository\u003e\n        \u003cid\u003ejitpack.io\u003c/id\u003e\n        \u003curl\u003ehttps://jitpack.io\u003c/url\u003e\n    \u003c/repository\u003e\n\u003c/repositories\u003e\n\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecom.github.sszuev\u003c/groupId\u003e\n        \u003cartifactId\u003ejena-owl2\u003c/artifactId\u003e\n        \u003cversion\u003e{{latest-version}}\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n### Apache License Version 2.0","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsszuev%2Fjena-owl2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsszuev%2Fjena-owl2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsszuev%2Fjena-owl2/lists"}