問題タブ [marklogic-8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
358 参照

xquery - 要素が存在しないドキュメントを特定するための効率的な XQuery クエリ

次のようなコレクションに約 5,000 万件のレコードがあるとします。

したがって、おそらく次のような 100 万件のレコード (不良データ) があります。

some_data 要素が空である。では、some_data_idelement-range-indexをセットアップした場合、空のものをすべて削除する効率的な XQuery クエリは何でしょうか?

私が探しているのは、各要素の子レコードの存在をチェックするFLWORではないクエリだと思います。これは非効率的だと思います (つまり、データを元に戻してからフィルタリングする)

一方、cts:searchクエリでそれを行うと、データをフィルターしてから戻すように、より効率的になりますか?

これを効率的に実行できるクエリを作成し、 FLWORステートメントに関する私の仮定が正しいかどうかを確認してください。

0 投票する
1 に答える
256 参照

sparql - MarkLogic での名前付きグラフのサポート

FROM NAMEDMarkLogic でグラフがどのようにサポートされているかわかりません。トリプルがどのコレクションから来ているかを見つけるために、SPARQLクエリを試しています。結果は本当に混乱しています。例えば:

トリプルのセットを返します。ただし、行のコメントを外すと# GRAPH ?g、次のエラーが返されます。

[1.0-ml] XDMP-COLLXCNNOTFOUND: amped-qconsole:qconsole-sparql($query, (), (), (), ()) -- Collection lexicon not enabled

ハイライトはWHERE {ライン上にあります。

さらに、以下が機能し、トリプルのセットを返します。

しかし、これではありません:

空のセットを返します。行を追加するGRAPH ?gと、上記と同じエラーが返されます。私は本当に混乱しています。誰かが行動の説明をすることができますか?

0 投票する
1 に答える
203 参照

search - MarkLogic 発音記号を区別しないスニペット

今のところ、このコードを使用して、MarkLogic 検索から取得した JSON ドキュメントに基づいてスニペットを生成しています。

私が使用している検索を実行するとき:

そのため、検索は発音記号を区別せずに機能し、良い結果が得られますが、 のようにオプションsearch:snippetを渡すことができません。diacritic-insensitivects.jsonPropertyValueQuery

ドキュメントでは、説明でこれを見ることができます

検索文法を定義し、検索を制御するオプション。関数 search:search の $options の説明を参照してください。search:snippet; では、transform-results オプションに apply 属性を指定できないことに注意してください。別のスニペット関数を使用するには、代わりに search:search または search:resolve を使用してください。

しかし、ここでは次のとおりです。

では、他のオプションを search:snippet に渡せないということですか? または、これを行うオプションはありますか?

私はそれを使用してテストしてchávezおり、結果を生成していますが、スニペットは、そのドキュメントを意味する完全一致を含むドキュメントに対してのみ適切に生成されます

チャベスは何かをした

強調表示されずChavez

チャベスは何かをした

ハイライトになります

前もって感謝します!

0 投票する
1 に答える
381 参照

marklogic - トークン認証用の xdmp http post オプション

https://docs.marklogic.com/xdmp:http-post関数を見つけました。

トークン認証方式を使用して、JSON ドキュメントを MarkLogic から中間層の node.js アプリケーションに送信したいと考えています。トークン認証を使用しています。

これを機能させるには、どの http オプションを使用すればよいですか?

例:

もちろん、これをそのまま投稿すると、401の無許可の応答が得られます。

0 投票する
1 に答える
233 参照

marklogic - mlcp csv ファイルを OBI ソースに変換

次の課題があります。mlcp を使用して MarkLogic データベースにロードする csv ファイルがあります。また、ロード中にロードされた行を OBI ソースに変換したいので、そのための変換関数を作成します。

今、私は変換に苦労しています。変換がなければ、データは期待どおり行ごとにドキュメントとして読み込まれます。

csv の例:

トランスフォーム救急車.xqy:

mlcp コマンド:

mlcp 出力:

xdmp:unquote() なしで試してみましたが、強制の document-node() エラーが発生しました...

ご意見をお聞かせください...

0 投票する
2 に答える
325 参照

triggers - トリガーは実行されません (詳細情報を追加)

私はこのトリガーを何時間もいじっていますが、今問題を特定したと思います。

ML8 documentationのようにトリガーの例を設定しました。

より現実的なアクションに変更しました。

問題は、lib.xqy に独自の関数を保持するライブラリ モジュールを使用しているようです。Query Console で lib 自体をテストしましたが、すべての機能が正常に動作します。

アラート アクション自体も QC で正常に実行されます。

simpleTrigger は問題なく動作します。

より複雑なものは、自分のライブラリを使用する関数を削除した場合に実行されます。

トリガーがユーザーによって実行されているか、モジュールが見つからない場所 (モジュール db にあります) から実行されているようです。content-db を指すように trigger-db を設定しました。

トリガーは、新しいドキュメントのディレクトリを調べます (ドキュメントの作成)。

独自の lib 関数を使用する場合、スローされるエラーは次のとおりです。

モジュールはmodules-dbにあります...

私を悩ませているもう1つのことは、MLドキュメントの例が

この場合、パーミッション app-user は何をしますか?

とにかく主な質問: トリガー アクションでカスタム モジュールを使用すると、トリガーが実行されないのはなぜですか?

この質問を見て、関連していると思いますが、そこの答えがわかりません...

EDIT 開始、トリガー作成ステートメントの詳細:

また、実際にトリガーはQCから作成されるため、実際には管理者として(app-specific.rbにコードを追加する方法をまだ理解する必要があります)。また、トリガー アクションは、ドキュメントのトリガーの例と同等のドキュメント挿入ステートメントを使用して QC から読み込まれます。

完全を期すために、Geert の提案に従ってこれを app-specific.rb に追加しました。

テストのために、コンテンツの一部としてもロードしました (アクションが実行される前に述べたように、./ml ローカル デプロイ コンテンツを使用してロードするため、アクション ドキュメント自体の権限に問題はないようです。理解できないのは、アクションで独自のモジュールを使用しようとすると、モジュールが見つからないか、(コメント David を参照) モジュールに対する適切な権限がないため、トリガー アクションの実行に失敗することです ...モジュールは /src/lib/lib.xqy の下に roxy でロードされます

2回目の編集

以下を app_specific.rb に追加して、すべてのトリガー スタッフを roxy に含めるように追加しました。

ご覧のとおり、ルートパスは「/」行になっています

権限も手動で追加しましたが、sccs-lib.xqy を指す行を追加するとすぐにトリガーが失敗します...