<?xml version="1.0" encoding="UTF-8"?>
<!--
YADS - EBNF
This document describes YADS - A Description Service
in an Extended BNF.
==
// From RDF Schema for YADS
Resource: yads-schema-2007-05-17
Comment: RDF Schema for YADS - A Description Service
Author: Tony Hammond <t.hammond@nature.com>
Revision: May 17, 2007 - Tony Hammond
==
(*
In the following, EBNF ISO/IEC 14977 : 1996(E) (for a draft
see eg <http://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf>) is
used to define a YADS resource description.
Note that this EBNF is an abstract rule set and applies only
to the actual content of the resource description and not to
any markup or serialization used to convey that description.
*)
(* Toplevel wrapper element *)
yads = { groups } ;
(* Structural elements for aggregating resources and properties *)
groups = group, { group } ;
group = item | nest ;
item = ( resource | collection ), { property } ;
nest = ( resource , collection ), { property } ;
(* Structural element for aggregating structural elements *)
collection = groups ;
(* Resource element as per RFC 3986 *)
resource = any-uri ;
(* Property elements attributing metadata to resources *)
property = property-table ;
property-table = properties ;
properties = property-pair [ properties ] ;
property-pair = property-key, property-value ;
property-key = any-cri ;
property-value = any-uri | string ;
(* Productions for "any-cri", "any-uri" and "string" terminals *)
any-cri = '"', chars, '"' ; (* per W3C WD, CURIE Syntax 1.0 *)
any-uri = '"', chars, '"' ; (* per RFC 3986 *)
string = '"', chars, '"' ; (* per RFC 4627, Sect. 2.5 *)
-->
<yads/>
|