YADS Model Schema - RDFS


This is the RDFS schema for the YADS model.


  <?xml version="1.0" encoding="UTF-8"?>
  <!--
  
    YADS - RDF/XML
  
    This document describes YADS - A Description Service
    in an RDF Schema using an RDF/XML serialization.
  
    ==
  
    // From RDF Schema for YADS

    Resource:     doi:1014/yads-schema-2002-04-03
    Comment:      RDF Schema for YADS - A Description Service
    Author:       Tony Hammond <tony_hammond@harcourt.com>
    Revision:     April 3, 2002 - Tony Hammond
  


  -->
  
  <r:RDF
    xmlns:r="http://www.w3.org/1999/02/22-rdf-syntax-ns#"	
    xmlns:s="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#"
  >
  
  <!--
  
    YADS - Base Classes
  
    YADS implements a simple, safe and predictable recursive data
    model for describing resource collections. The aim is to assist
    in programming complex resource descriptions across multiple
    applications and to foster interoperability between them.
  
    (Resources are entities identified by URIs which can be divided
    into network dereferenceable data objects - including URLs and
    inline resources as provided for by the "data:" scheme - as
    well as non-dereferenceable data objects - including URNs.)
  
    An "Item" object is the basic building block which associates a
    resource with properties. (Note that the resource is actually
    presented as a property of the "Item" object.) "Item" objects are
    aggregated into "Container" objects which are ultimately managed
    by a toplevel "Nest" parent object. A "Nest" object binds a 
    resource to a resource hierarchy and associates properties with
    the resource/hierarchy association.
  
  -->
  
  <!-- "Item" class -->
  <s:Class r:ID="Item">
    <s:label>Item</s:label>
    <s:comment>Item - Class for any "Item" object which types a blank node
    used to associate a resource or resource hierarchy with properties.</s:comment>
    <s:subClassOf r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Object"/>
  </s:Class>
  
  <!-- "Nest" class -->
  <s:Class r:ID="Nest">
    <s:label>Nest</s:label>
    <s:comment>Nest - Class for any "Nest" object which types a blank node
    used to associate a resource with a resource hierarchy and associates
    properties with the resource/hierarchy association.</s:comment>
    <s:subClassOf r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Object"/>
  </s:Class>
  
  <!--
  
    YADS - Base Properties
  
    YADS defines a basic "1+7" properties model for an "Item" and a
    "2+7" properties model for a "Nest".
  
    The one (mandatory) property on each "Item" is a "resource" or
    alternatively - as a resource proxy - a "collection" which attributes
    a "Container" (a regular RDF Container "Alt", "Bag", or "Seq") of
    "Item" objects through which a resource hierarchy can be propagated.
    The two (mandatory) properties on each "Nest" are a "resource" and a
    "collection" which are bound together..
  
    Each "Item" or "Nest" object may have 0..7 qualifying properties
    associated with it. Base properties are as follows:
  
    Properties 1 = ("resource" | "collection")         # mandatory, one of
    Properties 2 = ("resource" & "collection")         # mandatory, two of
    Properties 7 = (["access"] & ["detail"] & ["directive"]
                    & ["label"] & ["role"] & ["service"]
                    & ["type"])                        # optional, any of
  
    The "type" property implements a type extension mechansim. Type
    values are resolved by consulting a profile-specific schema.
    This allows for a late-binding of semantics. Rationale is that
    multiple applications can build on this common infrastructure
    and defer semantic overloading till runtime.
  
  -->
  
  <!-- First the resource properties -->
  
  <!-- "collection" property -->
  <r:Property r:ID="collection">
    <s:label>collection</s:label>
    <s:comment>collection - Property attributing a "collection" element for
    grouping resources (a Container).</s:comment>
    <s:range r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Container"/>
    <s:domain r:resource="#Item"/>
    <s:domain r:resource="#Nest"/>
  </r:Property>
  
  <!-- "resource" property -->
  <r:Property r:ID="resource">
    <s:label>resource</s:label>
    <s:comment>resource - Property attributing a "resource" element
    (a Resource).</s:comment>
    <s:range r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Resource"/>
    <s:domain r:resource="#Item"/>
    <s:domain r:resource="#Nest"/>
  </r:Property>
  
  <!-- Then the literal properties -->
  
  <!-- "access" property -->
  <r:Property r:ID="access">
    <s:label>access</s:label>
    <s:comment>access - Property attributing an "access" element for
    addressing a resource (a Literal).</s:comment>
    <s:range r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Literal"/>
    <s:domain r:resource="#Item"/>
    <s:domain r:resource="#Nest"/>
  </r:Property>
  
  <!-- "detail" property -->
  <r:Property r:ID="detail">
    <s:label>detail</s:label>
    <s:comment>detail - Property attributing a "detail" element for
    describing a resource (a Literal).</s:comment>
    <s:range r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Literal"/>
    <s:domain r:resource="#Item"/>
    <s:domain r:resource="#Nest"/>
  </r:Property>
  
  <!-- "directive" property -->
  <r:Property r:ID="directive">
    <s:label>directive</s:label>
    <s:comment>directive - Property attributing a "directive" element for
    directing the behaviour of a service component (a Literal).</s:comment>
    <s:range r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Literal"/>
    <s:domain r:resource="#Item"/>
    <s:domain r:resource="#Nest"/>
  </r:Property>
  
  <!-- "label" property -->
  <r:Property r:ID="label">
    <s:label>label</s:label>
    <s:comment>label - Property attributing a "label" element for
    representing a resource in a display service (a Literal).</s:comment>
    <s:range r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Literal"/>
    <s:domain r:resource="#Item"/>
    <s:domain r:resource="#Nest"/>
  </r:Property>
  
  <!-- "role" property -->
  <r:Property r:ID="role">
    <s:label>role</s:label>
    <s:comment>role - Property attributing a "role" element for
    relating a resource (a Literal).</s:comment>
    <s:range r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Literal"/>
    <s:domain r:resource="#Item"/>
    <s:domain r:resource="#Nest"/>
  </r:Property>
  
  <!-- "service" property -->
  <r:Property r:ID="service">
    <s:label>service</s:label>
    <s:comment>service - Property attributing a "service" element for
    a service component (a Literal).</s:comment>
    <s:range r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Literal"/>
    <s:domain r:resource="#Item"/>
    <s:domain r:resource="#Nest"/>
  </r:Property>
  
  <!-- "type" property -->
  <r:Property r:ID="type">
    <s:label>type</s:label>
    <s:comment>type - Property attributing a "type" element for
    typing a resource (a Literal).</s:comment>
    <s:range r:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Literal"/>
    <s:domain r:resource="#Item"/>
    <s:domain r:resource="#Nest"/>
  </r:Property>
  
  </r:RDF>