you mention a " eats " relationship, but in the turtle example it's "turtles #eat kelp" - is there some way to unify the #eats in "tom #eats pizza" with the #eat in "turtles #eat kelp"?
There is not. I would like to introduce a " and are synonyms" template, such that relationships using it get special treatment, like "_ #is transitive" relationships do.
(And similarly for "turtles" and "a turtle" in eg "alice #has a turtle" + "turtles #eat kelp", etc?)
In that case yes: to distinguish "a turtle" from "turtle", you can divide it into "#a turtle". Such fine-grained data has the advantage that you can really let the system know what you mean. "turtles #eat kelp", after all, is ambiguous. It really needs a qualifier on turtles -- either some turtles or every turtle eats kelp.
That begs the question: Can the system infer from "turtles #eat kelp" that "a turtle #eat kelp"? It can't. I would like to implement first-order rules of inference.
(This issue began as an email.)
There is not. I would like to introduce a " and are synonyms" template, such that relationships using it get special treatment, like "_ #is transitive" relationships do.
In that case yes: to distinguish "a turtle" from "turtle", you can divide it into "#a turtle". Such fine-grained data has the advantage that you can really let the system know what you mean. "turtles #eat kelp", after all, is ambiguous. It really needs a qualifier on turtles -- either some turtles or every turtle eats kelp.
That begs the question: Can the system infer from "turtles #eat kelp" that "a turtle #eat kelp"? It can't. I would like to implement first-order rules of inference.