SPARQLクエリ内に解決できないURIを含む結果をフィルタリングする可能性はありますか?SPARQLクエリで解決できないURIをフィルタリングする方法はありますか?
例:私は次のクエリを作ってるんだ(エンドポイント:http://linkeddata.systems:8890/sparql):結果で
PREFIX RO: <http://www.obofoundry.org/ro/ro.owl#>
PREFIX SIO: <http://semanticscience.org/resource/>
PREFIX EDAM: <http://edamontology.org/>
PREFIX PHIO: <http://linkeddata.systems/ontologies/SemanticPHIBase#>
PREFIX PUBMED: <http://linkedlifedata.com/resource/pubmed/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT DISTINCT ?disn_1 ?label ?rel ?valor
WHERE { ?disn_1 ?rel ?valor . ?disn_1 rdfs:label ?label FILTER((?disn_1 = <http://linkeddata.systems/SemanticPHIBase/Resource/host/HOST_00561>))}
、あなたがそこにある勇気変数解像不可能なURIが含まれているトリプル見ることができるように? (テキスト:/ hostncbitaxid /)。解決できないURIを持つ結果を削除するためにSPARQLクエリに追加できる特定のFILTERがあるかどうかを知りたいと思います。
私はこれらの結果をC#で処理するために使用しているAPIに問題があります。解決できないURIが原因で例外が返されているため、可能であればSPARQLクエリでフィルタリングしたいのです)。
こんにちはJoshua、ご返信ありがとうございます。私はすでにそのようなことをしましたが、問題は、URI(具体的には、 "valor"が "Host - null - HOST_00561" @en "であるもの)ではないという結果の1つを除外していることです。あなたが言ったように、http: – alejandrorg
@alejandrorgで始まらない、タイプ "URI"を持つ?valorの値だけをフィルターに掛けてください。フィルターを 'filter(!isURI(?x)|| strstarts(strstarts (?x)、 "http")) 'となります。 –