<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="./ns-schema.xsl" type="text/xsl" media="screen"?>
<!DOCTYPE rdf:RDF [
<!ENTITY foaf "http://xmlns.com/foaf/0.1/">
<!ENTITY rss "http://purl.org/rss/1.0/">
<!ENTITY wdr "http://www.w3.org/2007/05/powder#">
<!ENTITY owl "http://www.w3.org/2002/07/owl#">
<!ENTITY dc  "http://purl.org/dc/elements/1.1/">
]>
<rdf:RDF
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:foaf="&foaf;"
  xmlns:owl="&owl;"
  xmlns:ex="http://purl.org/net/ns/ex#"
  xmlns:ont="http://purl.org/net/ns/ontology-annot#"
  xmlns:vs="http://www.w3.org/2003/06/sw-vocab-status/ns#"
  xml:base="http://purl.org/net/ns/sitemap"
>

 <owl:Ontology rdf:about="">
  <owl:imports rdf:resource="http://www.kanzaki.com/ns/dliser.rdf"/>
  <rdfs:label>RDF Sitemap Vocabulary</rdfs:label>
  <rdfs:comment>Experimental vocabulary to represent relationship between resources in a site. Some property terms correspond to some XHTL link types, but semantics of section/subsection are different form those link types. Also as a test to use POWDER expressions.</rdfs:comment>
  <rdfs:comment xml:lang="ja">サイト内のリソースの関係を表現するための実験語彙。プロパティはいちおうXHTMLのリンク型にも対応するが、section/subsectionの意味は微妙に異なる。POWDERによるリソースグループ表現の実験も兼ねる。</rdfs:comment>
  <ont:created>2007-10-08</ont:created>
  <ont:modified>2018-07-14</ont:modified>
  <owl:versionInfo>Version 0.60 - testing and unstable</owl:versionInfo>
  <ont:creator>
   <foaf:Person rdf:about="urn:pin:MK705">
    <foaf:name xml:lang="ja">神崎正英</foaf:name>
    <foaf:homepage rdf:resource="http://www.kanzaki.com/"/>
    <rdfs:seeAlso rdf:resource="http://www.kanzaki.com/info/webwho.rdf"/>
   </foaf:Person>
  </ont:creator>
  <ont:relation rdf:resource="http://purl.org/net/rdf/papers/sitemap/" rdfs:label="RDF sitemaps using HTML link types and Dublin Core" rdf:type="&foaf;Document"/>
 </owl:Ontology>

