Для DBpedia лучшим вариантом может быть использование полнотекстового поиска bif:contains
псевдо-свойства:
SELECT ?company {
?company a dbo:Company.
?company foaf:name ?name.
?name bif:contains "Novartis"@en.
}
Эта функция относится к базе данных Virtuoso, которая обеспечиваетКонечная точка DBpedia SPARQL.
Если вы хотите придерживаться стандартного SPARQL , для совпадения в начале только имени:
SELECT ?company {
?company a dbo:Company.
?company foaf:name ?name.
FILTER strStarts(?name, "Novartis")
}
В отличие от полнотекстовой функции, эта версия не может использовать текстовый индекс, поэтому она медленнее.
Если вы хотите более гибкое совпадение :
SELECT ?company {
?company a dbo:Company.
?company foaf:name ?name.
FILTER contains(lCase(?name), lCase("Novartis"))
}
Это найдет регистронезависимое совпадение в любом месте имени.