@lang
directive must be specified in the schema to query or mutate
predicates with language tags.edge
, the syntax
.
means that a value without a specified language is returned or if
there is no value without language, a value in ”some” language is returned.name
=> Look for an untagged string; return nothing if no untagged value
exits.name@.
=> Look for an untagged string, then any language.name@en
=> Look for en
tagged string; return nothing if no en
tagged
string exists.name@en:.
=> Look for en
, then untagged, then any language.name@en:pl
=> Look for en
, then pl
, otherwise nothing.name@en:pl:.
=> Look for en
, then pl
, then untagged, then any language.name@*
=> Look for all the values of this predicate and return them along
with their language. For example, if there are two values with languages en
and hi, this query returns two keys named “name@en” and “name@hi”.@*
notation) aren’t allowed.
Untagged predicates, Single language tags, and .
notation work as described
above.alloftext
,
anyoftext
), when no language is specified (untagged or @.
), the default
(English) full-text tokenizer is used. This does not mean that the value with
the en
tag will be searched when querying the untagged value, but that
untagged values will be treated as English text. If you don’t want that to be
the case, use the appropriate tag for the desired language, both for mutating
and querying the value.