- From: Pat Hayes <phayes@ai.uwf.edu>
- Date: Thu, 8 Nov 2001 18:58:38 -0600
- To: Dan Connolly <connolly@w3.org>
- Cc: w3c-rdfcore-wg@w3.org
>[This message is as much about issue >http://www.w3.org/2000/03/rdf-tracking/#rdfms-graph >as anything else...] > >Pat Hayes wrote: >> >> > > >abstract syntax: >> >> > terms: >> >> > constants (URIs w/fragids) >> >> > string literals >> >> > bnodes (existentially quantified variables) >> >> > statement: >> >> > term term term. >> >> >> >> We've already gone into why this simple a syntax does not work. >> > >> >Really? pointer? example? >> >> It's in the archive somewhere. > >OK, I'm aware there has been discussion along those lines; >I haven't been convinced by it. > >I thought you were suggesting that the WG had made a decision >along those lines. I thought we had a kind of working consensus to use the graph as the 'primary' syntax. > > First, having literals on arcs doesn't >> make sense. > >Er... do you mean you don't find it appealing or intuitive, >or that it conflicts with something in a technical sense? As far as I can see, any such arc, and hence any graph containing any such arc, will be false in every interpretation. It seems daft to allow a syntactic construction whose only possible purpose is to make a graph inconsistent: its a bit like including 'wrong' in the syntax so that we can say things that are wrong. >I suggest IEXT("foo") is empty, and similarly for all literals; >I think that captures the intuition that literals shouldn't >be used as properties. > Yes, it does, but then why allow them to be used that way in the syntax? Is having a trivial BNF really worth allowing this much potential pain and misunderstanding? > > Next, we need a way to say when the same node is being >> used in two places, so we need nodeIDs or some such, even on >> literals. > >We do? I don't think we need anything called "node" in >the abstract syntax at all, let alone "a way to say when >the same node is being used in two places." Well, let me back up. If literals are things like Patrick's URVs, ie if they have their datatypes included in the literal label itself, then we wouldn't need this, since in that case we could have strict tidiness on all nodes, no matter what their label is. (In effect this would remove literals altogether, to be replaced by a special kind of 'literal URI'.) Similarly if we make the blanket assumption that all literals are strings which denote themselves. But in all other cases, we have to allow the same literal to be given different datatyping, so we have to allow two different nodes to have the same literal label; and in that case, any triples-style lexicalization will need to have some way to indicate whether or not two occurrences of a literal label are supposed to be on the same node or not. > > Third, most seriously, having bnode labels on arcs >> requires some notion of scope (in the graph, not the Ntriples doc.) > > >It's there in my message; you left it out: > >> > > > formula: > > >> > statement* Oh, I see, so formula is a definite syntactic form. What happens when I have two or more formulae? How do I merge information from two different formulae? Its not valid to simply concatenate their statements. Can I make a larger formula out of them? That would seem to require something like biggerformula: formula* in addition. > >> I >> would add that it forces us to incorporate nodeIDs (actually better >> called arcIDs in this case) into the RDF graph itself > >Really? Sure, if we have 'blank arcs' then we have to have some way to indicate which of those arcs are part of the same 'blank property' and which are part of some other 'blank property' (Unless we assume that there is only one blank property per graph, maybe?) > >>, which is a >> 'slippery slope' idea that several people didn't like: Frank Manola, >> I believe, was one. > >I don't like the idea of arcIDs either. > >> >It works to my satisfaction, after considerable study >> >and implementation experience. At least two other >> >WG members also said they prefer this abstract syntax. > > > >> >> I would like it too if it could be made to work. > >I don't see why it cannot. The blank arcs is the main issue. > >> If we weren't >> restricted to simple graphs and obliged to only use urirefs as names, >> then it would work fine. > >I don't understand what you mean here. I was referring to the possibility of having some kind of inner scoping mechanism, as in CG graphs, or using 'contexts' as in N3, or some such. These all break the simple graph model in one way or another. Once you allow almost any extension like this which allows the local scopes to be nested, you can make recursive models of almost any kind of structure. But then the elegant simplicity of the RDF graph model is gone, and we are back to having to parse things. Pat -- --------------------------------------------------------------------- IHMC (850)434 8903 home 40 South Alcaniz St. (850)202 4416 office Pensacola, FL 32501 (850)202 4440 fax phayes@ai.uwf.edu http://www.coginst.uwf.edu/~phayes
Received on Thursday, 8 November 2001 19:58:32 UTC