我是一名初學者,正在編寫一個RDF模式,並想知道如何良好地使用URI概念並創建一個簡單感興趣的RDF文檔。我正在嘗試創建以下RDF語句 -如何編碼一個簡單感興趣的RDF/XML
Jeffy is a Graduate student
Jeffy likes yoga
Jeffy is seeking Tennis.
我應該如何根據這三個句子編寫RDF。任何燈光都會對你有所幫助。
我是一名初學者,正在編寫一個RDF模式,並想知道如何良好地使用URI概念並創建一個簡單感興趣的RDF文檔。我正在嘗試創建以下RDF語句 -如何編碼一個簡單感興趣的RDF/XML
Jeffy is a Graduate student
Jeffy likes yoga
Jeffy is seeking Tennis.
我應該如何根據這三個句子編寫RDF。任何燈光都會對你有所幫助。
你可以使用OWL而不是徑向分佈函數,因爲:
1)它是徑向分佈函數
的一個超集2)它是更強大的
例如:
<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<!ENTITY base "http://www.example.com/example/" >
]>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:base="http://www.example.com/example/"
>
<owl:Class rdf:about="#GraduateStudent" />
<owl:DatatypeProperty rdf:about="&base;Likes">
<rdfs:domain rdf:resource="&base;GraduateStudent" />
<rdfs:range rdf:resource="string" />
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="&base;IsSeeking">
<rdfs:domain rdf:resource="&base;GraduateStudent" />
<rdfs:range rdf:resource="string" />
</owl:DatatypeProperty>
<base:GraduateStudent rdf:about="&base;GraduateStudent/001">
<base:Likes>yoga</base:Likes>
<base:IsSeeking>Tennis</base:IsSeeking>
</base:GraduateStudent>
</rdf:RDF>
你可以注意到,模型和數據在同一個文件中。
3 importants特徵:
1)類別:聲明類
2)DatatypeProperty屬性:聲明文字屬性
3)OBJECTPROPERTY(未在這裏):聲明一個鏈接到另一個節點語義圖
在你的情況下,你可以創建一個「體育」類,通過ObjectProperty改變DatatypeProperty, 更新範圍並創建2個運動的實例。
我可以推薦你不使用RDF/XML嗎?手動學習是一種非常複雜的語法格式。你最好寫你的RDF使用類似Turtle語法,在這種情況下,你的例子是這樣的:
@prefix my: <http://example.org/mynamespace/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
my:jeffy rdf:type my:GraduateStudent ;
my:likes my:yoga ;
my:isSeeking my:Tennis .
如果必須RDF/XML的某種原因,可以考慮使用任何RDF分析器工具包(OpenRDF Sesame,Apache Jena,dotNetRDF等)從一種語法轉換爲另一種語法。
FOAF:
你可以使用foaf:Person爲 「傑菲」(。你可以用foaf:name RESP foaf:givenName RESP foaf:nick有的名稱)。
您可以使用foaf:interest來獲得瑜伽的興趣(但您必須使用代表「瑜伽」的foaf:Document;請參閱foaf:isPrimaryTopicOf)。 或者您可以使用foaf:topic_interest(範圍是owl:Thing
)。
作爲一名研究生,可以(或許!)模仿foaf:Group。
查看example in Wikipedia,它在Turtle序列化中。
謝謝Galaad,如果我可以使用功能的朋友(FOAF),你能清除我嗎? – AKIWEB 2012-08-15 02:27:34
雖然你當然是正確的,OWL比RDFS更具表現力,但我只想指出,你給出的實際示例中沒有任何內容需要OWL的表達能力(在RDFS中唯一不能表達的唯一東西就是差異在一個DatatypeProperty和一個ObjectProperty之間,但是這個區別是否必要是值得懷疑的)。 – 2012-08-15 02:28:52