YADS Model Schema - EBNF


This is the EBNF schema for the YADS model.


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