Как вставить литерал с тегами языка, используя запрос SPARQL INSERT DATA?
У меня возникла проблема с запросом в SPARQL для хранилища тройного кунжута. Я ввожу этот запрос в опцию "Обновление SPARQL" рабочей среды Sesame:
INSERT DATA { <http://www.example#test> rdfs:label "test_label"@en }
Я хотел бы получить такой результат RDF:
<rdf:Description rdf:about="http://www.example#test">
<rdfs:label xml:lang="en">test_label</rdfs:label>
</rdf:Description>
Но я не знаю, как написать запрос, чтобы добавить xml:lang="en"
,
С моим запросом у меня есть эта ошибка:
org.openrdf.query.UpdateExecutionException: org.openrdf.sail.SailException:
org.openrdf.rio.RDFParseException: Expected ':', found ' '
Мне не удается найти правильный синтаксис для моего запроса.
1 ответ
Решение
Запрос на обновление SPARQL, если он у вас есть, правильный. Ошибка вызвана ошибкой в версии 2.7.11 Sesame (см. SES-2063).
Исправление будет доступно в следующем выпуске патча. Тем временем, обходной путь должен переформулировать ваш запрос следующим образом:
INSERT { <http://www.example#test> rdfs:label "test_label"@en } WHERE {}