Nepomuk的资æºæ述框架(RDF)和本体(Ontologies) 大致翻译完æˆï¼Œå¤§ä¼™çœ‹çœ‹æˆå¦:-)<br><br>原文地å€ï¼š<a href="http://techbase.kde.org/Development/Tutorials/Metadata/Nepomuk/RDFIntroduction">http://techbase.kde.org/Development/Tutorials/Metadata/Nepomuk/RDFIntroduction</a><br>
<br>æ–‡ä¸ä¸€äº›æœ¯è¯æš‚使用“shared-desktop-ontologies çš„ä¸æ–‡ç¿»è¯‘â€é‚®ä»¶æåˆ°çš„å‡ ä¸ªæœ¯è¯çš„商榷想法,若能形æˆä¸€è‡´ï¼Œå†è¿›è¡Œä¿®æ”¹<br clear="all"><br>PS:æ–‡ä¸é“¾æŽ¥è¾ƒå¤šï¼Œæ‰€ä»¥é™„上word文档<br><br>译文:<br><br>原文地å€ï¼š<a href="http://techbase.kde.org/Development/Tutorials/Metadata/Nepomuk/RDFIntroduction">http://techbase.kde.org/Development/Tutorials/Metadata/Nepomuk/RDFIntroduction</a><br>
<br>Nepomuk的资æºæ述框架(RDF)和本体(Ontologies)<br>翻译:<a href="mailto:dbhrscom@gmail.com">dbhrscom@gmail.com</a><br><br>这个指å—基于Sebastian Trueg çš„åšæ–‡ Nepomuk Appendix A - RDF for Dummies in a Nutshell?<br><br>在这儿讨论的所有本体éšåŒkdebase-runtime ä¸€èµ·å®‰è£…ï¼Œå› æ¤è¿™äº›æœ¬ä½“总是å˜åœ¨äºŽNepomukæ•°æ®ä»“库ä¸ï¼Œå¦å¤–,他们的资æºURIå¯ä»¥é€šè¿‡ Soprano::Vocabulary namespace 进行访问 (NIE除外,它å¯ä»¥ç®€å•çš„使用Sopranoçš„ onto2vocabularyclass 建立)<br>
译者注:Ontologies 直译本体,也有推è翻译为“知识本体â€ï¼Œåœ¨è¯ä¹‰å¦ä¸Šå¯ä»¥ç®€å•ç†è§£ä¸ºä¸€äº›è¯ä¹‰è¡¨è¾¾çš„基本模å¼çš„说明<br><br>RDF — 资æºæ述框架<br><br>RDF是一ç§æè¿°æ•°æ®å˜å‚¨çš„æ–¹æ³•ï¼Œä¸ŽåŸºäºŽè¡¨æ ¼çš„ç»å…¸æ•°æ®åº“ä¸åŒï¼ŒRDFæ•°æ®ç”±ä¸‰å…ƒç»„组æˆï¼Œè¢«ç§°ä¹‹ä¸ºè¯å¥ï¼ˆstatement)的三元组组æˆæ–¹å¼æ˜¯ï¼š<br><br>ä¸»è¯ â€” è°“è¯ â€” 对象<br><br>主è¯æ˜¯ä¸€ä¸ªèµ„æºï¼Œè°“è¯æ˜¯ä¸€ä¸ªå…³ç³»ï¼Œå¯¹è±¡å¯ä»¥æ˜¯å¦å¤–的资æºæˆ–者一个值。这个值的数æ®ç±»åž‹å¯ä»¥æ˜¯å—符串ã€æ•´æ•°ã€åŒç²¾åº¦æµ®ç‚¹æ•°æˆ–者是在 XML Schema ä¸å®šä¹‰çš„类型,甚至å¯ä»¥æ˜¯è‡ªå®šä¹‰çš„æ•°æ®ç±»åž‹ã€‚那么关于事物(Thing)的RDFæ•°æ®å¯ä»¥è¡¨çŽ°ä¸ºå¦‚下è¯å¥ï¼šMary - is mother of – Carl 或者 Mary - was born on - 1970-02-23。<br>
<br>为了é™ä½Žè¡¨è¾¾ä¸Šçš„模糊,资æºå’Œå…³ç³»å¿…é¡»æ˜¯å”¯ä¸€æ ‡è¯†ã€‚ä¾‹å¦‚ï¼Œåœ¨ä¸Šé¢çš„è¯å¥ä¸ï¼Œç¡®å®šäº†ä¸€ä¸ªç‰¹å®šçš„“Maryâ€ï¼Œç”¨ä»¥åŒºåˆ†å’Œâ€œBaghdad – is mother of – all battles†的ä¸åŒã€‚ 自RDFåšä¸ºä¸€ä¸ªWeb技术诞生以æ¥ï¼Œæ‰€æœ‰çš„资æºå’Œå…³ç³»éƒ½æ˜¯ç”¨URI(统一资æºæ ‡è¯†ç¬¦ï¼‰è¿›è¡Œæ ‡è¯†ã€‚(他们的命å空间ç»å¸¸ç”¨#和一个åå—结æŸï¼Œå…¸åž‹çš„用法是缩写为foo:bar ï¼‰ï¼Œå› æ¤ä¸€ä¸ªRDFæ•°æ®é›†åŸºæœ¬ä¸Šæ˜¯ä¸€ä¸ªgraph ,资æºï¼ˆä¸»è¯ï¼‰æ˜¯èŠ‚点,关系(谓è¯ï¼‰æ˜¯è¿žæŽ¥ï¼Œå€¼æ˜¯å¶å。<br>
<br>RDF定义了一个é‡è¦çš„默认属性 rdf:type ,通过这个属性指定资æºçš„类型。<br><br>RDFS — The RDF Schema<br><br>RDFS扩展了RDF,定义了一个资æºå’Œå±žæ€§çš„集åˆï¼Œè¿™ä¸ªæ‰©å±•åŸºæœ¬ä¸Šå…许定义Ontology(本体)。RDFSä¸ä½†å®šä¹‰äº†ä¸¤ä¸ªé‡è¦çš„ç±» rdfs:Resource å’Œ rdfs:Class 用æ¥å¼•å…¥å®žä¾‹å’Œç±»åž‹çš„区别,而且定义了属性的层次结构:rdfs:subClassof å’Œ rdfs:subPropertyof ,rdfs:domain å’Œ rdfs:range 指定属性的细节。<br>
<br>这些扩展å…许建立新类和属性,与é¢å‘对象编程éžå¸¸ç±»ä¼¼ï¼Œä¾‹å¦‚:<br><br>@PREFIX foo: <http://foo.bar/types#>;<br><br>foo:Human rdf:type rdfs:Class . //Human的类型是类<br>foo:Woman rdf:type rdfs:Class . //Woman 的类型是类<br>foo:Woman rdfs:subClassOf foo:Human . //Woman类是Human类的åç±»<br>
<br>foo:isMotherOf rdf:type rdf:Property . // isMotherof 的类型是属性<br>foo:isMotherOf rdfs:domain foo:Woman . // isMotherof 隶属Woman域<br>foo:isMotherOf rdfs:range foo:Human .  // isMotherof 用于Human范围<br><br>foo:Mary rdf:type foo:Woman . // Mary的类型是 Woman<br>
foo:Mary foo:isMotherOf foo:Carl . //一个Thing的三元è¯å¥æè¿°<br><br>这是一个如何使用RDFS定义一个本体的简å•ä¾‹å(使用 Turtle è¯è¨€ï¼‰ã€‚在RDFSä¸æœ€åŽä¸¤ä¸ªé‡è¦çš„è°“è¯ï¼ˆå…³ç³»ï¼‰æ˜¯ rdfs:label and rdfs:comment ,为任æ„资æºå®šä¹‰å¯è¯»æ€§æ ‡ç¾å’Œæ³¨é‡Šã€‚<br><br>NRL:Nepomuk表示è¯è¨€<br><br>Nepomukå¼€å‘NRL是为了扩展RDFS。对于NRL,我ä¸å‡†å¤‡è¯¦ç»†è§£é‡Šå®ƒçš„一切,但我会就目å‰KDE而言éžå¸¸é‡è¦çš„ä¿¡æ¯è¿›è¡Œè§£é‡Šã€‚<br>
<br>NRL最为é‡è¦çš„改å˜æ˜¯ä»Žä¸‰å…ƒç»„æ述到四元组æ述的改å˜ï¼Œç¬¬å››ä¸ªå‚数是已定义(å˜å‚¨ï¼‰çš„用è¯å¥æè¿°çš„graph(å¯èƒ½ä¸ºç©ºï¼‰ï¼Œè¿™ä¸ªgraph (在Soprano ä¸ç§°ä¸º context) æ˜¯è¿™æ ·ä¸€ç§èµ„æºï¼Œå®ƒå¯ä»¥å¯¹æè¿°è¯å¥è¿›è¡Œåˆ†ç»„,å…许对æè¿°è¯å¥ç»„è¿›è¡Œè¿½åŠ ã€‚NRL定义了一组 graph(context)类型,其ä¸å¾ˆé‡è¦çš„是:nrl:InstanceBase å’Œ nrl:Ontology。第一个定义了graph 包å«çš„å®žä¾‹ï¼Œç¬¬äºŒä¸ªï¼Œä½ çŒœå¯¹äº†ï¼Œå®ƒå®šä¹‰äº†åŒ…å«ç±»åž‹å’Œè°“è¯çš„graphs。<br>
<br>ä¸ºäº†ä½¿ä¹‹æ›´åŠ æ¸…æ¥šï¼Œæˆ‘ä»¬ç”¨NRL扩展上é¢çš„例å<br><br>@PREFIX foo: <http://foo.bar/types#>;<br><br>foo:graph1 rdf:type nrl:Ontology .  // 资æºfoo:graph1的类型是本体<br>foo:graph2 rdf:type nrl:InstanceBase . // 资æºfoo:graph2的类型是基础实例<br><br>foo:Human rdf:type rdfs:Class foo:graph1. // 资æºfoo:Human类型是类,是本体 <br>
foo:Woman rdf:type rdfs:Class foo:graph1. // 资æºfoo:Woman类型是类,是本体<br>foo:Woman rdfs:subClassOf foo:Human foo:graph1 . //资æºfoot:Woman是foo:Humançš„å类,是个本体<br><br>foo:isMotherOf rdf:type rdf:Property foo:graph1 .<br>// 资æºfoo:isMotherOf的类型是属性,是个本体<br>
foo:isMotherOf rdfs:domain foo:Woman foo:graph1 .<br>// 资æºfoo:isMotherOf的作用域为foo:Woman,是个本体<br>foo:isMotherOf rdfs:range foo:Human foo:graph1 .<br>// 资æºfoo:isMotherOf的范围是foo:Human,是个本体<br><br>foo:Mary rdf:type foo:Woman foo:graph2 .<br>
资æºMary的类型为foo:Woman,是一个基础实例<br>foo:Mary foo:isMotherOf foo:Carl foo:graph2 .<br>资æºMary和资æºfoo:Carl是foo:isMotherOf的关系,是一个基础实例<br>但是,上述例åä¸èƒ½å±•çŽ°å®žä½“和本体的所有区别<br><br>NAO — Nepomuk æ ‡æ³¨æœ¬ä½“<br><br>ä½ åœ¨KDEå·²ç»é‡åˆ°è¿‡çš„ç”±NAO定义的资æºç±»åž‹å’Œå±žæ€§æ˜¯ï¼šnao:Tag 或 nao:rating 。其实NAO也定义了 nao:created å±žæ€§ï¼Œå®ƒä¸ºèµ„æº ï¼ˆåœ¨ä¸‹é¢çš„例å里是一个graph)分é…一个 xls:dateTime 类型数æ®ã€‚ 当一些信æ¯è¢«åŠ 入到Nepomuk库时,我们用这个方法å˜å‚¨ç›¸å…³ä¿¡æ¯ã€‚<br>
<br>foo:graph1 nao:created<br>"2008-02-12T14:43.022Z"^^<<a href="http://www.w3.org/2001/XMLSchema#dateTime">http://www.w3.org/2001/XMLSchema#dateTime</a>> <br><br>NIE — Nepomuk ä¿¡æ¯å…ƒç´ 本体<br><br>NIE 本体æè¿°æ¡Œé¢èµ„æºæ–‡ä»¶åƒæ–‡ä»¶ï¼Œæ–‡ä»¶å¤¹ï¼Œç”µå邮件,è”系人,å³æ—¶æ¶ˆæ¯ç‰ç‰ï¼Œå®ƒåœ¨æ–‡ä»¶ç´¢å¼•ç³»ç»Ÿè¯¸å¦‚ Strigi 或者 trackerä¸ç”¨äºŽæè¿°æå–的元数æ®ã€‚<br>
* NFO - The Nepomuk File Ontology æ述文件的元数æ®<br>* NCO - The Nepomuk Contact Ontology æ述地å€ç°¿æ¡ç›®<br>* NMO - The Nepomuk Message Ontology æè¿°å„ç§æ¶ˆæ¯åŒ…括电å邮件和å³æ—¶é€šè®¯æ¶ˆæ¯ <br>* NCAL - The Nepomuk Calendar Ontology æè¿°è”系人æ¡ç›®<br>* NEXIF - The Nepomuk Exif Ontology æ述图åƒçš„元数æ®<br>
* NID3 - The Nepomuk ID3 Ontology æè¿°éŸ³é¢‘çš„å…ƒæ•°æ® <br><br>Xesam - æ¡Œé¢æ–‡ä»¶å…ƒæ•°æ®æœ¬ä½“ å› é‡‡ç”¨NIE而过时<br><br>Xesam是一个应用于strigi 索引桌é¢æ–‡ä»¶è€Œå¼€å‘出æ¥çš„本体,它试图对桌é¢åº”用的大多数文件类型元数æ®å®šä¹‰ç±»/类型和属性。简å•çš„例å如id3æ ‡ç¾æˆ–图åƒå¤§å°ï¼Œæˆ–如å‘信人和收信任ç‰ç”µå邮件数æ®ï¼Œåœ¨KDEæ¡Œé¢ç³»ç»Ÿä¸Šstrigi对文件元数æ®çš„检索结果使用Xesam定义的类和属性ç‰æ•°æ®ä¿å˜åœ¨Nepomukæ•°æ®ä»“库内。<br>
<br><br>SPARQL — RDF 查询è¯è¨€<br><br>我们用SPARQL 查询RDF æ•°æ®åº“,它的è¯å¥æ ¼å¼è¢«è®¾è®¡æˆè¿‘ä¼¼SQLï¼Œä½†å› ä¸ºå®ƒè¿„ä»Šä¸ºæ¢å分年轻,所以还ä¸æ˜¯å¾ˆå¼ºå¤§ã€‚<br>å°½ç®¡è¿™æ ·ï¼Œæœç´¢â€œthe mother of carlâ€è¿™æ ·ç®€å•çš„查询大致如下:<br><br>prefix rdf: <<a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>><br>
prefix foo: <http://foo.bar/types#><br><br>select ?r where {?r foo:isMotherOf foo:Carl . }<br><br>或者如果采用NRL <br>prefix rdf: <<a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>><br>
prefix foo: <http://foo.bar/types#><br>prefix nrl: <<a href="http://semanticdesktop.org/ontologies/2007/08/15/nrl#">http://semanticdesktop.org/ontologies/2007/08/15/nrl#</a>><br><br>select ?r where { graph ?g {?r foo:isMotherOf foo:Carl . } .?g rdf:type nrl:InstanceBase . }<br>
<br>SPARQL quick reference.是一份éžå¸¸æœ‰ä»·å€¼çš„文档<br><br>其他本体/定制本体<br><br>这里所说的本体是Nepomukæ•°æ®çš„基本形å¼ï¼Œä½†ä»–们ä¸èƒ½æ»¡è¶³å„æ–¹é¢çš„éœ€æ±‚ï¼Œå¦‚æžœä½ æƒ³åœ¨Nepomukä¸å˜å‚¨ä½ 自己的数æ®å¹¶ä¸”和其他信æ¯è”系起æ¥ï¼Œå»ºè®®æŒ‰ç…§ä»¥ä¸‹è¿‡ç¨‹æ¥åšï¼š<br><br>* 在<a href="http://www.semanticdesktop.org/ontologies/.">http://www.semanticdesktop.org/ontologies/.</a>ä¸æ£€æŸ¥çŽ°æœ‰çš„æ ‡å‡†æœ¬ä½“ä¸æ˜¯å¦æä¾›ä½ æ‰€éœ€è¦ï¼ˆæˆ–部分需è¦ï¼‰çš„类和属性,这个网å€ä¸æœ‰å¾ˆå¤šæ ‡å‡†æœ¬ä½“,包括 NRL å’Œ NAO<br>
<br>* 如果没有,è”ç³» The Oscaf projectä¸ä¸Žä½ 需è¦èŽ·å¾—的帮助相关的讨论组和开å‘组<br><br>* å¦‚æžœä½ çš„éœ€æ±‚è¿˜ä¸èƒ½å¾—到解决,那就开始开å‘ä½ è‡ªå·±çš„æœ¬ä½“ï¼Œå¯èƒ½çš„è¯å»ºè®®å°†å…¶ä½œä¸ºOscafæ ‡å‡†æœ¬ä½“ã€‚<br><br><br><br>-- <br><a href="mailto:dbhrscom@gmail.com">dbhrscom@gmail.com</a><br>