﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-yglwxl-随笔分类-Semantic</title><link>http://www.blogjava.net/yglwxl/category/24748.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 09 Aug 2007 15:38:45 GMT</lastBuildDate><pubDate>Thu, 09 Aug 2007 15:38:45 GMT</pubDate><ttl>60</ttl><item><title>FOAF-a-Matic(转)</title><link>http://www.blogjava.net/yglwxl/archive/2007/08/09/135468.html</link><dc:creator>九宝</dc:creator><author>九宝</author><pubDate>Thu, 09 Aug 2007 05:30:00 GMT</pubDate><guid>http://www.blogjava.net/yglwxl/archive/2007/08/09/135468.html</guid><wfw:comment>http://www.blogjava.net/yglwxl/comments/135468.html</wfw:comment><comments>http://www.blogjava.net/yglwxl/archive/2007/08/09/135468.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yglwxl/comments/commentRss/135468.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yglwxl/services/trackbacks/135468.html</trackback:ping><description><![CDATA[<h2>Introduction</h2>
<p>FOAF-a-matic 是一個簡單的 Javascript 應用程式。它讓你能夠建立關於你自己的 FOAF（"Friend-of-A-Friend"）檔案。你可以參考 Edd Dumbill 的文章：「<a href="http://www-106.ibm.com/developerworks/xml/library/x-foaf.html"><u><font color=#800080>XML 观察：使用 XML 和 RDF 找到朋友</font></u></a>」，拜訪<a href="http://rdfweb.org/foaf/"><u><font color=#800080>RDFWeb 的 FOAF 首頁</font></u></a>，以及<a href="http://xmlns.com/foaf/0.1/"><u><font color=#800080>FOAF 的詞彙描述（FOAF vocabulary description）</font></u></a>。 </p>
<p>簡單地說，FOAF 是一種用 XML 跟 RDF 描述你自己的方式：你的名字、電子郵件信箱，以及你的朋友們。 這種方式使其可以被軟體處理，舉例來說可為搜尋引擎所利用，自動化地發現社群與你的資訊。 FOAF 具有帶動線上社群許多有趣發展的潛力。Ben Hammersely 的英國衛報文章 "<a href="http://www.guardian.co.uk/online/story/0,3605,870848,00.html"><u><font color=#0000ff>Click to the Clique</font></u></a>" 提供 關於這些想法的更進一步探討。 </p>
<p>FOAF-a-Matic 被用來提供一個簡單、快速的方式，產生你自己的 FOAF 檔案。最基本你至少需要提供你的 名字與 email 地址，並且你可以增加任何你想加入的朋友。把朋友加入 FOAF 檔案中是很重要的（當然想 寫下多少朋友看你高興啦），因為當 FOAF 彙整器索引你的 FOAF 描述時，他們將會自動把你們一起綁成 一群個體之間的網絡關係。 </p>
<p>備註：在本頁你所輸入的所有資訊，都不會被存下來或被使用。全部的處理過程全部都是在客戶端進行， 以確保你的隱私權。 </p>
<p>如果你對這個應用有任何的意見，或者關於 FOAF 的進一步問題，為什麼不參加<a href="http://rdfweb.org/mailman/listinfo/rdfweb-dev"><u><font color=#0000ff>RDFWeb-dev 的通訊論壇</font></u></a>？ </p>
<p><strong>最新消息</strong>：我目前正在撰寫一套建立與管理個人 FOAF 資料的桌面應用程式，<a href="http://www.ldodds.com/wordtin/Wiki.jsp?page=FOAFaMaticMark2"><u><font color=#0000ff>FOAF-a-Matic Mark 2</font></u></a> a </p>
<form name=details onsubmit="return false;">
    <a name=forms></a>
    <h2>表單</h2>
    <a name=personal></a>
    <h2>個人資訊</h2>
    <p>某些你個人的資訊，以及其他人如何和你聯絡。 </p>
    <table>
        <tbody>
            <tr>
                <td>稱謂（Mr, Mrs, Dr, etc）</td>
                <td><input value=A name=title></td>
            </tr>
            <tr>
                <td>名字</td>
                <td><input value=B name=firstName></td>
            </tr>
            <tr>
                <td>姓 (Family/Given)</td>
                <td><input value=C name=surname></td>
            </tr>
            <tr>
                <td>暱稱</td>
                <td><input value=D name=nick></td>
            </tr>
            <tr>
                <td>電子郵件地址</td>
                <td><input value=E name=email></td>
            </tr>
            <tr>
                <td>首頁</td>
                <td><input value=F name=homepage></td>
            </tr>
            <tr>
                <td>你的照片</td>
                <td><input value=G name=depiction></td>
            </tr>
            <tr>
                <td>電話號碼</td>
                <td><input value=H name=phone></td>
            </tr>
        </tbody>
    </table>
    <a name=work></a>
    <h2>工作資訊</h2>
    <p>關於你工作所在的資訊。 </p>
    <table>
        <tbody>
            <tr>
                <td>工作所在首頁</td>
                <td><input value=N name=workplaceHomepage></td>
            </tr>
            <tr>
                <td>在你的工作脈絡中的介紹網頁</td>
                <td><input value=M name=workInfoHomepage></td>
            </tr>
        </tbody>
    </table>
    <a name=school></a>
    <h2>學校</h2>
    <p>你是哪裡畢業的？ </p>
    <table>
        <tbody>
            <tr>
                <td>學校首頁</td>
                <td><input value=O name=schoolHomepage></td>
            </tr>
        </tbody>
    </table>
