Semantika is a robust, high-performance RDB-to-RDF connector and data access middleware API for Java and SQL. The library provides an easy interface for enabling semantic search over an existing database. The way it works is non-intrusive and risk-free towards your valuable data. No data replication or data migration or extra hardware is required.
- Support most features in SPARQL 1.1 Query language.
- Data semantic mapping based on R2RML
- Support R2RML native syntax
- Data provider based on JDBC system. Full support on MySQL, PostgreSQL and H2
- Connection pool enabled
- Support domain modelling in OWL2 QL
- Built-in reasoner when domain model is supplied
- Open source under Apache License 2.0
An instance of
com.obidea.semantika.app.ApplicationManager is created by loading the configuration file
application.cfg.xml in your classpath. Please refer to our wiki page for more details about Semantika configuration settings.
ApplicationManager manager = new ApplicationFactory() .configure("application.cfg.xml") .createApplicationManager();
SPARQL Query Answer
ApplicationManager then creates
SparqlQueryEngine which is a thread-safe object that is initiated once to serve SPARQL query answering.
SparqlQueryEngine queryEngine = manager.createQueryEngine(); queryEngine.start(); QueryResult result = queryEngine.evaluate(sparql); // do something with the result // ... queryEngine.stop();
ApplicationManager can also create
RdfMaterializerEngine which is a thread-safe object that is initiated once to serve RDB2RDF data exporting.
RdfMaterializerEngine exporter = manager.createMaterializerEngine().useNTriples(); exporter.start(); exporter.materialize(fout); exporter.stop();
Starting from Semantika 1.5, the application manager can receive R2RML mapping model and does the same RDB2RDF data exporting.
This software is licensed under the Apache 2 license, quoted below.
Copyright (c) 2013-2014 Josef Hardi <firstname.lastname@example.org> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.