2016-03-05 6 views
1

Я пытаюсь этот вопрос:SPARQL: как получить значения для определенного ресурса?

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
SELECT ?label 
WHERE 
{ 
    ?AGE rdfs:label ?label. 
} 

Мне нужны все значения AGE из моей модели, но вместо этого запрос дает мне другие значения ресурсов, которые имеют ту же метку свойства.

Например, я связал ресурс gender, чтобы иметь свойство rdfs:label. Поэтому в моем результате я получаю как возрастные ценности, так и гендерные ценности.

Может ли кто-нибудь сказать мне, где я ошибаюсь?

ответ

4

Кажется, вы можете присвоить некоторую семантику переменной «ВОЗРАСТ». SPARQL - это язык соответствия шаблону графика и все, что есть? поскольку первым символом является переменная - или, еще лучше, неизвестная в совпадении графика. Т.е., следующий эквивалентный запрос к вашему:

SPARQL ?label 
WHERE 
{ ?s rdfs:label ?label . 
} 

Найдет все тройки, у которых есть ИСС: метка свойства и выберите значение ярлыка?.

Если у вас есть определенный ресурс, который вы хотите запросить, а затем указать, что ресурс в этой теме, например:

PREFIX ex: <http://example.org/ex> 
SPARQL ?label 
WHERE 
{ ex:AGE rdfs:label ?label . 
} 

Таким образом, понимание разницы между неизвестной (обозначается (или «$«?» ')) и известное (qname или полный URI) важно понять, как SPARQL выполняет сопоставление шаблонов графа.

Множество учебных материалов SPARQL в Интернете, поэтому предлагается изучить некоторые из них, чтобы изучить некоторые основы.

+0

спасибо, что помогли! – riya

Смежные вопросы