Core Knowledge
Getting started

Client libraries


GraphQL references
RESTful API references


Vector Index (ANN) Plugins

More resources

Data schema

Weaviate on Stackoverflow badge Weaviate issues on Github badge Weaviate v1.15.2 version badge Weaviate v1.15.2 version badge Weaviate total Docker pulls badge


A data schema is the first thing you can define, before you can start adding data. Designing and adding a data schema is not a requirement; if you don’t add a data schema, an automatic schema will be generated from the data that you import (available from Weaviate version v1.5.0). A data schema specifies what data classes your Weaviate will have, and what properties data objects consist of. Per the data class property, you will define what data type its value can adopt. If you want to make graph links between data objects, you’ll also define that in the data type of class properties.

Additionally, per the data class, you can define the vector index type, the vectorizer module and, optionally, other modules. Specific settings to modules and the vector index type can also be set per class and per property.

Learn more about

  1. Configuration of the classes and properties in the schema.
  2. Data types of property values.
  3. Schema endpoint.
  4. Auto-schema, for more information about settings for the auto generated schema.

A Weaviate data schema is slightly different from a taxonomy, which has a hierarchy. Read more about how taxonomies, ontologies and schemas are related to Weaviate in this blog post.

💡 Check out the schema getting started guide to learn how to work with the Weaviate schema in under 10 minutes.

More Resources

If you can’t find the answer to your question here, please look at the:

  1. Frequently Asked Questions. Or,
  2. Knowledge base of old issues. Or,
  3. For questions: Stackoverflow. Or,
  4. For issues: Github. Or,
  5. Ask your question in the Slack channel: Slack.

Edit on Github

Table of Contents