- From: Dieter Fensel <dieter.fensel@sti2.at>
- Date: Thu, 24 Mar 2011 21:51:49 +0100
- To: Pat Hayes <phayes@ihmc.us>,Sandro Hawke <sandro@w3.org>
- Cc: Michael Schneider <schneid@fzi.de>, Graham Klyne <GK-lists@ninebynine.org>, Enrico Franconi <franconi@inf.unibz.it>, Hugh Glaser <hg@ecs.soton.ac.uk>, Mark Wallace <mwallace@modusoperandi.com>, Alan Ruttenberg <alanruttenberg@gmail.com>, Reto Bachmann-Gmuer <reto.bachmann@trialox.org>, Ivan Shmakov <oneingray@gmail.com>,Ivan Shmakov <ivan@main.uusia.org>, "<semantic-web@w3.org>" <semantic-web@w3.org>
+1
At 18:14 24.03.2011, Pat Hayes wrote:
>On Mar 24, 2011, at 10:13 AM, Sandro Hawke wrote:
>
> > On Thu, 2011-03-24 at 09:45 -0500, Pat Hayes wrote:
> >> Michael, greetings.
> >>
> >> Of course you are right. Which is why it
> would probably not be useful or practical to
> *change* the interpretation of blank nodes in
> RDF. On the other hand, it might be useful to
> define a simplified version of RDF which simply
> does not have blank nodes in it. They really are of very little practical use.
> >
> > I don't know of real data about this, and I may not be representative,
> > but I know when I write RDF by hand, and when I write software which
> > constructs RDF, I often find it easier to use blank nodes than to think
> > about what to name every item referred to in my content.
>
>Agreed. Which is why we would probably need to
>provide some kind of interface tool which
>autoselects a 'new' 'blank' URI when we don't
>want to have to be bothered inventing one or
>even thinking about it. That is, we could, um,
>recommend that interface designers supply this
>auto-skolemizing functionality :-)
>
> >
> > As I pointed out earlier, I think blank nodes are a convenience for the
> > speaker and an inconvenience for the (machine) listener.
>
>Exactly.
>
> > Since they're
> > also a convenience for the listener when the listener is human
>
>Well, they do seem that way on first blush. But
>I note that Cyc for example has been using
>automatically generated full Skolem functions
>(way more complicated than this case) in its
>axioms for years now, and humans do manage, with
>practice, to process the resulting horrendous
>formulae. Humans are the most adaptable part of the system :-)
>
> > , and
> > right now so much RDF isn't really being used by machines, I think the
> > sense of them as an overall convenience has persisted.
> >
> >
> >> Regrettable as it may be, there is now a
> large (and growing) community of RDF users who
> really do not care very much about OWL or RIF,
> certainly do not care a jot for the
> distinctions between the various species of
> OWL, use SPARQL only as an RDF version of SQL,
> and have absolutely no use for blank nodes and
> strongly advise their peers to avoid using
> them. The patterns of reasoning exemplified by
> blank node scoping are of no interest to them
> whatsoever. If anything, existential
> generalization is a nuisance, rather than a
> useful inference. They would be very happy with
> RDF engines which flag blank nodes as errors or
> (better) automatically skolemize them.
> >
> > I think there's a whole lot to be said for automatically Skolemizing
> > them. To do it well requires some work, but I think it's feasible for
> > many kinds of deployment.
> >
> > In particular, I think the system which first exposes the RDF content on
> > the Web should be the one which Skolemizes it, since it knows what URL
> > prefix to use. (If there isn't one such system, then Skolemizing is a
> > problem.) This system has the interesting challenge of minimizing
> > changes if/when it re-reads modified content destined for the same URL.
> > That's the most interesting problem in this space, to me....
> >
> > To rephrase that problem: given similar RDF graphs G1 and G2, and a
> > labeling of the blank nodes in G1 to produce G1', how do you produce a
> > labeling of the blank nodes in G2, G2', such that the differences
> > between G1' and G2' are as small as the differences between G1 and G2?
> >
> > In practice, imagine I have a hand authored page of turtle with maybe
> > 150 triples, much of it lists. I click "publish" and it gets Skolemized
> > and published at URL U. Then I change my mind about something, make a
> > tiny edit, click "re-publish" and it gets Skolemized again, and the new
> > version gets published at U. If someone is watching U, I want them to
> > see that only a little change was made. A naive (uuid) Skolemization
> > would make the change look huge, as every blank node got an entirely new
> > label.
>
>OK, let me change the scenario a little. Suppose
>that ALL the actual RDF is skolemized. There is
>*no such thing* as unSkolemized RDF with blank
>nodes in it. The "blank node ids" are purely in
>the GUI editor, generated for you to see on the
>screen: they are just a graphic blurring device
>to obscure these ugly skolemURIs from your
>tender human sight. Now, when you compose and
>then publish the RDF, it has URIs in it (even if
>you can't see them, they are there). When you
>read it back in and edit it, it still has those
>skolemized URIs in it. (When you look at it,
>you might see different bnodeIDs, of course,
>just like with SPARQL results, since these ids
>are generated by your GUI.) When you re-publish
>it, it still has the URIs it always had in it (unless you have edited them).
>
>Does this work OK? I know that you geeks who
>hand-edit using ed or bbedit some other
>Neanderthal text editor might have to actually
>look at these URIs, but then surely you are used
>to seeing URIs in RDF by now, aren't you?
>
>Of course, what would be even nicer would be a
>GUI which hides all the RDF list machinery
>completely and lets you write things like
>
>:whatever :property [:this :that :theOther]
>
>I'm sure someone will be able to write such a thing eventually :-)
>
> >
> >> The one possible exception I can see is the
> use of bnodes to encode OWL syntax, using the
> RDF list construction. Clearly, one does not
> want to have OWL/RDF entailments ruined because
> a list has been given a name. This might
> require some special conventions; but in
> practice, again, this use of RDF has never been
> seriously intended to be used by RDF inference
> engines. Rather, this 'encoding' of OWL uses
> RDF as a serialization mechanism to move OWL
> around the Web via RDF portals. If we were to
> make this explicit, we could isolate this from
> RDF entailment regimes altogether. Which now
> that I think about it, might be a very good idea.
> >
> > Is there something in the OWL specs that says OWL doesn't work (or that
> > we're no longer in DL) if the nodes composing the lists are not blank?
>
>Not actually a statement, but the entailments
>would not work in the same way. (To see why,
>consider some OWL/RDF and skolemize it two
>different ways. These two are identical OWL but
>do not entail one another in RDF.) Yes, this
>would be a problem. The OWL/RDF spec would have
>to be re-written. However, if we follow the idea
>below, it would become a lot simpler. The
>OWL/RDF spec would basically just describe how
>to translate the OWL/RDF syntax into OWL
>abstract syntax, and then refer to that OWL for
>the semantics. This is by far the easiest and
>most elegant way to proceed in any case, as it
>lets the OWL people define their logic without
>worrying about RDF encodings. We would have to
>define a 'manchester syntax' version of
>OWL-Full, but that has in effect already been
>done (eg see http://www.ihmc.us/users/phayes/cl/sw2scl.html )
>
> > That would be a problem.
> >
> > Is the isolation you're talking about any different from "dark triples"?
>
>Same basic idea, yes. That idea seems in
>retrospect to have been an opportunity missed,
>IMO. OWL/RDF used RDF entailment to imitate
>datastructures encoding OWL syntax. We managed
>it, but it was like dancing in a full lotus
>position. This idea really does not have a
>future, so it might make sense to codify
>something more workable. Just turning the RDF
>semantics off in places, and so freeing up the
>RDF syntax to be a kind of ur-LISP, seems like
>the simplest and most future-oriented way to
>proceed. Then the fact that one copy of an OWL
>expression does not RDF-entail the other is
>completely unimportant, because RDF entailment
>wouldn't be the tool that an OWL/RDF parser
>would use to figure this out. (It would be a
>bit like two copies of the same LISP
>S-expression using different absolute addresses: so what?)
>
>BTW, the 'meaning' of this darkened RDF would be
>determined by the specifications associated with
>the URI of the property of the triple, in this
>vision of how RDF would work. Except that
>lists would 'belong' to the spec that owns the
>property which applies to their first member, so
>that OWL would have semantic jurisdiction over
>anything in any list that is the value of any
>OWL property, and so on, and similarly for RIF.
>(I havn't checked the RIF syntax in detail, but
>I presume this would work out similarly?)
>
>Pat
>
>
> >
> > -- Sandro
> >
> >
> >> Pat
> >>
> >> PS. other comments added in-line below.
> >>
> >>
> >> On Mar 24, 2011, at 8:59 AM, Michael Schneider wrote:
> >>
> >>> Hi all!
> >>>
> >>> Consider this: If you treat blank nodes in
> the way currently specified in the RDF spec,
> that is, as *locally scoped* to their
> containing graph, then it makes a clear
> difference whether their semantics is that of
> existential variables or that of (skolem)
> constants when it comes logical conclusion and, hence, for reasoning.
> >>>
> >>> For example, given the following two graphs:
> >>>
> >>> G1 = {
> >>> ex:s1 ex:p1 ex:o1 .
> >>> ex:s2 ex:p2 _:x .
> >>> }
> >>>
> >>> G2 = {
> >>> ex:s2 ex:p2 _:x .
> >>> }
> >>>
> >>> Under current RDF simple entailment with
> existential semantics and local scope for blank
> nodes, G1 obviously entails G2. But if you
> modify RDF simple entailment to interpret blank
> nodes as /constants/, while still keeping them
> /local/ to their graphs, then this becomes a /non/-entailment.
> >>
> >> But nobody has suggested that particular combination.
> >>
> >>> The reason is that, on the one hand, now
> being constants, both occurrences of the name
> "_:x" in the two graphs denote some individual
> in the universe of discourse each but, on the
> other hand, since the "_:x" constants are local
> to their respective graph, there are
> interpretations under which they denote
> /different/ individuals. Just as different
> names within the same graph may denote
> different individuals. In fact, if you would
> merge G1 and G2, the blank nodes would need to
> be renamed (that's essentially what locality of
> blank nodes is all about!), leading to (modulo blank node identifiers):
> >>>
> >>> G12 = {
> >>> ex:s1 ex:p1 ex:o1 .
> >>> ex:s2 ex:p2 _:y .
> >>> ex:s2 ex:p2 _:z .
> >>> }
> >>>
> >>> For comparison, under (current) existential
> semantics of blank nodes in RDF simple
> entailment, the merged graph G12 semantically
> implies both G1 and G2. In fact, G12 is even
> semantically equivalent to G1, i.e., G12
> contains redundant triples. However, this would
> not be the case anymore when blank nodes are
> seen as /local constants/. In this case, G12
> would be free of redundancy (all constants
> "ex:o1", "_:y" and "_:z" can be interpreted
> pairwise differently), and from this it becomes
> clear that G1 cannot imply G12. Further (and
> probably more surprisingly), not even does G1
> nor G2 semantically follow from G12, although
> G12 has been created by merging the two
> original graphs . The reason is basically the
> same as for why G2 does not follow from G1
> (although there is no sharing of blank node
> identifiers between G12 and G1 as it has been
> between G1 and G2, but this doesn't make a
> difference under local scope assumption).
> >>>
> >>> So, under local constant view, the three
> graphs are semantically largely unrelated,
> while under local existential view, they are
> largely related. I'd call this a sensible difference!
> >>>
> >>> Not only for reasoners would such a change
> from an existential to a constant view have
> considerable consequences (a reasoner that
> innocently infers G2 from G1 would be unsound
> ("broken") w.r.t. the changed RDF semantics,
> which would probably hit most if not all
> existing RDF(S) reasoners). Also SPARQL would
> be affected, including SPARQL 1.1. For example,
> the current Working Draft of SPARQL 1.1 has a
> nice example on blank nodes in query results:
> >>>
> >>>
> <http://www.w3.org/TR/2010/WD-sparql11-query-20101014/#BlankNodesInResults>
> >>>
> >>> The given result sets and the discussion in
> the cited section are only really justified
> under the assumption of blank nodes having
> /local scope/ and /existential/ semantics. If
> one would switch to /globally/ scoped
> /constants/ (as it is the case for URIs), then
> the querying result should consist of the
> original blank node names "_:a" and "_:b" and
> no others, which clearly conflicts with the
> result sets and the discussion in the cited section.
> >>
> >> Indeed. But look how much effort is expended
> to explain carefully how local bnode
> identifiers don't act like global names, and
> now add in the amount of confusion and
> implementation difficulty this causes. Would it
> not be better if this simply were eliminated?
> That query would still *work* if the RDF used
> anonymous URIs. Any patterns of node identity
> in the queried data would still be visible in
> the query results (which is really all that
> matters here). Everything would work perfectly,
> in fact, without needing this explanation. So
> yes, the SPARQL documents would need a little
> editing, but this would consist chiefly of deleting unnecessary material.
> >>
> >>> And if one would switch to /locally/ scoped
> /constants/, then the result set should be
> empty, following the explanation I gave above -
> again much different from the cited section.
> >>>
> >>> So, if the RDF WG intents to make any
> changes to the RDF spec concerning the
> syntactic and semantic properties of blank
> nodes, then it should also consider hinting the
> SPARQL WG, so that they can update their
> current working drafts accordingly. Of course,
> this would require a major update that breaks
> backwards-compatibility with SPARQL 1.0. It
> would also have a strong effect on the new
> SPARQL 1.1 entailment regimes
> (http://www.w3.org/TR/sparql11-entailment/), at
> least for the entailment regimes based on RDF,
> RDFS and the OWL 2 RDF-Based Semantics, since
> these are all defined with respect to the
> original model theories defined in the current
> RDF Semantics spec, or with respect to the OWL
> 2 RDF-Based Semantics spec
> (http://www.w3.org/TR/owl2-rdf-based-semantics/)
> , which itself is based on the current RDF
> Semantics spec, i.e., they all depend on existential blank node semantics.
> >>>
> >>> And, as we mention OWL 2, this standard
> should then perhaps also be revised (or at
> least its future successors should be changed
> in a backwards-incompatible way in order to
> conform to the changed RDF spec) . This would
> have particularly strong consequences for OWL 2
> Full (which uses the mentioned OWL 2 RDF-Based
> Semantics as its semantics), as this language
> is fully based on the current RDF Semantics
> spec and additionally includes definitions that
> heavily assume that blank nodes are seen as
> existentially quantified variables. This was
> even stronger the case for OWL 1 Full, but
> still is the case for OWL 2 Full (ask, if you
> are interested in further explanation). But
> also OWL 2 DL, even though it's semantics is
> /not/ based on the RDF Semantics, still has a
> notion of "anonymous individuals", which are
> represented by blank nodes in the RDF mapping
> of OWL 2, and which happen to be interpreted as
> existentially quantified variables as well. So,
> should OWL 2 DL also be changed, or would a
> further drifting apart of RDF and OWL DL be ok for everybody?
> >>>
> >>> And let's also not forget RIF, at least the
> specification of RIF-RDF combinations in
> <http://www.w3.org/TR/2010/REC-rif-rdf-owl-20100622/>.
> The definition of "satisfaction" of a RIF-RDF
> combination by a "common-RIF-RDF
> interpretation" reuses, for the RDF part, the
> specification of "RDF satisfaction" as provided
> by the current RDF semantics specification -
> that is, it makes use of the existential
> semantics for blank nodes occurring in the RDF graphs in a RIF-RDF combination.
> >>>
> >>> And also let's not forget about all the
> books and papers that have been written on the
> topic, software that has been created, projects, conferences, companies...
> >>>
> >>> It appears to me that a little change in
> the semantics of blank nodes would go a long way... :->
> >>>
> >>> Cheers,
> >>> Michael
> >>>
> >>> ________________________________________
> >>> Von: semantic-web-request@w3.org
> [semantic-web-request@w3.org]" im Auftrag
> von "Graham Klyne [GK-lists@ninebynine.org]
> >>> Gesendet: Donnerstag, 24. März 2011 10:08
> >>> Bis: Dieter Fensel
> >>> Cc: Enrico Franconi; Pat Hayes; Hugh
> Glaser; Mark Wallace; Alan Ruttenberg; Reto
> Bachmann-Gmuer; Ivan Shmakov; Ivan Shmakov; <semantic-web@w3.org>
> >>> Betreff: Re: {Disarmed} Re: blank nodes (once again)
> >>>
> >>> FWIW, my recollection of the working group
> discussions followed a similar path:
> >>> that bNodes don't fundamentally add
> expressive power when making assertions
> >>> about the world. I.e. that Skolemization
> achieves the same effect. I think it
> >>> was mainly the convenience (maybe not for
> logicians!) argument that carried the day.
> >>>
> >>> But I do recall some discussion also about the use of RDF expressions as
> >>> patterns, a kind of query, in which their
> logical interpretation might vary. If
> >>> that viewpoint once had any merit, I
> suspect it has been rather overtaken by the
> >>> subsequent standardization of SPARQL.
> >>>
> >>> I know that I find bNodes convenient when
> constructing RDF, but also I have
> >>> found them problematic when implementing
> inference machinery (by reason of
> >>> unclear intermediate scope
> boundaries). One implemenation strategy I'd probably
> >>> use in future is to replace all bNodes internally by some form of unique
> >>> identifier (maybe a UUID URI), then map
> back to bNode when serializing a graph.
> >>>
> >>> So, yes, it is then just a syntactic
> convenience. But not one I'd necessarily
> >>> choose to forego.
> >>>
> >>> #g
> >>> --
> >>>
> >>> Dieter Fensel wrote:
> >>>> Dear all,
> >>>>
> >>>> I am not sure it is useful to add another comment and I also
> >>>> only partially understand the contents of the flow of emails
> >>>> on this issue. However, I will try it and risking to look like a fool.
> >>>>
> >>>> 1) bnodes are a trick to avoid thinking about useful names
> >>>> in situations you do not really care about them
> >>>> and used f.e. in implementing lists in RDF. Obviously
> >>>> they were not really needed but make life easier.
> >>>>
> >>>> 2) Logicans entered the place and started to interpret them as
> >>>> existential quantified variables. This is not wrong (since they
> >>>> are statements about something that exists and has a certain
> >>>> property), however, it is a somehow heavy way to interpret a
> >>>> simple syntactical short-cut.
> >>>>
> >>>> I do not think that RDF wants to forbid to interpret them as names,
> >>>> only one does not care about the specific one. Maybe a straight-forward
> >>>> way is to think about them as unique constants, i.e., use the idea
> >>>> of skolemization. I think this is also in line with a proposal of Pat,
> >>>> a down-sized version of the Jos & Enrico paper, and in sync with
> >>>> [1].
> >>>>
> >>>> Alternatively one may simply recommend to not using them (or to
> >>>> read these thousand emails before using them).
> >>>>
> >>>> Obviously, I may have missed the point, I may violate the charter, and I
> >>>> should read 1000 emails more carefully. Btw, I do not think that the
> >>>> discussion is not interesting but obviously indicates a problem.
> >>>>
> >>>> [1] G. Yang and M. Kifer: Reasoning about Anonymous Resources
> >>>> and Meta Statements on the Semantic Web, J. Data Semantics, 2003: 69~97.
> >>>>
> >>>>
> >>>>
> >>>> At 21:33 20.03.2011, Enrico Franconi wrote:
> >>>>
> >>>>> On 18 Mar 2011, at 22:14, Pat Hayes wrote:
> >>>>>
> >>>>>> As a fallback, I am thinking of writing up a spec-like document
> >>>>> defining 'ground RDF', to show how much simpler everything is when you
> >>>>> don't have them. It would cover RDF, RDFS, OWL and SPARQL. What do you
> >>>>> think?
> >>>>>
> >>>>> In [1] we have formally explored this case.
> >>>>> --e.
> >>>>>
> >>>>> [1] Jos de Bruijn, Enrico Franconi, Sergio Tessaris (2005). Logical
> >>>>> Reconstruction of normative RDF. Proc. of the Workshosp on OWL
> >>>>> Experiences and Directions (OWLED 2005), Galway, Ireland, November
> >>>>> 2005. <http://www.inf.unibz.it/~franconi/papers/owled-05.pdf>
> >>>>
> >>>
> >>> --
> >>> Dipl.-Inform. Michael Schneider
> >>> Research Scientist, Information Process Engineering (IPE)
> >>> Tel : +49-721-9654-726
> >>> Fax : +49-721-9654-727
> >>> Email: michael.schneider@fzi.de
> >>> WWW : http://www.fzi.de/michael.schneider
> >>>
> ==============================================================================
> >>> FZI Forschungszentrum Informatik an der Universität Karlsruhe
> >>> Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
> >>> Tel.: +49-721-9654-0, Fax: +49-721-9654-959
> >>> Stiftung des bürgerlichen Rechts
> >>> Stiftung Az: 14-0563.1 Regierungspräsidium Karlsruhe
> >>> Vorstand: Dipl. Wi.-Ing. Michael Flor, Prof. Dr. rer. nat. Ralf Reussner,
> >>> Prof. Dr. rer. nat. Dr. h.c. Wolffried
> Stucky, Prof. Dr. rer. nat. Rudi Studer
> >>> Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
> >>>
> ==============================================================================
> >>>
> >>
> >> ------------------------------------------------------------
> >> 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
> >> phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >
> >
> >
>
>------------------------------------------------------------
>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
>phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
--
Dieter Fensel
Director STI Innsbruck, University of Innsbruck, Austria
http://www.sti-innsbruck.at/
phone: +43-512-507-6488/5, fax: +43-512-507-9872
Received on Thursday, 24 March 2011 20:52:54 UTC