{"id":14987922,"url":"https://github.com/apache/commons-rdf","last_synced_at":"2025-04-06T10:14:42.010Z","repository":{"id":28979443,"uuid":"32505934","full_name":"apache/commons-rdf","owner":"apache","description":"Apache Commons RDF","archived":false,"fork":false,"pushed_at":"2025-03-28T19:39:32.000Z","size":3533,"stargazers_count":47,"open_issues_count":9,"forks_count":42,"subscribers_count":39,"default_branch":"master","last_synced_at":"2025-04-03T04:16:52.136Z","etag":null,"topics":["commons"],"latest_commit_sha":null,"homepage":"https://commons.apache.org/rdf/","language":"Java","has_issues":false,"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/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-19T07:00:05.000Z","updated_at":"2025-03-28T19:39:34.000Z","dependencies_parsed_at":"2024-02-23T19:44:25.240Z","dependency_job_id":"be2da60f-9726-46c9-87b6-e28c518c9106","html_url":"https://github.com/apache/commons-rdf","commit_stats":{"total_commits":1433,"total_committers":26,"mean_commits":55.11538461538461,"dds":0.5087229588276343,"last_synced_commit":"ca4dc5fbc426d7e75f13ab587b54b0f444b07e42"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcommons-rdf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcommons-rdf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcommons-rdf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcommons-rdf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/commons-rdf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247158116,"owners_count":20893379,"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":["commons"],"created_at":"2024-09-24T14:15:42.971Z","updated_at":"2025-04-06T10:14:41.972Z","avatar_url":"https://github.com/apache.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Apache Commons RDF\n\n[![Java CI](https://github.com/apache/commons-rdf/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-rdf/actions/workflows/maven.yml)\n\n[Commons RDF](https://commons.apache.org/proper/commons-rdf/) aims to provide a common\nlibrary for [RDF 1.1](http://www.w3.org/TR/rdf11-concepts/) with implementations\nfor common Java RDF frameworks like [RDF4J](http://rdf4j.org/), [Apache\nJena](http://jena.apache.org/) as well as for other libraries such as\n[OWLAPI](http://owlapi.sourceforge.net/),\n[Clerezza](http://clerezza.apache.org/) and other JVM languages.\n\nThe main motivation behind this simple library is to revise an historical\nincompatibility issue between these toolkits. This library does not pretend to\nbe a generic API wrapping those libraries, but is a \n[set of common Java interfaces](https://commons.apache.org/proper/commons-rdf/apidocs/index.html?org/apache/commons/rdf/api/package-summary.html)\nfor the RDF 1.1 concepts, e.g. `IRI`, `BlankNode`, `Graph`,\naccompanied with unit test cases for their expected behavior, and a `simple`\nimplementation, which main purpose is to clarify the tests and interfaces.\n\nIn particular, Commons RDF aims to provide a type-safe, non-general API that\ncovers RDF 1.1. \n\nA diagram of the interfaces included in Commons RDF:\n\n\u003ca href=\"src/site/resources/images/class-diagram.png\"\u003e\u003cimg height=\"400\" src=\"src/site/resources/images/class-diagram.png\" alt=\"Class diagram\" /\u003e\u003c/a\u003e\n\n\nEverybody is welcomed to join the project and\n[contribute](https://commons.apache.org/proper/commons-rdf/contributing.html)!\n\nSee the [Commons RDF homepage](httasp://commons.apache.org/proper/commons-rdf/) for more details.\n\n## License\n\n\nLicensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreements. See the [NOTICE](NOTICE) file\ndistributed with this work for additional information\nregarding copyright ownership. The ASF licenses this file\nto you under the Apache License, Version 2.0 (the\n\"License\"); you may not use this file except in compliance\nwith the License.  You may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n## Contributing\n\nFeel free to subscribe to the \n[dev@commons](https://lists.apache.org/list.html?dev@commons.apache.org)\nmailing list, use the \n[Subject tag `[RDF]`](https://lists.apache.org/list.html?dev@commons.apache.org:lte=1M:%5BRDF%5D)\nto follow the ongoing development of Commons RDF, ask questions \nabout its usage, or help shape Commons RDF by \n[contributing](https://commons.apache.org/proper/commons-rdf/contributing.html)\nyour ideas, code and use cases. \n \n\n\n## Building\n\nBuilding has been tested with [Apache Maven 3.2](http://maven.apache.org/download.cgi) and [Java JDK 8](http://www.oracle.com/technetwork/java/javase/downloads/).\n\n    $ mvn clean install\n    [INFO] Scanning for projects...\n    [INFO] ------------------------------------------------------------------------\n    [INFO] Reactor Build Order:\n    [INFO] \n    [INFO] Commons RDF\n    [INFO] Commons RDF: API\n    [INFO] Commons RDF: Simple impl\n    [INFO] \n    [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1\n    [INFO]                                                                         \n    [INFO] ------------------------------------------------------------------------\n    [INFO] Building Commons RDF 0.5.0\n        ....\n    [INFO] Installing /home/johndoe/src/commons-rdf/commons-rdf-api/target/commons-rdf-api-0.5.0-javadoc.jar to /home/johndoe/.m2/repository/org/apache/commons/commons-rdf/commons-rdf-api/0.5.0/commons-rdf-api-0.5.0-javadoc.jar\n    [INFO] ------------------------------------------------------------------------\n    [INFO] Reactor Summary:\n    [INFO] \n    [INFO] Commons RDF ........................................ SUCCESS [  0.404 s]\n    [INFO] Commons RDF: API ................................... SUCCESS [  0.031 s]\n    [INFO] Commons RDF: Simple Implementation ................. SUCCESS [  0.010 s]\n    [INFO] Commons RDF: Integration: RDF4j .................... SUCCESS [  0.012 s]\n    [INFO] Commons RDF: Integration: Apache Jena .............. SUCCESS [  0.011 s]\n    [INFO] Commons RDF: Integration: JSON-LD Java ............. SUCCESS [  0.009 s]\n    [INFO] Commons RDF: Integration tests ..................... SUCCESS [  0.005 s]\n    [INFO] ------------------------------------------------------------------------\n    [INFO] BUILD SUCCESS\n    [INFO] ------------------------------------------------------------------------\n    [INFO] Total time: 7.718 s\n    [INFO] Finished at: 2015-01-26T02:09:10+00:00\n    [INFO] Final Memory: 22M/309M\n    [INFO] ------------------------------------------------------------------------\n\n\nTo then use this build from your project, add to Maven (update `\u003cversion\u003e` to match the Maven output):\n\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.apache.commons\u003c/groupId\u003e\n        \u003cartifactId\u003ecommons-rdf-api\u003c/artifactId\u003e\n        \u003cversion\u003e0.5.0\u003c/version\u003e\n    \u003c/dependency\u003e\n\n.. and an equivalent `\u003cdependency\u003e` for the \n[implementation](https://commons.apache.org/proper/commons-rdf/implementations.html)\nyou would like, e.g. `commons-rdf-simple`.\n\nThe `\u003cversion\u003e` above might not be up to date, \nsee the [downloads](https://commons.apache.org/proper/commons-rdf/download.html) to\nuse the latest stable release published in Maven Central.\n    \n\n## Snapshot repository\n\nThe Apache Commons RDF project is aiming to regularly release early \npreviews releases (0.x.y versions) and publish these to Maven Central.\nSee the [downloads](https://commons.apache.org/proper/commons-rdf/download.html) to \nuse the latest stable release.\n\n\nHowever, if you are following the ongoing\ndevelopment on [dev@commons](https://lists.apache.org/list.html?dev@commons.apache.org), (using subject tag `[RDF]`)\nyou may want to try the [snapshot builds](https://builds.apache.org/job/commons-rdf/), \nwhich are automatically deployed to the \n[Apache snapshot repository](https://repository.apache.org/content/groups/snapshots/org/apache/commons/commons-rdf-api/).\n\nTo use these snapshots from your Maven project, depend on the latest `*-SNAPSHOT` version\nas found in the current [pom.xml](pom.xml), and add to your own `pom.xml`:\n\n```xml\n\u003crepositories\u003e\n  \u003crepository\u003e\n    \u003cid\u003eapache.snapshots\u003c/id\u003e\n    \u003cname\u003eApache Snapshot Repository\u003c/name\u003e\n    \u003curl\u003ehttp://repository.apache.org/snapshots\u003c/url\u003e\n    \u003creleases\u003e\n      \u003cenabled\u003efalse\u003c/enabled\u003e\n    \u003c/releases\u003e\n  \u003c/repository\u003e\n\u003c/repositories\u003e\n```\n\n\n## Simple implementation\n\nThe [commons-rdf-simple](simple) module contains a \nsimple (if not naive) implementation of the Commons RDF API \nusing in-memory POJO objects.\n\nNote that although this module fully implements the commons-rdf API,\nit should *not*  be considered a reference implementation. \nIt is not thread-safe nor scalable, but may be useful for testing\nand simple usage (e.g. output from an independent RDF parser).\n\n## Testing\n\nThe abstract classes\n[AbstractGraphTest](commons-rdf-api/src/test/java/org/apache/commons/rdf/api/AbstractGraphTest.java),\n[AbstractDatasetTest](commons-rdf-api/src/test/java/org/apache/commons/rdf/api/AbstractDatasetTest.java),\n[AbstractBlankNodeTest](commons-rdf-api/src/test/java/org/apache/commons/rdf/api/AbstractBlankNodeTest.java) and\n[AbstractRDFTest](api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTest.java)\ncan be realised as JUnit tests by implementations in order to verify that they\npass the minimal requirements of this API.\n\nIn order for this to work, your project will need to depend on the `tests`\nclassifier for the commons-rdf-api module, for example (for Maven):\n\n    \u003cdependency\u003e\n        \u003cgroupId\u003ejunit\u003c/groupId\u003e\n        \u003cartifactId\u003ejunit\u003c/artifactId\u003e\n        \u003cversion\u003e4.12\u003c/version\u003e\n        \u003cscope\u003etest\u003c/scope\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.apache.commons\u003c/groupId\u003e\n        \u003cartifactId\u003ecommons-rdf-api\u003c/artifactId\u003e\n        \u003cversion\u003e0.5.0\u003c/version\u003e\n        \u003cclassifier\u003etests\u003c/classifier\u003e\n        \u003cscope\u003etest\u003c/scope\u003e\n    \u003c/dependency\u003e\n\nThe extensions of each Test class need to provide a \n[RDF](api/src/main/java/org/apache/commons/rdf/api/RDF.java) instance\nthat can create the corresponding implementations of a `Graph`, `IRI`, etc.\n\nFor an example, see \n[SimpleGraphTest](commons-rdf-simple/src/test/java/org/apache/commons/rdf/simple/SimpleGraphTest.java).\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fcommons-rdf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fcommons-rdf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fcommons-rdf/lists"}