Reference - 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. To contribute to these clients, contact the maintainers directly.
If you want to contribute a client, or to request a particular client, let us know in 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.
Questions and feedback
If you have any questions or feedback, let us know in the user forum.