SPARQLクエリに、いくつかの異なる種類の既知の項目を与える場合。私が現在興味を持っているタイプに応じて、このタイプから特定のプロパティを取得したい(これを行う方法は各タイプごとに異なります)が、一度このプロパティが見つかると、同じ操作を実行します。SPARQLのOPTIONALステートメントから変数を取得するにはどうすればよいですか?
現在、私は次の擬似コードを持っている:
?object rdf:hasProperty "known Property Type"
OPTIONAL {
?object rdf:hasProperty "property type 1"
#do this thing and store thing of interest in ?variableOfInterest
}
OPTIONAL{
?object rdf:hasProperty "property type 2"
#do different thing and store thing of interest in ?variableOfInterest
}
?thingIAmActuallyInterestedIn rdf:has type ?variableOfInterest
#now do long query
私の問題ではなく?thingIAmActuallyInterestedIn
がちょうどリストオフすべてのオブジェクトで、オプションの文?variableOfInterest
の外には出て渡されないということです。
私はオプションのブロックの両方に '長いクエリ'を置くことができましたが、膨大な量のコードの複製になります。
ダミー変数ではなく、任意のステートメントから?variableOfInterest
を出力する方法はありますか?