digitalbazaar / jsonld-cli

JSON-LD command line interface tool
Other
48 stars 7 forks source link

command line argument `[filename|URL|-]` should set base (if possible) #24

Open pchampin opened 1 year ago

pchampin commented 1 year ago

Consider the following file served from http://localhost:8000/test.jsonld:

{
  "@id": "#myid",
  "http://example.org/ns/prop": "value"
}

Running jsonld expand http://localhost:8000/test.jsonld returns:

[
  {
    "@id": "#myid",  # <-- NOTE THE RELATIVE IRI HERE
    "http://example.org/ns/prop": [
      {
        "@value": "value"
      }
    ]
  }
]

and jsonld toRdf http://localhost:8000/test.jsonld returns no triples (because the relative IRI in the subject position can't be resolved). In order to get the expected result, one has to use the following command line:

   jsonld expand -b http://localhost:8000/test.jsonld http://localhost:8000/test.jsonld

This is needlessly redundant, and this requirement is therefore counterintuitive.

I would expect that, whenever the [filename|URL|-] argument is an absolute URL (and possibly a filename), it automatically sets the base to the appropriate IRI (unless, of course, overridden with an explicit --base argument).