@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 owl:    <http://www.w3.org/2002/07/owl#> .
@prefix dawgt:  <http://www.w3.org/2001/sw/DataAccess/tests/test-dawg#> .
@prefix mf:     <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .

# RDF Core tests
@prefix rct:    <http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#> .

dawgt:   rdfs:comment     "Vocabulary for DAWG test cases" ;
    dc:creator       "Andy Seaborne" ;
    dc:subject       "" ;
    dc:publisher     "W3C RDF Data Access Working Group" ;
    dc:title         "Vocabulary for DAWG test cases" ;
    dc:description   "Vocabulary for DAWG test cases" ;
    dc:date          "2004-07" ;
    dc:format        "RDF" ;
    dc:identifier    dawgt: ;
    .


## ---- Classes ----

dawgt:ResultForm    rdf:type rdfs:Class ;
    rdfs:comment    "Super class of all result forms" ;
    .

dawgt:QueryForm    rdf:type rdfs:Class ;
    rdfs:comment   "Super class of all query forms" ;
    .

dawgt:Status    rdf:type rdfs:Class ;
    rdfs:comment     "Super class of all test status classes" ;
    .

## ---- Properties ----

# Could be a subPropertyOf rdf:type
# or could just use rdf:type.
dawgt:resultForm    rdf:type rdf:Property ;
    rdfs:range          dawgt:ResultForm ;
    rdfs:isDefinedBy    dawgt: ;
    .

# Could be a subPropertyOf rdf:type
# or could just use rdf:type.
dawgt:queryForm   rdf:type rdf:Property ;
    rdfs:range          dawgt:QueryForm ;
    rdfs:isDefinedBy    dawgt: ;
    .

dawgt:status   rdf:type rdf:Property ;
    rdfs:range          dawgt:Status ;
    rdfs:isDefinedBy    dawgt: ;
    rdfs:label          "Status" ;
    .

dawgt:approval rdf:type rdf:Property ;
    rdfs:comment        "Contains a reference to the minutes of the RDF Data Access Working Group where the test case status was last changed." ;
    rdfs:label          "Approval" ;
    owl:sameAs          rct:approval ;
    .

dawgt:description rdf:type rdf:Property ;
    rdfs:comment        "A human-readable summary of the test case.";
    rdfs:label          "Description" ;
    owl:sameAs          rct:description ;
    .

dawgt:issue     rdf:type rdf:Property ;
    rdfs:comment        "Contains a pointer to the associated issue on the RDF Data Access Working Group Tracking document.";
    owl:sameAs          rct:issue ;
    rdfs:label          "Issue" .

dawgt:warning   rdf:type rdf:Property;
    rdfs:comment        "Indicates that while the test should pass, it may generate a warning.";
    owl:sameAs          rct:warning ;
    rdfs:label          "Warning" .

## ---- Defined terms ----

## ---- Test statuses

dawgt:NotClassified     rdfs:subClassOf dawgt:Status ;
    rdfs:comment        "Class of tests that have not been classified" ;
    rdfs:label          "NotClassified" .

dawgt:Approved          rdfs:subClassOf dawgt:Status ;
    rdfs:comment        "Class of tests that are Approved" ;
    rdfs:label          "Approved" .

dawgt:Rejected          rdfs:subClassOf dawgt:Status ;
    rdfs:comment        "Class of tests that are Rejected" ;
    rdfs:label          "Rejected" .

dawgt:Obsoleted         rdfs:subClassOf dawgt:Status ;
    rdfs:comment        "Class of tests that are Obsolete" ;
    rdfs:label          "Obsoleted" .

dawgt:Withdrawn         rdfs:subClassOf dawgt:Status ;
    rdfs:comment        "Class of tests that have been Withdrawn" ;
    rdfs:label          "Withdrawn" .

## ---- Query forms 
## The types of query there are

dawgt:querySelect       rdfs:subClassOf dawgt:QueryForm ;
    rdfs:comment        "Class of queries that are seeking variable bindings" ;
    rdfs:label          "Variable Binding Query" .
 
dawgt:queryConstruct    rdfs:subClassOf dawgt:QueryForm ;
    rdfs:comment        "Class of queries that are seeking a constructed graph" ;
    rdfs:label          "Defined Graph Query" .

dawgt:queryDescribe     rdfs:subClassOf dawgt:QueryForm ;
    rdfs:comment        "Class of queries that are seeking a descriptive graph" ;
    rdfs:label          "Open Graph Query" .

dawgt:queryAsk          rdfs:subClassOf dawgt:QueryForm ;
    rdfs:comment        "Class of queries that are seeking a yes/no question" ;
    rdfs:label          "Boolean Query" .

## ---- Result forms
## The result may still be encoded in RDF - classifying it helps
## check for expected form.

dawgt:resultResultSet   rdfs:subClassOf dawgt:ResultForm ;
    rdfs:comment        "Class of result expected to be from a SELECT query" ;
    rdfs:label          "Result Set" .
 
dawgt:resultGraph       rdfs:subClassOf dawgt:ResultForm ;
    rdfs:comment        "Class of result expected to be a graph" ;
    rdfs:label          "Graph Result" .
 
dawgt:booleanResult     rdfs:subClassOf dawgt:ResultForm ;
    rdfs:comment        "Class of result expected to be a boolean" ;
    rdfs:label          "Boolean Result" .
