2014-01-16 3 views
1

경우 자원 http://example.com#george_michael 같은 (URI)로 SPARQL 쿼리의 결과가 리소스 인 경우 어떻게됩니까?

SELECT * {?s ?p ?o} 

반환 ?o

같은 쿼리, 어떻게 더 깊게과 같은 쿼리에서 예를 들어이 자원의 rdfs:label을받을 수 있나요?

+1

을 [내 대답 (http://stackoverflow.com/a/21165839/1281433), 당신은 당신이 이미 시도 거라고 말했다 그것. 'rdfs' 네임 스페이스를 올바르게 정의 했습니까? StackOverflow에 대한 질문은 예상대로 작동하지 않는 코드를 포함 할 때 가장 좋으며 예상 결과와 실제 결과를 표시 할 수 있습니다. 이미 이와 같은 것을 시도해보고 예상했던 결과를 반환하지 않은 경우 얻을 수있는 실제 결과와 함께 _complete_ 쿼리 (접두어 선언 포함)를 질문에 추가하거나 오류 메시지 인 경우 오류 메시지를 추가하십시오 . –

답변

2

SPARQL은 그래프를 쿼리하기위한 언어입니다. SPARQL 쿼리는 그래프와 일치 할 수있는 패턴입니다. 패턴 ?s ?p ?o은 단순히 모든 트리플과 일치합니다. 당신이 추가 트리플 일치 할 경우, 당신은 단지 그래프 패턴에 대응하는 트리플 패턴을 추가 : 물론

SELECT * { 
    ?s ?p ?o . 
    ?o rdfs:label ?label . 
} 

, 당신은 ?o 당신이 될 수 있음을 시사 자원, 될 일 "어떤 경우에는"언급 ?o의 값에 관심이있는 것은 이 아니며rdfs:label입니다. 이 경우 optional 사용할 것 님의 의견에

SELECT * { 
    ?s ?p ?o . 
    optional { ?o rdfs:label ?label . } 
} 
+0

시도했지만 작동하지 않습니다. – user3156345

+0

@ user3156345 무엇이 작동하지 않습니까? –

관련 문제