@base <http://vocab.deri.ie/csp> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix adms: <http://www.w3.org/ns/adms#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<>
    dc:creator <#alepas>, <#fbadra>, <#fpservant> ;
    dcterms:created "2011-03-09"^^<http://www.w3.org/2001/XMLSchema#date> ;
    dcterms:description "A vocabulary to represent Constraint Satisfaction Problems (CSPs) in which constraints are expressed by Boolean expressions on fluents.</b>" ;
    dcterms:modified "2011-06-29"^^<http://www.w3.org/2001/XMLSchema#date> ;
    dcterms:partOf <http://vocab.deri.ie> ;
    dcterms:publisher "http://vocab.deri.ie/csp#DERI%2C%20NUI%20Galway" ;
    dcterms:status <http://purl.org/adms/status/UnderDevelopment> ;
    dcterms:title "CSP - A vocabulary to represent Constraint Satisfaction Problems." ;
    dcterms:type <http://purl.org/adms/assettype/Ontology> ;
    vann:preferredNamespacePrefix "csp" ;
    vann:preferredNamespaceUri "http://vocab.deri.ie/csp#" ;
    a owl:Ontology, adms:SemanticAsset ;
    foaf:homepage <csp.html> .

<#And>
    a rdfs:Class, owl:Class ;
    rdfs:comment "Models a conjunctive logical sub-expression AND (BoolExpr1 BoolExpr2 ... BoolExprn)." ;
    rdfs:label "And" ;
    rdfs:subClassOf <#BoolExpr> .

<#BoolExpr>
    a rdfs:Class, owl:Class ;
    rdfs:comment "A Boolean expression." ;
    rdfs:label "Boolean expression" .

<#DERI%2C%20NUI%20Galway>
    a dcterms:Agent ;
    foaf:homepage <http://deri.ie> ;
    foaf:member <#alepas>, <#fbadra> ;
    foaf:name "DERI, NUI Galway" .

<#Fluent>
    a rdfs:Class, owl:Class ;
    rdfs:comment "A fluent is the association of a variable name and a subset of its domain of values." ;
    rdfs:label "Fluent" ;
    rdfs:subClassOf <#BoolExpr> .

<#Not>
    a rdfs:Class, owl:Class ;
    rdfs:comment "Models the negation of a logical sub-expression NOT(BoolExpr)." ;
    rdfs:label "Not" ;
    rdfs:subClassOf <#BoolExpr> ;
    owl:disjointWith <#And>, <#Or> .

<#Or>
    a rdfs:Class, owl:Class ;
    rdfs:comment "Models a disjunctive logical sub-expression OR (BoolExpr1 BoolExpr2 ... BoolExprn)." ;
    rdfs:label "Or" ;
    rdfs:subClassOf <#BoolExpr> ;
    owl:disjointWith <#And>, <#Not> .

<#Relation>
    a rdfs:Class, owl:Class ;
    rdfs:comment "The list of all valid combinations of values of a set of variables." ;
    rdfs:label "Relation" .

<#Renault>
    a dcterms:Agent ;
    foaf:homepage "" ;
    foaf:member <#fpservant> ;
    foaf:name "Renault" .

<#Solution>
    a rdfs:Class, owl:Class ;
    rdfs:comment "A solution of the constraint satisfaction problem." ;
    rdfs:label "Solution" .

<#alepas>
    a foaf:Person ;
    foaf:homepage <http://apassant.net> ;
    foaf:name "Alexandre Passant" .

<#and>
    a rdf:Property ;
    rdfs:comment "Links a logical conjunction operator to its arguments." ;
    rdfs:domain <#And> ;
    rdfs:label "and" ;
    rdfs:range <#BoolExpr> .

<#fbadra>
    a foaf:Person ;
    foaf:homepage <http://fadi.lautre.net> ;
    foaf:name "Fadi Badra" .

<#fpservant>
    a foaf:Person ;
    foaf:homepage "" ;
    foaf:mbox <mailto:francois-paul.servant@renault.com> ;
    foaf:name "François-Paul Servant" .

<#isSatisfiable>
    a rdf:Property ;
    rdfs:comment "Boolean flag indicating for a relation if each supported combination of values must be satisfiable or not." ;
    rdfs:domain <#Relation> ;
    rdfs:label "is satisfiable" .

<#not>
    a rdf:Property ;
    rdfs:comment "Links a logical negation operator to its argument." ;
    rdfs:domain <#Not> ;
    rdfs:label "not" ;
    rdfs:range <#BoolExpr> .

<#or>
    a rdf:Property ;
    rdfs:comment "Links a logical disjunction operator to its arguments." ;
    rdfs:domain <#Or> ;
    rdfs:label "or" ;
    rdfs:range <#BoolExpr> .

<#rdf>
    dcterms:FileFormat "" ;
    a adms:SemanticDistribution ;
    adms:accessURL "http://vocab.deri.ie/csp.rdf" ;
    adms:status <http://purl.org/adms/status/Completed> .

<#supports>
    a rdf:Property ;
    rdfs:comment "Specifies all supported value combinations in the relation. " ;
    rdfs:domain <#Relation> ;
    rdfs:label "supports" ;
    rdfs:range rdfs:Resource .

<#ttl>
    dcterms:FileFormat "" ;
    a adms:SemanticDistribution ;
    adms:accessURL "http://vocab.deri.ie/csp.ttl" ;
    adms:status <http://purl.org/adms/status/Completed> .

<#val>
    a rdf:Property ;
    rdfs:comment "A value associated with a fluent." ;
    rdfs:domain <#Fluent> ;
    rdfs:label "has value" ;
    rdfs:range rdfs:Resource .

<#var>
    a rdf:Property ;
    rdfs:comment "The variable associated with a fluent." ;
    rdfs:domain <#Fluent> ;
    rdfs:label "has variable" ;
    rdfs:range rdfs:Resource .

<#variable>
    a rdf:Property ;
    rdfs:comment "A variable can be seen as a function associating a value to an object, and is therefore modelled as an RDF property that points to one (or many) value(s)." ;
    rdfs:domain <#Solution> ;
    rdfs:label "variable" ;
    rdfs:range rdfs:Resource .

