0
データ型プロパティの値を分割するために、関数apf:strsplitを使用しようとしています。私はいくつかの例を探してそこに示されたようにしましたが、私の場合、fusekiはエラーを返します。Jenaのapf:strsplitの使い方:fuseki
マイクエリ:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dbo: <http://dbpedia.org/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX apf: <http://jena.hpl.hp.com/ARQ/property#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
select ?s ?member
where{
?s a dbo:MusicalArtist .
?s dbp:hometown ?p .
{select ?member
where{
?member apf:strSplit(?p " ") .
}
}
}
結果:私のインスタンスの
Error 500: ?/p is not a literal node
Fuseki - version 2.3.1 (Build date: 2015-12-08T09:24:07+0000)
例:?
<http://example.com/resource/6>
rdf:type dbo:Actor ;
rdf:type dbo:MusicalArtist ;
rdf:type dbo:Person ;
rdf:type owl:NamedIndividual ;
dbo:bloodGroup "n"@en ;
dbo:spouse <http://example.com/resource/11> ;
dbo:spouseName "Angelina Jolie" ;
dbp:hometown "Dallas"^^xsd:string ;
foaf:name "Brad Pettitt" ;
.
<http://example.com/resource/17>
rdf:type dbo:MusicalArtist ;
rdf:type owl:NamedIndividual ;
dbp:hometown "El Paço"^^xsd:string ;
foaf:name "Harrison Ford" ;
.
私は "他のテキスト" でのpを変更する、それが動作し、結果:
1 <http://example.com/resource/6> "other"
2 <http://example.com/resource/6> "text"
3 <http://example.com/resource/3> "other"
4 <http://example.com/resource/3> "text"
私はstr(?p)、?p ^^ xsd:string?p ^^ xsd:literalを入れてみましたが、何も動作しませんでした。 私はインターネットを見ましたが、私が使用できるものは何も見つかりませんでした。
誰か提案があります。どのようにこのクエリを修正できますか?私は任意のヘルプ:-(ないアイデアは非常に高く評価されません。進歩で
おかげで、
よろしく、
ヴァレリア
「dbp:hometown」の値は必ずしもリテラルではないと思います。 DBpediaからデータを取得した場合は、 'http:// dbpedia.org/property /'名前空間のプロパティが型付けされていない、つまりオブジェクトとデータのプロパティが区別されていないことに注意してください。値はURIとリテラルの両方になります。 – AKSW
サブ選択を使用する必要がありますか、その理由は何ですか?そして 'apf:strSplit(str(?p)" ")を使うとどうなりますか? ' – AKSW
strSplitを使用するときにネストされたクエリを使用する必要があると考えました。私は間違っていた。 – ValQc