하는

2014-11-09 8 views
4

내가 예를 들어 예나와 ARQ
를 사용하여 일부 위키 피 디아 기사의 범주 얻을 dpbedia를 조회하기 위해 노력하고있어 조회 : 여기하는

select ?category { dbpedia:ARTICLE_NAME dcterms:subject ?category } 

하는 작업 쿼리의 예입니다
SPARQL results

"Parma_F.C."와 같이 ARTICLE_NAME에 특수 문자가있는 경우 문제가 발생합니다. 여기서 "." 그래서

ERROR

select ?category { dbpedia:Parma_F.C. dcterms:subject ?category } 

, 나는 누군가가 그것에 대한 해결책을 가지고있는 경우를 부탁드립니다. 미리

답변

7

식별자 dbpedia:Parma_F.C.
덕분에, 즉, 전체 URI의 약자 소위 접두사 이름이다. 전체 구문 규칙은 SPARQL 1.1 Query Language specification에 설명되어 있습니다.

문제는 특히 접두사가 붙은 이름의 끝에서 완전히 멈추는 문제입니다. SPARQL 문법에 따르면 접두사가 붙은 이름은 이스케이프 처리가되지 않는 한 완전히 멈출 수 없습니다. 수정 사항은 단순히 백 슬래시를 사용하는 것입니다.

dbpedia:Parma_F.C\. 

대체 방법으로 수행 할 수있는 작업은 전체 URI를 작성하는 것입니다. dbpedia 접두어는 http://dbpedia.org/resource/ 네임 스페이스에 매핑, 그래서 SPARQL의 전체 URI가 될 것입니다 :

<http://dbpedia.org/resource/Parma_F.C.> 

및 전체 쿼리가 될 것입니다 : 대답에 대한

select ?category { <http://dbpedia.org/resource/Parma_F.C.> dcterms:subject ?category } 
+0

감사합니다. 전체 URI로 바꾸려고했지만 여전히 작동하지 않습니다. 어떻게 정확히했는지 보여달라고 부탁해도 될까요? dbpedia API를 통해 링크를 붙이시겠습니까? 다시 한 번 감사드립니다 – paskun

+0

전체 질문을 표시 편집 한 질문. –