Naive RDF semantics

IGNORE OMISSIONS like blank node notation, literals, and verbs in noun positions for now.

Trying on for size: meaning instead of referent, definition instead of documentation/declaration/spec, define instead of establish, dictionary instead of Web/apparatus ...

What does a URI mean? How does one judge the truth of a statement written in RDF?

JAR's naive theory of language, belief, and truth
The overall program here is a sequence proceeding from empirical evidence, to logically proven statements, to acceptance of statements from trusted sources.

Ground truth
Experiment: an activity, conducted by an agent, whose outcome is to 'succeed' or 'fail', such that the independent of which agent performs it. (I.e. if an agent impinges on the world in such and such a way, the question of whether such and such might happen.) Not all agents have the capacity to conduct all experiments, and as there may be some cost in conducting one, any given agent will not have conducted every experiment that it can.

Statement: Sequence of words terminated by a full stop.

Ground language: a partial association between statements and experiments.

Ground statement: statement in the ground language.

Ground truth: A ground statement for which the corresponding experiment, conducted by any agent, would succeed.

Empirically check: given a ground statement, perform the associated experiment. (Not always possible, per above.)

Truth and meaning
Logical system: deduction rules, deducibility, proof theory, model theory, entailment...

Truth: statement entailed (according to an agreed sound logical system) by ground truths.

Establish: for an agent to prove via experiment and deduction. (? not quite right)

Meaning (of a statement): the set (or a set?) of experiments whose successful outcomes would collectively be necessary and sufficient to establish the statement.

Belief
Agents can believe things that aren't true. While this practice may be risky, it sometimes pays off in the form of reductio ad absurdum or another kind of discovery.

Belief: A statement that an agent would be willing to say under the right circumstances (e.g. in answer to a question) without performing experiments or deductions. We can assume that an agent believes statements that it has established, perhaps as part of our definition of agent; or else pepper the following account with qualifiers about agents "not in denial" or something.

Know (a statement): to believe a statement by virtue of having established it.

Deduce: For an agent to obtain a statement by applying deduction rules to its beliefs. We can assume that an agent believes any statement that it itself deduces, at least until it forgets it or has reason to change its mind.

Check: Use deduction and experiment in an attempt to justify a statement from prior beliefs.

Skeptical: Believes only what it has established. (? justified ?)

Communication
Source: Something from which statements originate. (examples: agent, document, dbms)

Sink: Something that can receive a statement and tranform it into action. (examples: agent, printer, remote-controlled car)

Transmit: Carry a statement from a source to a sink.

What might an agent do with a received statement? Attempt to establish its truth, recognizing that this may come at some cost (time, $, fitness). Then, if believed, act in other ways - e.g. if I believe there is a wolf in the room, I might leave the room.

Trust (another agent): the degree to which one is disposed to believe what the agent says; the amount Bob would be willing to bet that what Alice says is true. Note that a statement that's believed by an agent at one time may not be believed at another, so trust, while risky, does not imply helplessness.

Document: A source that always sends the same statement (s). (Random access maybe? tamper-evident maybe?)

(varying document / document source: sends new docs on demand)

Provenance: Reason for believing a received statement: who sent it, trust level, when ?

RDF as language
RDF is a language. Its words are URIs. Some of its words are verbs; the rest are nouns.

Its grammar is
 * statement ::= noun verb noun.

It has a large and steadily growing vocabulary of URIs. There's a thorough dictionary (URI documentation protocol) that, like any dictionary, is advisory. The dictionary plays both normative and descriptive roles. (By normative I mean: someone is asking us to use a URI in some way; by descriptive I mean that someone says that the URI is being used in a certain way.)

The dictionary is really two dictionaries, one for nonnative speakers (like us) and one for native speakers (automata). Sometimes one or the other kind of entry is missing.

Here is the naive semantics of a statement:

To find out whether a statement is true, first translate the nouns into definite ("the", not "a") singular noun phrases in your favorite language, and the verb into a transitive-verb-phrase-like template of the form
 * --- relates somehow to ---

by consulting the dictionary entries of the three words. Put the two noun phrases, in order, into the blanks. Check that what you end up with makes sense, rewriting if necessary for grace and flow. The meaning of the result is the meaning of the original RDF -- according to the dictionary, at least.

The naive semantics of a dictionary entry:

If the entry contains a falsifiable statement, it is suspect. If the entry doesn't agree with something already believed (perhaps as the result of believing a dictionary entry), then keep it at arm's length. But if it says something that is harmless to believe - if the new things it lets you say all stick close to that URI, and don't include things that would have expected to have been able to conclude before you had read the entry - then why not humor the entry's author, and take the definition as axiomatic (fiat)? What harm could it do?

Q&A
What about logical semantics?

I say naive semantics to distinguish from the normative logical semantics given in Pat Hayes's report, which is quite a different beast.

How do the naive and logical semanticses relate? If Pat's document is sound, then one would hope that anyone to whom it might matter would agree that the logical entailments of statements that express what we believe to be true are themselves true. That is, one should take an entailed statement as true if and only if you think that the logical machinery is sound.

Remember that truth is ultimately unknowable and we are all fallible. Just because we think something's true doesn't mean it is. Every scientist knows this and is prepared to backtrack. The real question is where do you put your money - what experiments you do, how you spend your time.

Does truth matter?

Good question. Deductions are relative to what we say, and what we say is always an approximation to truth, either by necessity or by expedience. We use inference engines to create new hypotheses, and then act on those hyptheses in various ways - be verifying them, by using them to guide experiment, or by applying them to therapy or engineering. Truth does matter, but not so much that its inaccessibility should paralyze us.

Can the dictionary be wrong?

A dictionary entry endeavors to cause certain statements that were formerly meaningless (because the URI was undefined) to become true by fiat. This is how the new URI gets its meaning - by having certain things become true of it at birth. If these statements are somehow controversial - well that could only happen if they were meaningful, and they weren't meaningful because the word wasn't defined, so what's the problem?

A dictionary entry containing false statements not related to the heretofore unconjured meaning is obviously suspect, and should be fixed or deprecated.

A dictionary entry can be discovered to be internally inconsistent - that is, no meaning can be given to the URI that makes the entry true. This means that those who have used the entry to attempt to understand the use of a URI may have drawn incorrect conclusions, possibly with dire consequences. C'est la vie. We repair the damage and fix the dictionary - by adding an annotation that there was an error, an explanation of what it was, and a judgment (based on an assessment of how the URI is in use) as to whether the entry should be deprecated or preserved with a new, presumably consistent, definition.

Does it ever make sense to change the dictionary?

In the case of inconsistencies, yes, see above.

But there is also the possibility of drift. As a result of subtle confusions, propaganda, politics, or factors unknown, the URI could come into use with a meaning at variance with what the dictionary says.

The dictionary should be changed, as any dictionary should. Over the centuries, English language dictionaries have piled on one after another definition of the word "nice". A good dictionary will give examples and dates for each sense. A good RDF dictionary would do the same thing.

If the multiplicity of sense actually masks an underlying unity, that should be noted. If senses can be teased apart and given separate neo-URIs, that should be done. If semantical problems remain, they should be noted and left as a warning to all who follow.

There is no magic here. The point is to use the abundance of URIs to avoid overloading, and the Web-dictionary to communicate, learn, and stabilize intended use and to track practice (if necessary).

Communication is a game whose successful outcome might be beneficial to both sender and receiver. Give it a try.