Sharebar?

CASE JSON-LD binding context file problem

CASE JSON-LD binding context file problem

From the CASE JSON-LD binding page (http://www.imsglobal.org/spec/case/v1p0/jsonld/) the context file is identified in the examples as https://purl.imsglobal.org/spec/case/v1p0/context/imscasev1p0_context_v1.... The context file itself defines the namespace for the definition of CASE terms (properties and classes) as https://purl.imsglobal.org/spec/case/v1p0/vocab# which does not revolve to anything ("The requested URL /spec/case/v1p0/vocab was not found on this server."). Fundamentally, that means that all of the terms (properties and classes) in the context file functionally have no definitions since there is no reachable schema.

ColinSmythe's picture

Question

I'm not a JSON-LD expert. It seems we need to place a real file at the '.../vocab' location. What is the content of this file? It cannot be the context file? Normally namespaces do not need to resolve to a real file. 

I need guidance from you.

Thanx.

Colin S.

StuartSutton's picture

Answer (hopefully)

You are correct, Colin, that a namespace does not always have to be resolvable; but, here in the context file, URIs must be resolvable. I think the following is probably clear but I'll restate to make sure.

The context file uses "case" as the prefix for a compact URI identifying https://purl.imsglobal.org/spec/case/v1p0/vocab#. Vocabulary terms in the CASE schema are appended to the prefix (case)--for example, "case:fullStatement" which expands to the full URI https://purl.imsglobal.org/spec/case/v1p0/vocab#fullStatement. Resolving the expanded IRI should provide the schema or schema fragment where the definition of "fullStatement" can be found:

"The text of the statement. The textual content that either describes a specific competency or describes a less granular group of competencies within the taxonomy of the standards document."

.

Had CASE been born as linked data, the reference would likely be to a CASE RDF schema expressed in JSON-LD. I am less confident in saying that it can effectively reference the existing CASE JSON Schema.

StuartSutton's picture

Answer (hopefully)

You are correct, Colin, that a namespace does not always have to be resolvable; but, here in the context file, URIs must be resolvable. I think the following is probably clear but I'll restate to make sure.

The context file uses "case" as the prefix for a compact URI identifying https://purl.imsglobal.org/spec/case/v1p0/vocab#. Vocabulary terms in the CASE schema are appended to the prefix (case)--for example, "case:fullStatement" which expands to the full URI https://purl.imsglobal.org/spec/case/v1p0/vocab#fullStatement. Resolving the expanded IRI should provide the schema or schema fragment where the definition of "fullStatement" can be found:

"The text of the statement. The textual content that either describes a specific competency or describes a less granular group of competencies within the taxonomy of the standards document."

.

Had CASE been born as linked data, the reference would likely be to a CASE RDF schema expressed in JSON-LD. I am less confident in saying that it can effectively reference the existing CASE JSON Schema.

ColinSmythe's picture

This HTML File

I'm assuming the link should resolve to this as an HTML file. THis provides a human readable definition.

Attachments: 
StuartSutton's picture

For humans AND machines

No, what is expected is a schema, not an HTML file. As JSON-LD, downstream users should be able to transform CASE instance data from JSON-LD to RDF/XML, Turtle, N-Triples etc. since JSON-LD is a serialization of RDF. I took the CFItem, CFDocument and CFPackage example data from the spec, combined them into a single JSON-LD file called CASE_Test.jsonld (uploaded here as CASE_Test.txt) and then tried to use EasyRDF [1] to convert the file to RDF/XML so I could produce a visual graph. It could not resolve the CASE namespace URI that we are discussing from the @context file and failed. I have attached here an png image of the error message (Error.png).

I also ran into another issue that I'll bring up in a separate comment regarding the new AssociationLink class.

[1] EasyRDF https://www.easyrdf.org/converter

Attachments: 
StuartSutton's picture

For humans AND machines

No, what is expected is a schema, not an HTML file. As JSON-LD, downstream users should be able to transform CASE instance data from JSON-LD to RDF/XML, Turtle, N-Triples etc. since JSON-LD is a serialization of RDF. I took the CFItem, CFDocument and CFPackage example data from the spec, combined them into a single JSON-LD file called CASE_Test.jsonld (uploaded here as CASE_Test.txt) and then tried to use EasyRDF [1] to convert the file to RDF/XML so I could produce a visual graph. It could not resolve the CASE namespace URI that we are discussing from the @context file and failed. I have attached here an png image of the error message (Error.png).

I also ran into another issue that I'll bring up in a separate comment regarding the new AssociationLink class.

[1] EasyRDF https://www.easyrdf.org/converter

Attachments: