Re: Scoping bnodes (was: Re: Blank Nodes Re: Toward easier RDF: a proposal)

On 11/27/18 9:16 AM, Thomas Passin wrote:>
 > On 11/27/2018 12:43 AM, Pat Hayes wrote:
 >> I think this is a very basic and important point. It is what I
 >> meant, expressed differently, by saying that RDF has no way to
 >> indicate scope. Bnodes in RDF are, logically, existentially
 >> quantified variables, but RDF has no way to indicate, and
 >> therefore no way for anyone to know, where the quantifiers are
 >> which bind those variables. So, for example, if we assume they
 >> are just outside each RDF document, then we should standardize
 >> bnodeIDs apart when merging; but if we assume they have larger
 >> scope, then maybe we shouldn’t. Bnodes introduced to encode
 >> structures like n-ary relational assertions, or lists, or some
 >> complicated piece of OWL syntax, should have a very narrow
 >> scope corresponding to the exact boundaries of those
 >> structures, and hence should be ‘invisible’ from outside (which
 >> is why it is fine to make them vanish in a higher-level syntax
 >> using [ ] or ( ).)
 >>
 >> Ideally, RDF2 should provide for these structures directly, but
 >> maybe we can get the benefit with a relatively tiny step, just
 >> by having a syntax for RDF which has explicit scoping brackets.
 >> Off the cuff, imagine a variant of NTriples in which a subset
 >> of triples can be enclosed in brackets, say [  ] (or something
 >> else if thse are already taken) to indicate that any bnode ID
 >> in a triple inside the bracket is local to those triples, ie is
 >> ‘bound'. Current RDF engines which do not make use of this
 >> information can simply ignore them, since they do not change
 >> the RDF meaning of the graph, but they may provide useful
 >> information to newer engines. For example, they might make it a
 >> lot easier to parse OWL syntax (‘Manchester’ syntax) from 
OWL/RDF.
 >
 > This is the kind of thing I think about when I talk about
 > "idioms" of usage.  This particular example could perhaps be
 > achieved by marking the bnode with a "scope" relationship. You
 > suggest above that such a scope would take a syntax change, but I
 > think that you could just state the scope using the
 > already-existing syntax. You'd have to invent a few new types,
 > that's all.
OK, I don't follow this, but I'd like to. Can you briefly explain 
how this would work?
 > Topic Maps has always had scopes built in. Since Topic Maps
 > scopes can be drawn as part of a diagram - i.e., using nodes and
 > edges - they can be modeled with the current version of RDF
 > without (I think) any changes.
Hmm. Let me ask: if I have N triples to enclose in a single 
scope, how many 'extra' triples will I have to use to do that?

  OTOH, Topic Maps do not have the
 > equivalent of bnodes - every topic (i.e., every concept) has an
 > ID. That was because the intent was to make everything (every
 > concept) something that could be talked about.  Even n-ary
 > relationships (called associations) have IDs, since they are
 > concepts that could in principle be talked about.
RDF also of course allows relations to be talked about, even 
though it only has the binary version. I fully endorse this: the 
ISO Common Logic standard describes a version of first-order 
logic which allows all relations to be talked about (and 
quantified over!)

 >
 > Of course, tools and people would need to understand what is
 > meant; that is outside the purview of the current standards and
 > would constitute one of those idioms of use.  All we'd need is a
 > document containing the standardized form of the idiom and its
 > interpretation.
Sounds tempting, for sure.

Pat

 >
 >
 >
 >
-- 
-----------------------------------
call or text to 850 291 0667
www.ihmc.us/groups/phayes/
www.facebook.com/the.pat.hayes

Received on Thursday, 29 November 2018 03:10:55 UTC