-
-
Notifications
You must be signed in to change notification settings - Fork 36
Closed
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
Feature request is related to a problem
I'm frustrated when a JSON-LD source has a linked @context
whose MIME type is not one of the JSON expected types.
In this case it is a raw github URL, that says test/plain
.
This, or a file, is very convenient to develop and debug a new @context
.
Moreover, being explicitly loaded as a @context
, is is supposed to be application/ld+json
.
I deserves a warning for sure, but not a blocking exception.
scala> JsonLd.toRdf("https://geb.ffspeleo.fr/api/api/v2/").get()
com.apicatalog.jsonld.JsonLdError: There was a problem encountered loading a remote context [code=LOADING_REMOTE_CONTEXT_FAILED].
at com.apicatalog.jsonld.context.ActiveContextBuilder.fetch(ActiveContextBuilder.java:523)
at com.apicatalog.jsonld.context.ActiveContextBuilder.create(ActiveContextBuilder.java:173)
at com.apicatalog.jsonld.expansion.ObjectExpansion.initLocalContext(ObjectExpansion.java:202)
at com.apicatalog.jsonld.expansion.ObjectExpansion.expand(ObjectExpansion.java:101)
at com.apicatalog.jsonld.expansion.Expansion.compute(Expansion.java:116)
at com.apicatalog.jsonld.processor.ExpansionProcessor.expand(ExpansionProcessor.java:124)
at com.apicatalog.jsonld.processor.ToRdfProcessor.toRdf(ToRdfProcessor.java:69)
at com.apicatalog.jsonld.processor.ToRdfProcessor.toRdf(ToRdfProcessor.java:58)
at com.apicatalog.jsonld.api.ToRdfApi.get(ToRdfApi.java:175)
... 31 elided
Caused by: com.apicatalog.jsonld.JsonLdError: Unsupported media type 'text/plain'. Supported content types are [application/ld+json, application/json, +json, application/n-quads]
at com.apicatalog.jsonld.document.DocumentParser.fireUnsupportedMediaType(DocumentParser.java:99)
at com.apicatalog.jsonld.document.DocumentParser.parse(DocumentParser.java:60)
at com.apicatalog.jsonld.loader.HttpLoader.createDocument(HttpLoader.java:242)
at com.apicatalog.jsonld.loader.HttpLoader.loadDocument(HttpLoader.java:202)
at com.apicatalog.jsonld.loader.SchemeRouter.loadDocument(SchemeRouter.java:62)
at com.apicatalog.jsonld.context.ActiveContextBuilder.fetch(ActiveContextBuilder.java:519)
... 39 more
Other JSON-LD engines
JENA (with jsonld-java) processes such JSON-LD source well :
$JENA/bin/riot --output=turtle --syntax=jsonld https://geb.ffspeleo.fr/api/api/v2/
The Playground also accepts such input:
{
"@context": "https://raw.githubusercontent.com/jmvanel/Karstlink-ontology/master/geb.ffspeleo.fr_context.jsonld",
"@graph": [
{
"@id": "321",
"@type": "UndergroundCavity",
"name": "Biefs Bousset",
"latitude": "46.99406",
"longitude": "6.07472",
"altitude": "770",
"locates": [
{
"@id": "628",
"@type": "geo:Point",
"label": "station_321-590",
"dwc:Occurrence": [
{
"@id": "4278",
"@type": "dwc:Occurrence",
"event date": "2010-03-07",
"associated taxa": "Amilenus aurantiacus",
"dwci:toTaxon": "http://taxref.mnhn.fr/lod/taxon/337326/13.0"
}
]
}
]
}
]
}
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request