- From: Gregg Kellogg <gregg@greggkellogg.net>
- Date: Sat, 22 Feb 2014 09:42:56 -0800
- To: Markus Lanthaler <markus.lanthaler@gmx.net>
- Cc: Dave Longley <dlongley@digitalbazaar.com>, Linked JSON <public-linked-json@w3.org>, Dan Brickley <danbri@google.com>
On Feb 22, 2014, at 3:55 AM, Markus Lanthaler <markus.lanthaler@gmx.net> wrote:
> On Saturday, February 22, 2014 3:25 AM, Gregg Kellogg wrote:
>> This must relate to the default base used by the playground, but when I
>> run it with my own processor (without specifying a base IRI), I don't
>> see the relative IRI.
>>
>> Basically, it's compacting the following:
>>
>> {
>> "@context": {
>> "@vocab": "http://schema.org/",
>> "url": {
>> "@type": "@id"
>> }
>> },
>> "@type": "Movie",
>> "@id": "http://code.sgo.to/movies/123",
>> "name": "Dan's schema.org presentation",
>> "operation": [
>> {
>> "@type": "WatchAction",
>> "@id": "",
>> "actionStatus": "proposed",
>> "actionHandler": {
>> "@type": "WebPageHandler",
>> "url": "/movies/123/watch"
>> }
>> }]
>> }
>>
>> using an empty context and getting the following:
>>
>> {
>> "@id": "http://code.sgo.to/movies/123",
>> "@type": "http://schema.org/Movie",
>> "http://schema.org/name": "Dan's schema.org presentation",
>> "http://schema.org/operation": {
>> "@id": "./",
>
> This is correct
>
>
>> "@type": "http://schema.org/WatchAction",
>> "http://schema.org/actionHandler": {
>> "@type": "http://schema.org/WebPageHandler",
>> "http://schema.org/url": {
>> "@id": "../movies/123/watch"
>
> Just as this is: /movies/123/watch (absolute path) and /movies/123/watch
> (relative path) are equivalent if the base IRI is
> http://json-ld.org/playground/
Pretty confusing, as this doesn't show up anywhere. I wonder if it would make sense to default the base to something like http://example/ (that won't resolve) if one's not set explicitly in the input document. Alternatively (and more simply), adding a text message in the UI that indicates that relative URIs in the output are relative to the playground, unless set explicitly using @bsae.
Gregg
> Dave, I just noticed that I get different results if I run this in IE11.
> Looks like the base IRI isn't set in that case. Could you verify that?
>
>
>> }
>> },
>> "http://schema.org/actionStatus": "proposed"
>> }
>> }
>>
>> However, mine returns the following:
>>
>> {
>> "@id": "http://code.sgo.to/movies/123",
>> "@type": "http://schema.org/Movie",
>> "http://schema.org/name": "Dan's schema.org presentation",
>> "http://schema.org/operation": {
>> "@id": "",
>> "@type": "http://schema.org/WatchAction",
>> "http://schema.org/actionHandler": {
>> "@type": "http://schema.org/WebPageHandler",
>> "http://schema.org/url": {
>> "@id": "/movies/123/watch"
>> }
>> },
>> "http://schema.org/actionStatus": "proposed"
>> }
>> }
>
> The difference is that you process the data without a base IRI, i.e., all
> IRI processing is turned off. To achieve the same in the playground, just
> add a @base: null to the context. You will get the same result when
> compacting. You can see the differences when converting to N-Quads. As it
> can't expand those relative IRIs, it drops some triples.
>
>
> --
> Markus Lanthaler
> @markuslanthaler
>
>
Received on Saturday, 22 February 2014 17:43:32 UTC