簡體   English   中英

rdf:resource和rdfs:Resource有什么區別?

[英]What is the difference between rdf:resource and rdfs:Resource?

在RDF 1.1 XML語法文檔中, rdf:resource在定義Empty Property Elements時用作縮寫形式:

當RDF圖中的謂詞弧指向沒有其他謂詞弧的對象節點時,該對象節點在RDF / XML中顯示為空節點元素(或),可以縮短此表單。 這是通過使用對象節點的IRI作為包含屬性元素的XML屬性rdf:resource的值並使property元素為空來完成的。

在RDF Schema 1.1中, rdfs:Resource被定義為一個

RDF描述的所有內容都稱為資源,並且是類rdfs:Resource實例。 這是一切的一類。 所有其他類都是此類的子類。 rdfs:Resourcerdfs:Class一個實例。

這兩者有什么關系? rdf:resource值是否始終屬於rdfs:Resource類, rdfs:Resource

它們完全無關。 他們只是碰巧共用一個名字,因為他們都有做資源。

術語“資源”是RDF數據模型的核心(畢竟它是資源描述框架)。 一般來說,RDF中的資源是可以通過URI識別的任何東西(關於如何將空白節點和文字這樣的內容置於此定義之下的大量技術細節,但為了簡單起見,我們將忽略這一點)。

rdf:resource只是RDF / XML語法中的語法元素,即用於標識作為屬性值的資源的屬性。 例如,這是一個簡單的RDF模型(1個三元組),在RDF / XML中:

<rdf:Description rdf:about="http://example.org/Bob">
    <foaf:address rdf:resource="http://example.org/address1"/>
</rdf:Description>

這里, http://example.org/Bob是主題資源, foaf:address是該主題的屬性(用於將主題資源鏈接到值)。 在這種情況下,屬性值也是一個資源( http://example.org/address1 ),因此在RDF / XML語法中我們使用rdf:resource屬性來鏈接它。 如果你用不同的語法編寫相同的RDF模型(例如,Turtle),你根本看不到rdf:resource

<http://example.org/Bob> foaf:address <http://example.org/address1> .

在RDF Schema中,類rdfs:Resource是所有資源的類。 這是一個概念,而不是特定於語法的機制。 由於RDF中的任何東西都是資源,因此它是“頂級”類的東西。 所有東西都是資源,所以如果你引入一個新類,例如“Person”,它將(自動)成為rdfs:Resource的子類。

<http://example.org/Bob> rdf:type <http://example.org/Person> . 
<http://example.org/Bob> rdf:type rdfs:Resource . 

請注意,第二個三元組是第一個三元組的邏輯結果。 因此,在實踐中,bob是一個資源的事實幾乎從未在RDF模型中明確寫下 - 如果需要,可以推斷它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM