Re: rdf semantics and timelessly true

On 15 Nov 2012, at 08:25, Ross Horne <> wrote:

> Hi All,
> I mentioned this a couple of years ago to Pat, so I know he disagrees..
> Many of these problem with context come from assigning truth values to
> RDF triples. Of course, this is possible in classical logic. However,
> if we free ourself from classical logic, assigning truth values
> without a context makes little sense.

It helps to move to modal logic to solve this problem. David Lewis has
developed a modal logic that works with classical logic and that allows
indeed truth to be contextual: the context being the whole of a universe's
life from beginning to end. It is contextual in that the universe could
have been different. RDF Semantics uses this intuition:

<blockquote cite=""> 
The basic intuition of model-theoretic semantics is that asserting a sentence makes a claim about the world: it is another way of saying that the world is, in fact, so arranged as to be an interpretation which makes the sentence true. In other words, an assertion amounts to stating a constraint on the possibleways the world might be. Notice that there is no presumption here that any assertion contains enough information to specify a single unique interpretation. It is usually impossible to assert enough in any language to completely constrain the interpretations to a single possible world, so there is no such thing as 'the' unique interpretation of an RDF graph. In general, the larger an RDF graph is - the more it says about the world - then the smaller the set of interpretations that an assertion of the graph allows to be true - the fewer the ways the world could be, while making the asserted graph true of it.

> Instead, triples are just syntax
> -- a subject, property and object -- that can be processed according
> to our goal (e.g. answer a query), possibly with respect to context
> (e.g. the URI of a named graph or HTTP time stamp as suggested in
> previous posts).

It is very helpful to think semantically and not syntactically, because
it is what helps us move beyond syntactic fashions, and what allows us to
map different systems together.

In any case here you bring in a new element namely who said what 
( or where you got the  information from ). That is very important for 
determining all kinds of elements such as trust, fictionality, etc...
After all since a graph is just the set of possible worlds in which it is
true, this means that a graph can describe fictional as well as the actual
world. It could describe worlds that have different physical laws than ours,
etc... Or it could just describe the world as someone else sees it.

RDF semantics is completely compatible with all of that btw.

