- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Thu, 11 Mar 2004 12:21:30 +0200
- To: "ext Pat Hayes" <phayes@ihmc.us>
- Cc: <www-archive@w3.org>, "ext Jeremy Carroll" <jjc@hplb.hpl.hp.com>, <chris@bizer.de>
On Mar 10, 2004, at 18:22, ext Pat Hayes wrote: >> Either there should be a bootstrapping vocabulary (easier to introduce >> since it's disjunct from the existing specs) or some attribute on the >> <rdf:RDF> element to explicitly define assertion. > > Or something. I really don't see how this can possibly be done just by > using vocabulary, however. (What gets that vocabulary asserted?? If we > stipulate this semantically by saying that the vocabulary is > self-asserting, then we are going outside the RDF spec in any case.) Of course. But adding an XML attribute to indicate assertion is *also* going outside the RDF spec. Anything we do here will be outside the RDF spec. The goal, IMO, is to do it as little outside the spec as possible, and in an way that allows us to employ as much of the RDF machinery as possible. So, having a bootstrapping vocabulary which has a special interpretation (a pre-intepretation not defined by the RDF specs) but which, after such a pre-interpretation phase, remains fully valid in terms of the RDF specs seems like a big win. Think of it as a special validation test for a graph which tests assertion and authentication. This is similar to how OWL provides for various forms of validation testing over and above what is defined by the RDF or RDFS specifications. Neither RDF nor RDFS have a clue about cardinality, yet an agent that understands the OWL vocabulary terms for cardinality constraints can test a graph to see if it is valid per those constraints. Agents that are savvy about the bootstrapping vocabulary and its special semantics can apply their tests prior to accepting a graph. If the graph is determined to be asserted and authentic per the bootstrapping statements within that particular graph, then they continue with full RDF/OWL interpretation of the graph. Other non-savvy agents simply don't know what those vocabulary terms mean, and their presence in a graph interpreted by such an agent are thus innocuous. Is this not exactly how RDF is meant to be extensible? >> >> The tricky part (or maybe it's easy) and what I'd like Pat to comment >> on is how hard (or even possible) it is to constrain the >> interpretation >> of a particular property to the graph in which the statement occurs. > > That can be done, That's encouraging to hear ;-) > though it requires tweaking the MT in unconventional ways. I did this > for the OWL imports vocabulary but the WG decided that it was too > complicated and 'weird' to put in the spec, so they gave it an > 'operational' spec outside the MT. > OK. Perhaps the way to do this would be to define a similar 'operational' spec, detailing the bootstrapping interpretation alone, and not having to touch the RDF or OWL MTs at all. ??? > But I really don't think we should do this. Allowing a graph to assert > another graph is potentially very useful and natural. I just have a hard time seeing this as "a good thing". I can think of numerous use cases where I would want to be sure that *no* other graph can affect the origin/nature/authenticity of my graphs insofar as what I authoritatively state to be so for my graphs. I think it's alot safer/simpler to have graphs be "self qualifying". > Don't think of 'being asserted' as a property of graphs: think of it > as a relationship between something and a graph. If I assert your > graph, I havnt done anything to you or your graph except borrow your > RDF. I could have gotten the same effect by importing your graph into > a blank one of mine and then asserting it. True. And that's the way RDF works today. But if we are to move beyond that, to authentication, trust, accountability, etc. we have to have something a little more robust and which preserves the integrity of each graph, until such time as the graph looses its identity (by merge/modification/etc.). >> >> >> It's a little more complicated than an XML attribute, but has >> that great advantage of being immediately compatible with all >> RDF serializations > > It might be syntactically compatible, but it plays hell with the > semantics (though we could fudge round that in an acceptable way, to > be honest). I had hoped so ;-) > And it still requires that the published documents be edited: Not necessarily. Legacy RDF, and those not using the new machinery, can still be presumed to be asserted by agents -- with some agents simply being more picky/demanding and only accepting graphs using the new machinery. But true, if someone has a particular graph that they want to qualify with the new machinery, then they need to add the bootstrapping statements to the graph. But hey, that's not really such a big deal, since many/most graphs are "living documents" anyway. > whereas allowing A to assert B means that we can get existing graphs > asserted without changing them at all. Yes, but IMO at far too high a cost, due to the potential confusion that can arise and extra work to resolve it when trying to chase down authentication/trust trails about which graph asserts which graph which the asserts another graph, etc. Agents will always have the liberty to disregard, or guess about, the intentions of the author of a graph, but I think it will be critical to maintain a clear distinction between the intentions of the author and the opinions or guesses of third parties. E.g. if I explicitly state that my graph is not asserted, and someone else says it is, and that results in my being sued for slander, I can simply say, sorry, I never asserted that. And the evidence regarding my original intent for the graph would be explicit and unambiguous. Also, since RDF does not provide for the preservation of graph membership, such an approach would *require* that all RDF stores be updated to preserve such membership, otherwise the statements in one graph about another graph become useless. How can you know which statements are in graph A and thus asserted because of a statement in graph B when you don't anymore know which statements actually were in graph A or graph B?! With the bootstrapping vocabulary, having self qualifying graphs, agents can test assertion and authenticity prior to syndication into a traditional RDF triples store, and not worry about loss of graph distinction in later processing/reasoning. It is thus, a more backwards compatible approach to bootstrapping the authentication and trust layers which can provide alot of utility even to agents that don't employ knowledge stores that preserve graph membership. Patrick -- Patrick Stickler Nokia, Finland patrick.stickler@nokia.com
Received on Thursday, 11 March 2004 05:21:52 UTC