Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Reorganize project with Java-like folder structure | Federico Igne | 2020-11-18 | 1 | -378/+0 |
| | |||||
* | Change IRI prefix for internal resources | Federico Igne | 2020-11-18 | 1 | -8/+4 |
| | |||||
* | Rework RSA as a utility object | Federico Igne | 2020-11-18 | 1 | -11/+20 |
| | |||||
* | Remove implicit RSAOntology conversion | Federico Igne | 2020-11-17 | 1 | -643/+308 |
| | | | | | | This was causing problems without giving any significant advantage. Now it will be easier to refactor classes like RSA, RSAOntology, CanonicalModel. | ||||
* | Rework suffixes | Federico Igne | 2020-11-16 | 1 | -20/+22 |
| | | | | | This is a WIP implementation of a generalized way of handling IRI suffixes. It is not currently used everywhere. | ||||
* | Change "internal:" prefix to "rsa:" | Federico Igne | 2020-11-16 | 1 | -15/+15 |
| | |||||
* | Fix tests | Federico Igne | 2020-11-14 | 1 | -0/+1 |
| | | | | | They were loading the wrong example file since we switched to Turtle format. | ||||
* | Fix NI predicate computation | Federico Igne | 2020-11-14 | 1 | -11/+16 |
| | | | | | | Now NAMED is introduced during the canonical model computation, while NI instances are computed and introduced in the filtering program generation phase. | ||||
* | 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. | ||||
* | 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. | ||||
* | Generalize axiom hashing for constant generation | Federico Igne | 2020-11-10 | 1 | -11/+12 |
| | |||||
* | 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". | ||||
* | Rework canonical model computation | Federico Igne | 2020-11-06 | 1 | -55/+276 |
| | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | Update code to RDFox v4.0 | Federico Igne | 2020-11-05 | 1 | -2/+9 |
| | |||||
* | Adapt test to new `cycle` method | Federico Igne | 2020-10-28 | 1 | -3/+5 |
| | |||||
* | 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. | ||||
* | 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 | 1 | -2/+7 |
| | |||||
* | 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. | ||||
* | Add some tests for canonical model computation | Federico Igne | 2020-10-10 | 1 | -1/+1 |
| | |||||
* | 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). | ||||
* | Simplify ProgramGenerator constructor | Federico Igne | 2020-10-09 | 1 | -1/+1 |
| | | | | | If we pass the whole ontology there is no need to also provide the set of unsafe roles. | ||||
* | Complete generation of logic program for the canonical model | Federico Igne | 2020-10-06 | 1 | -1/+33 |
| | |||||
* | 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 | 1 | -2/+3 |
| | |||||
* | 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 | 1 | -0/+8 |
| | |||||
* | Add first attempt at retrieving all constants in an ontology | Federico Igne | 2020-09-09 | 1 | -1/+8 |
| | |||||
* | Rename functions to follow Scala naming conventions | Federico Igne | 2020-09-09 | 1 | -4/+4 |
| | |||||
* | Move reifing code under `FilteringProgram` class | Federico Igne | 2020-09-09 | 1 | -100/+3 |
| | |||||
* | Add full set of rules for filtering program | Federico Igne | 2020-09-08 | 1 | -100/+5 |
| | |||||
* | Add functions to detect class/role assertions | Federico Igne | 2020-09-08 | 1 | -14/+43 |
| | |||||
* | Introduce naive fresh variable generator | Federico Igne | 2020-09-07 | 1 | -4/+4 |
| | |||||
* | Fix SKOLEM function call | Federico Igne | 2020-09-07 | 1 | -1/+3 |
| | | | | | | The first argument of the function call has to be a string. Here we use the atom IRI string. Since arguments need to be `BuiltinExpression`s, we use a XSD_STRING `Literal` to represent it. | ||||
* | Add setup code to compute the RSA filtering program | Federico Igne | 2020-09-07 | 1 | -2/+163 |
| | | | | | Not all rules of the filtering program have been implemented, but the code for the generation and reification of the rules seems to work. | ||||
* | Add check for RSA graph acyclicity | Federico Igne | 2020-08-19 | 1 | -40/+44 |
| | |||||
* | Generalise prefixes | Federico Igne | 2020-08-19 | 1 | -28/+5 |
| | |||||
* | Use `rdf(..)` instead of `create(..)` to create `Atom`s | Federico Igne | 2020-08-19 | 1 | -11/+17 |
| | |||||
* | Add simple examples | Federico Igne | 2020-08-17 | 1 | -1/+2 |
| | |||||
* | Automate query evaluation in RDFoxUtil | Federico Igne | 2020-08-17 | 1 | -14/+12 |
| | |||||
* | Add code to access query answers programmatically | Federico Igne | 2020-08-16 | 1 | -12/+10 |
| | |||||
* | Include built-in rules in RSA check | Federico Igne | 2020-08-16 | 1 | -21/+74 |
| | |||||
* | Fix role unsafety check | Federico Igne | 2020-08-11 | 1 | -4/+1 |
| | | | | | We now check that the existential expression in the axiom of type T3 is not top. | ||||
* | Add code to communicate with a local RDFox instance | Federico Igne | 2020-08-11 | 1 | -3/+37 |
| | |||||
* | Add condition 2 for role unsafety detection | Federico Igne | 2020-08-08 | 1 | -15/+30 |
| | |||||
* | Add unsafety check for ontology roles | Federico Igne | 2020-08-06 | 1 | -81/+39 |
| | | | | | | The current implementation is still a first attempt and by far not the most effective. It is still missing some corner cases and extensive testing. | ||||
* | Refactor code into different files | Federico Igne | 2020-08-06 | 1 | -0/+148 |
This has been done to better accommodate the code to detect all unsafe roles in an ontology. |