2014-12-23 2 views
-2

Мне нужно возвращать лиц для моего запроса:SPARQL в Protege 4.3

SELECT ?subject ?class 
      WHERE { ?subject rdfs:subClassOf ?class. 
?class rdfs:comment "linear"@en} 

Но он работает только с подклассов. Должен ли я заменить rdfs:subClassOf на другого оператора?

ответ

1

Ваш запрос специально запрашивает предмет s, которые являются подклассами класса ? (Где класс имеет ИСС: Комментарий "линейный" @en). ? Чтобы получить экземпляры типа класса, вы бы использовать

?subject rdf:type ?class 

или, так как SPARQL позволяет сокращенные RDF: тип по ,

?subject a ?class 
0

Если вы не можете поделиться детали о теле данных, которое вы запрашиваете, вы можете получить представление самостоятельно, проверяя

SELECT ?s ?p ?subject ?class 
WHERE 
{ ?s ?p ?class . 
    ?subject rdfs:subClassOf ?class . 
    ?class rdfs:comment "linear"@en . 
} ORDER BY ?s ?p ?subject ?class 

и/или

SELECT ?subject ?class ?p ?o 
WHERE 
{ ?subject ?p ?o . 
    ?subject rdfs:subClassOf ?class . 
    ?class rdfs:comment "linear"@en . 
} ORDER BY ?subject ?class ?p ?o 

откуда вы можете развернуть таким же образом, пока не получите ручку.

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