Я установил сервер Sesame (openrdf.org) и попытаюсь получить к нему доступ через API Java.Не понимает запросы SERQL
Для целей тестирования я использовал очень простой пример из Википедии:
<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://de.wikipedia.org/wiki/Resource_Description_Framework">
<dc:title>Resource Description Framework</dc:title>
<dc:publisher>Wikipedia - Die freie Enzyklopädie</dc:publisher>
</rdf:Description>
</rdf:RDF>
и
<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://de.wikipedia.org/wiki/Resource_Description_Framework">
<dc:title>Resource Description Framework 2</dc:title>
<dc:publisher>Wikipedia - Die freie Enzyklopädie</dc:publisher>
</rdf:Description>
</rdf:RDF>
SPARQL запрос на Сезам верстаке работает, как ожидалось:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?title
WHERE{
?res dc:publisher ?pub .
?res dc:title ?title
FILTER (
sameTerm(?pub, "Wikipedia - Die freie Enzyklopädie")
)
}
возвращает все название от издателя «Википедия - Die freie Enzyklopädie».
Теперь для Java API я пытаюсь перевести этот пример в SERQL.
Я попробовал следующий запрос:
SELECT title
FROM {title} dc:publisher {"Wikipedia - Die freie Enzyklopädie"}
USING NAMESPACE
rdf = <http://www.w3.org/1999/02/22-rdf-syntax-ns#>,
dc = <http://purl.org/dc/elements/1.1/>
Но это возвращает все данные и не название, но в URL из ФРР: о. Я также пробовал разные варианты, такие как «dc: title» вместо «title», но я вообще не получаю никакого результата.
Я уже проверил сеть и прочитал много документации. Но почему-то я не получаю синтаксис SERQL.
У вас есть стрелка для меня? Как получить все название от определенного издателя в результате?
Большое спасибо!