SPARQL заявка - Класът и подкласът дават име на клас и пространство от имена

Как мога да получа всички свойства на класа и неговите подкласове със свойства от RDF източник на данни, използвайки SPARQL заявка, дадена на име на клас и пространство от имена?


person Raja    schedule 17.12.2008    source източник
comment
Когато казвате, че искате свойствата на класа, имате ли предвид индивиди (екземпляри на клас) и техните свойства? Когато искате подкласове, искате ли и транзитивни подкласове (A =› B, B =› C, така че искате A =› C)? Можете ли да предоставите пример за RDF графиката, която питате?   -  person Phil M    schedule 29.07.2009


Отговори (2)


Опитвате ли се да направите рекурсивна SPARQL заявка? С други думи, изберете даден индивид и всичките му свойства. Когато обектът на собствеността е друго физическо лице, изберете неговите свойства и т.н.

Не вярвам, че SPARQL поддържа това.

Наивният подход би бил да се направи нещо подобно (и ако приемем, че имате предвид индивиди, а не класове, това всъщност отговаря на вашите изисквания, но не се справя със следващото "ниво" от тройки).

CONSTRUCT {
    ?s ?p ?o .
    ?o ?p2 ?o2 .
} WHERE {
    ?s ?p ?o .
    ?o ?p2 ?o2 .
}

Обърнете внимание, че ако ?o2 е субектът на някакви изрази, тази заявка няма да ги върне.

person Phil M    schedule 29.07.2009

Какво ще кажете за това:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?subClass ?predicate 
WHERE {
   ?subClass rdfs:subClassOf <http://dbpedia.org/ontology/Work> .
   ?predicate rdfs:domain ?subClass
}

Опитайте с инструмент SPARQL като интерфейса SNORQL на DDBedia.

person Simon Gibbs    schedule 11.03.2009