<!-- ==== Class definitions ==== -->

 <owl:Class rdf:ID="Node">
  <rdfs:label>Node</rdfs:label>
  <rdfs:comment>A resource as a node in a site map. It can be a document, image, etc (or even part of a document if necessary. Different from foaf:Document in that this can represent a fragment of a document).</rdfs:comment>
  <rdfs:comment xml:lang="ja">サイトマップ中のノードとなるリソース。文書、画像など（あるいは必要なら文書の一部。文書フラグメントもリソースとして表現する点でfoaf:Documentとは異なる）。</rdfs:comment>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:Class>

 <owl:Class rdf:ID="NodeGroup">
  <rdfs:label>Node Group</rdfs:label>
  <rdfs:comment>Represents a set of nodes grouped by a definition, expressed with POWDER outline methodology. It can be an entire site, or part of a large site (sub-site).</rdfs:comment>
  <rdfs:comment xml:lang="ja">グループ化されたノードリソースの集合。サイト全体、もしくはその一部を構成するグループ（サブサイト）を表現する。グループの定義はPOWDERを用いることを想定。グループは、プロパティentryNodeによって（ツリーの出発点となる）ノードに結び付けられる。</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&wdr;ResourceSet"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:Class>

 <owl:Class rdf:ID="Site">
  <rdfs:label>Site</rdfs:label>
  <rdfs:comment>A resource that represents an entire site, which is a special case of a node group. </rdfs:comment>
  <rdfs:comment xml:lang="ja">NodeGroupの中でも、特にサイト全体を表すもの。</rdfs:comment>
  <rdfs:subClassOf rdf:resource="#NodeGroup"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:Class>

 <owl:Class rdf:ID="Collection">
  <rdfs:label>Collection</rdfs:label>
  <rdfs:comment>[testing] A resource that represents a set of nodes, while being a node by itself, e.g. channel of RSS. Different from NodeGroup which is just a set, not a node.</rdfs:comment>
  <rdfs:comment xml:lang="ja">[testing] Nodeのグループでありつつ、それ自身もノードとみなされるもの。たとえばRSSのchannel。NodeGroupはノードにはならないことに注意。</rdfs:comment>
  <rdfs:subClassOf rdf:resource="#Node"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:Class>


 <owl:Class rdf:ID="Start">
  <rdfs:label>Start</rdfs:label>
  <rdfs:comment>A resource that serves as the first node in a NodeGroup. An xhtml:start can be expressed with an instance of this class connected by 'relation' or 'part' property.</rdfs:comment>
  <rdfs:comment xml:lang="ja">NodeGroupの出発点となるノードを表す。xhtml:startはこのインスタンスを'related' or 'part'で結びつけることで表現できる。</rdfs:comment>
  <rdfs:subClassOf rdf:resource="#Node"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:Class>

 <owl:Class rdf:ID="Help">
  <rdfs:label>Help</rdfs:label>
  <rdfs:comment>A resource that provides help information. An xhtml:help can be expressed with an instance of this class connected by 'relation' or 'part' property.</rdfs:comment>
  <rdfs:comment xml:lang="ja">ヘルプを提供するノードを表す。xhtml:helpはこのインスタンスを'relation' or 'part'で結びつけることで表現できる。</rdfs:comment>
  <rdfs:subClassOf rdf:resource="#Node"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:Class>

<!--
 <owl:Class rdf:ID="Glossary">
  <rdfs:label>Glossary</rdfs:label>
  <rdfs:comment>A resource that provides a glossary. An xhtml:glossary can be expressed with an instance of this class connected by 'relation' or 'part' property.</rdfs:comment>
  <rdfs:comment xml:lang="ja">用語集を提供するノードを表す。XHTMLのglossaryはこのインスタンスを'relation' or 'part'で結びつけることで表現できる。</rdfs:comment>
  <rdfs:subClassOf rdf:resource="#Node"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:Class>

 <owl:Class rdf:ID="Index">
  <rdfs:label>Index</rdfs:label>
  <rdfs:comment>A resource that provides an index. An xhtml:index can be expressed with an instance of this class connected by 'relation' or 'part' property.</rdfs:comment>
  <rdfs:comment xml:lang="ja">用語集を提供するノードを表す。XHTMLのindexはこのインスタンスを'relation' or 'part'で結びつけることで表現できる。</rdfs:comment>
  <rdfs:subClassOf rdf:resource="#Node"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:Class>
-->
 <!-- contents and appendix ... ?-->

 <owl:Class rdf:about="&wdr;ResourceSet"/>





