Meine Ontologie hat 2 Klassen. Klasse food
und Klasse foodSource
. Ich möchte Daten Essen mit 2 Art von foodSource erhalten mitSPARQL Filter Regex und Union
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
ich das Ergebnis richtig zu bekommen. Aber dann möchte ich eine Nahrungsquelle vermeiden. Also, wie kann ich Essen ohne irgendeine Nahrungsquelle bekommen? Zum Beispiel habe ich 3 Arten von Essen: - Kedelai Brei - Apfelkuchen - Tomatensuppe Dann möchte ich Essen ohne Apfel drin. So, natürlich bekomme ich nur Kedelai Brei und Tomatensuppe. Kann ich es mit Regex bekommen?
FILTER (!regex(str(?foodSource),"apple")).
Regex unterstützt Vereinigung und Negation, die ist wahrscheinlich effizienter als das Schreiben über SPARQL union und MINUS. – AKSW