> In this syntactic world, changes can be modelled using an operational
> semantics, which is just a relation over syntax that describes how the
> system evolves e.g. [1]. Again, there are no truth values in this
> situation, just rules for manipulating syntax. (n.b. this is a
> simplification since we really need to take a suitable "weak memory
> model" [2] into account.)

You get to truth when you want to merge graphs, and when you want to
pass to an action. So if you want a minimal definition of truth
you can take Donald Davidson's ( Truth and Interpretation ) take on 
Tarski's formula

  S is true in language L if and only if p

where p expresses the proposition that S in L expresses. You can rewrite
this in N3 as

  { { ?s ?r ?o } a log:Truth }  <=> { ?s ?r ?o }

What is the function of truth? Well it is a disquotational function.
It is what allows you to take something within a quote and merge it 
with other information in the context in which you are speaking.

So this should help you now to understand what is happening on the 
Web, and the relation between syntax and semantics ( a major theme
in Donald Davidson's work was that of interpretation ). Let's go back
to Donald Davidson's example

  "Schnee ist wei" is true in German <=> Snow is white .

If you can produce a theory that can map all such sentences from
German to  in this case English, you have a theory of meaning of 
German. Doing this in terms of possible worlds I think just allows
you to generalise this to all possible translation systems.

In any case if you are more pragmatic you may ask: how does this
affect action? Cause you know we have got things to do here!

So here goes when you say that some graph is true, you are saying that
that sent of possible worlds contains the actual world. Which means you
can merge that information with the other graphs you consider to describe
the actual world.

Assume you believe ( your data store contains ).

  :george a foaf:Person .

and now assume a friend of yours has written on his profile

   { :tim foaf:knows :george . } saidBy :tim .

Assume you have a rule such that 

   { { :tim foaf:knows ?p } saidBy :tim } => { { :tim foaf:knows ?p } a log:Truth }

it follows from the disquotational rule of truth you can then assert

   :tim foaf:knows :george .

If it happens that :george visits your site, you can for example make
it easy for  :george to communicate with :tim   ( simplifying a lot )

That is truth is important because it allows you to merge information
in order to then be able to act on it. And yes, reality may then show
you that your reasoning about which possible world you were in was mistaken.

> Provenance can also be tracked also using
> only syntax, perhaps proving historical information about the context,
> then used to "quantify" triples; but you all know this!
> Andy Seaborne and the Data Access WG has been smart in avoiding asking
> questions about the truth of RDF statement when producing the SPARQL
> specs. In the SPARQL specs, RDF triples are just syntax.

They are looking for patterns in a graph, and so don't need to 
go beyond what you term syntax. 

> However, I agree with Pat that the URIs themselves should be
> "intuitively" timeless . Will it ever be possible to avoid using the
> word "true" in this open world setting?

People over time got very anxious about Truth, because they thought that
they were forced into one overarching truth. Such thinking makes
it impossible to do psychology correctly. It is wide spread, since most
programming languages don't make the notions of context clear.

But you don't need to worry about Truth being problematic for this.
And you need not worry that logic cannot work with context. Or that
syntax and semantics are not related. It all works nicely together,
but one has to see how and in what way.

 Modal logic did it is true take a lot of time to be convincing ( the
1970ies it seems was the breakthrough period ). So you have to be careful
when reading philosophers, logicians to see if their criticism comes
before or after that time.

back to work.

> Best Regards,
> Ross
> [1]
> [2]
> 2012/11/15 Pat Hayes <>:
>> On Nov 14, 2012, at 9:56 AM, Nathan wrote:
>>> Pat Hayes wrote:
>>>> On Nov 14, 2012, at 8:42 AM, Nathan wrote:
>>>>> Pat Hayes wrote:
>>>>>> On Nov 14, 2012, at 8:03 AM, Nathan wrote:
>>>>>>> Hi Pat,
>>>>>>> Pat Hayes wrote:
>>>>>>>> Its not impossible, and in a strong sense this is required by the current RDF semantics, which treats all RDF assertions as timelessly true.
>>>>>>> Can you refine / expand on this please? I'd presumed RDF to have no consideration of time - e.g time-less; as opposed to being true for all time (timeless).
>>>>>>> TIA,
>>>>>>> Nathan
>>>>>> Yes, time-less is a better way to put it. But it is so because URIreferences are assumed (and I know this is an idealization, but...) to be timeless in how they refer. Section 1.2 says:  "... the semantics simply assumes that ... a single URI reference can be taken to have the same meaning wherever it occurs. Similarly, the semantics has no special provision for tracking temporal changes. It assumes, implicitly, that URI references have the same meaning whenever they occur."
>>>>>> In other words, no counters allowed.
>>>>> What about any data that changes? if <> refers to "me", and I change my name from Nathan to Bob, then I cannot update my RDF to reflect this? or perhaps more realistically, my email address?
>>>> Its fine to coin a new URI for yourself. The issue arises if you want to re-use your old URI to refer to something different. What you *ought* to do, according to the strict RDF rules (and TimBL's idea of "cool URIs") is to coin a new URI for the new thing and keep the old one meaning the same thing as it always did. But note, it is fine for this "thing" to be something that is dynamic, ie which has states that change with time. LIke a daily newspaper, for example. But then you need to be careful to distinguish this thing from one of its states...
>>> That makes sense, however I'd still like to clarify further, specifically on the distinction between something which changes states, and something who's properties may change over time.
>> OK, let me interrupt with a quick disclaimer. I DONT want to defend this distinction. There is a huge metaphysical/ontological sinkhole here that some very clever people have fallen into, trying to distinguish between things that have states and things that simply endure while their properties change. All that matters for the present discussion is that, however you describe this, to do so properly requires that you relate this thing to a property and a time: *three* entities that all have to be involved in the data record. [*1] As opposed to just relating two of them, the thing and its property, and relying on the "actual time" (AKA "now" or "the present") to play the role of the missing time reference.
>>> To persist with the name example, a good percentage of females will have their surname change over time - so what do we do when today we have:
>>> { <#mary> foaf:lastName "Thompson"@en . }
>>> and tomorrow:
>>> { <#mary> foaf:lastName "Davids"@en . }
>>> How do we distinguish mary from one of her states?
>> Well, to be strict about it, we ought to say that names that are liable to get changed are names *at a time*, or perhaps in this case names *up to a time*, and that the name after that time (of marriage, in our culture) is a different name. OK, thats being very strict, because this kind of change is comparatively infrequent (in a single lifetime, I mean) and it is often assumed that such data is indeed intended to be "about the present", and that it will get updated from time to time. We even have special constructs, eg the "ne" relation to indicate a previous name, for this case. But try doing this for something which changes its state compartively rapidly, such as the noon temperature at a certain location, or the headline in the NYTimes.
>> In your example, what happens to the first Thompson triple on the day after Mary gets married? Is it just deleted, and forgotten about? (But what about all the copies of it that may be cached in RDF stores anywhere on the Web?) Or does it get modified using a "ne" kind of property? And is the date of the change-over recorded? What about this new Davids triple: it wasn't always true: shouldn't the data record the date when it started being true, in case someone wants to check something historical, not just about what is true "now"? The more you ask quesitons like this, the more it seems that time information should have been in this kind of data from the get-go.
>> Pat
>> [*1] The metaphysical debate is between those who want to associate the time with the property, and those who want to associate it with the thing. The former would say Mary's properties change, the latter would say that Mary changes her state. After years of arguing about this, I no longer care which you say: the basic logic is the same in both cases.
>>> TIA,
>>> Nathan
>> ------------------------------------------------------------
>> IHMC                                     (850)434 8903 or (650)494 3973
>> 40 South Alcaniz St.           (850)202 4416   office
>> Pensacola                            (850)202 4440   fax
>> FL 32502                              (850)291 0667   mobile

Social Web Architect

Received on Thursday, 15 November 2012 09:16:19 UTC