私のオントロジは2つのclassessを持っています。クラスfood
およびクラスfoodSource
。 私は正しく結果を得るSPARQLフィルターの正規表現と共用体
SELECT ?food ?foodSource ?foodSource2
WHERE {
{
?foodSource mpasi:data_memerlukanBahan ?memerlukanBahan.
?food ?memerlukanBahan ?value.
FILTER regex(str(?foodSource),"carrot")
}
UNION
{
?foodSource2 mpasi:data_memerlukanBahan ?memerlukanBahan.
?food ?memerlukanBahan ?value.
FILTER regex(str(?foodSource2),"tomato")
}
}
order by ?food
を使用してfoodSourceの2種類のデータの食べ物を取得したいです。しかし、私はいくつかの食物源を避けたい。だから、どうすれば食べ物がなくても食べることができますか?例えば、私は3種類の食べ物を持っています: - kedelaiお粥 - apple crumble - トマトスープ 私はそれの中にリンゴのない食べ物をしたいです。そう、自然に私はちょうどkedelaiお粥とトマトスープを取得します。 !regexを使って入手できますか?
FILTER (!regex(str(?foodSource),"apple")).
正規表現がある労働組合と否定をサポートしていますが、すべてのものが、「ポテト」を見つけたい場合は
、あなたは否定の選択肢のカップルを持っていますおそらくSPARQL共用体とMINUSを介して書くよりも効率的です。 – AKSW