Continuing to build on some thoughts. Again, this is a stream of consciousness information dump.
I am trying to figure out what you can do with semantics once they have been expressed and what sort of software you would use to do what you might want to do. This blog post says the following:
A semantic reasoner, reasoning engine, rules engine, or simply a reasoner, is a piece of software able to infer logical consequences from a set of asserted facts or axioms. The notion of a semantic reasoner generalizes that of an inference engine, by providing a richer set of mechanisms to work with. The inference rules are commonly specified by means of an ontology language, and often a description language. Many reasoners use first-order predicate logic to perform reasoning; inference commonly proceeds by forward chaining and backward chaining.
This web site, Introduction to Ontologies and the Semantic Web is useful.
This PDF, An Introduction to the Semantic Web, is likewise very useful.
This post on some math news list helps understand differences between first-order logic and second-order logic. The Stanford Encyclopedia of Philosophy describes first-order logic and second-order logic here as (in essence):
- First-order logic: Deals with objects in a domain.
- Second-order logic: Deals with properties of objects in a domain.
Propositional logic, or statement logic, is the branch of logic that studies ways of joining and/or modifying entire propositions, statements or sentences to form more complicated propositions, statements or sentences, as well as the logical relationships and properties that are derived from these methods of combining or altering statements.
A statement can be defined as a declarative sentence, or part of a sentence, that is capable of having a truth-value, such as being true or false.
More to come...