Dgraphでは、言語コードを使用して特定の属性の言語を識別します。
言語コードでは大/小文字が区別されません。
無効な言語コードを指定すると、エラーが返されます。
言語コードを使用すると、レコード検索時や値検索問合せ時にテキストの言語をDgraphに指定できるため、言語固有の操作を正しく実行できるようになります。
国ロケール・コードは、言語コード(スペイン語を表すesなど)と国コード(メキシコを表すMXやアルゼンチンを表すARなど)の組合せです。このため、es_MX国ロケールはメキシコのスペイン語を意味し、es_ARはアルゼンチンのスペイン語を意味します。
「言語」要素に対して国ロケール・コードを指定すると、国コードは無視されますが、言語コード部分は受け入れられます。つまり、国ロケール・コードは言語コードにマップされ、この部分のみが問合せのトークン化や検索索引の生成に使用されます。たとえば、es_MXを指定することは、esのみを指定することと同じです。このルールの例外は、上記のpt_BRなどのコードです。
ただし、Dgraph属性を作成し、mdex-property_Languageフィールドに国ロケール・コードを指定すると、索引付け時および問合せ時に国コードが無視される場合でも、この属性には国ロケール・コードがタグ付けられます。
Dgraphには、2つのスペル修正エンジンがあります。属性の「言語」プロパティがenに設定されている場合、スペル修正は英語スペル・エンジン(および英語スペル・ディクショナリ)を介して処理されます。それ以外の値に設定されている場合、スペル修正には英語以外のスペル・エンジン(および言語固有のディクショナリ)が使用されます。ディクショナリはすべてDgraph内のデータ・レコードから生成されるため、属性定義に言語コードをタグ付けることが必要になります。
ディクショナリ・ファイルはすべてデータ・アプリケーションの索引ディクショナリ内に格納されます。