YADS Model Schema - JSON


This is the JSON schema for the YADS model.


  <?xml version="1.0" encoding="UTF-8"?>
  <!--
  
    YADS - JSON
  
    This document describes YADS - A Description Service
    in an Extended BNF for JavaScript Object Notation [1].

    [1] http://www.ietf.org/rfc/rfc4627.txt

    ==
  
    // 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.
    
    *)
    
    
    (* 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 = "collection", ":", groups ;
    
    
    (* Resource element as per RFC 3986 *)
    
    resource = "resource", ":", any-uri ;
    
  
    (* Property elements attributing metadata to resources  *)
    
    property = "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/>