@prefix vaem: <http://www.linkedmodel.org/schema/vaem#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix : <http://www.w3.org/ns/r2rml#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix cc: <http://creativecommons.org/ns#> .

<http://www.w3.org/ns/r2rml#> a owl:Ontology ;
	dc:title "R2RML vocabulary"@en ;
	a <http://purl.org/vocommons/voaf#Vocabulary> ;
	dc:issued "2012-01-24"^^xsd:date ;
	dc:modified "2012-07-16"^^xsd:date ;
	dc:descripion "RDB to RDF Mapping Language - Vocabulary"@en ;
	dc:creator <http://richard.cyganiak.de/foaf.rdf#cygri> ;
	dc:contributor <http://boris.villazon.terrazas.name> , <http://www.w3.org/People/Ivan/> ;
	dc:publisher <http://www.w3.org/> ;
	cc:license <http://creativecommons.org/licenses/by/3.0/> ;
	vann:preferredNamespacePrefix "rr" ;
	vann:preferredNamespaceUri "http://www.w3.org/ns/r2rml#" .

<http://richard.cyganiak.de/foaf.rdf#cygri> a foaf:Person ;
	foaf:name "Richard Cyganiak" .

<http://boris.villazon.terrazas.name> a foaf:Person ;
	foaf:name "Boris Villazon-Terrazas" .

<http://www.w3.org/People/Ivan/> a foaf:Person ;
	foaf:name "Ivan Herman" .

<http://www.w3.org/> a foaf:Organization ;
	rdfs:label "The World Wide Web Consortium (W3C)"@en ;
	vaem:acronym "W3C" .

:class a owl:ObjectProperty ;
	rdfs:comment "The subject value generated for a logical table row will be asserted as an instance of this RDFS class."@en ;
	rdfs:range rdfs:Class ;
	rdfs:domain :SubjectMap .

:constant a owl:ObjectProperty .

:datatype a owl:ObjectProperty ;
	rdfs:comment "Specifies the datatype of the object component for the generated triple from a logical table row."@en ;
	rdfs:range rdfs:Datatype ;
	rdfs:domain :ObjectMap .

:graph a owl:ObjectProperty ;
	rdfs:comment "An IRI reference for use as the graph name of all triples generated with the GraphMap."@en .

_:node183epajpdx41 a owl:Class .

_:node183epajpdx42 rdf:first :GraphMap ;
	rdf:rest _:node183epajpdx43 .

_:node183epajpdx44 a owl:Restriction ;
	owl:onProperty :template ;
	owl:maxQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
	owl:onDataRange xsd:string .

_:node183epajpdx43 rdf:first _:node183epajpdx44 ;
	rdf:rest rdf:nil .

_:node183epajpdx41 owl:intersectionOf _:node183epajpdx42 .

:graph rdfs:domain _:node183epajpdx41 .

:graphMap a owl:ObjectProperty ;
	rdfs:comment "Specifies a GraphMap. When used with a SubjectMap element, all the RDF triples generated from a logical row will be stored in the specified named graph. Otherwise, the RDF triple generated using the (predicate, object) pair will be stored in the specified named graph."@en ;
	rdfs:range :GraphMap .

_:node183epajpdx45 a owl:Class .

_:node183epajpdx46 rdf:first :PredicateObjectMap ;
	rdf:rest _:node183epajpdx47 .

_:node183epajpdx47 rdf:first :SubjectMap ;
	rdf:rest rdf:nil .

_:node183epajpdx45 owl:unionOf _:node183epajpdx46 .

:graphMap rdfs:domain _:node183epajpdx45 .

:joinCondition a owl:ObjectProperty ;
	rdfs:comment "Specifies the join condition for joining the child logical table with the parent logical table of the foreign key constraint."@en ;
	rdfs:range :Join ;
	rdfs:domain :RefObjectMap .

:logicalTable a owl:ObjectProperty ;
	rdfs:comment "Definition of logical table to be mapped."@en ;
	rdfs:range :LogicalTable ;
	rdfs:domain :TriplesMap .

