簡體   English   中英

在RDF / XML中引用類

[英]Referencing classes in RDF/XML

我試圖了解RDF / XML基礎。 我對理解數據引用有疑問。

作為一個簡單的示例,讓我們考慮“個人”和“文檔”之間的關系。

在關系數據模型中,這將是簡單的一對多關系(一個人可以有很多文檔,但是一個文檔只能屬於一個人)。 因此,可以通過在documents表中包含person_id來解決此問題。

但是,如何在RDF / XML中實現類似的功能?

我用所有屬性定義了<namespace:Person rdf:about="http://www.foo.com"> ,並且我也有<namespace:Document rdf:about="http://www.bar.com"> ,但是說一個文檔屬於id = x的人的正確方法是什么?

RDF是使用三元組 (也稱為RDF 語句 )來表示數據的模型。 每個語句都有一個主語,一個謂語和一個賓語。 通常,謂詞表達主語和賓語之間的關系。 可以將這樣的語句的集合視為一個圖形 (主語和賓語為頂點,謂詞為邊)。

因此,在您的文檔和人員的例子,讓我們首先建立的關系是什么文件和人員都有。 舉個例子,假設您要表達一個文檔有一個作者 (即Person)。

如果我們將其應用於特定的文檔ex:d1和特定的人ex:p1 ,我們只需編寫以下三元組來表達這種關系:

ex:d1 a ex:Document;
      ex:hasAuthor ex:p1 .
ex:p1 a ex:Person .

順便說一下,上面是Turtle語法,RDF的讀/寫語法更容易。 有關詳細信息,請參見RDF入門

在RDF / XML語法中,相同的數據如下所示:

<ex:Document rdf:about="http://example.org/d1">
   <ex:hasAuthor rdf:resource="http://example.org/p1"/>
</ex:Document>
<ex:Person rdf:about="http://example.org/p1"/>

但是,就像我在評論中提到的那樣:嘗試抽象地理解RDF建模(考慮三元組和圖形)比嘗試理解如何編寫RDF / XML更為有效。

回到示例:上面顯示了如何為特定文檔和特定人員之間的關系建模。 如果您希望表達更一般的信息,即“文檔和人員是可以通過作者關系關聯的類”,則可以使用RDF Schema詞匯表。 您可以這樣表示:

ex:Document a rdfs:Class .
ex:Person a rdfs:Class .
ex:hasAuthor a rdf:Property ;
             rdfs:domain ex:Document ;
             rdfs:range ex:Person .

請注意,RDF架構與關系架構不一樣! 關系模式的目的是規定結構並允許數據驗證。 RDF詞匯表(或本體論 )用於描述世界。 上面所說的就是文件和人存在於我們的世界中,如果兩件事之間具有“作者”關系,那么這兩件事就是文件和人。

暫無
暫無

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

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