- From: Thomas Passin <tpassin@tompassin.net>
- Date: Tue, 27 Nov 2018 10:16:29 -0500
- To: SW-forum Web <semantic-web@w3.org>
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. 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. 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. 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.
Received on Tuesday, 27 November 2018 15:17:10 UTC