Skip to content
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

Disallowing literals and blank nodes in predicate position makes logic incomplete #2

Open
doerthe opened this issue Oct 9, 2017 · 0 comments

Comments

@doerthe
Copy link

doerthe commented Oct 9, 2017

By not allowing literals and blank nodes in predicate position we get the problem that the we can write rules and triples which in "traditional n3" get a result while in this implementation they don't.
Consider the triples:
:a :b "c". :a :b _:x.
and the rule
{:a ?b ?c}=>{?:a ?c ?b}.

This is all valid N3. But applying this rule to the triples would lead to
:a "c" :b. :a _:x :b.
Which could not be parsed by carl.

To guarantee that all output of EYE can be parsed by carl we either need to adapt the semantics of N3 as supported by the reasoner or allow those cases in carl.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants