User:Rcygania2/Semantics Intro

From RDF Working Group Wiki
Jump to: navigation, search

The text below was written as a subsection of the RDF Concepts introduction, in order to explain the role of the Semantics document. It turned out too long, detailed and fluffy for that purpose. It is kept here as it may come in handy once we have an Editor's Draft of the updated Semantics document; perhaps a phrase or two may improve the introduction of that document.

Equivalence, Entailment and Inconsistency

An RDF triple encodes a statement—a simple logical expression, or claim about the world. This notion is easily extended: An RDF graph is the conjunction (logical AND) of its triples, and the conjunction of two RDF graphs is their merge.

The treatment of RDF graphs as logical expressions is normatively defined, using the formalism of Model Theory, in the RDF Semantics specification [RDF-MT], and yields various relationships between RDF graphs:

Entailment: An RDF graph A entail another RDF graph B if every possible arrangement of things in the world that makes A true also makes B true. If the truth of A is presumed or demonstrated, then the truth of B can be inferred.

Equivalence: Two RDF graphs A and B are equivalent if they make the same claim about the world. A is equivalent to B if and only if A entails B and B entails A.

Inconsistency: An RDF graph is inconsistent if it contains an internal contradiction. There is no possible arrangement of the world that would make the expression true.

These logic conditions are defined with respect to an entailment regime and a datatype map. This allows for extensibility. RDF itself recognizes some trivial conditions. Other specifications, such as RDF Schema [RDF-SCHEMA] and OWL 2, [OWL2-OVERVIEW], add more powerful entailment regimes that support the detection of more complex logical relationships and inconsistencies in information. So do domain-specific vocabularies.

This extensibility mechanism support partial understanding: Information that is not understood (e.g., is expressed in a domain vocabulary not known to the application) can be ignored without affecting other information, and more powerful entailment regimes can be defined in a way that does not invalidate the relationships recognized by weaker ones.

This specification does not constrain how implementations use the logical relationships defined by entailment regimes. Implementations may or may not detect inconsistencies, and may make all, some or no entailed information available to users.