</form>
<a name=friends></a>
<h2>你所認識的朋友</h2>
<p>告訴 FOAF-a-matic 你所認識的朋友。按下「加入更多朋友」，可以增加空白欄位，輸入更多你所認識朋友的資訊。 如果你的朋友已經有了 FOAF 檔案，請把該檔案連結的資訊（URL）輸入在「SeeAlso」的欄位中。 </p>
<form name=friends onsubmit="return false;">
    <table>
        <tbody id=friendtable>
            <script language=javascript>
            //see foaf-a-matic.js
            createFriendFields();
            </script>
            <tr>
                <td>Friend--</td>
                <td>Name</td>
                <td><input value=11 name=friend_1></td>
                <td>Email</td>
                <td><input value=12 name=friend_1_mbox></td>
                <td>See Also</td>
                <td><input value=13 name=friend_1_seealso></td>
            </tr>
            <tr>
                <td>Friend--</td>
                <td>Name</td>
                <td><input value=21 name=friend_2></td>
                <td>Email</td>
                <td><input value=22 name=friend_2_mbox></td>
                <td>See Also</td>
                <td><input value=23 name=friend_2_seealso></td>
            </tr>
            <tr>
                <td>Friend--</td>
                <td>Name</td>
                <td><input value=31 name=friend_3></td>
                <td>Email</td>
                <td><input value=32 name=friend_3_mbox></td>
                <td>See Also</td>
                <td><input value=33 name=friend_3_seealso></td>
            </tr>
            <tr>
                <td>Friend--</td>
                <td>Name</td>
                <td><input value=41 name=friend_4></td>
                <td>Email</td>
                <td><input value=42 name=friend_4_mbox></td>
                <td>See Also</td>
                <td><input value=43 name=friend_4_seealso></td>
            </tr>
        </tbody>
    </table>
    <input onclick=addFriendFields() type=button value=加入朋友>