:object a owl:ObjectProperty ;
	rdfs:comment "Specifies the object for the generated triple from the logical table row."@en ;
	rdfs:range rdfs:Resource .

_:node183epajpdx48 a owl:Class .

_:node183epajpdx49 rdf:first :ObjectMap ;
	rdf:rest _:node183epajpdx50 .

_:node183epajpdx51 a owl:Restriction ;
	owl:onProperty :column ;
	owl:maxQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
	owl:onDataRange xsd:string .

_:node183epajpdx50 rdf:first _:node183epajpdx51 ;
	rdf:rest rdf:nil .

_:node183epajpdx48 owl:intersectionOf _:node183epajpdx49 .

:object rdfs:domain _:node183epajpdx48 .

:objectMap a owl:ObjectProperty ;
	rdfs:comment "An ObjectMap element to generate the object component of the (predicate, object) pair from a logical table row."@en ;
	rdfs:domain :PredicateObjectMap .

_:node183epajpdx52 a owl:Class .

_:node183epajpdx53 rdf:first :ObjectMap ;
	rdf:rest _:node183epajpdx54 .

_:node183epajpdx54 rdf:first :RefObjectMap ;
	rdf:rest rdf:nil .

_:node183epajpdx52 owl:unionOf _:node183epajpdx53 .

:objectMap rdfs:range _:node183epajpdx52 .

:parentTriplesMap a owl:ObjectProperty ;
	rdfs:comment "Specifies the TriplesMap element corresponding to the parent logical table of the foreign key constraint."@en ;
	rdfs:domain :RefObjectMap ;
	rdfs:range :TriplesMap .

:predicate a owl:ObjectProperty ;
	rdfs:comment "Specifies the predicate for the generated triple from the logical table row."@en ;
	rdfs:range rdf:Property .

_:node183epajpdx55 a owl:Class .

_:node183epajpdx56 rdf:first :PredicateMap ;
	rdf:rest _:node183epajpdx57 .

_:node183epajpdx58 a owl:Restriction ;
	owl:onProperty :column ;
	owl:maxQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
	owl:onDataRange xsd:string .

_:node183epajpdx57 rdf:first _:node183epajpdx58 ;
	rdf:rest rdf:nil .

_:node183epajpdx55 owl:intersectionOf _:node183epajpdx56 .

:predicate rdfs:domain _:node183epajpdx55 .

:predicateMap a owl:ObjectProperty ;
	rdfs:comment "A PredicateMap element to generate the predicate component of the (predicate, object) pair from a logical table row."@en ;
	rdfs:range :PredicateMap ;
	rdfs:domain :PredicateObjectMap .

:predicateObjectMap a owl:ObjectProperty ;
	rdfs:comment "A PredicateObjectMap element to generate (predicate, object) pair from a logical table row."@en ;
	rdfs:range :PredicateObjectMap .

:sqlVersion a owl:ObjectProperty ;
	rdfs:comment "An identifier for a SQL version."@en ;
	rdfs:domain :R2RMLView .

:subject a owl:ObjectProperty ;
	rdfs:comment "An IRI reference for use as subject for all the RDF triples generated from a logical table row."@en .

_:node183epajpdx59 a owl:Class .

_:node183epajpdx60 rdf:first :SubjectMap ;
	rdf:rest _:node183epajpdx61 .

_:node183epajpdx62 a owl:Restriction ;
	owl:onProperty :column ;
	owl:maxQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
	owl:onDataRange xsd:string .

_:node183epajpdx61 rdf:first _:node183epajpdx62 ;
	rdf:rest rdf:nil .

_:node183epajpdx59 owl:intersectionOf _:node183epajpdx60 .

:subject rdfs:domain _:node183epajpdx59 .

:subjectMap a owl:ObjectProperty ;
	rdfs:comment "A SubjectMap element to generate a subject from a logical table row."@en ;
	rdfs:range :SubjectMap ;
	rdfs:domain :TriplesMap .

:termType a owl:ObjectProperty ;
	rdfs:comment "A string indicating whether subject or object generated using the value from column name specified for rr:column should be an IRI reference, blank node, or a literal."@en ;
	rdfs:domain :TermMap .

