DrDroid
Resource Cheatsheet

Weaviate

Quick reference guide and commands for Weaviate.

Download PDF

Connection

Connect to Weaviate instance using Python client
import weaviate; client = weaviate.Client('http://localhost:8080')

Connect with API key
client = weaviate.Client('http://localhost:8080', auth_client_secret=weaviate.AuthApiKey(api_key='your-api-key'))

Check if Weaviate is ready
client.is_ready()

Schema Management

Create a schema class
client.schema.create_class({ 'class': 'Article', 'properties': [{ 'name': 'title', 'dataType': ['text'] }] })

Get schema
client.schema.get()

Delete a class
client.schema.delete_class('Article')

Data Operations

Add data object
client.data_object.create({ 'title': 'Example Article' }, 'Article')

Get data object by id
client.data_object.get_by_id('uuid', 'Article')

Update data object
client.data_object.update({ 'title': 'Updated Article' }, 'Article', 'uuid')

Delete data object
client.data_object.delete('uuid', 'Article')

Perform vector search
client.query.get('Article', ['title']).with_near_text({ 'concepts': ['search term'] }).do()

Search with limit
client.query.get('Article', ['title']).with_near_text({ 'concepts': ['search term'] }).with_limit(10).do()

Search with distance
client.query.get('Article', ['title']).with_near_vector({ 'vector': [0.1, 0.2, ...] }).with_additional('distance').do()

Batch Operations

Create batch
client.batch.configure(batch_size=100)

Add to batch
client.batch.add_data_object({ 'title': 'Batch Article' }, 'Article')

Create batch with vectors
client.batch.add_data_object({ 'title': 'Vector Article' }, 'Article', vector=[0.1, 0.2, ...])

Flush batch
client.batch.flush()

GraphQL Queries

Raw GraphQL query
client.query.raw('{Get{Article{title}}}')

Hybrid search
client.query.get('Article', ['title']).with_hybrid({ 'query': 'search term', 'alpha': 0.5 }).do()