</form>
<a name=results></a>
<h2>產生結果</h2>
<p>現在你已經輸入了這些資料。你已經可以轉成 FOAF 檔案了。 </p>
<form name=results onsubmit="return false;">
    <p><input type=checkbox CHECKED value="" name=spamProtect> 保護電子郵件地址，避免被濫發垃圾郵件 </p>
    <p><input onclick=generate() type=submit value="FOAF me!"> </p>
    <textarea name=rdf rows=20 cols=80>&lt;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:foaf="http://xmlns.com/foaf/0.1/"
    xmlns:admin="http://webns.net/mvcb/"&gt;
    &lt;foaf:PersonalProfileDocument rdf:about=""&gt;
    &lt;foaf:maker rdf:resource="#me"/&gt;
    &lt;foaf:primaryTopic rdf:resource="#me"/&gt;
    &lt;admin:generatorAgent rdf:resource="http://www.ldodds.com/foaf/foaf-a-matic"/&gt;
    &lt;admin:errorReportsTo rdf:resource="mailto:leigh@ldodds.com"/&gt;
    &lt;/foaf:PersonalProfileDocument&gt;
    &lt;foaf:Person rdf:ID="me"&gt;
    &lt;foaf:name&gt;B C&lt;/foaf:name&gt;
    &lt;foaf:title&gt;A&lt;/foaf:title&gt;
    &lt;foaf:givenname&gt;B&lt;/foaf:givenname&gt;
    &lt;foaf:family_name&gt;C&lt;/foaf:family_name&gt;
    &lt;foaf:nick&gt;D&lt;/foaf:nick&gt;
    &lt;foaf:mbox_sha1sum&gt;76d171c6b091edf385f62d33dff31dbf45917c91&lt;/foaf:mbox_sha1sum&gt;
    &lt;foaf:homepage rdf:resource="F"/&gt;
    &lt;foaf:depiction rdf:resource="G"/&gt;
    &lt;foaf:phone rdf:resource="tel:H"/&gt;
    &lt;foaf:workplaceHomepage rdf:resource="N"/&gt;
    &lt;foaf:workInfoHomepage rdf:resource="M"/&gt;
    &lt;foaf:schoolHomepage rdf:resource="O"/&gt;
    &lt;foaf:knows&gt;
    &lt;foaf:Person&gt;
    &lt;foaf:name&gt;11&lt;/foaf:name&gt;
    &lt;foaf:mbox_sha1sum&gt;3193f4dd9ed259f5691822950ef18767516395fb&lt;/foaf:mbox_sha1sum&gt;
    &lt;rdfs:seeAlso rdf:resource="13"/&gt;&lt;/foaf:Person&gt;&lt;/foaf:knows&gt;
    &lt;foaf:knows&gt;
    &lt;foaf:Person&gt;
    &lt;foaf:name&gt;21&lt;/foaf:name&gt;
    &lt;foaf:mbox_sha1sum&gt;9aaa9a9f52d8f8d3adae263e4124459dcbeb8d61&lt;/foaf:mbox_sha1sum&gt;
    &lt;rdfs:seeAlso rdf:resource="23"/&gt;&lt;/foaf:Person&gt;&lt;/foaf:knows&gt;
    &lt;foaf:knows&gt;
    &lt;foaf:Person&gt;
    &lt;foaf:name&gt;31&lt;/foaf:name&gt;
    &lt;foaf:mbox_sha1sum&gt;323eadbdf04f5aaed233282b260349a406454e08&lt;/foaf:mbox_sha1sum&gt;
    &lt;rdfs:seeAlso rdf:resource="33"/&gt;&lt;/foaf:Person&gt;&lt;/foaf:knows&gt;
    &lt;foaf:knows&gt;
    &lt;foaf:Person&gt;
    &lt;foaf:name&gt;41&lt;/foaf:name&gt;
    &lt;foaf:mbox_sha1sum&gt;e639bf8bdba66d73a331ba1d951823fa1b39553d&lt;/foaf:mbox_sha1sum&gt;
    &lt;rdfs:seeAlso rdf:resource="43"/&gt;&lt;/foaf:Person&gt;&lt;/foaf:knows&gt;&lt;/foaf:Person&gt;
    &lt;/rdf:RDF&gt;</textarea>
    <p align=left><input type=reset value=重新填寫表單> </p>
</form>
<a name=what-next></a>
<h2>接下來呢？</h2>
<h3>讓別人知道你的 FOAF 檔案</h3>
<p>這個部分最簡單。只要將產生出來的 FOAF 檔案從剛剛的文字區複製，貼到一個檔案裡。將這個檔案擺在你的網站中， 可以讓所有的人公開下載；建議將檔案名稱取名為 foaf.rdf，然後 google 的搜尋機器人就會自動取用它，並且還會 用它自動發現網路上其他的 FOAF 檔案。 </p>
<p>你的 FOAF 檔案現在已經好了。現在只需要其他人來拜訪並且開始閱讀它... </p>
<h3>加入 FOAF 的社群</h3>
<p>FOAF 的「查詢」問題（舉例來說，FOAF 相關的應用程式如何發現你的 FOAF 檔案）目前仍然尚待討論。如果你有任何 的建議，請送到 <a href="http://groups.yahoo.com/group/rdfweb-dev/"><u><font color=#800080>RDFWeb-dev 通訊論壇</font></u></a>。然而有三種可 能的方法加入社群，你可以自己試試看： </p>
<h4>使用 link 這個標籤</h4>
<p>Aaron Swartz 曾經<a href="http://groups.yahoo.com/group/rdfweb-dev/message/190"><u><font color=#0000ff>建議</font></u></a>使用 HTML 的 link 標籤來指向 FOAF 檔案；這種做法和一般部落格的作者們指向他們的 RSS 檔案的方式是相同的。寫法應該像 是下面的樣子： </p>
<code>&lt;link rel="meta" type="application/rdf+xml" title="FOAF" href="foaf.rdf" /&gt; </code>
<h4>從朋友的 FOAF 檔案指過來</h4>
<p>另外一種推薦的方式，是請別人（也就是你的朋友）在他們的 FOAF 檔案中標記你的 FOAF 檔案。一個 FOAF 的蜘 蛛（搜尋代理程式）可以梭巡所有互相標記關聯的 FOAF 檔案。你可以依照下列做法修改 FOAF 檔案： </p>
<ol>
    <li>修改 <code>rdf:RDF</code> 元素，如下增加 RDF Schema namespace： <code>&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"&gt; </code>
    <li>然後透過加入 <code>rdfs:seeAslo</code> 的敘述，增加指向其他的 FOAF 檔案的鏈結： <code>&lt;rdfs:seeAlso rdf:resource="http://www.example.com/friends.xrdf"/&gt; &lt;rdfs:seeAlso rdf:resource="http://www.ldodds.com/webwho.xrdf"/&gt; </code></li>
