我的本體有2個分類。類別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
2種foodSource的我得到正確的結果。但是,我想避免一些食物來源。那麼,如何在沒有食物來源的情況下獲得食物?例如我有3種食物: - kedelai粥 - 蘋果碎 - 番茄湯 然後我想要沒有蘋果的食物在裏面。所以,我自然會得到kedelai粥和番茄湯。 我可以使用它!正則表達式?
FILTER (!regex(str(?foodSource),"apple")).
正則表達式支持工會和否定這是可能比通過SPARQL聯合和MINUS編寫更高效。 – AKSW