Skip to content
skomlaebri edited this page May 13, 2015 · 4 revisions

Ontop Releases

Table of Contents

May 13, 2015 :: Version 1.15.0

  • Upgrade the Protege plugin to Protégé 5
  • New Command line interface
  • Better support for SPARQL BIND
  • Support for SPARQL Concat and Replace
  • Support for SQL Concat and Replace (in the mappings)
  • Support for xsd:dateTimeStap
  • Improved Optimization techniques (Contribution by Roman Konchakov)
  • Implementation of Autoclosable interface for core classes in the API to support `try with resource`.
  • Create a sub-query when SELECT DISTINCT is used in the mappings.
  • Bug Fixes
    • Handle the 30-characters limit for variable names in Oracle.
    • Fix the mapping render of Protege when multiple subjects are in the target of mapping.

November 4, 2014 :: Version 1.14.0

  • Added support in ontology and mappings for datatypes xsd:int, xsd:long, xsd:positiveInteger, xsd:negativeInteger, xsd:nonPositiveInteger, xsd:nonNegativeInteger, xsd:float
  • Optimized implementations of TBox classifications, and query containment checking, which are much faster than before
  • Validation for Sesame Workbench made stronger. It prevents repositories with an invalid configuration to be created.
  • Bug Fixes:
    • Fix SPARQL functions (str(), lang()) to use rdfs:Literal instead of xsd:string
    • Issue converting datatypes of R2RML constants
    • Support UNICODE characters in TurtleParser
    • Catch exceptions for Protege R2RML Export
    • Fix conversion from ontop mappings to R2RML of language tag and triples

September 29, 2014 :: Version 1.13.1

  • Bug Fixes:
    • The redundant query elimination optimization sometimes does not handle facts properly
    • Some warning messages related to datatype range axioms are ambiguous

September 25, 2014 :: Version 1.13.0

  • Support for providing implicit DB Constraints (e.g. foreign keys) to Ontop to generate efficient SQL
  • Command line feature to generate pretty R2RML
  • Stream output in the Protege Plugin
  • Support for Regex in mappings
  • Proper handling of datatypes in ontology and mappings
  • Support for hsql database
  • Support for datatypes xsd:date, xsd:time and xsd:gYear
  • Bug Fixes:
    • Issue with nested equivalences in unfolder
    • Problem with multiple join conditions in R2RML
    • Cancelling running queries in Protege
    • Blank lines in generated sql causes problems for oracle

June 26, 2014 :: Version 1.12.0

  • Support for finding empty concepts and properties
  • Integration with a new R2RML API
  • Less restrictive mode for JDBC driver validation
  • Faster TBox reasoner implementation
  • Optional "Replace" Statement in the SQL translation. When "Replace" is off the SQL performs much better.
  • Several Bug Fixes:
    • Issue with 'true' in Oracle
    • Meta-mapping editing in Protege
    • Problem with regex in Oracle
    • Several issues with R2RML

February 19, 2014 :: Version 1.11.0

  • Support for Consistency Checking
  • Improved Performance
  • Support for Multi-schema queries
  • New SQL parser for the mapping based on JSQLParser.
  • Extended the supported SQL language: IN, BETWEEN, LIKE, etc.
  • Extended the supported SPARQL: BIND
  • Improved the Treewitness rewriting algorithm.
  • Upgraded to Sesame 2.7.10
  • General clean-up
  • Fixed a number of bugs:
    • Translation of SAPRQL REGEX into SQL
    • Infinite loop triggered by some nested Optionals
    • Several issues with Construct
    • Several issues with R2RML

December 16, 2013 :: Version 1.10.0

  • Ontop under Apache license
  • Ontop packages in central maven repository

September 18, 2013 :: Version 1.9.0

  • Update to Sesame 2.7.6 (latest)
  • Validation of datatypes w.r.t. XMLSchema specification
  • New hybrid Abox functionality support
  • Removed all dependencies to Jena
  • Removed wrong/unnecessary dependencies
  • Turtle parser can handle variables in the predicate
  • Mappings with URI templates in class or properties suppot
  • First version of mapping splitter
  • Bug fix: Null pointer exception when the URI in Protege plugin was empty
  • Bug fix: Literal and literal with language tag handling
  • Bug fix: Shutdown of Sesame repoConnection
  • Bug fix: Object column literal gerenation in R2RML
  • Bug fix: Queries that would not finish execution
  • Bug fix: Unexpected bindings in unfolder
  • Bug fix: Null pointer exception in ontology translation in the case of unsupported axiom
  • Bug fix: OWL class assertion generation, inverted arguments
  • Bug fix: SameTerm in sparql algebra to datalog translation
  • Bug fix: URI template matcher to find most specific matches first
  • Bug fix: Construct queries
  • Bug fix: Describe queries

