- From: William Waites <wwaites@inf.ed.ac.uk>
- Date: Wed, 27 Feb 2019 10:30:25 +0000
- To: public-n3-dev@w3.org
- Message-Id: <71BED749-1561-4125-97BC-A14D99D3FB5F@inf.ed.ac.uk>
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