</ol>
<p><em>最新消息</em>：如果你的朋友們已經有了一個 FOAF 檔案，那麼請把它加在上面表單 seeAlso 的欄位中。你也可以<a href="http://www.ldodds.com/blog/archives/000033.html"><u><font color=#0000ff>推薦朋友 來使用 FOAF-a-matic</font></u></a> </p>
<h4>使用 FOAF 告示板</h4>
<p>一個查詢 FOAF 檔案最直接的方式，就是有一個所有人的註冊中心。我用一個簡單的方式來進行， 叫做 FOAF 公佈欄（<a href="http://www.ldodds.com/foaf/bulletin-board.html"><u><font color=#0000ff>FOAF Bulletin Board</font></u></a>）。你只需要瀏 覽 FOAFWiki，並且編輯 <a href="http://rdfweb.org/rweb/wiki/wiki.pl?FOAFBulletinBoard"><u><font color=#0000ff>FOAFBulletinBoard</font></u></a> 的網頁，把你的名字與連到你的 FOAF 檔案的連結加入到網頁中。你可以 使用我已經加入的資料做為範例，在公佈欄頁面中加入你的資料。 </p>
<p>使用 HTML Tidy 與 XSLT 的魔法，意味著例如 Edd Dumbill 的 <a href="http://usefulinc.com/foaf/foafbot"><u><font color=#0000ff>FOAFbot</font></u></a> 這樣的應用程式可以處理這個索引檔案。請瀏覽 FOAFBot 的首頁關於如何看它發揮作用。</p>
<img src ="http://www.blogjava.net/yglwxl/aggbug/135468.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yglwxl/" target="_blank">九宝</a> 2007-08-09 13:30 <a href="http://www.blogjava.net/yglwxl/archive/2007/08/09/135468.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>rdf schema(转)</title><link>http://www.blogjava.net/yglwxl/archive/2007/08/09/135423.html</link><dc:creator>九宝</dc:creator><author>九宝</author><pubDate>Thu, 09 Aug 2007 04:48:00 GMT</pubDate><guid>http://www.blogjava.net/yglwxl/archive/2007/08/09/135423.html</guid><wfw:comment>http://www.blogjava.net/yglwxl/comments/135423.html</wfw:comment><comments>http://www.blogjava.net/yglwxl/archive/2007/08/09/135423.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yglwxl/comments/commentRss/135423.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yglwxl/services/trackbacks/135423.html</trackback:ping><description><![CDATA[<p><span>RDF</span><span>使用<span>Schema</span>来定义其类型系统，在定义类型时，<span>RDF</span>引入了部分面向对象的思想。由于<span>RDF</span>的图中主要包含以下几个部分，主语，谓语，宾语，文本。因此<span>RDF Schema</span>要做的主要就是为这不同的部分提供对应的一个类型。<span>RDF Schema</span>本身也是一个<span>RDF</span>文件。</span></p>
<p>&lt;!--[if !supportLists]--&gt;<span><span>a)<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span>继承关系与实例关系</span></p>
<p><span>rdfs:subClassOf</span><span>用于表示继承关系。三元组<span>A rdfs:subClassOf B</span>表示<span>A</span>是<span>B</span>的子类，这与<span>Java</span>当中的<span>class A extends B</span>等价。</span></p>
<p><span>rdfs:type</span><span>用于表示实例关系。三元组<span>A rdfs:type B</span>表示<span>A</span>是<span>B</span>的一个实例，这与<span>Java</span>当中的<span>A = new B()</span>等价。</span></p>
<p>&nbsp;</p>
<p>&lt;!--[if !supportLists]--&gt;<span><span>b)<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span>类标记：</span></p>
<table cellSpacing=0 cellPadding=0 border=1>
    <tbody>
        <tr>
            <td vAlign=top width=104>
            <p><span>标记</span></p>
            </td>
            <td vAlign=top width=183>
            <p><span>说明</span></p>
            </td>
            <td vAlign=top width=141>
            <p><span>继承关系（<span>rdfs:subClassOf</span>）</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>实例关系（<span>rdfs:type</span>）</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdfs:Resource</span></p>
            </td>
            <td vAlign=top width=183>
            <p><span>所有出现在<span>RDF</span>图中的对象都属于资源</span></p>
            </td>
            <td vAlign=top width=141>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdfs:Class</span></p>
            </td>
            <td vAlign=top width=183>
            <p><span>主语和宾语。用于指明主语或宾语所属的类型</span></p>
            </td>
            <td vAlign=top width=141>
            <p><span>rdfs:Resource</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdfs:Literal</span></p>
            </td>
            <td vAlign=top width=183>
            <p><span>文本</span></p>
            </td>
            <td vAlign=top width=141>
            <p><span>rdfs:Resource</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdfs:Datatype</span></p>
            </td>
            <td vAlign=top width=183>
            <p><span>用于有类型文本，指定数据类型</span></p>
            </td>
            <td vAlign=top width=141>
            <p><span>rdfs:Class</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdf:XMLLiteral</span></p>
            </td>
            <td vAlign=top width=183>
            <p><span>XML</span><span>文本</span></p>
            </td>
            <td vAlign=top width=141>
            <p><span>rdfs:Literal</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Datatype</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdf:Property</span></p>
            </td>
            <td vAlign=top width=183>
            <p><span>谓语</span></p>
            </td>
            <td vAlign=top width=141>
            <p><span>rdfs:Resource</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdfs:Container</span></p>
            </td>
            <td vAlign=top width=183>
            <p><span>容器的基类</span></p>
            </td>
            <td vAlign=top width=141>
            <p><span>rdfs:</span><span> </span><span>Resource</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdf:Bag</span></p>
            </td>
            <td vAlign=top width=183>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=141>
            <p><span>rdfs:Container</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdf:Seq</span></p>
            </td>
            <td vAlign=top width=183>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=141>
            <p><span>rdfs:Container</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdf:Alt</span></p>
            </td>
            <td vAlign=top width=183>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=141>
            <p><span>rdfs:Container</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdf:List</span></p>
            </td>
            <td vAlign=top width=183>
            <p><span>集合</span></p>
            </td>
            <td vAlign=top width=141>
            <p><span>rdfs:</span><span> </span><span>Resource</span></p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=104>
            <p><span>rdf:nil</span></p>
            </td>
            <td vAlign=top width=183>
            <p><span>空列表</span></p>
            </td>
            <td vAlign=top width=141>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=139>
            <p><span>rdf:List</span></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p>&lt;!--[if !supportLists]--&gt;<span><span>c)<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span>类定义：</span></p>
