References - Client Libraries
Overview
You can interact with Weaviate by using the GraphQL or RESTful API directly, or with one of the available client libraries.
Currently, Weaviate supports:
You can perform all Weaviate requests with any of these clients. For the most seamless and language-native experience, we recommend using the client for your preferred programming language.
Community clients
There also exist community clients that were prepared by our wonderful community members. These clients are not maintained by the core Weaviate team, but by the community members themselves. If you want to contribute to these clients, please contact the maintainers of the client.
If you want to contribute one or request for us to work on a particular client, please let us know on the forum
Native vs GraphQL queries
When querying Weaviate you can choose to write your queries in GraphQL and send the raw GraphQL query to Weaviate, or you can write the query natively to the client language you are using.
For example, if you were using the Weaviate Python client:
import weaviate
client = weaviate.Client("http://localhost:8080")
result = client.query.get("Article", ["title", "url", "wordCount"]).do()
print(result)
Yields the same result as:
import weaviate
client = weaviate.Client("http://localhost:8080")
query = """
{
Get {
Article {
title
url
wordCount
}
}
}
"""
result = client.query.raw(query)
print(result)
Client-specific functions
Additional to complete reflection of the RESTful and GraphQL API, the clients have some client-specific functions. These functions are documented on the client pages.
Command Line Interface (CLI)
You can interact with Weaviate via a command line interface. Information about how to install and use can be found here.