4 ms·
I share your wish that there were materials that more clearly mapped between these concepts. There's several implicated but separate concerns: - A syntax for
by lukev 3y ago
I share your wish that there were materials that more clearly mapped between these concepts. There's several implicated but separate concerns:
- A syntax for expressing data or rules
- A semantics for data
- A semantics for logic (e.g. a logical formalization)
- A specific set of logical axioms & rules
- An algorithm for executing a logic program
- A storage system for facts/data
- A query system for facts/data
Most of the things you mention are a bundling of some or all of the above concepts. This makes sense because it's easier to provide working implementations that way.
Some systems offer a limited amount of pluggability or alternative implementations for the same concept (e.g, different "solvers" for OWL.)
But I find that there's a pronounced lack of shared formalisms (or even shared knowledge) even around things that logically should be pretty convergent. Especially if they come from different domains originally (logic programming vs. theorem proving vs. constraint programming vs. database theory, for example.)