_:node183epajpdx63 a owl:Class .

_:node183epajpdx64 rdf:first :BlankNode ;
	rdf:rest _:node183epajpdx65 .

_:node183epajpdx65 rdf:first :IRI ;
	rdf:rest _:node183epajpdx66 .

_:node183epajpdx66 rdf:first :Literal ;
	rdf:rest rdf:nil .

_:node183epajpdx63 owl:unionOf _:node183epajpdx64 .

:termType rdfs:range _:node183epajpdx63 .

:child a owl:DatatypeProperty ;
	rdfs:comment "Names a column in the child table of a join."@en ;
	rdfs:range xsd:string ;
	rdfs:domain :Join .

:column a owl:DatatypeProperty ;
	rdfs:comment "Name of a column in the logical table. When generating RDF triples from a logical table row, value from the specified column is used as the subject, predicate, or object (based upon the specific domain)."@en ;
	rdfs:range xsd:string ;
	rdfs:domain :TermMap .

:inverseExpression a owl:DatatypeProperty ;
	rdfs:comment "An expression that allows, at query processing time, use of index-based access to the the (underlying) relational tables, instead of simply retrieving the table rows first and then applying a filter. This property is useful for retrieval based on conditions involving subject, predicate, or object generated from logical table column(s) and involves some transformation."@en ;
	rdfs:range xsd:string ;
	rdfs:domain :TermMap .

:language a owl:DatatypeProperty ;
	rdfs:comment "Specified the language for the object component for the generated triple from a logical table row."@en ;
	rdfs:range xsd:string ;
	rdfs:domain :ObjectMap .

:parent a owl:DatatypeProperty ;
	rdfs:comment "Names a column in the parent table of a join."@en ;
	rdfs:range xsd:string ;
	rdfs:domain :Join .

:sqlQuery a owl:DatatypeProperty ;
	rdfs:comment "A valid SQL query."@en ;
	rdfs:range xsd:string ;
	rdfs:domain :R2RMLView .

:tableName a owl:DatatypeProperty ;
	rdfs:comment "Schema-qualified name of a table or view."@en ;
	rdfs:range xsd:string ;
	rdfs:domain :BaseTableOrView .

:template a owl:DatatypeProperty ;
	rdfs:comment "A template (format string) to specify how to generate a value for a subject, predicate, or object, using one or more columns from a logical table row."@en ;
	rdfs:range xsd:string ;
	rdfs:domain :TermMap .

rdf:Property a owl:Class .

rdfs:Class a owl:Class .

rdfs:Datatype a owl:Class .

rdfs:Resource a owl:Class .

:BaseTableOrView a owl:Class ;
	rdfs:subClassOf :LogicalTable .

:BlankNode a owl:Class ;
	rdfs:comment "Denotes a blank node, used with termType"@en .

:GraphMap a owl:Class ;
	rdfs:subClassOf :TermMap ;
	rdfs:comment "Represents a graph map."@en .

:IRI a owl:Class ;
	rdfs:comment "Denotes an IRI, used with termpType."@en .

:Join a owl:Class ;
	rdfs:subClassOf owl:Thing .

_:node183epajpdx67 a owl:Restriction ;
	owl:onProperty :parent ;
	owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
	owl:onDataRange xsd:string .

:Join rdfs:subClassOf _:node183epajpdx67 .

_:node183epajpdx68 a owl:Restriction ;
	owl:onProperty :parent ;
	owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
	owl:onDataRange xsd:string .

:Join rdfs:subClassOf _:node183epajpdx68 .

_:node183epajpdx69 a owl:Restriction ;
	owl:onProperty :child ;
	owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
	owl:onDataRange xsd:string .

:Join rdfs:subClassOf _:node183epajpdx69 .

_:node183epajpdx70 a owl:Restriction ;
	owl:onProperty :child ;
	owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
	owl:onDataRange xsd:string .

:Join rdfs:subClassOf _:node183epajpdx70 ;
	rdfs:comment "Represents a join condition."@en .

