W3C home > Mailing lists > Public > public-linked-json@w3.org > November 2014

Re: Question about @base and relative IRI "resolving"

From: Sean Johnson <belucid@acm.org>
Date: Wed, 12 Nov 2014 18:37:05 -0500
To: public-linked-json@w3.org
Message-ID: <6904EFFB-FEF2-46D4-A2D7-497FE2793F1C@acm.org>

> Sorry, I guess most of us are very busy at the moment.. I'll have a 
> look at that mail right after finishing answering this one :-)

No need to be sorry. I was intentionally being a bit passive aggressive 
there to hopefully trigger a response to both emails. It worked!

>> ) I'm in the middle of a new JSON-LD processor implementation.
>
> Cool. Which language will the processor be written in? Do you plan to 
> open-source it?

Clojure. And yes. It's here: https://github.com/SnootyMonkey/clj-json-ld

>> 	3.4.4) Otherwise, if value is a relative IRI and the base IRI of 
>> result
>> is not null, set the base IRI of result to the result of resolving 
>> value
>> against the current base IRI of result.
>>
>> My question is, what does "resolving" mean in that sentence?
>
> It means you need to run the algorithm specified in section 5.2 of 
> RFC3986 [1]. This is explained in step 3.2.1 of the context processing 
> algorithm.

Ahh.. perfect! That's what I needed. Seems obvious now that I see it, 
but I'm implementing the algorithm out of order and I've stubbed out 3.2 
and hadn't really internalized 3.2.1 yet. I can't claim I never read 
it… but it certainly didn't stick anyway and jump out at me as what I 
was needing to do in 3.4.4. Doh!

>> For #2 where we have multiple local contexts to process, does this 
>> end
>> up with the final @base in result as 
>> ""http://cnn.com/foo/barblat/bloo"?
>
> No, see above. This is not string concatenation but URI resolution.

Hmm… so…

	3.4.4) Otherwise, if value is a relative IRI and the base IRI of result 
is not null, set the base IRI of result to the result of resolving value 
against the current base IRI of result.

In the case of an active context with an absolute IRI and more than one 
context in the local context (we're iterating them), then the "current 
base IRI of result" is potentially already the resolution of an absolute 
and a relative IRI, so are we resolving the second and subsequent 
relative IRIs with the original absolute IRI or with these intermediate 
IRIs that are already the result of prior resolutions? (hopefully… 
that question makes sense).

>> Just looking for some definition of "resolving" in this (unusually)
>> vague portion of the otherwise clear spec.
>
> Hope this helps

It does! The pointer to 3.2.1 seems obvious now, but was exactly what I 
was missing.

>> Oh… and if you're so inclined to weigh in on value expansion… I'd 
>> be
>> much obliged:
>> http://lists.w3.org/Archives/Public/public-linked-json/2014Nov/0004.html
>
> Will do in a minute

You're a scholar and a gentleman!

Thank you,
Sean
Received on Wednesday, 12 November 2014 23:37:40 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:18:42 UTC