SoftFacts is an ontology mediated database system. An ontology layer may be used to define (in terms of a DLR-Lite like description logic, an extension of DL-Lite) the relevant abstract concepts and relations of the application domain, while a database may be used to access large volumes of data. The supported databases are, so far, MySQL, Postgres and RankSQL (for top-k retrieval). It supports also a significant set of OWL QL profile language expressions via the SoftFacts tab for OWL editor Protégé.
SoftFacts's most interesting features are:
Extended DLR-Lite and, thus, DL-Lite: as logical language for schema/ontology specification.
Conjunctive Queries: as query language
Relational Database: data is stored into relational database
Top-k Query Answering: Supports top-k retrieval (find top-k scored tuples satisfying query), e.g. "find cheap hotels close to the train station", where cheap and price are a function of the distance and price, respectively.
Retrieve the top-5 ranked tuples (id, location, duration), whose score is evaluated according to the right-shoulder function rs(?z, 3,5), i.e. I'm completely satisfied if the job duration is at least 5 years, but I can go down to 3 years to a lesser degree of satisfaction.
Retrieve the top-10 ranked tuples (id, location, duration, salary), whose score is evaluated according to rs(?z, 3,5)*0.4 + rs(?s, 30000,35000)*0.6, i.e. a linear combination of the degree of satisfaction related to the duration and the salary of the job. The salary has more importance than the duration.
Typical functions to be used for scoring are the so-called left-houlder and right-shoulder function, but can be any user defined arithmetic function.