1

私は SPARQL 1.1 の初心者です。以下のような N-Triples ファイルがあります。Work_RVU(最後の属性) と関連するコード (4 番目の属性)の最大値を見つけたい。

<file://PPRVU12.xlsx/69540> <http://www.w3.org/1999/02/22-rdf-syntax-ns?#type> <http://cms.gov/HCPCS> .
<file://PPRVU12.xlsx/69540> <http://www.w3.org/2000/01/rdf-schema#label> "Remove ear lesion" .
<file://PPRVU12.xlsx/69540> <file://PPRVU12.xlsx#Status_Code> "A" .
<file://PPRVU12.xlsx/69540> <file://PPRVU12.xlsx#Code> "69540" .
<file://PPRVU12.xlsx/69540> <file://PPRVU12.xlsx#Work_RVU> "1.25" .

<file://PPRVU12.xlsx/69550> <http://www.w3.org/1999/02/22-rdf-syntax-ns?#type> <http://cms.gov/HCPCS> .
<file://PPRVU12.xlsx/69550> <http://www.w3.org/2000/01/rdf-schema#label> "Remove ear lesion" .
<file://PPRVU12.xlsx/69550> <file://PPRVU12.xlsx#Status_Code> "A" .
<file://PPRVU12.xlsx/69550> <file://PPRVU12.xlsx#Code> "69550" .
<file://PPRVU12.xlsx/69550> <file://PPRVU12.xlsx#Work_RVU> "11.15" .

<file://PPRVU12.xlsx/69552> <http://www.w3.org/1999/02/22-rdf-syntax-ns?#type> <http://cms.gov/HCPCS> .
<file://PPRVU12.xlsx/69552> <http://www.w3.org/2000/01/rdf-schema#label> "Remove ear lesion" .
<file://PPRVU12.xlsx/69552> <file://PPRVU12.xlsx#Status_Code> "A" .
<file://PPRVU12.xlsx/69552> <file://PPRVU12.xlsx#Code> "69552" .
<file://PPRVU12.xlsx/69552> <file://PPRVU12.xlsx#Work_RVU> "19.81" .

最大 RVU は 19.81 で、コードは「69552」である必要があります。19.81 を出力することはできますが、常に「69540」を出力します。これは、毎回最初に遭遇したコードを常に選択することを意味します。

私のSPARQLコードは以下の通りです:

PREFIX pre: <file://PPRVU12.xlsx#>
SELECT ?code (MAX (?val) AS ?Max_RVU)
WHERE{
    ?code pre:Work_RVU ?val .
}

このクエリに誤りはありますか? 別のクエリも試しましたが、

PREFIX pre: <file://PPRVU12.xlsx#>
PREFIX head: <http://www.w3.org/1999/02/22-rdf-syntax-ns?#>
SELECT ?code (MAX (?val) AS ?Max_RVU)
WHERE{
    ?d head:type <http://cms.gov/HCPCS> .
    ?d pre:Code ?code .
    ?d pre:Work_RVU ?val .
}

しかし、結果は同じでした。

4

1 に答える 1