Re: How to represent logic expressions in RDF (issue 2)

Dear all,

My apologies for being silent these past weeks, I have been oversubscribed.
Could somebody please add me on the github group so that I can comment
on things? My username there is wwaites.

I was reading Issue 2 where Doerthe said that

    Wikipedia says _:x. _:x a rdf:Statement…

is a problem because it introduces a blank node and the reification semantics
just assert the existence of the statement, they do not assert the statement.

I wanted to point out that though this is true if you only consider the

    _:x a rdf:Statemnet

part, it is quite possible to have ’says’ govern the interpretation. We can give a
semantics of ’says’ (and abusing the notation a little) are such that,

    { ?alice says ?x. ?x rdf:subject ?s; rdf:predicate ?p; rdf:object ?o } =>
    ?g { ?s ?p ?o }, ?alice says ?g.

So we can get back the original bag of statements, blank nodes are not a 
problem here.

More generally we can *choose* the semantics by choosing what rules to
apply. This might be an important insight, that semantics should be as far as
possible encoded as rules which we can choose to apply or not. The reason
that RDF reification is hard to use is that its semantics are deliberatively
underspecified — it is nearly meaningless. But we can add statements which
use language that comes with rules to give it meaning. That’s not a problem.

I think we do need a syntax extension of some kind to talk about graphs
explicitly in antecedents and consequents.

I also really like the LISP proposal. It is easy to see in the rule that I give 
above that we really want to be able to have nested scopes.

Best wishes,

William Waites | wwaites@inf.ed.ac.uk
Laboratory for Foundations of Computer Science
School of Informatics, University of Edinburgh

Received on Wednesday, 27 February 2019 10:31:04 UTC