Как запросить у индивидуума RDF его свойства данных? - PullRequest
2 голосов
/ 22 февраля 2012

У меня есть онтология, где arc_cfp - это человек класса Arc. Я хотел бы знать, как я могу получить все свойства данных индивидуума, учитывая, что у меня есть URI индивидуума?

В основном я делаю это:

SELECT ?idRef ?name ?src ?dst ?perf
WHERE 
{
    ?x rdf:type http://www.semanticweb.org/ontologies/2012/1/graph.owl#arc_cfp .
    ?x graph:idRef_arc ?idRef .
    ?x graph:name_arc ?name .
    ?x graph:hasSource ?src .
    ?x graph:hasDestination ?dst .
    ?x graph:hasPerformatif ?perf .
}

Я почти уверен, проблема в использовании rdf:type. Но я понятия не имею, что мне нужно использовать.

Спасибо.

~ Кодеры

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

Предполагая, что вам нужен чисто исследовательский запрос в форме «дай мне все тройки о предмете», он должен выглядеть следующим образом:

SELECT *
WHERE
{
  <http://example.org/SomeThing> ?p ?o
} 

Это даст вам все пары предикатных объектов, связанных с константой.URI, который вы передаете. Если вас интересуют как входящие, так и исходящие свойства, вы можете сделать следующее:

SELECT *
WHERE
{
  { <http://example.org/SomeThing> ?p ?o }
  UNION
  { ?s ?p <http://example.org/SomeThing> }
} 
0 голосов
/ 28 февраля 2012

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

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
DESCRIBE ?x
WHERE
{
    ?x rdf:type http://www.semanticweb.org/ontologies/2012/1/graph.owl#arc_cfp .
}

PS Не забудьте добавить префиксы в свои запросы.

...