2013-05-22 3 views
0

Я использую следующий простой запрос SPARQL, чтобы получить список классов онтологии и их подклассов через фусеки:Запросов к подклассам через фусеки

SELECT DISTINCT ?subject ?object 
WHERE { ?subject rdfs:subClassOf ?object } 

Таким образом, я могу увидеть полную URI всех классов. Теперь я хотел бы запросить подклассы определенного класса, скажу abc

Я смотрю на выходе запроса, и я вижу URI класса в фокусе abc это:

http://blahblahblah/file.owl#abc 

Так , Я представляю следующий запрос SPARQL для получения его подклассов:

SELECT DISTINCT ?subject 
WHERE { ?subject rdfs:subClassOf http://blahblahblah/file.owl#abc } 

Но выход пуст. Я также пытаюсь включить URL в одинарной кавычки и двойные кавычки, но безрезультатно.

SELECT DISTINCT ?subject 
WHERE { ?subject rdfs:subClassOf 'http://blahblahblah/file.owl#abc' } 

SELECT DISTINCT ?subject 
WHERE { ?subject rdfs:subClassOf "http://blahblahblah/file.owl#abc" } 

Что я делаю неправильно?

Спасибо,

ответ

4

syntax for IRIs in SPARQL охватывает IRIs в угловых скобках (< и >). Ваш запрос должен быть записан как:

SELECT DISTINCT ?subject 
WHERE { ?subject rdfs:subClassOf <http://blahblahblah/file.owl#abc> }