Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix NI predicate computation | Federico Igne | 2020-11-14 | 4 | -37/+76 |
| | | | | | | Now NAMED is introduced during the canonical model computation, while NI instances are computed and introduced in the filtering program generation phase. | ||||
* | Add diagnostic queries along main query | Federico Igne | 2020-11-13 | 1 | -26/+83 |
| | |||||
* | Add first implementation of top and equality axiomatization | Federico Igne | 2020-11-13 | 1 | -2/+58 |
| | | | | | | This is a first stab of the axiomatization. For equality we are deriving owl:sameAs triples (not ideal) and did not yet introduced "substitution" rules. | ||||
* | Simplify role extraction from axioms | Federico Igne | 2020-11-13 | 1 | -58/+18 |
| | | | | | | | | The previous implementation was using the visitor pattern suggested by the OWLAPI. This was buggy for some reasons and resulting in runtime exceptions (probably due to the complex class tree of the API). In Scala using type pattern matching results in a shorter and more readable way of traversing an AST. | ||||
* | Fix suffix generation in filtering program | Federico Igne | 2020-11-13 | 2 | -15/+15 |
| | | | | Also a small step into generalizing the concept of suffix | ||||
* | Add NAMED facts to filtering program | Federico Igne | 2020-11-12 | 1 | -1/+2 |
| | | | | | The difference between NAMED and NI facts still needs to be clarified but this is the implementation closest to the paper description. | ||||
* | Remove debug output | Federico Igne | 2020-11-10 | 1 | -1/+0 |
| | |||||
* | Add missing rule generated per role | Federico Igne | 2020-11-10 | 1 | -0/+43 |
| | | | | | This is temporarily required while we reorganize the way suffixes for roles are handled. | ||||
* | Fix SKOLEM call creation during function skolemization | Federico Igne | 2020-11-10 | 2 | -8/+20 |
| | | | | | The first argument of a SKOLEM call needs to be a literal string. Note that this is not enforced in any way by RDFox, that will fail silently. | ||||
* | Generalize axiom hashing for constant generation | Federico Igne | 2020-11-10 | 3 | -12/+44 |
| | |||||
* | Improve query pretty printing | Federico Igne | 2020-11-10 | 1 | -1/+1 |
| | |||||
* | Add OWLClassAssertionAxiom to axioms handled during translation | Federico Igne | 2020-11-10 | 1 | -1/+22 |
| | |||||
* | Expose ABox in RSAOntology class | Federico Igne | 2020-11-10 | 1 | -2/+9 |
| | |||||
* | Fix `notIn` implementation in canonical model | Federico Igne | 2020-11-09 | 1 | -17/+18 |
| | | | | | The informal definition provided by the paper in wrong, and it turns out `notIn` just means "not in". | ||||
* | Simplify reification process and add negation reification | Federico Igne | 2020-11-09 | 2 | -68/+42 |
| | |||||
* | Update canonical model unit tests | Federico Igne | 2020-11-06 | 1 | -11/+11 |
| | |||||
* | Rework canonical model computation | Federico Igne | 2020-11-06 | 3 | -323/+332 |
| | | | | | | | | | | | | | | | | | | | | This is a first attempt to avoid a bug triggered by the nature of the class RSAOntology and CanonicalModel. An OWLOntology is converted implicitly to an RSAOntology object whenever it is needed. From within the RSAOntology class we used to create a CanonicalModel object (and pass the underling OWLOntology object as a parameter). Inside CanonicalModel we require RSAOntology functionalities from the OWLOntology, triggering a new conversion into RSAOntology (that would compute a new CanonicalModel and so on in a loop). While declaring the CanonicalModel as lazy in RSAOntology could solve the problem, it does not fix the underlying issue of having a class strictly related to RSAOntology as a top level class. As a first attempt we moved CanonicalModel as an object inside RSAOntology. | ||||
* | Fix bug in the filtering program generation | Federico Igne | 2020-11-06 | 1 | -4/+4 |
| | | | | Variables where generated as IRI. | ||||
* | Update tests to RDFox v4.0 | Federico Igne | 2020-11-05 | 6 | -306/+313 |
| | |||||
* | Update code to RDFox v4.0 | Federico Igne | 2020-11-05 | 11 | -172/+247 |
| | |||||
* | Simplify prettyprinting of queries in test | Federico Igne | 2020-11-02 | 1 | -8/+8 |
| | |||||
* | Update duplicate test queries | Federico Igne | 2020-11-02 | 1 | -17/+93 |
| | |||||
* | Introduce workaround to RDFox Query parsing bug | Federico Igne | 2020-11-02 | 1 | -113/+246 |
| | | | | | | For now we are building queries manually. This allows us to work on testing the modules involved but it would be nice to have the bug fixed later on. | ||||
* | Add partial unit tests for filtering program computation | Federico Igne | 2020-10-29 | 3 | -4/+178 |
| | | | | The committed tests will fail, but the reason is still not clear. | ||||
* | Add unit tests for example2.owl for the canonical model computation | Federico Igne | 2020-10-28 | 2 | -4/+153 |
| | |||||
* | Adapt test to new `cycle` method | Federico Igne | 2020-10-28 | 2 | -17/+29 |
| | |||||
* | Implement naive version of 'cycle' as in paper | Federico Igne | 2020-10-23 | 1 | -17/+54 |
| | | | | | | | | | | | | This implementation is more closely related to the paper definition of 'cycle'. The initial implementation was an improvement on the generation of the logic program (but not necessarely on the Datalog engine side) because it generate far fewer new constants. We decided to stick with the naive version to be as close as possible to the paper description. This temporarely breaks some tests. | ||||
* | Add tests for 'subObjectPropertyOf' axioms | Federico Igne | 2020-10-23 | 1 | -5/+34 |
| | |||||
* | Add additional tests for T5 axiom rule generation | Federico Igne | 2020-10-23 | 1 | -1/+58 |
| | |||||
* | Fix bug in computation of 'cycle' function | Federico Igne | 2020-10-23 | 1 | -1/+5 |
| | | | | | | | The ordering among triples that 'cycle' use to introduce new individuals is considering only triples involving safe roles. This was not the case for us and triples with unsafe roles where considered towards the generation of logic rules. | ||||
* | Fix bug in conflict set computation | Federico Igne | 2020-10-21 | 3 | -5/+23 |
| | |||||
* | Temporary remove `roles` from RSAOntology | Federico Igne | 2020-10-21 | 1 | -7/+7 |
| | | | | | This is not needed at the time of writing. Also it is not clear why I decided to instantiate it with the RBox roles only. | ||||
* | Fix issue with introduction of new version of OWLAPI | Federico Igne | 2020-10-21 | 2 | -17/+23 |
| | |||||
* | More details in build.sbt and updated dependencies | Stefano Germano | 2020-10-19 | 3 | -6/+13 |
| | | | | | While updating the dependencies, I noticed that v3.2 of scalatest is very different from v3.1 (https://www.scalatest.org/release_notes/3.2.0). Therefore, I also needed to update the test files. But, there is a "too many arguments" error that needs to be solved (I do not know why it was working before). | ||||
* | Add some tests for canonical model computation | Federico Igne | 2020-10-10 | 2 | -14/+70 |
| | |||||
* | Fix bug with conflict set computation | Federico Igne | 2020-10-10 | 1 | -8/+7 |
| | | | | | | Conflicting roles w.r.t. to an input role where initially searched among the roles named in the ontology. This excludes all those roles that are only implicitly part of an ontology (e.g., inverse of named roles). | ||||
* | Add skeleton file for CanonicalModel testing | Federico Igne | 2020-10-09 | 1 | -0/+46 |
| | |||||
* | Simplify ProgramGenerator constructor | Federico Igne | 2020-10-09 | 4 | -16/+32 |
| | | | | | If we pass the whole ontology there is no need to also provide the set of unsafe roles. | ||||
* | Fix problem with tests | Federico Igne | 2020-10-09 | 3 | -11/+11 |
| | | | | Tests where not ported to the new (slightly more generic) interface. | ||||
* | Complete generation of logic program for the canonical model | Federico Igne | 2020-10-06 | 4 | -33/+75 |
| | |||||
* | Add generation of rules for safe T5 axioms | Federico Igne | 2020-10-05 | 1 | -4/+139 |
| | |||||
* | Implement `cycle()` and `unfold()` methods | Federico Igne | 2020-10-02 | 1 | -1/+29 |
| | |||||
* | Implement `self()` method for the computation of canonical models | Federico Igne | 2020-10-02 | 1 | -2/+16 |
| | |||||
* | Implement method to find conflicting roles | Federico Igne | 2020-10-01 | 1 | -5/+39 |
| | |||||
* | Add rule generation for unsafe T5 axioms for canonical model | Federico Igne | 2020-09-30 | 7 | -34/+88 |
| | |||||
* | Add generation for forward/backwards rules | Federico Igne | 2020-09-25 | 1 | -5/+34 |
| | |||||
* | Add skeleton for canonical model generation | Federico Igne | 2020-09-24 | 1 | -0/+57 |
| | |||||
* | Add method to parse a string into a Query | Federico Igne | 2020-09-23 | 3 | -14/+16 |
| | | | | This is using `SPARQLParser`, an undocumented class provided by JRDFox | ||||
* | Add method to compute the set of individuals in an input ontology | Federico Igne | 2020-09-22 | 1 | -3/+7 |
| | |||||
* | Fix RDFox query execution helper | Federico Igne | 2020-09-22 | 2 | -6/+19 |
| |