{"id":22279033,"url":"https://github.com/marklogic/java-client-api","last_synced_at":"2025-04-12T23:40:48.194Z","repository":{"id":14918371,"uuid":"17642544","full_name":"marklogic/java-client-api","owner":"marklogic","description":"Java client for the MarkLogic enterprise NoSQL database","archived":false,"fork":false,"pushed_at":"2025-04-07T18:24:59.000Z","size":41275,"stargazers_count":59,"open_issues_count":3,"forks_count":72,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-04-12T23:40:04.849Z","etag":null,"topics":["database","java","javascript","json","marklogic","nosql","sparql","xml","xquery"],"latest_commit_sha":null,"homepage":"https://docs.marklogic.com/guide/java","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/marklogic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-03-11T19:06:59.000Z","updated_at":"2025-02-14T18:26:38.000Z","dependencies_parsed_at":"2023-10-11T17:54:06.879Z","dependency_job_id":"46b9cce4-ec6c-4f61-a988-5ce50943554c","html_url":"https://github.com/marklogic/java-client-api","commit_stats":null,"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marklogic%2Fjava-client-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marklogic%2Fjava-client-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marklogic%2Fjava-client-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marklogic%2Fjava-client-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marklogic","download_url":"https://codeload.github.com/marklogic/java-client-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647253,"owners_count":21139081,"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":["database","java","javascript","json","marklogic","nosql","sparql","xml","xquery"],"created_at":"2024-12-03T15:17:50.760Z","updated_at":"2025-04-12T23:40:48.153Z","avatar_url":"https://github.com/marklogic.png","language":"Java","readme":"![GitHub release](https://img.shields.io/github/release/marklogic/java-client-api.svg)\n![GitHub last commit](https://img.shields.io/github/last-commit/marklogic/java-client-api.svg)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Known Vulnerabilities](https://snyk.io/test/github/marklogic/java-client-api/badge.svg)](https://snyk.io/test/github/marklogic/java-client-api)\n\n# The MarkLogic Java Client\n\nThe MarkLogic Java Client makes it easy to write, read, delete, and find documents\nin a [MarkLogic](http://developer.marklogic.com/) database. The client requires connecting to a \n[MarkLogic REST API app server](https://docs.marklogic.com/guide/rest-dev) and is ideal for applications wishing to \nbuild upon the MarkLogic REST API. \n\nThe client supports the following core features of the MarkLogic database:\n\n*  Write and read binary, JSON, text, and XML documents.\n*  Query data structure trees, marked-up text, and all the hybrids in between those extremes.\n*  Project values, tuples, and triples from hierarchical documents and aggregate over them.\n*  Patch documents with partial updates.\n*  Use Optimistic Locking to detect contention without creating locks on the server.\n*  Execute ACID modifications so the change either succeeds or throws an exception.\n*  Execute multi-statement transactions so changes to multiple documents succeed or fail together.\n*  Call Data Services by means of a Java interface on the client for data functionality \nimplemented by an endpoint on the server.\n\nThe client can be used in applications running on Java 8, 11, and 17. If you are using Java 11 or higher and intend\nto use [JAXB](https://docs.oracle.com/javase/tutorial/jaxb/intro/), please see the section below for ensuring that the\nnecessary dependencies are available in your application's classpath.\n\n## QuickStart\n\nTo use the client in your [Maven](https://maven.apache.org/) project, include the following in your `pom.xml` file:\n\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecom.marklogic\u003c/groupId\u003e\n        \u003cartifactId\u003emarklogic-client-api\u003c/artifactId\u003e\n        \u003cversion\u003e6.4.1\u003c/version\u003e\n    \u003c/dependency\u003e\n\nTo use the client in your [Gradle](https://gradle.org/) project, include the following in your `build.gradle` file:\n\n    dependencies {\n        implementation \"com.marklogic:marklogic-client-api:6.4.1\"\n    }\n\nNext, read [The Java API in Five Minutes](http://developer.marklogic.com/try/java/index) to get started.\n\nFull documentation is available at:\n\n* [Java Application Developer's Guide](http://docs.marklogic.com/guide/java)\n* [JavaDoc](http://docs.marklogic.com/javadoc/client/index.html)\n\n## Including JAXB support\n\nAs of the 7.0.0 release, the client now depends on the [Jakarta XML Binding](https://eclipse-ee4j.github.io/jaxb-ri/)\nAPI instead of the older [JAXB API](https://docs.oracle.com/javase/tutorial/jaxb/intro/). If you are using Java 11 or\nhigher, you no longer need to declare additional dependencies in order to use Jakarta XML Binding. If you wish to use\nthe older JAXB APIs - i.e. those in the `javax.xml.bind` package instead of `jakarta.xml.bind` - you are free to \ninclude those as dependencies in your application; they will not conflict with the 7.0.0 release of the Java Client.\n\n### JAXB support in 6.x releases and older\n\nIf you are using Java Client 6.x or older and also Java 11 or higher, and you wish to use JAXB with the Java client, \nyou will need to include JAXB API and implementation dependencies as those are no longer included in Java 11 and higher.\n\nFor Maven, include the following in your pom.xml file:\n\n    \u003cdependency\u003e\n        \u003cgroupId\u003ejavax.xml.bind\u003c/groupId\u003e\n        \u003cartifactId\u003ejaxb-api\u003c/artifactId\u003e\n        \u003cversion\u003e2.3.1\u003c/version\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.glassfish.jaxb\u003c/groupId\u003e\n        \u003cartifactId\u003ejaxb-runtime\u003c/artifactId\u003e\n        \u003cversion\u003e2.3.2\u003c/version\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.glassfish.jaxb\u003c/groupId\u003e\n        \u003cartifactId\u003ejaxb-core\u003c/artifactId\u003e\n        \u003cversion\u003e2.3.0.1\u003c/version\u003e\n    \u003c/dependency\u003e\n\nFor Gradle, include the following in your build.gradle file (this can be included in the same `dependencies` block\nas the one that includes the marklogic-client-api dependency):\n\n    dependencies {\n        implementation \"javax.xml.bind:jaxb-api:2.3.1\"\n        implementation \"org.glassfish.jaxb:jaxb-runtime:2.3.2\"\n        implementation \"org.glassfish.jaxb:jaxb-core:2.3.0.1\"\n    }\n\nYou are free to use any implementation of JAXB that you wish, but you need to ensure that you're using a JAXB\nimplementation that corresponds to the `javax.xml.bind` interfaces.\n\n## Support\n\nThe MarkLogic Java Client is maintained by [MarkLogic](https://www.marklogic.com/) Engineering and is made available under \nthe [Apache 2.0 license](https://github.com/marklogic/java-client-api/blob/master/LICENSE). It is designed for use in production applications with MarkLogic Server. \nEveryone is encouraged to file bug reports, feature requests, and pull requests through [GitHub](https://github.com/marklogic/java-client-api/issues). \nThis input is critical and will be carefully considered. However, we can’t promise a specific resolution or timeframe \nfor any request. In addition, MarkLogic provides technical support for [release tags](https://github.com/marklogic/java-client-api/releases) of the Java Client to \nlicensed customers. Please visit [our support guide](https://community.progress.com/s/products/marklogic/support-guide) \nfor more information on technical support. \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarklogic%2Fjava-client-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarklogic%2Fjava-client-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarklogic%2Fjava-client-api/lists"}