2016-11-24 12 views
0

こんにちは私はhttps://dbpedia.org/sparqlで実行している私のsparqlクエリです。しかし、私はエラーを取得している "無効な浮動小数点値の変換 '米国:' grossincomeのいくつかの文字値の存在のために、私はstr(?grossincome)?grossincome1)私の質問は、このエラーを回避するためにどのように私は同じスケールですべての通貨を変換することができますか?あなたはすでにそれが型なしプロパティdbp:grossにはかなり異質だ認識としてfloat値を取得するためのsparqlクエリの実行

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX dcterms: <http://purl.org/dc/terms/>  
PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX dbp: <http://dbpedia.org/property/> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 

select distinct (str(?resource) as ?movietitle) (xsd:float(?budget) as ?budget1) (xsd:float(?grossincome) as ?grossincome1) (str(?Country) as ?country1) ?ReleaseDate where { 
      ?movie foaf:name ?resource. 
      ?movie dbo:budget ?budget. 
      ?movie dbp:gross ?grossincome. 
      ?movie dbp:country ?Country. 
      ?movie dbo:releaseDate ?ReleaseDate. 
      FILTER (lang(?resource) = 'en'). 
    } 

答えて

3

DBpediaの中のデータは完璧ではありません。とりわけ、BDT 2.52 crores,$34,994,648 USD,AU$178,000,6892098.0のような値が含まれているため、同じ通貨で値を返すようにSPARQLクエリによって異なる通貨を処理することはほとんど不可能です。

つまり、発生するすべての異なる通貨とフォーマットを知ってから、それぞれを別々に処理する必要があります。しかし、それはアプリケーションロジックの仕事であり、クエリ自体ではありません。

代わりに、データプロパティhttp://dbpedia.org/ontology/grossを使用して、$の値に関連付けることができます。少なくとも、それはそのラベルの「総額($)」というものです。

関連する問題