:Literal a owl:Class ;
	rdfs:subClassOf owl:Thing ;
	rdfs:comment "Denotes a Literal, used with termType."@en .

:LogicalTable a owl:Class ;
	rdfs:subClassOf owl:Thing ;
	rdfs:comment "Represents a logical table."@en .

:ObjectMap a owl:Class ;
	rdfs:subClassOf owl:Thing , :TermMap .

_:node183epajpdx71 a owl:Restriction ;
	owl:onProperty :object ;
	owl:onClass rdfs:Resource ;
	owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger .

:ObjectMap rdfs:subClassOf _:node183epajpdx71 .

_:node183epajpdx72 a owl:Restriction ;
	owl:onProperty :object ;
	owl:onClass rdfs:Resource ;
	owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger .

:ObjectMap rdfs:subClassOf _:node183epajpdx72 .

_:node183epajpdx73 a owl:Restriction ;
	owl:onProperty :language ;
	owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
	owl:onDataRange xsd:string .

:ObjectMap rdfs:subClassOf _:node183epajpdx73 .

_:node183epajpdx74 a owl:Restriction ;
	owl:onProperty :datatype ;
	owl:onClass rdfs:Datatype ;
	owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger .

:ObjectMap rdfs:subClassOf _:node183epajpdx74 ;
	rdfs:comment "Represents an object map."@en .

:PredicateMap a owl:Class ;
	rdfs:subClassOf owl:Thing , :TermMap .

_:node183epajpdx75 a owl:Restriction ;
	owl:onProperty :predicate ;
	owl:onClass rdf:Property ;
	owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger .

:PredicateMap rdfs:subClassOf _:node183epajpdx75 ;
	rdfs:comment "Represents a predicate map."@en .

:PredicateObjectMap a owl:Class ;
	rdfs:subClassOf owl:Thing .

_:node183epajpdx76 a owl:Restriction ;
	owl:onProperty :objectMap ;
	owl:onClass :ObjectMap ;
	owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger .

:PredicateObjectMap rdfs:subClassOf _:node183epajpdx76 .

_:node183epajpdx77 a owl:Restriction ;
	owl:onProperty :predicateMap ;
	owl:onClass :PredicateMap ;
	owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger .

:PredicateObjectMap rdfs:subClassOf _:node183epajpdx77 ;
	rdfs:comment "Represents a predicate-object map."@en .

:R2RMLView a owl:Class ;
	rdfs:subClassOf :LogicalTable .

:RefObjectMap a owl:Class ;
	rdfs:subClassOf owl:Thing ;
	rdfs:comment "Denotes a reference to an object map."@en .

:SubjectMap a owl:Class ;
	rdfs:subClassOf owl:Thing , :TermMap .

_:node183epajpdx78 a owl:Restriction ;
	owl:onProperty :class ;
	owl:onClass rdfs:Class ;
	owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger .

:SubjectMap rdfs:subClassOf _:node183epajpdx78 ;
	rdfs:comment "Represents a subject map."@en .

:TermMap a owl:Class ;
	rdfs:label "Term Map"@en ;
	rdfs:comment "A function that generates an RDF term from a logical table row."@en .

:TriplesMap a owl:Class ;
	rdfs:subClassOf owl:Thing .

_:node183epajpdx79 a owl:Restriction ;
	owl:onProperty :logicalTable ;
	owl:onClass :LogicalTable ;
	owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger .

:TriplesMap rdfs:subClassOf _:node183epajpdx79 .

_:node183epajpdx80 a owl:Restriction ;
	owl:onProperty :subjectMap ;
	owl:onClass :SubjectMap ;
	owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger .

:TriplesMap rdfs:subClassOf _:node183epajpdx80 ;
	rdfs:comment "Represents a triples map."@en .

:SQL2008 a owl:NamedIndividual ;
	rdfs:comment "Core SQL 2008"@en .

:defaultGraph a owl:NamedIndividual ;
	rdfs:comment "Denotes a default graph"@en .
