weaviate/weaviate · error

no properties provided

Error message

no properties provided

What it means

The rerank module's getScore validates user-supplied rerank parameters. `params.GetProperty()` must return at least one property name whose text will be sent to the reranker. An empty property list makes reranking impossible, so the error is returned before any API call.

Source

Thrown at usecases/modulecomponents/additional/rank/rank_result.go:41

	rerankmodels "github.com/weaviate/weaviate/usecases/modulecomponents/additional/models"
)

func (p *ReRankerProvider) getScore(ctx context.Context, cfg moduletools.ClassConfig,
	in []search.Result, params *Params,
) ([]search.Result, error) {
	if len(in) == 0 {
		return nil, nil
	}
	if params == nil {
		return nil, fmt.Errorf("no params provided")
	}

	rankProperty := params.GetProperty()
	query := params.GetQuery()

	// check if user parameter values are valid
	if len(rankProperty) == 0 {
		return in, errors.New("no properties provided")
	}

	documents := make([]string, len(in))
	for i := range in { // for each result of the general GraphQL Query
		// get text property
		rankPropertyValue := ""
		schema := in[i].Object().Properties.(map[string]interface{})
		for property, value := range schema {
			if property == rankProperty {
				if valueString, ok := value.(string); ok {
					rankPropertyValue = valueString
				}
			}
		}
		documents[i] = rankPropertyValue
	}

	// rank results

View on GitHub (pinned to 75aa4b6d11)

Solutions

  1. Add the required `property` argument to the rerank clause, e.g. rerank { property: "text" query: "..." }.
  2. If building queries dynamically, validate the property value is non-empty before sending.
  3. Reference a text property that actually exists on the class.

Example fix

// before
_additional { rerank { query: "best matches" } }
// after
_additional { rerank { property: "content" query: "best matches" } }
Defensive patterns

Strategy: validation

Validate before calling

function validateRerankArgs({ property, query }) {
  if (!property || property.length === 0) throw new Error('rerank requires a non-empty `property` argument');
  return { property, query };
}

Try / catch

try { ... } catch (e) { if (String(e).includes('no properties provided')) { console.error('add `property: "<text-prop>"` to the rerank clause'); } else throw e; }

Prevention

When it happens

Trigger: GraphQL `_additional { rerank { query: "..." } }` without the required `property` argument, or passing an empty property string/array.

Common situations: Copy-pasted query examples omitting `property`; dynamically-built queries where the property variable is empty; typos so the argument never binds.

Understand the failure class

Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.

Related errors


AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04). Data as JSON: /api/errors/8e90687111746c51. Report an issue: GitHub.