SPARQL выберите RDF: ID - PullRequest
       11

SPARQL выберите RDF: ID

1 голос
/ 26 марта 2009

Я пытаюсь выбрать rdf: ID объекта с помощью sparql (внутри Protege) и не могу получить rdf: ID. Кто-нибудь видел эту проблему. SPARQL-запрос, который я использую:

Select * where (?element rdf:id ?id)

Следующее также не работает:

Select * where (?element rdfs:label ?id)

Принял предложение, но все равно это не пойдет:

Select * where (?element rdfs:about ?id)

Но это так:

Select * where (?element rdfs:comment ?id)

Все, что я получаю, это "Нет совпадений". Так что я могу выбрать комментарий, но не thelabel ... идеи?

ОБНОВЛЕНИЕ :: После еще одного исследования, выбрав следующее:

Select ?subject ?property ?object where (?subject ?property ?object)

Не подходит ни одно из свойств RDFS. Я что-то упустил? (Я могу выбрать это с помощью rdfs: comment, но это тоже не отображается ...

Ответы [ 4 ]

6 голосов
/ 03 апреля 2009

Во-первых, rdf: id не существует в модели данных - график rdf утраивается. «rdf:ID» - это синтаксический термин, используемый в одном синтаксисе RDF / XML, но не встречается в тройках. Точно так же rdf:about является синтаксическим термином.

Относительно того, почему sparql протеже здесь не будет работать - и я не использовал Protege - я полагаю, что тройки, которые вы пытаетесь найти, определяются механизмом логического вывода и, следовательно, не обязательно находятся в базовом графе rdf. *

Не совсем понятно, что вы пытаетесь сделать. Вы хотите объект URI [какой-то тройной]? Как вы идентифицируете эту тройку?

4 голосов
/ 21 мая 2009

Если вы ищете URI всех субъектов RDF, вы должны выполнить:

SELECT ?subject WHERE { ?subject ?predicate ?object }

Обратите внимание, что вам нужны фигурные скобки, а не скобки. Также обратите внимание, что регистр имеет значение в RDF, поэтому будьте очень осторожны с написанием и использованием заглавных букв ваших URI (и префиксов / локальных имен).

К слову о дажобе в отношении влечений (предполагаемых троек), rdfs:label является свойством аннотации OWL и будет игнорироваться логическими выводами, если вы не включите свои собственные правила и / или конструкции OWL. Другими словами, если вы только начинаете с RDF, я был бы удивлен, если бы умозрительный вывод утроился с rdfs:label в качестве предиката.

0 голосов
/ 14 июня 2009

Следующий запрос возвращает мне rdf:ID для индивидуума типа pref:class

select * where {
?id rdf:type pref:class
}
0 голосов
/ 26 марта 2009

Я полагаю, ваш rdf: ID (локальная ссылка в вашем документе rdf) будет разрешен с использованием xml: base и преобразован в rdf: about

...