WeaviateEx.Query.QueryReference (WeaviateEx v0.7.4)
View SourceQuery reference configuration for traversing cross-references.
Allows specifying which properties to return from referenced objects, and supports nested reference traversal.
Examples
# Simple reference
QueryReference.new("hasAuthor")
# Reference with properties
QueryReference.new("hasAuthor", return_properties: ["name", "bio"])
# Multi-target reference
QueryReference.multi_target("relatedTo", "Article",
return_properties: ["title"]
)
# With metadata
QueryReference.new("hasAuthor",
return_properties: ["name"],
return_metadata: [:uuid, :distance]
)
# Nested references
QueryReference.new("hasAuthor",
return_properties: ["name"],
return_references: [
QueryReference.new("hasPublisher", return_properties: ["name"])
]
)
# Use in query
Query.get("Article")
|> Query.return_references([
QueryReference.new("hasAuthor", return_properties: ["name"])
])
Summary
Functions
Convert a list of query references to GraphQL format.
Create a multi-target reference query.
Check if this is a multi-target reference query.
Create a new query reference configuration.
Convert query reference configuration to GraphQL format.
Types
@type metadata_option() :: [atom()] | :full | :common | nil
Functions
Convert a list of query references to GraphQL format.
Examples
refs = [QueryReference.new("hasAuthor", return_properties: ["name"])]
QueryReference.list_to_graphql(refs)
Create a multi-target reference query.
For reference properties that can point to multiple collections, specify which target collection to query.
Arguments
link_on- Reference property nametarget_collection- Specific collection to query
Options
Same as new/2
Examples
QueryReference.multi_target("relatedTo", "Article",
return_properties: ["title", "content"]
)
QueryReference.multi_target("mentions", "Person",
return_properties: ["name"],
return_metadata: :full
)
Check if this is a multi-target reference query.
Create a new query reference configuration.
Parameters
link_on- The reference property nameopts- Options::return_properties- List of properties to return from referenced objects:return_references- List of nested QueryReference for further traversal:return_metadata- Metadata to return (list of atoms,:full,:common):include_vector- Whether to include vector in response
Examples
QueryReference.new("hasAuthor")
QueryReference.new("hasAuthor", return_properties: ["name", "bio"])
QueryReference.new("hasAuthor",
return_properties: ["name"],
return_metadata: [:uuid, :distance]
)
Convert query reference configuration to GraphQL format.
Examples
ref = QueryReference.new("hasAuthor", return_properties: ["name"])
QueryReference.to_graphql(ref)