2014-05-09 6 views
2

나는 DBPediaSpotLight 라이브러리를 사용하고 dbpedia 등의 각 단어에 대한 URI를 얻으려고 :dbpedia에서 모든 범주를 얻으려면 어떻게해야합니까?

말씀 : HTTP // dbpedia.org/자원/ 교사

다음 URI는

을 가르쳐

카테고리 :/비즈니스/JOB_TITLE

나는 단어 (3) 수준 .. 난 SPARQL 쿼리를 찾기 위해 노력 "가르쳐"모든 하위 범주를하고 싶지만 I didn를 ' 내가 원하는 것을 찾지 마라.

+0

http://dbpedia.org/resource/Teacher는 DBpedia 카테고리가 아닙니다. 정확히 하위 카테고리를 얻으려고하십니까? –

답변

3

http://dbpedia.org/resource/Teacher (dbpedia : Teacher로 약칭)은 DBpedia의 카테고리가 아니므로 DBpedia의 하위 카테고리를 묻는 것은 실제로 의미가 없습니다. 그러나 http://dbpedia.org/resource/Category:Teaching이며 하위 카테고리가 있습니다. DBpedia는 skos : broader 속성을 사용하여 카테고리를 구성합니다. 각 수퍼 범주는 해당 하위 범주보다 넓은 : skos입니다. 3 개 수준 깊이까지, 그 하위 범주를 얻으려면, 당신은 다음과 같이 쿼리를 사용할 수 있습니다

select distinct ?subcategory where { 
    category:Teaching skos:broader?/skos:broader?/skos:broader ?subcategory 
} 

SPARQL results

/있는 속성 경로는 다른 뒤에 하나 개의 속성 경로를 의미한다. 속성 경로 뒤의 물음표는 경로가 0 번 또는 1 번 발생했음을 의미합니다. 따라서 경로

skos:broader?/skos:broader?/skos:broader 

수단 (0 또는 1 넓은)/(0 또는 1 넓은)/당신이 교육 및 하위 범주 1, 2, 또는 멀리 3 개 광범위한 링크 사이의 링크를 찾을 수 있다는 것을 의미하는 광범위한.

+0

나는 모든 사교 행사 유형을 가져 오는 것과 비슷한 것을하려고합니다. 나는 그것이 내가 필요한 것이라고 생각하는 실제 사회 행사 유형을 가진 하위 범주가있는 "Social_events"범주를 발견했습니다. 나는 당신의 예제와 비슷한 것을하려고했으나 이상한 데이터를 보여준다. - 'select distinct? subcategory { category : Social_events skos : broader?/skos : broader?/skos : broader? subcategory } –

+0

[Sparql 쿼리 결과] (http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=select+distinct+%3Fsubcategory+where+%7B%0D%0A++category%3ASocial_events+skos% 3Abroader % 3F % 2Fskos % 3Abroader % 3F % 2Fskos % 3Abroader + % 3F 하위 범주 % 0D % 0A % 7D & 형식 = 텍스트 % 2Fhtml & timeout = 30000 & debug = on) –