<p><span>&lt;rdf:Description rdf:about="A"&gt;</span></p>
<p><span>&lt;rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"&gt;</span></p>
<p><span>&lt;rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/&gt;</span></p>
<p><span>&lt;/rdf:Description&gt;</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>等价于</span></p>
<p><span>&lt;rdfs:Class rdf:about="A"&gt;</span></p>
<p><span>&lt;rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/&gt;</span></p>
<p><span>&lt;/rdfs:Class&gt;</span></p>
<p>&nbsp;</p>
<p>&lt;!--[if !supportLists]--&gt;<span><span>d)<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span>范围与域：</span></p>
<p><span>rdfs:range</span><span>用于指定宾语的范围。三元组<span>P rdfs:range Q</span>；<span>A P B</span>，在第一个三元组当中，我们规定了如果一个三元组使用了属性<span>P</span>，那么三元组当中的宾语必须是<span>Q</span>的实例。第二个三元组单中，由于使用了<span>P</span>，所以可以得出<span>B</span>必定是<span>Q</span>的实例。</span></p>
<p><span>rdfs:domain</span><span>用于指定主语的范围。三元组<span>P rdfs:range Q</span>；<span>A P B</span>，在第一个三元组当中，我们规定了如果一个三元组使用了属性<span>P</span>，那么三元组当中的主语必须是<span>Q</span>的实例。第二个三元组单中，由于使用了<span>P</span>，所以可以得出<span>A</span>必定是<span>Q</span>的实例。</span></p>
<p>&nbsp;</p>
<p>&lt;!--[if !supportLists]--&gt;<span><span>e)<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span>属性标记，所有的标记都是<span>rdfs:Proerpty</span>的实例</span></p>
<table cellSpacing=0 cellPadding=0 border=1>
    <tbody>
        <tr>
            <td vAlign=top width=142>
            <p><span>标记</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>说明</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>域，主语（<span>rdfs:domain</span>）</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>范围，宾语（<span>rdfs:range</span>）</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=142>
            <p><span>rdfs:range</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>对宾语进行约束</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Class</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Property</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=142>
            <p><span>rdfs:domain</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>对主语进行约束</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Class</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Property</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=142>
            <p><span>rdf:type</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>用于定义实例关系</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Resource</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=142>
            <p><span>rdfs:subClassOf</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>用于定义继承关系</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Class</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Class</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=142>
            <p><span>rdfs:subPropertyOf</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>用于定义属性之间的继承关系。子属性的含义是指如果<span>A</span>是<span>B</span>的子属性，那么如果主语和宾语符合<span>A</span>关系，那么他们也符合<span>B</span>关系。</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Property</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Property</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=142>
            <p><span>rdfs:label</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>提供用户友好的标签</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Resource</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Literal</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=142>
            <p><span>rdfs:comment</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>对资源进行描述</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Resource</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Literal</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=142>
            <p><span>rdfs:member</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>用于表示集合与元素之间的关系</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Resource</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Resource</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=142>
            <p><span>rdf:first</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>用于指明某个资源是某个集合的首元素</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdf:List</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdfs:Resource</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=142>
            <p><span>rdf:rest</span></p>
            </td>
            <td vAlign=top width=142>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdf:List</span></p>
            </td>
            <td vAlign=top width=142>
            <p><span>rdf:List</span></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p>&lt;!--[if !supportLists]--&gt;<span><span>f)<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span>属性定义</span></p>
