RE: Forms and principles of the JSOD-LD context

> I actually added an example based on the telecom discussion in an issue
> [1]
> 
> {
>   "@context":
>   {
>     "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
>     "xsd": "http://www.w3.org/2001/XMLSchema#",
>     "name": "http://xmlns.com/foaf/0.1/name",
>     "age":  {"@iri": "http://xmlns.com/foaf/0.1/age", "@coerce":
> "xsd:integer"},
>     "homepage": {"@iri": "http://xmlns.com/foaf/0.1/age", "@coerce":
> "@iri"},
>     "currentProject": {"@iri":
> "http://xmlns.com/foaf/0.1/currentProject", "@coerce": ["@iri",
> "@list"]},
>   },
>   ...
> }

How is that going to affect the processing? Currently prefixes are allowed
in coercion rules but not in the context itself. If we switch to this
condensed form we might run into some troubles at it opens the door for
nasty recursions.
Another thing, isn't @coerce in this case exactly the same as @datatype (or
@type if we merge them)? 


> > We could instead use a form where values can either be the IRI string
> > for the term, or an object defining both the @iri (or none to resolve
> > it to @vocab) and a @coerce rule. Like:
> >
> >    "@context": {
> >        "@vocab": "http://purl.org/dc/terms/",
> >        "created": {
> >            "@coerce": "dateTime"
> >        },
> >        "creator": {
> >            "@coerce": "@iri"
> >        },
> >        "identifier": {
> >            "@coerce": "string"
> >        },
> >        "issued": {
> >            "@coerce": "date"
> >        },
> >        "updated": {
> >            "@coerce": "dateTime"
> >        },
> >        "label": "http://www.w3.org/2000/01/rdf-schema#label",
> >        "Document": "http://xmlns.com/foaf/0.1/Document",
> >        "primaryTopic": {
> >            "@iri": "http://xmlns.com/foaf/0.1/primaryTopic",
> >            "@coerce": "@iri"
> >        }
> >    }
> 
> Other than the fact that "dateTime", "string", and "date" have no
> defined meanings, I see value in this. It can be inferred the if
> there's an @vocab, then prefixes without a defined IRI are considered
> to be within that vocabulary and IRI expansion takes place.

That's actually something that made me think that dropping @vocab (and
perhaps also @base) would be a quite good idea [ISSUE-26]. I think using
@vocab will result in a lot of messy/wrong data as terms will be used
regardless of whether they are in the vocabulary or not.


> Thanks for your thoughts. I can see some real advantages in
> consolidating this information, and it seems to follow given that we're
> already inclined to reverse the sense of @coerce relations.

+1


--
Markus Lanthaler
@markuslanthaler

Received on Monday, 31 October 2011 13:35:38 UTC