-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question - Does Graal allow negating facts/rules? #8
Comments
Hi csavelief, Does that meet your needs? |
It might. For now, I cannot make it run on my example above without throwing a I tried to replace Thank you anyway! |
I just tried, the set of rules and the set of facts must be in two separate files.
Ok, it doesn't work very well. I will have a look as soon as possible. |
The tool seems to correctly compute the rule set stratification but does not apply the rules correctly… You can look at ASP tools (Answer Set Programming) for tools that manage negations, there is a list of tools on the Wikipedia page https://en.wikipedia.org/wiki/Answer_set_programming |
I tried Potassco and it is working fine on the previous example. Thank you! Unfortunately, we will not be able to use it because our factbase is constantly changing and we cannot spend our time regenerating |
We are interested by any use cases of Graal, can you tell us more about yours? Do you use forward or backward chaining? Do you use the rule set analyzer (Kiabora)? Do you use existential variables in your rules? |
To be honest, we are not that much interested in using another triple store as our factbase. Accumulo allows us to manage sensitive facts in such a way that the same Ontology applied to the same factbase will yield different results according to the user's ACL. We already extend Our architecture looks like this : Our collection process is way more complicated than the one above, but you get the idea. Our use case is to allow users to perform both simple queries (i.e. keyword search) and "bang queries" (ala DuckDuckGo) at the same time with the "bang queries" resorting to an Ontology. For example, |
I watched this lecture and from what I understand there is no negation in Graal in order to lower queries complexity. Am-I correct? Furthermore, I seem to understand that there is a kind of duality between the existential framework and graphs. Did you try to rewrite conjunctive queries as GraphBLAS (see this book for details) operations? |
Hi, indeed "full" negation (ASP) increases the queries complexity however stratified one does not. If you want to manage "full" negation, you have to reason with multiple possible worlds but if you can stratify your rule set (compute a pre-order over rules in which you will never produce a "predicate" negated in a previous rule hypothesis) then you have no over-cost (except the computing of the pre-order but it can be pre-computed once). About your second point, yes "fact base" can be seen as a graph (or an hyper-graph) but not, we does not try to implement conjunctive queries as GraphBLAS operations. |
Hi,
I was wondering if Graal was allowing the negation of facts/rules:
The text was updated successfully, but these errors were encountered: