получение атрибута xml: lang с запросом sparql - PullRequest
4 голосов
/ 02 декабря 2011

Хотелось бы узнать, возможно ли использовать запрос sparql, чтобы получить языковой тег на некотором литерале на моем графике.

например, у меня могут быть такие вещи:

<skos:prefLabel xml:lang="fr">Bonjour</skos:definition>
<skos:prefLabel xml:lang="en">Hello</skos:definition>

и я хотел бы иметь набор результатов для каждой метки и соответствующего языка.

1 Ответ

6 голосов
/ 02 декабря 2011

Вы можете использовать встроенную функцию "lang", как описано в спецификации SPARQL (раздел 17.4.2.6 в спецификации SPARQL 1.1: http://www.w3.org/TR/sparql11-query/). Таким образом, ваш запрос может выглядеть следующим образом:

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?x ?label ?language
  WHERE { 
    ?x skos:prefLabel ?label ;
       foaf:mbox      ?mbox .
    BIND ( lang(?label) AS ?language )
  }

Обратите внимание, что для использования BIND таким образом требуется SPARQL 1.1

...