{"id":29875551,"url":"https://github.com/agentlab/rdf4j-karaf-server","last_synced_at":"2025-07-31T02:17:06.911Z","repository":{"id":49200404,"uuid":"254325402","full_name":"agentlab/rdf4j-karaf-server","owner":"agentlab","description":"JAX-RS OSGi HTTP Whiteboard version of RDF4J server on Karaf (with Sparql Endpoint and other REST API)","archived":false,"fork":false,"pushed_at":"2021-09-14T20:38:22.000Z","size":394,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-03-26T05:22:05.539Z","etag":null,"topics":["jax-rs","jaxrs","karaf","osgi","rdf","rdf4j","sparql"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agentlab.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}},"created_at":"2020-04-09T09:18:22.000Z","updated_at":"2024-03-26T05:22:05.540Z","dependencies_parsed_at":"2022-08-31T17:14:38.315Z","dependency_job_id":null,"html_url":"https://github.com/agentlab/rdf4j-karaf-server","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/agentlab/rdf4j-karaf-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentlab%2Frdf4j-karaf-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentlab%2Frdf4j-karaf-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentlab%2Frdf4j-karaf-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentlab%2Frdf4j-karaf-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agentlab","download_url":"https://codeload.github.com/agentlab/rdf4j-karaf-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentlab%2Frdf4j-karaf-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267977729,"owners_count":24175222,"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-07-31T02:00:08.723Z","response_time":66,"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":["jax-rs","jaxrs","karaf","osgi","rdf","rdf4j","sparql"],"created_at":"2025-07-31T02:16:50.888Z","updated_at":"2025-07-31T02:17:06.898Z","avatar_url":"https://github.com/agentlab.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rdf4j-karaf-server\n\nJAX-RS OSGi HTTP Whiteboard version of RDF4J server (with Sparql Endpoint and other REST API).\n\n## Building from sources\n\nRequirements: Java 11 JDK, Maven 3.6\n\nBuild with all tests `mvn clean install`\n\nQuick build without `mvn clean install -P quick`\n\n## Deployment into clean Karaf instance\n\nRequirements:\n* Java 16 JDK or JRE\n* Karaf 4.3.3\n\nDownload and unpack Karaf into folder.\n\n### Configure\n\nCopy all config files from `\u003cthis-repository\u003e/distrib/src/main/distribution/etc` into `\u003ckaraf-root\u003e/etc`\n\n### Run Karaf\n\nGo into `\u003ckaraf-root\u003e` folder\n\nRun from Karaf root floder `./bin/karaf`. Run from Karaf root floder, not from ./bin folder! See details in https://karaf.apache.org/get-started.html\n\n### Deploy rdf4j REST server into Karaf\n\n#### Add feature repository\n\n* `feature:repo-add mvn:ru.agentlab.rdf4j/ru.agentlab.rdf4j.features/4.1.0-SNAPSHOT/xml/features`\n\n#### Install karaf features and activate OSGi bundles\n\nInstall main feature (installs all sub-features):\n\n* `feature:install rdf4j-spring`\n\nOr you colud install sub-features one by one:\n\n* `feature:install org.eclipse.rdf4j`\n* `feature:install karaf-scr`\n* `feature:install ru.agentlab.rdf4j`\n* `feature:install karaf-rest-all`\n* `feature:install rdf4j-spring`\n\nIn case you need log4j2 JSON logger, install feature `feature:install pax-logging-log4j2-extra`\n\n#### How to check if all is working\n\n* If Karaf did not start properly, check that JAVA_HOME points to JDK 11 folder. JDK 13-14 is not supported yet https://issues.apache.org/jira/browse/KARAF-6624\n\n* Check if Jetty is running\n  * In a Web Browser\n    * go to the http://localhost:8181\n    * check if it returns page with \"HTTP ERROR 403 Forbidden\" header and \"powered by Jetty\" footer\n* Check if Aries Jax-RS Whiteboard is running\n  * In a Web Browser\n    * go to the http://localhost:8181/system/console/\n    * check if it returns page with Karaf Admin Console or login request\n* Check REST API to retrieve repositories list\n  * In a Web Browser \n    * go to the http://localhost:8181/rdf4j-server/repositories\n    * check if it downloads repositories.srx file\n  * In HTTP Client (Posmman, etc)\n    * send HTTP GET request\n      * address http://localhost:8181/rdf4j-server/repositories\n      * HTTP header `Accept: application/sparql-results+json`\n    * check if it returns empty bindings `\"bindings\": []` or your actual repositories array\n    * check if it returns data in the format corresponded to the 'Accept' header in HTTP request\n\nFor further REST API interface see https://rdf4j.org/documentation/reference/rest-api/\n\n## Data folder\n\nServer stores repositories data inside home user folder on Linux and Windows\nSee [RDF4J Application Directory Configuration](https://rdf4j.org/documentation/tools/application-directory/)\n\nYou can override this.\n\n## Development\n\n* `bundle:watch *` -- Karaf should monitor local maven repository and redeploy rebuilded bundles automatically\n\n* `bundle:list` и `la` -- list all plugins\n* `feature:list` -- list all features\n\n* `display` -- show logs\n* `log:set DEBUG` -- set logger filter into detailed mode\n\n### How to run single testclass?\n\nWhen you run single testclass from single module Maven did not recompile whole project and bundle under the test! If you need to recompile bundle under the test, do it manually beforehand:\n\n`mvn clean install -P quick`\n\n#### Run single OSGi test class (integration tests)\n\n* without debugger\n  * `mvn clean test -pl ru.agentlab.rdf4j.jaxrs.tests -Dtest=StatementsControllerTest`\n* with debugger (on port 5005)\n  * edit Rdf4jJaxrsTestSupport.java, uncomment line with code \"KarafDistributionOption.debugConfiguration(\"5005\", true)\"\n  * `mvn clean test -pl ru.agentlab.rdf4j.jaxrs.tests -Dtest=StatementsControllerTest`\n\n#### Run single unit test class (i.e. non OSGi) or debug Pax-Exam internals for particular OSGi test class\n\n* without debugger\n  * `mvn clean test -pl ru.agentlab.rdf4j.jaxrs.tests -Dtest=StatementsControllerTest`\n* with debugger (on port 5005)\n  * should not edit Rdf4jJaxrsTestSupport.java\n  * `mvn clean test -pl ru.agentlab.rdf4j.jaxrs.tests -Dtest=StatementsControllerTest \"-Dmaven.surefire.debug\"`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentlab%2Frdf4j-karaf-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagentlab%2Frdf4j-karaf-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentlab%2Frdf4j-karaf-server/lists"}