2013-04-21 2 views
2

내가 SPARQL에 새로 온 사람과 도움이 필요에서 인스턴스를 선택.SPARQL/RDF 질의 : 클래스

나는 "Learning_object"라는 이름의 클래스와 일부 속성 (제목, 언어 및 설명)가 "General_characteristics"라는 이름의 서브 클래스가 있습니다.

은 내가 "Learning_object"클래스에서 "Introduction_to_HTML"라는 이름의 인스턴스를 주었다. 내가하고 싶은 것은 "Introduction_to_HTML"인스턴스에 대해 "General_characteristics"를 선택하는 것입니다.

내가 구글에 대한 몇 가지 연구를했지만이에 대한 해결책을 찾을 수있다.

나는 이것을 사용 "Learning_object"의 모든 인스턴스를 얻을 수 있습니다 :

SELECT ?entity 
WHERE { 
    ?entity rdf:type ?General_characteristics. 
?General_characteristics rdfs:subClassOf* :Learning_object. 
} 

사전에 감사!

SELECT DISTINCT ?property 
WHERE { 
    ?entity rdf:type ?General_characteristics. 
    ?General_characteristics rdfs:subClassOf* :Learning_object. 
    ?entity ?property ?object. 
    FILTER(?entity=<your_BASE_GRAPH_URI/Introduction_to_HTML>) 
} 

이 인스턴스에 사용할 수있는 속성 이름의 목록을 검색하려면 : (내 영어 죄송합니다)

답변

1

같은 것을보십시오. 각 속성에 대해? object 값을 원하면 SELECT DISTINCT ... 부분에? 객체 바인딩을 추가해야합니다. 빈 노드가있는 경우 대신 "개체에서"skolemized "값을 찾아야합니다.

+0

는 "찾을 수 없습니다 일치"저를 포기하지 스틸 사진. 어쩌면 내가 만든 인스턴스에 대해 뭔가 잘못된 것이있을 수 있습니다. (btw 나는 내 온톨로지를 위해 protege를 사용하고있다.) 어쨌든 도와 주셔서 대단히 감사합니다! – user2305030