@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc:     <http://purl.org/dc/elements/1.1/> .
@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .

## A Manifest is typically a list (RDF Collection) of manifest entries.
## The :entries property has an object of the list.
## There may be more than one list per file.

:   rdfs:comment     "Manifest vocabulary for test cases" ;
    dc:creator       "Andy Seaborne" ;
    dc:subject       "" ;
    dc:publisher     "W3C RDF Data Access Working Group" ;
    dc:title         "Test case manifest vocabulary" ;
    dc:description   "Test case manifest vocabulary" ;
    dc:date          "2004-07" ;
    dc:format        "RDF" ;
    dc:identifier    : ;
    .

## ---- Class declarations ----

:Manifest rdf:type rdfs:Class ;
    rdfs:comment "The class of manifests" .

:ManifestEntry rdf:type rdfs:Class ;
    rdfs:comment "One entry in rdf:type list of entries" .

## ---- Property declarations for the manifest ----

:entries rdf:type rdf:Property ;
    rdfs:comment "Connects the manifest resource to rdf:type list of entries" ;
    rdfs:domain	 :Manifest ;
    rdfs:range   rdf:List ;
    .
	
## ---- Property declarations for each test ----

:name rdf:type rdf:Property ;
    rdfs:comment "Optional name of this entry" ;
    rdfs:domain	 :ManifestEntry ;
    rdfs:range   rdfs:Literal ;
    .	
    
:action rdf:type rdf:Property ;
    rdfs:comment "Action to perform" ;
    rdfs:domain	 :ManifestEntry ;
    # rdfs:range   ?? ;
    .	

:result rdf:type rdf:Property ;
    rdfs:comment "The expected outcome" ;
    rdfs:domain	 :ManifestEntry ;
    # rdfs:range   ?? ;
    .	

:result rdf:type rdf:Property ;
    rdfs:comment "The test status" ;
    rdfs:domain	 :ManifestEntry ;
    rdfs:range   :TestStatus ;
    .

## ---- Test Statuses ----

:TestStatus rdf:type rdf:Class ;
    rdfs:comment "Statuses a test can have" ;
    .

:proposed rdf:type :TestStatus ;
    rdfs:label "proposed" ;
    .

:accepted rdf:type :TestStatus ;
    rdfs:label "accepted" ;
    .

:rejected rdf:type :TestStatus ;
    rdfs:label "rejected" ;
    .