<!-- ==== Property definitions ==== -->

 <owl:ObjectProperty rdf:ID="related">
  <rdfs:label>related</rdfs:label>
  <rdfs:comment>represents genreral relationship between nodes.</rdfs:comment>
  <rdfs:comment xml:lang="ja">ノード間につながりがあることを表す一般的プロパティ。</rdfs:comment>
  <rdfs:domain rdf:resource="#Node"/>
  <rdfs:range rdf:resource="#Node"/>
  <rdfs:subPropertyOf rdf:resource="&dc;relation"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>

 <owl:ObjectProperty rdf:ID="child">
  <rdfs:label>child</rdfs:label>
  <rdfs:comment>Subject node has the object node as a child in a sitemap tree.</rdfs:comment>
  <rdfs:comment xml:lang="ja">主語ノードは目的語ノードをサイトマップ木の子供として持つ。</rdfs:comment>
  <rdfs:domain rdf:resource="#Node"/>
  <rdfs:range rdf:resource="#Node"/>
  <rdfs:subPropertyOf rdf:resource="#related"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>


 <owl:ObjectProperty rdf:ID="section">
  <rdfs:label>section</rdfs:label>
  <rdfs:comment>Subject node has the object node as section (child in a sitemap tree). Note the subject is not a group (collection) of nodes (that is the definition of XHTML link type). Such group, which includes object node, should be represented as a 'NodeGroup', and related to the subject by 'entryNode'.</rdfs:comment>
  <rdfs:comment xml:lang="ja">主語ノードは目的語ノードをセクション（サイトマップ木構造での子）として持つ。主語はノードグループではないことに注意（XHTMLリンク型ではcollection of documentsと定義）。目的語ノードを含むグループは'NodeGroup'として表現し、'entryNode'によって主語ノードの結びつけることができる。</rdfs:comment>
  <rdfs:domain rdf:resource="#Node"/>
  <rdfs:range rdf:resource="#Node"/>
  <rdfs:subPropertyOf rdf:resource="#child"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>


 <owl:ObjectProperty rdf:ID="subsection">
  <rdfs:label>subsection</rdfs:label>
  <rdfs:comment>Subject node has the object node as subsection. Defined here just for compatibility. The semantics should be: section(a, b) &#x2227; section(b, c) =&gt; subsection(a, c) .</rdfs:comment>
  <rdfs:comment xml:lang="ja">主語ノードは目的語ノードをサブセクションとして持つ（互換性のためのみに定義。意味的には、bがaのセクションで cがbのセクションなら cはaのサブセクション）。</rdfs:comment>
  <rdfs:domain rdf:resource="#Node"/>
  <rdfs:range rdf:resource="#Node"/>
  <rdfs:subPropertyOf rdf:resource="#child"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>


 <owl:ObjectProperty rdf:ID="work">
  <rdfs:label>work</rdfs:label>
  <rdfs:comment>Object node is an individual work page (child in a sitemap tree) linked from the subject node. This is a leaf node in a sitemap.</rdfs:comment>
  <rdfs:comment xml:lang="ja">目的語ノードは主語ノードからリンクされる個別作品ページ（サイトマップ木構造での子）である。サイトマップの終点ノードとなる。</rdfs:comment>
  <rdfs:domain rdf:resource="#Node"/>
  <rdfs:range rdf:resource="#Node"/>
  <rdfs:subPropertyOf rdf:resource="#child"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>



 <owl:ObjectProperty rdf:ID="next">
  <rdfs:label>next</rdfs:label>
  <rdfs:comment>Corresponds to xhtl:next. Refers to the next node in an linear sequence of nodes.</rdfs:comment>
  <rdfs:domain rdf:resource="#Node"/>
  <rdfs:range rdf:resource="#Node"/>
  <rdfs:subPropertyOf rdf:resource="#related"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>

 <owl:ObjectProperty rdf:ID="prev">
  <rdfs:label>prev</rdfs:label>
  <rdfs:comment>Corresponds to xhtl:prev. Refers to the previous node in an ordered series of nodes.</rdfs:comment>
  <rdfs:domain rdf:resource="#Node"/>
  <rdfs:range rdf:resource="#Node"/>
  <rdfs:subPropertyOf rdf:resource="#related"/>
  <rdfs:isDefinedBy rdf:resource=""/>
  <owl:inverseOf rdf:resource="#next"/>
 </owl:ObjectProperty>



 <owl:ObjectProperty rdf:ID="part">
  <rdfs:label>part</rdfs:label>
  <rdfs:comment>represents general relationship that the object node is a part of the subject NodeGroup .</rdfs:comment>
  <rdfs:comment xml:lang="ja">目的語ノードが主語グループの一部であることを表す一般的プロパティ。</rdfs:comment>
  <rdfs:domain rdf:resource="#NodeGroup"/>
  <rdfs:range rdf:resource="#Node"/>
  <rdfs:subPropertyOf rdf:resource="&dc;relation"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>


 <owl:ObjectProperty rdf:ID="entryNode" >
  <rdfs:label>entry node</rdfs:label>
  <rdfs:comment>Relates a NodeGroup and a node of its members Typically, the node is the root of a tree or the entry point of the group, i.e. the cover page if the group represents a site (note POWDER can express members of a group, but it does not connect a group and its members in terms of RDF graph).</rdfs:comment>
  <rdfs:comment xml:lang="ja">NodeGroupとそのメンバー中のノードを結びつける。通常、目的語ノードはツリーのルートもしくはグループの入り口で、サイトならばトップページとなる（POWDERの表現はグループとノードをRDFグラフ上では結び付けないので、このプロパティを用いてグラフをつなぐ）</rdfs:comment>
  <rdf:type rdf:resource="&owl;FunctionalProperty"/>
  <rdfs:domain rdf:resource="#NodeGroup"/>
  <rdfs:range rdf:resource="#Node"/>
  <rdfs:subPropertyOf rdf:resource="#part"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>



 <owl:ObjectProperty rdf:ID="item">
  <rdfs:label>item</rdfs:label>
  <rdfs:comment>The object node is an item of the subject Collection. Note the object can be a collection as well.</rdfs:comment>
  <rdfs:domain rdf:resource="#Collection"/>
  <rdfs:range rdf:resource="#Node"/>
  <rdfs:subPropertyOf rdf:resource="#related"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>

 <owl:ObjectProperty rdf:ID="collection">
  <rdfs:label>collection</rdfs:label>
  <rdfs:comment>The subject Node is an item of the object Node. Note the subject can be a collection as well.</rdfs:comment>
  <rdfs:domain rdf:resource="#Node"/>
  <rdfs:range rdf:resource="#Collection"/>
  <owl:inverseOf rdf:resource="#item"/>
  <rdfs:subPropertyOf rdf:resource="#related"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>

 <owl:ObjectProperty rdf:ID="channel">
  <rdfs:label>channel</rdfs:label>
  <rdfs:comment>The object node is RSS channel of the subject node, i.e. the subject is an item in the object feed. Help to avoid container model in RSS1.0 .</rdfs:comment>
  <rdfs:domain rdf:resource="#Node"/>
  <rdfs:range rdf:resource="&rss;channel"/>
  <rdfs:subPropertyOf rdf:resource="#collection"/>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>



 <owl:ObjectProperty rdf:ID="feed">
  <rdfs:label>feed</rdfs:label>
  <rdfs:comment>[testing] The object Collection is a feed of the subject node (site). Object feed can be external to the site.</rdfs:comment>
  <!--rdfs:domain rdf:resource="#Node"/-->
  <rdfs:range rdf:resource="#Collection"/>
  <vs:term_status>testing</vs:term_status>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>

 <!-- 2018-07-14追加-->
 <owl:ObjectProperty rdf:ID="owner">
  <rdfs:label>owner</rdfs:label>
  <rdfs:comment>The object is the owner of the subject resourece. The owner is not necessarily the creator.</rdfs:comment>
  <rdfs:comment xml:lang="ja">目的語は主語リソースの所有者であることを表す一般的プロパティ。所有者は作者であるとは限らない。</rdfs:comment>
  <rdfs:domain rdf:resource="&owl;Thing"/>
  <rdfs:range rdf:resource="&foaf;Agent"/>
  <rdfs:subPropertyOf rdf:resource="&dc;relation"/>
  <vs:term_status>testing</vs:term_status>
  <rdfs:isDefinedBy rdf:resource=""/>
 </owl:ObjectProperty>


 <owl:Class rdf:about="&rss;channel"/>
 <owl:ObjectProperty rdf:about="&dc;relation"/>

