- From: Pat Hayes <phayes@ihmc.us>
- Date: Wed, 28 Nov 2018 21:10:25 -0600
- To: Thomas Passin <tpassin@tompassin.net>, SW-forum Web <semantic-web@w3.org>
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