- From: peter <peter.amstutz@curoverse.com>
- Date: Tue, 02 Dec 2014 14:17:56 -0500
- To: James M Snell <jasnell@gmail.com>
- Cc: Gregg Kellogg <gregg@greggkellogg.net>, Jauco Noordzij <jauco.noordzij@gmail.com>, Linked JSON <public-linked-json@w3.org>
I'm glad this is being discussed. This limitation of json-ld motivated
me to join this group in the first place. Comments below.
On Tue, 2014-12-02 at 09:44 -0800, James M Snell wrote:
> On Tue, Dec 2, 2014 at 9:17 AM, Gregg Kellogg <gregg@greggkellogg.net> wrote:
> >
> > A top-level “@container”: “@id” in a context would indicate that the keys of
> > the object containing the @context would be treated as @id values of the
> > nodes they reference. For example:
> >
> > [snip]
>
> This is problematic in that the labels would typically not expand into
> URI's. The index tends to be more of a label (rdfs:label?
> skos:prefLabel?)
I think this would have to be handled through default-prefixing.
Something like:
{
“@context”: {“@container”: “@id”, “@vocab”: “http://example.com/”},
“a”: {“b”: “c”}
}
becomes:
{
“@id”: “http://example.com/a”,
“b”: “c”
}
Possibly with a default behavior being document-local "#"
{
“@context”: {“@container”: “@id”},
“a”: {“b”: “c”}
}
becomes (after applying the document basename):
{
“@id”: “example-document.jsonld#a”,
“b”: “c”
}
> > The second proposal was to create a @reverseindex, which would treat the key
> > as an index to the properties it contains, effectively making it go away.
> >
> > [snip]
> >
> Again, the challenge here is that "b" is not defined in a context and
> would not expand out. Given the input...
I agree, the problem that people have is that the key is important and
should not just be skipped over by either @index or the proposed
@reverseindex.
> {
> “@context”: {
> "properties": {
> "@id": "urn:example:properties",
> "@container": "@index"
> }
> },
> “@id”: “a”,
> “properties”: {
> “b”: “c”
> }
> }
>
> which becomes...
>
> {
> "@id": "a",
> "properties": [
> { "@index": "b", "@value": "c" }
> ]
> }
>
> and expands out to
>
> <a> <urn:example:properties> [
> a rdfs:Literal ;
> rdfs:label "b" ;
> rdf:value "c" .
> ] .
>
> The nice thing is that it would not require any syntax changes to
> JSON-LD (The change to support this would be limited to the JSON-LD
> algorithms).
+1 except that I would suggest that you should be able to specify an
arbitrary predicate and not only rdfs:label.
- Peter
Received on Tuesday, 2 December 2014 19:17:44 UTC