<!--
 Omitted XHTML link types:
 Use dcterms:hasPart, etc. for xhtml:alternate, 
 and dc:rights for xhtml:copyright
 start canbe inferred by next/prev chain.
 contents, index, glossary, appendix, help should be represented with
 relation + corresponding Class.
 I don't care about xhtml:chapter, xhtml:styleseet and xhtml:bookmark.
-->


<!-- ==== Examples ==== -->


<ex:Example>
 <rdfs:comment>You can use this vocabulary to describe a simple site map. The map:section properties relate site top page and section top pages. The map:work properties relate them to leaf pages.</rdfs:comment>
 <rdfs:comment xml:lang="ja">簡単なサイトマップの例。map:sectionはセクション間の関係、map:workはセクションと個別ページの関係を表現する。</rdfs:comment>
 <ex:image rdf:resource="http://www.kanzaki.com/works/2007/misc/sitemap-vocab-sample.png"/>
 <ex:pfx>map:</ex:pfx>
 <ex:code><![CDATA[
<rdf:Description rdf:about="http://www.kanzaki.com/">
 <map:section>
  <rdf:Description rdf:about="http://www.kanzaki.com/music/">
   <map:work rdf:resource="http://www.kanzaki.com/music/symphonies.html"/>
  </rdf:Description>
 </map:section>
 <map:section>
  <rdf:Description rdf:about="http://www.kanzaki.com/docs/sw">
   <map:work rdf:resource="http://www.kanzaki.com/docs/sw/foaf.html"/>
   <map:work rdf:resource="http://www.kanzaki.com/test/exif2rdf"/>
  </rdf:Description>
 </map:section>
</rdf:Description>
 ]]></ex:code>
 <ex:exampleOf rdf:resource=""/>
