Ontologies Are Not Scary
FOAF offers great description of what an Ontology is:
FOAF describes the world using simple ideas inspired by the Web. In FOAF descriptions, there are only various kinds of things and links, which we call properties. The types of the things we talk about in FOAF are called classes. FOAF is therefore defined as a dictionary of terms, each of which is either a class or a property. Other projects alongside FOAF provide other sets of classes and properties, many of which are linked with those defined in FOAF.
In the D2RQ world, the key is the mapping.ttl file, which maps the relational world (tables and columns) to the Ontology world (classes and properties).
Given the above, and a bit of reading, you can define your own ontology, or use readily available open source ontologies:
@prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; . @prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; . @prefix owl: &lt;http://www.w3.org/2002/07/owl#&gt; . @prefix xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; . @prefix mydatalake: &lt;http://www.something.com/mydatalake-schema#&gt; . mydatalake:SomeThing a owl:Class; rdfs:label "Something label" iondatalake:SomeThingProperty a owl:FunctionalProperty; rdfs:label "SomeThingProperty label" rdfs:domain mydatalake:SomeThing rdfs:range rdfs:Literal <br data-mce-bogus="1">
Followed by a D2RQ mapping.ttl to allow SPARSQL against your datastore:
@prefix mydatalake: &lt;http://www.something.com/mydatalake-schema#&gt; . @prefix db: &lt;&gt; . @prefix vocab: &lt;vocab/&gt; . @prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; . @prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; . @prefix xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; . @prefix d2rq: &lt;http://www.wiwiss.fu-berlin.de/suhl/bizer/D2RQ/0.1#&gt; . @prefix jdbc: &lt;http://d2rq.org/terms/jdbc/&gt; . @prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; . mydatalake:database a d2rq:Database; d2rq:jdbcDriver "org.apache.phoenix.jdbc.PhoenixDriver"; d2rq:jdbcDSN "jdbc:phoenix:localhost"; jdbc:autoReconnect "true"; jdbc:zeroDateTimeBehavior "convertToNull"; . mydatalake:STOCK_SYMBOL a d2rq:ClassMap; d2rq:dataStorage mydatalake:database; d2rq:uriPattern "STOCK_SYMBOL"; d2rq:class mydatalake:SomeThing; . mydatalake:STOCK_SYMBOL_SYMBOL a d2rq:PropertyBridge; d2rq:belongsToClassMap mydatalake:STOCK_SYMBOL; d2rq:property foaf:name; d2rq:column "STOCK_SYMBOL.SYMBOL"; .
Which then opens up the world to reasoners and rule engines thought the Apache Jena project.