2011-08-03 34 views
2

如何顯示數據的屬性標籤? 我爲dbpedia本體工作,
我想做一個sparql查詢,下面是我的示例查詢。這個結果混合了數據類型或對象類型,我想要數據類型屬性名稱。如何使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

爲此目的使用函數datatype()。例如:

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

謝謝你的回答,我確定datatype()函數是正確的,但是......我的問題是...... ex:http://www.w3.org/2001/XMLSchema#gYea - > String(Result !as Literal TYPE)如何做出結果〜? ;;; -_- ;;; –

+0

幾次閱讀您的問題和評論後,我認爲您的意思是您希望返回數據類型的_label_而不是其/ URI旁邊的/。那是對的嗎? –

0

PREFIX的xsd:http://www.w3.org/2001/XMLSchema# ASK WHERE { 項DM:?量量。 FILTER(?(數據類型(量))= XSD:整數) }

查詢引擎還知道哪些量值是整數,哪些不是, 因爲沒有期內任何不帶引號的數字序列進行處理?作爲整數。 您在SPARQL中使用數據類型的大部分工作都將涉及使用下一部分將詳細介紹的功能 。在我們查看其中的任何一個之前,知道查詢中的類型化文字的表示如何與數據集中不同的 種文字相互作用是一個很好的想法。