@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://jena.hpl.hp.com/2003/03/result-set#> .
@prefix xsd:    <http://www.w3.org/2000/10/XMLSchema#> .


:  rdfs:comment     "Vocabulary for recording query result set" ;
   dc:creator       "Andy Seaborne" ;
   dc:subject       "" ;
   dc:publisher     "SWAD-e" ;
   dc:title         "" ;
   dc:description   "" ;
   dc:date          "2003-03-12" ;
   dc:format        "RDF" ;
   dc:identifier    : ; #:-)
   .

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

:ResultSet rdf:type rdfs:Class ;
    rdfs:comment    "Class of things that represent the result set" ;
    .

:ResultSolution rdf:type rdfs:Class ;
    rdfs:comment    "Class of things that represent a row in the result table - one solution to the query" ;
    .

:ResultBinding rdf:type rdfs:Class ;
    rdfs:comment    "Class of things that represent a single (variable, value) pairing" ;
    .

## =======================================
## Modelling style: uses multiple instances of a property
## to represent
## e.g. :ResultTable has many :hasSolution properties, one per row

## ---- Properties ----

## - Table level

:solution rdf:type rdf:Property ;
    rdfs:domain     :ResultSet ;
    rdfs:range      :ResultSolution ;
    .


## Useful information extracted
:size rdf:type rdf:Property ;
    rdfs:comment    "Number of rows in the result table" ;
    rdfs:range      xsd:integer ; # Is that how I write it?
    .

## Can be convenient to list the variables beforehand
:resultVariable rdf:type rdf:Property ;
    rdfs:domain     :ResultSet ;
    rdfs:range      xsd:string ;
    rdfs:comment    "Name of a variable used in the result set" ;
    rdfs:comment    "Multivalued" ;
    .


## -- Row level

:binding rdf:type rdf:Property ;
    rdfs:comment    "Multi-occurrence property associating a result solution (row) resource to a single (variable, value) binding " ;
    rdfs:domain     :ResultSolution ;
    rdfs:range      :ResultBinding ;
    .

## -- Single binding level

:variable rdf:type rdf:Property ;
    rdfs:comment    "Variable name" ;
    rdfs:domain     :ResultBinding ;
    rdfs:range      rdfs:Literal ;
    .

:value rdf:type rdf:Property ;
    ##rdfs:subPropertyOf rdfs:value ;
    rdfs:comment    "Variable name" ;
    rdfs:domain     :ResultBinding ;
    # Range is anything
    .

# Declare the "undefined" value
:undef rdf:type rdfs:Resource ;
    rdfs:comment    "Resource representing the undefined value" ;
    .

