2011-08-03 3 views
2

데이터의 속성 레이블을 표시하는 방법은 무엇입니까? 나는 dbpedia 온톨로지에서 일하고 있습니다.
아래 예제는 sparql 쿼리를 만들고 싶습니다. 이 결과는 데이터 유형 또는 객체 유형이 혼합되어 있으므로 데이터 유형 property name에 원합니다.데이터 형식 이름에 대해서만 sparql 쿼리를 만들려면 어떻게해야합니까?

 
SELECT ?p ?pLabel ?domain ?range 
{ 

?p rdfs:domain http://dbpedia.org/ontology/Person> . 

}

예 : 다음 데이터 유형의 예입니다,하지만, 나는 유형의 이름을 표시하려는 경우에만 데이터 유형을 선택할 수 없습니다.

"chat" 
'chat'@fr with language tag "fr" 
"xyz"^^<http://example.org/ns/userDatatype> 
"abc"^^appNS:appDataType 
'''The librarian said, "Perhaps you would enjoy 'War and Peace'."''' 
1, which is the same as "1"^^xsd:integer 
1.3, which is the same as "1.3"^^xsd:decimal 
1.300, which is the same as "1.300"^^xsd:decimal 
1.0e6, which is the same as "1.0e6"^^xsd:double 
true, which is the same as "true"^^xsd:boolean 
false, which is the same as "false"^^xsd:boolean 
expect to result 

(전용 데이터 타입)

typename <- field name 
string <- type name 
    int 
boolean 
    int 
double 
    boolean 

가 어떻게 SPARQL 쿼리를 만들기 위해를 초래할 것으로 예상?

답변

4

해당 목적으로 function datatype()을 사용하십시오.

select distinct ?y datatype(?z) 
{ 
    ?x a <http://dbpedia.org/class/yago/JeskolaBuzzUsers>. 
    ?x ?y ?z. 
    filter (datatype(?z) != '') 
} 
+0

답장을 보내 주셔서 감사합니다. 데이터 유형() 함수가 올바르지 만 ... 내 질문은 .. 예 : http : //www.w3.org/2001/XMLSchema#gYea-> String (Result ! 리터럴 타입으로) 어떻게 결과를 ~ ~? ;;; -_- ;;;; –

+0

질문과 코멘트를 몇 번 읽고 나면 URI 대신/대신에 반환 된 데이터 유형의 _label_을 원한다고 생각하는 것 같습니다. 그 맞습니까? –

0

PREFIX의 XSD :? 양 양 : http://www.w3.org/2001/XMLSchema# 이 { 항목 DM을 ASK 예를 들어. ? FILTER : 예 기간 자리의 인용 부호로 둘러싸이지 않은 일련의 처리되기 때문에 쿼리 엔진이 여전히 양의 값이 정수 알고 있었다

하지 된 (? (데이터 타입 (양)) = XSD! 정수) }, 정수로. SPARQL에서 데이터 유형을 사용하는 대부분의 작업에는 함수의 사용이 포함됩니다. 자세한 내용은 다음 섹션에서 설명합니다. 이 중 하나를 살펴보기 전에 쿼리에서 입력 된 리터럴의 표현이 데이터 집합의 다른 종류의 리터럴과 상호 작용하는 방식을 파악하는 것이 좋은 아이디어입니다.