| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
| |
This was causing problems without giving any significant advantage. Now
it will be easier to refactor classes like RSA, RSAOntology,
CanonicalModel.
|
| |
|
|
|
|
| |
This commit comes with minor fixes and code simplifications.
|
|
|
|
|
| |
This is a WIP implementation of a generalized way of handling IRI
suffixes. It is not currently used everywhere.
|
| |
|
|
|
|
|
| |
They were loading the wrong example file since we switched to Turtle
format.
|
| |
|
|
|
|
|
|
| |
Now NAMED is introduced during the canonical model computation, while
NI instances are computed and introduced in the filtering program
generation phase.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Also a small step into generalizing the concept of suffix
|
|
|
|
|
| |
The difference between NAMED and NI facts still needs to be clarified
but this is the implementation closest to the paper description.
|
| |
|
|
|
|
|
| |
This is temporarily required while we reorganize the way suffixes for
roles are handled.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Personally it is better documented, easier to read and to write.
|
|
|
|
|
| |
The informal definition provided by the paper in wrong, and it turns out
`notIn` just means "not in".
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Variables where generated as IRI.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
The committed tests will fail, but the reason is still not clear.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
| |
If we pass the whole ontology there is no need to also provide the set
of unsafe roles.
|
|
|
|
| |
Tests where not ported to the new (slightly more generic) interface.
|