aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Implement naive version of 'cycle' as in paperFederico Igne2020-10-231-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' axiomsFederico Igne2020-10-231-5/+34
|
* Add additional tests for T5 axiom rule generationFederico Igne2020-10-231-1/+58
|
* Fix bug in computation of 'cycle' functionFederico Igne2020-10-231-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 computationFederico Igne2020-10-213-5/+23
|
* Temporary remove `roles` from RSAOntologyFederico Igne2020-10-211-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 OWLAPIFederico Igne2020-10-212-17/+23
|
* More details in build.sbt and updated dependenciesStefano Germano2020-10-193-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 computationFederico Igne2020-10-102-14/+70
|
* Fix bug with conflict set computationFederico Igne2020-10-101-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 testingFederico Igne2020-10-091-0/+46
|
* Simplify ProgramGenerator constructorFederico Igne2020-10-094-16/+32
| | | | | If we pass the whole ontology there is no need to also provide the set of unsafe roles.
* Fix problem with testsFederico Igne2020-10-093-11/+11
| | | | Tests where not ported to the new (slightly more generic) interface.
* Complete generation of logic program for the canonical modelFederico Igne2020-10-064-33/+75
|
* Add generation of rules for safe T5 axiomsFederico Igne2020-10-051-4/+139
|
* Implement `cycle()` and `unfold()` methodsFederico Igne2020-10-021-1/+29
|
* Implement `self()` method for the computation of canonical modelsFederico Igne2020-10-021-2/+16
|
* Implement method to find conflicting rolesFederico Igne2020-10-011-5/+39
|
* Add rule generation for unsafe T5 axioms for canonical modelFederico Igne2020-09-307-34/+88
|
* Add generation for forward/backwards rulesFederico Igne2020-09-251-5/+34
|
* Add skeleton for canonical model generationFederico Igne2020-09-241-0/+57
|
* Add method to parse a string into a QueryFederico Igne2020-09-233-14/+16
| | | | This is using `SPARQLParser`, an undocumented class provided by JRDFox
* Add method to compute the set of individuals in an input ontologyFederico Igne2020-09-221-3/+7
|
* Fix RDFox query execution helperFederico Igne2020-09-222-6/+19
|
* Add method to compute a query's bounded varsFederico Igne2020-09-221-2/+20
|
* Update and comment some testsFederico Igne2020-09-102-201/+228
| | | | | | With the introduction of the fresh variable generator it is harder to test axiom conversion because we would need to define a custom equality method that doesn't take particular variables into account.
* Use `App` trait instead of `main` functionFederico Igne2020-09-101-44/+38
|
* Add first attempt at retrieving all constants in an ontologyFederico Igne2020-09-091-1/+8
|
* Rename functions to follow Scala naming conventionsFederico Igne2020-09-091-4/+4
|
* Move reifing code under `FilteringProgram` classFederico Igne2020-09-093-113/+96
|
* Add full set of rules for filtering programFederico Igne2020-09-084-102/+363
|
* Add functions to detect class/role assertionsFederico Igne2020-09-081-14/+43
|
* Introduce naive fresh variable generatorFederico Igne2020-09-075-35/+45
|
* Fix SKOLEM function callFederico Igne2020-09-071-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 programFederico Igne2020-09-076-48/+261
| | | | | 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 acyclicityFederico Igne2020-08-191-40/+44
|
* Generalise prefixesFederico Igne2020-08-193-35/+21
|
* Use `rdf(..)` instead of `create(..)` to create `Atom`sFederico Igne2020-08-196-58/+76
|
* Add simple examplesFederico Igne2020-08-171-1/+2
|
* Automate query evaluation in RDFoxUtilFederico Igne2020-08-172-14/+34
|
* Add code to access query answers programmaticallyFederico Igne2020-08-161-12/+10
|
* Include built-in rules in RSA checkFederico Igne2020-08-164-112/+214
|
* Fix role unsafety checkFederico Igne2020-08-112-7/+8
| | | | | We now check that the existential expression in the axiom of type T3 is not top.
* Add code to communicate with a local RDFox instanceFederico Igne2020-08-112-3/+61
|
* Add condition 2 for role unsafety detectionFederico Igne2020-08-081-15/+30
|
* Add unsafety check for ontology rolesFederico Igne2020-08-062-132/+142
| | | | | | 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 filesFederico Igne2020-08-065-167/+335
| | | | | This has been done to better accommodate the code to detect all unsafe roles in an ontology.
* Adapt LP conversion to RSA checkFederico Igne2020-08-044-28/+68
| | | | | | Part of the process involves the search of unsafe roles in the input ontology. This is still to be implemented and for now the set of unsafe roles for the testing example is hardcoded.
* Add DL renderer for input rulesFederico Igne2020-08-034-17/+55
|
* Update to JRDFox v3.1.0Federico Igne2020-07-167-57/+62
|