Как вставить литерал с языковой маркировкой с помощью запроса SPARQL INSERT DATA?

У меня проблема с запросом в SPARQL для тройного магазина Sesame. Я ввожу этот запрос в параметр «Обновление 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 ' '

Мне не удается найти правильный синтаксис для моего запроса.


person user3661334    schedule 21.05.2014    source источник
comment
В настоящее время на ваш вопрос нет ответа, вы не показали код, который вы используете для выполнения этого обновления, поэтому мы не можем воспроизвести вашу проблему. Пожалуйста, предоставьте минимальный полный пример, вы можете использовать кнопку редактировать под вашим вопросом, чтобы добавить больше деталей   -  person RobV    schedule 21.05.2014
comment
Я переформулировал свой вопрос. Я надеюсь, что это более ясно.   -  person user3661334    schedule 22.05.2014


Ответы (1)


Запрос обновления SPARQL в том виде, в каком он у вас есть, правильный. Ошибка вызвана ошибкой в ​​выпуске Sesame 2.7.11 (см. SES-2063). .

Исправление будет доступно в следующем патче. В то же время обходным путем является переформулировка вашего запроса следующим образом:

 INSERT { <http://www.example#test> rdfs:label "test_label"@en } WHERE {} 
person Jeen Broekstra    schedule 21.05.2014