July 29, 2013 :: Version 1.8.0

  • Improve error message and better exception handling.
  • Change the representation of null value in BindingSet
  • Modified the computation of the LeftJoin to support empty evaluation in its second argument.
  • Changed the type of the semantic index table for integer data property assertion from INT to BIGINT to be able to handle xsd:integer type
  • Set index creation during Quest startup
  • Implement new feature for bootstrapping, command line scripts, integration in ontoPro plugin
  • Updated the URI templates in Turtle mapping syntax to make it simpler and closer to Turtle. Now quotes, question marks and class/property declarations are no longer required
For example, in the previous syntax:
  <"test;person/{?id}"> a :MyClass; :hasName {?name}.
becomes simply
 test:person/{id} a :MyClass ; :hasName {name} .
  • Support "%", "=", ";" characters in the URI template.
  :class/{id};{name}%{class type}
  • Bug fix: Major bugs in execution handling SPARQL Construct and SPARQL Describe queries.
  • Bug fix: Issues related to commits and batch sizes in QuestOWLStatement
  • Bug fix: Issue with URI template matcher that generates null in case failed template (now it generates URI("xxxx") where xxx is the URI that was being matched.)
  • Bug fix: Issue in existential clause in tree-witness algorithm
  • Bug fix: Issue in the maximum size of URI that has more than 400 characters
  • Bug fix: Issue in some data that can not be tracked when inserted into the database. In particular if the data comes from classes/properties that were simplified by the equivalence resolution.
  • Bug fix: Issue in exception handling during index creation in semantic index test.
  • Bug fix: Issue in SQL parser that it doesn't capture the scope within parentheses in the WHERE clause.
  • Remove table and column identifier quotes in the SQL target query string so that the parser can parse properly. For example:
  <pre>
  SELECT "Student"."sid" from "Student"
  
will become:
  SELECT Student.sid from Student)
  
  • New semantic index implementation with integer references for URIs for faster query answering (faster joins on integers instead of strings)
Ontop source code
  • Ontop is now in GitHub!
  • Cleaner and slimmer project structure. We removed obsolete classes and tests.
  • Code refactor in Materialiser API, MinimalCQProducer and Construct-Describe query execution.
  • More complete test cases for testing Quest features, e.g., Tree-Witness rewriting, Data materialiser, SQL parser, SPARQL Construct, SPARQL Describe, SPARQL Optional, Database metadata and Query completeness.
  • Support JUnit4 test cases.

April 5, 2013 :: Version 1.7-alpha2 (rev 2305)

  • Support for importing/exporting R2RML mappings
  • Support for automated mapping generation as defined by the "Direct Mapping" W3C specification
  • Various options for data materialization (similar to dump-rdf in D2RQ)
  • Support for concurrent queries in the SPARQL endpoint through connection pooling
  • Better support for Oracle, Postgres, SQL Server and DB2
  • Improved the SQL queries generated by Quest by avoiding some operations when unnecessary (e.g., casting), and placing optimally the JOIN conditions in the SQL query.

February 7, 2013 :: Version 1.7-alpha2 (rev 2178)

-ontopQuest-

  • Mapping optimiser: improved the generation of OR mappings
  • Mapping optimiser: improved the simplification of mappings using FOREIGN KEYS
  • Query optimiser: Improved the query optimiser to avoid generation of redundant JOINs and redundant UNIONs w.r.t. FOREIGN KEYs
  • Support percent encoding in strings in URI templates as defined by the R2RML standard.
  • Better propagation of Exception messages in the Sesame provider
  • New scripts for querying quest from the command line
-ontopPro- plugin
  • Introducing mapping assistant. A new GUI-based tool for creating mappings. This is an experimental GUI to help you create mappings in a faster way, please help us improve it by reporting any issues you may find. (See guideliness).
  • Users can set the max number of tuples returned in "OBDA Query" tab.
Mapping language features (-ontopQuest- and -ontopCore-)
  • Support URI identifier obtained directly from the database (no using URI template).
  • Support multiple lines when wrting SQL source query (See feature notes)
