Rick,Sometimes all you have is a local context, or, more usual, you have a an implicit global context where each identifier is bound to the explicit URI of the overall entity (which may or may not be it's URL, obviously - messaging systems in particular make the question of URLs problematic at times). I get that. The problem I'm raising is actually two-fold. The first is basically that there is no way of explicitly referring to an external entity with a NIEM s:ref, which inherits from the XSD xs:IDREF definition, because this definition is explicitly and intrinsically local. This means that if a resource references another reference, because of the XSD basis of NIEM, you MUST include the referenced entity in the message, regardless of whether it has changed in any way from what may currently exist in the original data context. s:id isn't really an issue - you can always conventionally bind that - but the IDREF itself will not validate if the referenced resource is not available in the same context. This is the argument I've been trying to make for a while.
BTW, for what it's worth I have no problem with ID/IDREF patterns if you KNOW that your context has clearly articulated contextual identifiers. It's when XML leaves the context of a file or database and becomes a message that things become problematic.KurtKurt Cagle
Invited Expert, XForms Working Group, W3CManaging Editor, XMLToday.orgOn Wed, Feb 19, 2014 at 7:24 PM, Rick Jelliffe <rjelliffe@allette.com.au> wrote:While I do think that every document at every significant granularity should have a persistent universal identifier (PRESTO), and while I think id's are great in an 80/20 YAGNI kind of way, I don't think we should knock id's just because they have document scope: uri fragment # is pretty practical.
For the uses where document scope is not good enough, would getting rid of IDs improve things? It does not seem to follow.
The problemOn 20/02/2014 10:47 AM, "Kurt Cagle" <kurt.cagle@gmail.com> wrote:Webb,Thanks for the clarification - this is the first time that I have heard that there was an open world assumption on NIEM XML messages. I understand the need for message id/idref pairs being local, but without the OW assumption, this has always seemed problematic to me.So, let me ask you a modeling question. You have a weak (i.e., has the potentially to be not immediately dereferenceable) association to an entity that does have a global identifier. Would it be legal to model an explicit named object (such as <ChildRef> for <Child>), with the assumptions that 1) <ChildRef> is a proxy, 2) rdf:about is a valid construct, and 3) child: has a prefix attribute or some other mechanism for resolving the CURIE?<Person>
<Name>...</Name><ChildRef rdf:about="child:JaneDoe"/>
</Person>I know some people have been working on a NIEM RDF, but the documentation on the ground for it is sparse.