{"record":{"id":"8e90687111746c51","repo":"weaviate/weaviate","slug":"no-properties-provided-8e9068","errorCode":null,"errorMessage":"no properties provided","messagePattern":"no properties provided","errorType":"validation","errorClass":null,"httpStatus":400,"severity":"error","filePath":"usecases/modulecomponents/additional/rank/rank_result.go","lineNumber":41,"sourceCode":"\trerankmodels \"github.com/weaviate/weaviate/usecases/modulecomponents/additional/models\"\n)\n\nfunc (p *ReRankerProvider) getScore(ctx context.Context, cfg moduletools.ClassConfig,\n\tin []search.Result, params *Params,\n) ([]search.Result, error) {\n\tif len(in) == 0 {\n\t\treturn nil, nil\n\t}\n\tif params == nil {\n\t\treturn nil, fmt.Errorf(\"no params provided\")\n\t}\n\n\trankProperty := params.GetProperty()\n\tquery := params.GetQuery()\n\n\t// check if user parameter values are valid\n\tif len(rankProperty) == 0 {\n\t\treturn in, errors.New(\"no properties provided\")\n\t}\n\n\tdocuments := make([]string, len(in))\n\tfor i := range in { // for each result of the general GraphQL Query\n\t\t// get text property\n\t\trankPropertyValue := \"\"\n\t\tschema := in[i].Object().Properties.(map[string]interface{})\n\t\tfor property, value := range schema {\n\t\t\tif property == rankProperty {\n\t\t\t\tif valueString, ok := value.(string); ok {\n\t\t\t\t\trankPropertyValue = valueString\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdocuments[i] = rankPropertyValue\n\t}\n\n\t// rank results","sourceCodeStart":23,"sourceCodeEnd":59,"githubUrl":"https://github.com/weaviate/weaviate/blob/75aa4b6d11f8818305aafd4440b4e32794f7ca04/usecases/modulecomponents/additional/rank/rank_result.go#L23-L59","documentation":"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.","triggerScenarios":"GraphQL `_additional { rerank { query: \"...\" } }` without the required `property` argument, or passing an empty property string/array.","commonSituations":"Copy-pasted query examples omitting `property`; dynamically-built queries where the property variable is empty; typos so the argument never binds.","solutions":["Add the required `property` argument to the rerank clause, e.g. rerank { property: \"text\" query: \"...\" }.","If building queries dynamically, validate the property value is non-empty before sending.","Reference a text property that actually exists on the class."],"exampleFix":"// before\n_additional { rerank { query: \"best matches\" } }\n// after\n_additional { rerank { property: \"content\" query: \"best matches\" } }","handlingStrategy":"validation","validationCode":"function validateRerankArgs({ property, query }) {\n  if (!property || property.length === 0) throw new Error('rerank requires a non-empty `property` argument');\n  return { property, query };\n}","typeGuard":null,"tryCatchPattern":"try { ... } catch (e) { if (String(e).includes('no properties provided')) { console.error('add `property: \"<text-prop>\"` to the rerank clause'); } else throw e; }","preventionTips":["Always supply `property` in the rerank clause","When building queries dynamically, assert the property variable is non-empty","Use a text (string/text) property that exists on the class"],"tags":["graphql","weaviate","rerank","validation"],"backgroundTag":"missing-required-argument","analyzedSha":"75aa4b6d11f8818305aafd4440b4e32794f7ca04","analyzedAt":"2026-09-04T14:58:20.392Z","contentChangedAt":"2026-09-04T14:58:20.392Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}