<p><span>&lt;rdf:Property rdf:about="B"&gt;</span></p>
<p><span>&nbsp;&lt;rdfs:domain rdf:resource="http://www.w3.org/<st1:chsdate w:st="on" year="1999" month="2" day="22" islunardate="False" isrocdate="False">1999/02/22</st1:chsdate>-rdf-syntax-ns#List"/&gt;</span></p>
<p><span>&nbsp;&lt;rdfs:range rdf:resource="http://www.w3.org/<st1:chsdate w:st="on" year="1999" month="2" day="22" islunardate="False" isrocdate="False">1999/02/22</st1:chsdate>-rdf-syntax-ns#List"/&gt;</span></p>
<p><span>&lt;/rdf:Property&gt;</span></p>
&nbsp;<br>
<img src ="http://www.blogjava.net/yglwxl/aggbug/135423.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yglwxl/" target="_blank">九宝</a> 2007-08-09 12:48 <a href="http://www.blogjava.net/yglwxl/archive/2007/08/09/135423.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转贴]创建网站的 RSS 内容摘要</title><link>http://www.blogjava.net/yglwxl/archive/2007/08/09/135442.html</link><dc:creator>九宝</dc:creator><author>九宝</author><pubDate>Thu, 09 Aug 2007 04:36:00 GMT</pubDate><guid>http://www.blogjava.net/yglwxl/archive/2007/08/09/135442.html</guid><wfw:comment>http://www.blogjava.net/yglwxl/comments/135442.html</wfw:comment><comments>http://www.blogjava.net/yglwxl/archive/2007/08/09/135442.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yglwxl/comments/commentRss/135442.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yglwxl/services/trackbacks/135442.html</trackback:ping><description><![CDATA[<p>RSS&nbsp;是一种&#8220;轻量级、多用途、可扩展的元数据描述及联合推广格式&#8221;，也可以理解为一种规范。它本身是一种&nbsp;XML&nbsp;格式，用于为内容整合客户端提供选择性的、汇总过的&nbsp;Web&nbsp;内容。如今，许多站点都开&nbsp;<br>始通过创建&nbsp;RSS&nbsp;feed&nbsp;向浏览者提供内容整合服务，提供新闻、站点内容的更新等等。浏览者可以通过一些客户端软件方便地得到这些组织、汇总了的信息。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;那么，怎么在我们自己的网站上创建&nbsp;RSS&nbsp;feed&nbsp;呢？下面我以&nbsp;Asp+Access&nbsp;为例介绍一下。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;既然&nbsp;RSS&nbsp;是一种&nbsp;XML&nbsp;格式的文档，那么我们就应当可以对后台数据库中的数据按照条件进行筛选、组织，然后通过&nbsp;ASP&nbsp;生成&nbsp;XML&nbsp;格式的数据流，最后发送到客户端进行浏览。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;数据的选取、汇集是&nbsp;Asp&nbsp;的拿手好戏，关键在于怎么生成&nbsp;XML&nbsp;格式的数据流。其实&nbsp;Asp&nbsp;也已经有自己的解决办法，就是在写数据前对&nbsp;response&nbsp;对象的&nbsp;ContentType&nbsp;属性进行定义。如果&nbsp;response.ContentType&nbsp;的取值为&nbsp;"text/xml"，就会向浏览者发送&nbsp;XML&nbsp;格式的数据流。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;在&nbsp;IE&nbsp;浏览器中调用&nbsp;RSS&nbsp;源的方法和普通的链接没有什么区别，格式是：<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;a&nbsp;type="application/rss+xml"&nbsp;href="RssFeed.asp"&gt;RSS说明&lt;/a&gt;<br>其中&nbsp;type="application/rss+xml"&nbsp;加不加好象没有什么区别。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;以下程序段是创建我的网站(goaler.xicp.net)上的&#8220;某个栏目&#8221;栏目的&nbsp;RSS&nbsp;feed&nbsp;的源代码，文件名为&nbsp;RssFeed_news.asp。<br>&nbsp;&nbsp;&nbsp;&nbsp;其中，变量&nbsp;sXmlClear&nbsp;用于声明产生的文档是一段&nbsp;XML&nbsp;格式的文档，该声明是可选的，以保持与旧版本&nbsp;XML&nbsp;的向后兼容性。<br>&nbsp;&nbsp;&nbsp;&nbsp;sRssHead&nbsp;定义&nbsp;Rss&nbsp;的基本元素。RSS&nbsp;feed&nbsp;通常由&nbsp;4&nbsp;个主要元素构成：&lt;channel&gt;，&lt;image&gt;，&lt;item&gt;&nbsp;和&nbsp;&lt;textinput&gt;。其中，&lt;channel&gt;&nbsp;元素是必需的，&lt;item&gt;&nbsp;元素至少要出现一次。&lt;textinput&gt;&nbsp;和&nbsp;&lt;image&gt;&nbsp;元素是可选的，是否使用要视具体情况而定。<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;channel&gt;&nbsp;元素包含&nbsp;Channel(RSS&nbsp;feed&nbsp;的来源)的一个简单描述。&lt;title&gt;&nbsp;是频道的名称/标题；&lt;link&gt;&nbsp;是与频道内容对应的包含了完整内容的那个网页的&nbsp;URL；&lt;description&gt;&nbsp;是与&nbsp;&lt;channel&gt;&nbsp;的内容有关的简单描述；&lt;language&gt;&nbsp;代表语言。还有一些别的属性，不是太常用。<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;item&gt;&nbsp;元素用于对数据库中的记录进行描述。&lt;item&gt;&nbsp;一般有若干项，对应了一个&nbsp;Rss&nbsp;feed&nbsp;的数据集合。</p>
<p>&lt;!-Filename：RssFeed_news.asp:--&gt;<br>&lt;%&nbsp;Option&nbsp;explicit&nbsp;%&gt;<br>&lt;!--&nbsp;#include&nbsp;file="conn.asp"&nbsp;--&gt;</p>
<p>&lt;%<br>&nbsp;&nbsp;Dim&nbsp;sSQL,&nbsp;rs,&nbsp;sCrLf,&nbsp;sXmlClear,&nbsp;sRssHead,&nbsp;sRssEnd<br>&nbsp;&nbsp;sCrLf&nbsp;=&nbsp;chr(13)&nbsp;&amp;&nbsp;chr(10)&nbsp;&nbsp;'回车+换行</p>
<p>&nbsp;&nbsp;sXmlClear&nbsp;=&nbsp;"&lt;?xml&nbsp;version='1.0'&nbsp;encoding='gb2312'?&gt;"&nbsp;&amp;&nbsp;sCrLf</p>
<p>&nbsp;&nbsp;sRssHead&nbsp;=&nbsp;"&lt;rss&nbsp;version='2.0'&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;sRssHead&nbsp;=&nbsp;sRssHead&nbsp;&amp;&nbsp;"&lt;channel&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;sRssHead&nbsp;=&nbsp;sRssHead&nbsp;&amp;&nbsp;"&lt;title&gt;Goaler's&nbsp;Blog&nbsp;&lt;/title&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;sRssHead&nbsp;=&nbsp;sRssHead&nbsp;&amp;&nbsp;"&lt;description&gt;&nbsp;Goaler's&nbsp;Blog&nbsp;&lt;/description&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;sRssHead&nbsp;=&nbsp;sRssHead&nbsp;&amp;&nbsp;"&lt;link&gt;&lt;/link&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;sRssHead&nbsp;=&nbsp;sRssHead&nbsp;&amp;&nbsp;"&lt;language&gt;zh-cn&lt;/language&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;sRssHead&nbsp;=&nbsp;sRssHead&nbsp;&amp;&nbsp;"&lt;docs&gt;Goaler's&nbsp;Blog&nbsp;&lt;/docs&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;sRssHead&nbsp;=&nbsp;sRssHead&nbsp;&amp;&nbsp;"&lt;generator&gt;Rss&nbsp;Generator&nbsp;By&nbsp;goaler.xicp.net&lt;/generator&gt;"&nbsp;&amp;&nbsp;sCrLf</p>
<p>&nbsp;&nbsp;sRssEnd&nbsp;=&nbsp;"&lt;/channel&gt;&lt;/rss&gt;"</p>
<p>&nbsp;&nbsp;Response.CharSet="gb2312"&nbsp;&nbsp;'数据集<br>&nbsp;&nbsp;Response.ContentType="text/xml"&nbsp;&nbsp;'数据流格式定义</p>
<p>&nbsp;&nbsp;'输出：<br>&nbsp;&nbsp;Response.write&nbsp;sXmlClear<br>&nbsp;&nbsp;Response.write&nbsp;sRssHead</p>
<p>&nbsp;&nbsp;sSQL="select&nbsp;top&nbsp;15&nbsp;*&nbsp;from&nbsp;news&nbsp;&nbsp;order&nbsp;by&nbsp;sortid&nbsp;desc"<br>&nbsp;&nbsp;Set&nbsp;rs&nbsp;=&nbsp;Server.CreateObject("ADODB.Recordset")<br>&nbsp;&nbsp;rs.Open&nbsp;sSQL,&nbsp;s_Conn,&nbsp;1,&nbsp;1<br>&nbsp;&nbsp;if&nbsp;not&nbsp;(rs.eof&nbsp;and&nbsp;rs.bof)&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;do&nbsp;while&nbsp;not&nbsp;rs.eof<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.write&nbsp;"&lt;item&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.write&nbsp;"&lt;title&gt;&nbsp;"&nbsp;&amp;&nbsp;rs("f_topic")&nbsp;&amp;&nbsp;"&nbsp;&lt;/title&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.write&nbsp;"&lt;link&gt;&nbsp;"&nbsp;&amp;&nbsp;"/show_new.asp?autoid="&nbsp;&amp;&nbsp;rs("f_i_autoid")&nbsp;&amp;&nbsp;"&nbsp;&lt;/link&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.write&nbsp;"&lt;author&gt;&nbsp;"&nbsp;&amp;&nbsp;rs("f_author")&nbsp;&amp;&nbsp;"&nbsp;&lt;/author&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.write&nbsp;"&lt;pubDate&gt;&nbsp;"&nbsp;&amp;&nbsp;rs("f_datetime")&nbsp;&amp;&nbsp;"&nbsp;&lt;/pubDate&gt;"&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.write&nbsp;"&lt;/item&gt;"&nbsp;&amp;&nbsp;sCrLf&nbsp;&amp;&nbsp;sCrLf<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.movenext<br>&nbsp;&nbsp;&nbsp;&nbsp;loop<br>&nbsp;&nbsp;end&nbsp;if<br>&nbsp;&nbsp;rs.close<br>&nbsp;&nbsp;set&nbsp;rs=nothing</p>
<p>&nbsp;&nbsp;Response.write&nbsp;sRssEnd<br>%&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;IE&nbsp;中的调用格式是：&lt;a&nbsp;href="/RssFeed_news.asp"&gt;技术新闻RSS&lt;/a&gt;。如果用一些客户端软件订阅该&nbsp;RSS，订阅的&nbsp;Url&nbsp;就是/RssFeed_news.asp。</p>
<img src ="http://www.blogjava.net/yglwxl/aggbug/135442.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yglwxl/" target="_blank">九宝</a> 2007-08-09 12:36 <a href="http://www.blogjava.net/yglwxl/archive/2007/08/09/135442.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>