MarkLogicサーバーの一部の臨床オントロジーデータでSPARQLクエリを実行しています。私たちのクエリは、次のようになります。MarkLogic 8の関連性スコアでSPARQLクエリ結果を並べ替える方法はありますか?
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX cts: <http://marklogic.com/cts#>
SELECT *
FROM <http://example/ontologies/snomedct>
WHERE {
?s rdfs:label ?o .
FILTER cts:contains(?o, cts:word-query("Smoke*", "wildcarded"))
}
LIMIT 10
私たちは、関連性スコアのオフに基づいてソートされた結果を得ることが期待が、代わりに、彼らはいくつかのランダムな順序であるように見えました。クエリで多くの方法を試しましたが、何も機能しませんでした。いくつかの研究の後、私たちはMarkLogicドキュメントでこの文が見つかりました:
- CTS:検索式が常に妥当で返し
の式はで返す順序を理解する場合、考慮すべき2つの 主なルールがあります注文(関連性が最も低いものと最も関連性が高いもの)。
- XPath式は常にドキュメントの順序で返されます。常にドキュメント順に返すXPath式をされて含まれています
が、これはそれがCTSを意味していますか?その場合、関連性の高い順序で返されるSPARQLクエリをどのように構築できますか?
おかげで、 ケビン
'のCTS:search'は、XQueryのためではなくSPARQL – AKSW
@AKSWため、私は参照してください。 MarkLogicが純粋なSPARQLでクエリ結果をランク付けする方法を持っていれば非常にいいですね。 –