You are hereSherpa
Sherpa
Sherpa is a high-performance, language-agnostic, binary protocol for SPARQL processor communication. It seeks to mitigate some costs associated with the SPARQL Protocol and provide an alternative. Sherpa uses Apache Avro to define the protocol and provide interop for multiple languages. Avro currently supports languages including Java, C, C++, C#, Ruby, Python, and PHP (this list does not imply Sherpa implementations in those languages).
Sherpa consists of the following artifacts:
- sherpa-protocol – the protocol definition and generated Java bindings (javadoc)
- sherpa-java – an implementation of the Spark client API using Sherpa as the protocol (javadoc)
- sherpa-clojure – a lightweight query api in Clojure using Sherpa and a framework for writing a Sherpa server in Clojure, as well as some utilities for working with Avro data from the Java binding in native Clojure forms
See also: Spark, an open-source Java client API for accessing remote SPARQL processors.
Open source
Sherpa is an open source projects hosted on GitHub in the spark project under the Revelytix organization account. They are released under the Apache License, Version 2.0.
Sherpa, along with Spark, is being developed for use within the Revelytix product suite; however, we felt that many users of SPARQL processors could benefit from such an API. We welcome participation in defining the Spark API, building implementations of Spark for other SPARQL processors, building implementations of the Sherpa tools in other languages, and more.
If you’re interested in using Spark or Sherpa or working on it, please discuss those ideas on the revelytix-oss Google group.