精彩的人生

          好好工作,好好生活

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            147 Posts :: 0 Stories :: 250 Comments :: 0 Trackbacks
          我們都知道,RDF只表示二元關系,但在實際應用中,多元關系非常常見,如:小紅借給小明語文書,是個三元關系:?borrow(小紅,語文書,小明);?再如,小明的身高是170cm.也是個三元關系?length(小明,170,?cm).?推廣來說,n元關系如何在RDF和OWL中表示呢?

          我們假設三元組為(a,b,c).?a,b.c?都是資源或Literal

          1.?方法一
          如果三元組中a是老大,即有個資源的地位是支配性的,如:小明的身高是170cm.
          表示方法為?把老大提出來,再把三元關系分解為3個二元關系:
          ??R1(a,?a’)?,?R2(a’,b),??R3(a’,c)??//?R1(a,?a’)?用RDF三元組表示為?(a?,?R1?,?a’)
          例如:小明的例子可以表示為
          length(小明,length_obj_1);??//小明是老大,?length_obj_1?是一個身高對象?
          value(length_obj_1,170);?????//值
          unit(length_obj_1,cm);??????//單位
          2.?方法二
          如果三元組中沒有明顯的老大,如:?小紅借給小明語文書.
          表示方法為提出一個對象,每個元素都和這個對象有關系:
          R1(g,?a)?,?R2(g,b),??R3(g,?c)
          例如:小紅借書的例子可以表示為
          rdf:type?(borrow_obj_1,??BorrowRelation);?//?BorrowRelation?是一個表示借書關系的類
          borrow_owner((borrow_obj_1,小紅);?
          borrow_agent((borrow_obj_1,小明);?//借書的人
          borrow_book((borrow_obj_1,?語文書);


          3.?結論
          1)?n-元關系有2exp(n-2)?種表示方法:?二元關系一種表示法,三元關系有如上二種表示法,由數學歸納法得證。
          2)?如果用RDF對復雜系統建模,有必要引入一個中間的抽象層,用以表示N元關系,還有named?graph,?context?等。如引入rdfe:relation(a,b,c,d,….)表示n元關系?
          3)?n-關系的表示對RDF數據的查詢和存儲優化很有價值,因為n-關系往往對應了數據庫中的表。


          注:大部分摘譯自:?
          http://www.w3.org/2001/sw/BestPractices/OEP/n-aryRelations-20040623/

          更為詳細的信息也參考它。

          原文地址:http://bbs.w3china.org/dispbbs.asp?boardID=2&ID=8416

          posted on 2006-05-10 10:31 hopeshared 閱讀(855) 評論(0)  編輯  收藏 所屬分類: Web Service
          主站蜘蛛池模板: 顺平县| 城固县| 浦县| 嘉义市| 青铜峡市| 南通市| 怀宁县| 舞钢市| 木兰县| 沐川县| 广州市| 汤原县| 山阴县| 黄大仙区| 青神县| 土默特右旗| 新宾| 长垣县| 台东市| 平原县| 武功县| 新泰市| 乐都县| 汶上县| 尉犁县| 天镇县| 潍坊市| 旬邑县| 尼勒克县| 开原市| 巩义市| 郴州市| 永顺县| 志丹县| 织金县| 涪陵区| 夏邑县| 敖汉旗| 孟村| 新兴县| 乐清市|