<?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>
|