I guess I'm partial to the RDF-mindset, but I'm thinking
that it is an odd fit to make that tight a connection to the S-P-O model since
its not clear what the actual *subject* is in all cases - to wit, isn't the
subject the thing outside the metadata cross-reference? Doesn't the Metadata
XREF explicitly describe/refer to something *outside* the metata XREF?
If we *could* mesh this with RDF concepts, that'd would be
interesting.
Otherwise, I don't have a strong preference between the
other four items. They all seem pretty isomorphic to me, without having thought
about this very deeply.
-Gabe
From: Drummond Reed
[mailto:]
Sent: Wednesday, January 11,
2006 11:45 AM
To:
Subject: [xri]
Feedback requested on terms used in Metadata spec
I'm happy to report that Marty and I, after a series
of in-depth work sessions (abetted by Dave McAlpin when he's been in town),
believe we have wrestled the metadata dragon most of the way to the
ground.
The "dragon" is a tighter, more consistent ABNF for
all forms of XRI metadata as well as a much cleaner set of rules about what it
describes.
Without going into all the gory detail, what XRI
Metadata 2.0 Working Draft 08 will recommend is a very simple ABNF for
"tagging" an identifier with XRI metadata, which can then be used as a
cross-reference inside another XRI. The important clarification we will be
making is that this metadata only describes the "subject" identifier (the
identifier being described, to borrow term from RDF). For example, in the
XRI…
xri://xri.example.com/some/filename*($v*2.3)
…the metadata "$v" only describes the identifier
"2.3". It tells you it’s a version number. That's it. From the identifier
above, it would be a pretty obvious conclusion that the identifier authority
intended the cross-reference "($v*2.3)" to identify a version namespace for
the resource identifier by "filename". However in the following
XRI…
xri://xri.example.com/some/filename*($v*2.3)*anotherfile
…it may not be quite as clear – does the identifier
"($v*2.3)" create a version namespace for "filename" or for
"anotherfile"?
The answer is: that's up to the identifier authority
and out of scope for the XRI Metadata spec. The scope of the Metadata spec is
limited to defining well-known semantics and syntax for a limited set of
broadly useful identifier metadata (versions, dates, languages, types, and
annotations).
With that explained, here's what we'd like feedback
on: the semantics of the actual production names used in the ABNF – which (per
our experience with XRI syntax) we'd like to match up with the terms used in
the text of the Metadata spec itself.
Following are four "versions" of the ABNF that are all
identical structurally but different in the production names for the first two
of the three productions in the proposed syntax. (Marty and I both like the
term "subject" for the third component -- the identifier being described --
since this is consistent with RDF and SAML and other similar
uses.)
We'd just like to know which of these (if any) are
preferred by other members of the TC, since semantics is not something that
can be determined by fiat. Please send a reply email to the list with a
comment about your preference if you have one (or a different suggestion if
you feel something else altogether would work
better).
Thanks,
=Drummond and Marty
Example 1 ("tag"
wording)
xri-metadata
= "$" metadata-tag [ “*” metadata-tag-value ] “*” subject
metadata-tag
= ( alpha / xref )
metadata-tag-value = ( xri-subseg / xref
)
subject
= ( xri-subseg / xref )
Example 2 ("attribute"
wording)
xri-metadata =
"$" attribute [ “*” attribute-value ] “*” subject
attribute = ( alpha /
xref )
attribute-value = (
xri-subseg / xref )
subject = (
xri-subseg / xref )
Example 3 ("property"
wording)
xri-metadata =
"$" property [ “*” property-value ] “*” subject
property = ( alpha
/ xref )
property-value = (
xri-subseg / xref )
subject = (
xri-subseg / xref )
Example 4 ("RDF"
wording)
xri-metadata =
"$" predicate [ “*” object ] “*” subject
predicate = ( alpha /
xref )
object
= ( xri-subseg / xref )
subject = (
xri-subseg / xref )
Examples of the five types of XRI
metadata:
($l*fr*pays)
($t*ces*
john%20henry%20doe)
($v*2.3)
($d*2002-10-10T17:00:00Z)
($-*some.comment.here)
How these examples parse to the ABNF
above:
First
production
Second
production
Subject
$l
*fr
*pays
$t
*ces
*john%20henry%20doe
$v
*number (default – can be
omitted)
*2.3
$d
*XMLdatetime (default – can be
omitted)
*2002-10-10T17:00:00Z
$-
*string (default – can be
omitted)
*some.comment.here