Bug fixes
  • Bug fix: Issue with MySQL and UTF8 characters (Korean in particular)
  • Bug fix: Issue with "unbound variable freshX_X found while generating SQL" fixed.
  • Bug fix: Inverse minimum cardinality assertion was being ignored.
  • Bug fix: Source SQL query doesn't accept parenthesis in WHERE clause.
  • Bug fix: JDBC connection doesn't recover when connection lost.
  • Bug fix: Sesame virtual repository fails to read Quest preferences.
  • Bug fix: CSV export function only exports 101 tuples instead of all the tuples.
  • Bug fix: Null pointer exception in the query result table.

December 30, 2012 :: Version 1.7-alpha (rev 2039)

SPARQL support

  • Support for most SPARQL built in functions, e.g., arithmetics, type checking, etc.
  • Support for CONSTRUCT and DESCRIBE result forms
  • Support for OPTIONAL and bound, which allow you to have NEGATION in the usual SPARQL 1.0 style.
  • Support for variables in ANY position, e.g., to allow queries such as SELECT ?p ?v WHERE { ?x :name "John Smith". ?x ?p ?v }
  • Stronger compliance to standard RDF and SPARQL semantics for FILTER expressions

Performance

  • Multiple improvements to the SPARQL-to-rule translation, mapping and TBox optimization algorithms.
  • New algorithm for query rewriting w.r.t. the TBox that increases the performance of query answering by many orders of magnitude when inference w.r.t. to existential constants is enabled. The implementation has been contributed by Dr. Roman Kontchakov.
  • New benchmarks. We tested against Virtuoso triple store, Virtuoso RDF views and D2R Server using the BSBM and FishMark benchmarks.
APIs and Accessibility
  • Completely new Sesame API provider, now users of Sesame can create "Virtual RDF repositories" with -ontop-
  • SPARQL end-point support through integration with Sesame's workbench

Mapping language

  • Improved support for default literal types, now it conforms with the R2RML "Natural Mapping" specification
  • Support for language tags obtained from the DB
  • Proper support for constants in the mappings
  • Proper internal handling of NULL values in the database (as recommended by the R2RML standard)

Database support

  • Restored support for Oracle, DB2 and SQL Server
  • Improved support and performance over MySQL

Documentation

  • Revised and extended all technical documentation

August 16, 2012 :: Version 1.7-alpha (rev 1692)

