Я хочу отфильтровать ресурс, который используется как «join» в запросе. Например, учитывая ресурс DBpedia, мне нужно вернуть метку ресурсов, связанных свойством sameAs, и иметь «pt» в своем URI. Я использую следующий запрос:Подзапрос SPARQL в DBpedia
SELECT ?label
{ <http://dbpedia.org/resource/Category:Algorithms> owl:sameAs ?nomePT.
?nomePT rdfs:label ?label
FILTER regex(str(?nomePT), "pt", "i")
}
Однако, он возвращает пустой, так как переменная всегда содержит первый ресурс из списка «NomePT?». см:
SELECT ?nomePT
{ <http://dbpedia.org/resource/Category:Algorithms> owl:sameAs ?nomePT.
?nomePT rdfs:label ?label
}
Но ресурс имеет несколько sameAs ссылки:
SELECT ?nomePT
{ <http://dbpedia.org/resource/Category:Algorithms> owl:sameAs ?nomePT.}
, что не так в запросе?
Заранее благодарим.
вы имели в виду 'фильтр (*? resource * = category: Algorithms && ... ' – AndyS
Двигатели могут оптимизировать' FILTER (? resource = category: Algorithms) 'и использовать его в более длинном выражении' && ', чтобы сделать то же самое, что и'? resource owl: sameAs категория: «Алгоритмы», а также ответы «. resource = category: Алгоритмы» в ответах. – AndyS
Можете ли вы подробно рассказать? – Artemis