</ex:Example>



<ex:Example>
 <rdfs:comment>An example of a bit more elaborated map of the same site as above example. The site is defined by POWDER property wdr:includeHosts as resources in a host www.kanzaki.com, and connected its top page by map:entryNode. Note URI http://www.kanzaki.com represents the site while http://www.kanzaki.com/ represents its cover page in this example. Both are the same in resource retrieval, but different URIs.</rdfs:comment>
 <rdfs:comment xml:lang="ja">上と同じサイトの、やや詳しいマップ記述の例。サイトはPOWDERのwdr:includeHostsによってホストwww.kanzaki.com内のリソースとして定義され、map:entryNodeによってそのトップページに結び付けられる。サイト全体とトップページのURIの使い分けに注意。</rdfs:comment>
 <ex:pfx>map:</ex:pfx>
 <ex:code><![CDATA[
<map:Site rdf:about="http://www.kanzaki.com">
 <wdr:includeHosts>www.kanzaki.com</wdr:includeHosts>
 <map:entryNode rdf:resource="http://www.kanzaki.com/"/>
</map:Site>

<map:Node rdf:about="http://www.kanzaki.com/">
 <map:section>
  <map:Node rdf:about="http://www.kanzaki.com/music/">
   <rdfs:label>Cahier de la Musique</rdfs:label>
   <map:work>
    <map:Node rdf:about="http://www.kanzaki.com/music/symphonies.html">
     <rdfs:label>Symphony database</rdfs:label>
    </map:Node>
   </map:work>
  </map:Node>
 </map:section>
 <map:section>
  <map:Node rdf:about="http://www.kanzaki.com/docs/sw">
   <rdfs:label>Metadata and Semantic Web</rdfs:label>
   <map:work>
    <map:Node rdf:about="http://www.kanzaki.com/docs/sw/foaf.html">
     <rdfs:label>Introduction to FOAF</rdfs:label>
    </map:Node>
   </map:work>
   <map:work>
    <map:Node rdf:about="http://www.kanzaki.com/test/exif2rdf">
     <rdfs:label>Exif2RDF metadata extraction</rdfs:label>
    </map:Node>
   </map:work>
  </map:Node>
 </map:section>
</map:Node>
 ]]></ex:code>
 <ex:exampleOf rdf:resource=""/>
</ex:Example>


</rdf:RDF>