-ontop- general

  • New file content for the OBDA output file. The file is no longer in XML format but instead it uses plain text for simplicity (Issue: #244).
  • Improved error messages when the system initializes, parses mappings, fails to
execute queries, etc.

-ontopPro- Protege plugin

  • Support Protégé 4.2
  • Add cancel button during query execution to terminate the process immediately.
  • Add help button to guide filling data source parameters.
  • The plugin no longer introduces prefix definitions
  • Implemented "Cancel" function for query execution
  • New shortcut CONTROL + T to test mappings in the mapping creator
  • Fixed several issues with prefix management and rendering of
URIs short forms
  • Improved GUI, hints and suggestions for JDBC connections, improved TAB navigation
in all dialogs
  • Bug fix: Improve error reporting and stack trace printing (Issue: #255, #262)
  • Bug fix: The target and source string got saved partially if newlines are used.
  • Bug fix: The OBDA model doesn't get loaded if the query has an exception.
  • Improved error management during .obda and query file load
  • Fixed null pointer exception and blank window that appear in cases where the .owl file
in OWL/RDF contained different default ns and a default prefix

-ontopQuest- OWL Reasoner

  • Added support for SPARQL query modifiers: ORDER BY, OFFSET and LIMIT (Issue: #261).
  • Add query caching to speed up the system performance, now repeated query execution will not require SQL generation every time.
  • Relaxed on punning checks to allow loading of DBPedia and similar ontologies.
  • EXPERIMENTAL: Added support for mixed ABoxes for class assertions, i.e., most data comes from the mappings but a bit of data is also allowed in the ABox, e.g., global facts Planet('mars')
  • Improved support for MySQL, Postgres, DB2 and SQL Server dialects
  • Added a warnings when axioms are being ignored because of being out of OWL 2 QL
  • Improved error reporting on failed connections
  • Improved support for SQL AS for table and column renaming in mappings
  • New way to generate SQL. SQL now includes typing information and is pretty printed.
  • Bug fix: Fixed issue with INVALID URI that appeared when mappings used data that contained invalid characters for URI's (e.g., white space) Now we call URIEncode (Jena's) before returning the value.
  • Bug fix: Exception when importing data as ABox individuals.
  • Bug fix: Exception when null values is used as constants.
  • Bug fix: Exception if ambiguous column names are used in SQL queries.
  • Bug fix: Wrong URI shorten if there are two or more namespaces with overlapping strings.
  • Bug fix: Null pointer exception due to inconsistent OBDA model identifier string.
  • Bug fix: Unknown signature in the SELECT clause if the name is a qualified name and it comes from a view (Issue: #259)
  • Bug fix: Exception when using URIs as a constant values in SPARQL.
  • Bug fix: Prefix Manager accepts any string including invalid prefix names.
Known issues:
  • The ORDER BY modifier is not ready for columns with literal datatype
  • Issues with MySQL in non-ANSI mode
  • DateTime data properties in Oracle can crash the system.

June 12, 2012 :: Version 1.7-alpha (rev 1529)

-ontopPro- plugin

  • Better layout, fonts and command icons.
  • Better query saving mechanism (Issue: #248)
  • Better error reporting to users and crash handling (Issue: #255, 256)
  • Pretty printing of SQL queries (Issue: #254)
  • Re-enabled the export function in the Query Interface panel (Issue: #213, #250)
  • Improved syntax-error messages in the mapping editor tooltip
  • Cleaned console messages
  • Added "Number of sources" indicator to show how many sources are already declared in the OBDA model.
  • Improved ESC and CONTROL+ENTER shortcuts in most dialogs in the GUI.
  • Replaced JDBC Driver text box with an editable Combo Box with default driver string.
  • Better OBDA statistics table (Issue: #251)
  • Bug fix: CRITICAL stability issue that would rise an end-less cycle of warning messages when Quest crashed.
  • Bug fix: issue with final dot "." in mappings.
-ontopQuest-
  • Added support for data-type UUIDs for SQL Server (Issue: #253)
  • Now we create forward-only and concur-read-only JDBC Statements by default to allow for server side cursors.
  • Bug fix: issue with SQL parser and table renamings in SQL queries (Issue: #259)
  • Bug fix: issue with NULL pointer when primary key optimization in unfolding when there is a join on primary condition but atoms are not unifiable.
Known issues:
  • Oracle is unstable

May 22, 2012 :: Version 1.7-alpha (rev 1479)

Quest performance and features:

  • T-Mappings algorithm optimization: Combine disjunctive conditions in OR clauses instead of multiple mappings. This reduces the size of the final query and improves its performance. (Issue: #237)
Mapping language features (Quest and ontopCore):
  • Support using IS NULL and IS NOT NULL in SQL query (Issue: #200).
  • Support using UNION in SPARQL queries.
Bug Fixes:
  • Fix packing problem in Windows XP (Issue: #228)
  • Fix packing problem in Linux
  • Fix unresponsive plugin when using mapping filter (Issue: #217).
  • Fix unresponsive plugin when inserting a new mapping (Issue: #232).
  • Fix support for MySQL in both virtual and classic mode (Issue: #238).
  • Fix support for Oracle in virtual mode (Issue: #226).
  • Fix issue where creating or modifying a mapping would not trigger a "ontology out of synch" flag.
Known Issue:
  • Oracle still has some issues in classic mode.

May 4, 2012 :: Version 1.7-alpha (rev 1446)

Mapping language features (Quest and ontopCore):

  • Add support on writing qualified name for atom predicates.
  • Add coloring for atoms typed Individual in the target query.
Bug Fixes:
  • Fix the "Show Short URIs" feature in the query panel.

May 2, 2012 :: Version 1.7-alpha (rev 1440)

Mapping language features (Quest and ontopCore):

  • Support writing URI constants in target queries (Issue: #227)
General:
  • Better system logging for recording exceptions.
Bug Fixes:
  • Fix the null pointer exception due to the old OBDA preferences.
  • Fix bugs related to vocabulary prefixes.

April 17, 2012 :: Version 1.7-alpha (rev 1427)

Quest performance and features:

  • Implemented the T-Mappings mapping optimization algorithm improved performance of query rewriting in Virtual Mode. Now query rewriting is as fast in virtual ABox mode as in classic ABox mode (Issue: #169)
  • Implemented a new query containment algorithm that is many times faster than before.
  • Added data source analysis to obtain DB metadata for SQL query generation.
  • Added analysis of SQL queries in the mappings to produce better SQL queries.
  • Added SQL JOIN ELIMINATION using PRIMARY KEY metadata.
  • Added mappings optimization using query containment w.r.t. constraints
  • Added initial support for FILTER
  • Added support for typed constants in SPARQL queries (Issue: #157)
  • Small updates to internal API for speed of equality, hash and clone computation
Mapping language features (Quest and ontopCore):
  • New Turtle-like syntax for mappings allows for more succinct and easy to read mappings.
  • Added support for LANGUAGE tag for the Literal datatype (Issue: #198)
  • Added support for datatypes in the OBDA mapping axioms (Issue: #147, #194, #196)
  • Added URI templates for URI creation in mapping mapping axioms (Issue: #151)
  • New feature for typing literals in mapping axioms (Issue: #194, #207)

General:

  • Added support for OWL API 3 (Issue: #98)
  • Internal refactoring of all modules and packages for a cleaner API
ontopPro:
  • The plugin is now compatible with Protege 4.1 (Issue: #99)
  • The plugin has a new and fresh GUI display.
  • Stronger integration with Protege's refactoring mechanism
  • The ABox materializer can import data complete with datatype information (Issue: #195)
  • The target query use Turtle syntax for better display and management (Issue: #204)
  • The plugin has Class/Property panel for better navigation and filtering.
Bug Fixes:
  • Fixed a problem with the encoding of axioms of the form subClassOf(Person, hasFather some Person)
  • Fixed issues with open and dead JDBC connections
  • Cleaned OWLReasoner synchronization issue
  • Fixed null pointer exceptions related to incorrect mappings
  • Proper error handling for translating an empty datalog program (Issue: #197)
  • Fixed the "Attach Prefixes" feature in the OBDA Query panel (Issue: #211)
  • Fixed issue regarding xsd:dateTime (Issue: #199)

October 19, 2011 :: Version 1.6.1

  • Fast patch in the query translation module.

October 18, 2011 :: Version 1.6

  • Allow fast navigation using TAB key in the new mapping form (Issue: #92)
  • Allow SQL query execution in the mapping tree (Issue: #104)
  • Improvement in the error message deliveries (Issues: #107, #112, #118)
  • Improvement in the data source management tab, including adding "Test Connection" button (Issues: #108, #111, #114)
  • Add OBDA model statistics report (Issues: #106, #117)
  • Add support for adding integrated data source in Teiid (Issue: #89)
  • Fix the unresponsive cancel button during importing OWL Individuals (Issue: #88)
  • Fix CSV header in the exported query result (Issue: #120)
  • Fix connection failure when users change the parameters (Issue: #121)
  • Fix the password field so now the text is hidden (Issue: #113)
  • Fix query selection in the OBDA query tab (Issue: #91)
  • Fix import failure when storing very long record values (Issue: #95)
  • Fix import failure when storing records that contain single quotes (Issue: #96)

July 15, 2011 :: Version 1.5.1-RC1

  • Significant code refactoring in the plugin. This effort makes the code easier to debug and to extend, and is almost ready for Protege 4.1 and OWL-API 3.0 support.
  • Term renaming. Modified the term 'Mapping Head' to 'Target Query' and 'Mapping Body' to 'Source Query' to maintain the consistency with the literature.
  • Temporarly disabled the SPARQL query coloring.
  • Temporarly disabled the 'Load OWL Individuals into DB' functionality.
  • Add improved search filters in the mapping manager (Issues: #37, #54).
  • Add 'show short URIs' option in the query results to hide long URI strings.
  • Add 'select all', 'select none', 'expand all' and 'collapse all' buttons for easy browsing in the mapping tree (Issues: #35, #36).
  • Add mapping validation with respect to the vocabulary in the ontology (Issues: #42).
  • Add input validation to many parts of the GUI (Issues: #63, #64, #65, #67, #68, #69, #70, #71, #76).
  • Fix the save query functionality in the Query manager (Issues: #57).
  • Fix the persistency of user preferences when opening/closing Protege (Issues: #58).
  • Fix the exceptions that appeared when loading/saving/reloading ontologies (Issues: #59, #60, #61, #75).
  • Fix problems with several progress dialogs in the GUI (Issues: #50, #87).
  • Fix problems in the 'tuple count' functionality (Issues: #82, #84).
Clone this wiki locally