-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarification of rationale for template expansion semantics #888
Comments
That's quite some sleuthing! Generally, within JSON-LD, the The rationale I take from the discussion is that URI Templates provided an adequate way of expanding relative IRIs (URLs) in CSV documents. It would have been discussed in some detail at the February 2014 F2F in London (and day 2). I think you noted issue #191 which seems to go into this reasoning the most. |
Thanks again for the prompt reply @gkellogg, I really appreciate you trying to help here.
Thanks; but this is only possible due to the working groups meticulous recording of the decision making process. So thanks again for that, it's very valuable having open access to the majority of the discussions! Unfortunately the one thing that appears to have been ommitted are the reasons for resolving against the Firstly regarding this:
Yes, I'm in complete agreement with all of that! However this says nothing about the inconsistency, using the table URI to resolve URITemplates.
Thanks for linking these; I had seen some of the chat logs; but appear to have missed some of these ones. I think the relevant bit of the logs are here on the first day(pasting as I can't link them directly):
Unfortunately there is still no rationale here, just the change to resolve in terms of the table url. Dan Brickley, appears to briefly entertain the idea of having the resolution of the templates be in terms of the
Regarding issue #191 I think it also only argues for the |
Hi,
I'd appreciate some clarification on a confusing area of the CSVW specification. I should state that the specification itself is very clear on the matter, what is unclear to me is the rationale for the decision and the expectations around it; it is the rationale that I'd mainly like a clarification on.
I've been digging through the CSVW specs and working group discussions (in github issues, IRC logs and minutes) trying to uncover the rationale for this myself, and I can't find any mention of it, so I thought I'd raise it here; so I can more clearly understand CSVW's design.
The area of clarification concerns the choice of base URL used for resolution of URI templates. In particular that the URL is that of the table's URL and not the metadata documents URL.
The relevant section of the spec is here and is specifically this sentence describing the process for generating the
annotation value
:I would have expected that the URL for resolution of these templates after prefix expansion would have been either the declared
@base
in the metadata document, or the metadata documents location. The decision here is highly confusing, and counter intuitive given that nothing else assumes thetable url
.@context
under a JSON-LD interpretation (I'm being overly careful with my words here because it's not strictly JSON-LD)I've trawled the issues, minutes and commits for some clues as to why this was chosen as the specified behaviour here, and I can't see any explicit mention of it. Though there is a lot of discussion where the working group largely seem opposed to these semantics, and no openly discussed justifications that I can find for it. e.g.
Given such a variety of views supporting this view that the metadata document, should be the base for URI resolution, what changed? Is the spec actually correct in this regard? I suspect it is, given @JeniT's comments here, the presence of supporting notes in the spec and some affirmative changes in the git history.
I've spent a long time investigating this issue and wondering if it was a bug in our implementation of the csv2rdf spec, an error in the specification itself, or a misunderstanding on my part. I feel I must be missing something important, a rationale to justify the semantics. Any clarification you can provide would be appreciated. My best guess is it's because a representation centric design of annotations was chosen rather than a model centric one -- however that's probably best left for another discussion!
I appreciate entirely all the work the working group has put into these specs, and am trying my hardest to make the most out of it. So additionally any advice on working around these issues that is clearly in the spec would be appreciated (hardcoding the full URIs everywhere is as far as I'm concerned a last resort). I was for example wondering if I could work around this by resolve these URI's relative to the
@id
on the table (which is I think one option Jeni suggests above); however some bits of the spec appear ambiguous about if that's how it should work.The text was updated successfully, but these errors were encountered: