Re: inverse properties in JSON-LD

On 10/03/2011 01:17 PM, Ivan Herman wrote:
> Hi pa,
> 
> I guess this is the analogue of the usage of @rev in RDFa.

precisely.

> There has been lots of discussion in the RDFa WG at some point
> whether @rev is necessary at all. The completely anecdotical evidence
> (ie, not based on hard crawl results, for example) is that @rev is
> very rarely used in deployed RDFa.

Really? I would expect every HTML+FOAF homepage to include a
rev="foaf:member" link to an institution, or every publication list to
contain rev="dc:creator" lins to documents...

> As Manu pointed out, the JSON
> community is not the same as the Web developers' community but,
> nevertheless, this may be an indication that the take up of such a
> feature would not be big...

Well, I think I disagree: it is easier to sneak in an incoming arc in
RDFa than it is in JSON-LD.

See the examples I provided in my first mail.

> On the other hand, the fear I have is that, while the behaviour of
> this is pretty clear to you or me or Manu or people who think
> essentially in triples, it might be fairly confusing for those who
> come from a different direction:-( Such a confusion could backfire on
> us.

Well, JSON-LD is explicitly about representing *graph* data in JSON, so
it seems to me the target audience of JSON-LD needs to have some
understanding of graph structures.

>From there, if the vocabulary you use requires that "member" arcs are
directed from institution to person, and your JSON structure is
person-centric, the need for @inverse comes quite naturally, IMHO.

> Of course, we could have a separate 'obscure^H^H^H^H^H^H^Hadvanced
> features' or something in the document:-)>

I wouldn't mind that, but I will really miss the feature if it is not
there at all.

  pa

> Ivan
> 
> 
> On Oct 3, 2011, at 12:57 , Pierre-Antoine Champin wrote:
> 
>> Hi all,
>>
>> is there any plan in JSON-LD to provide a way to declare an *incoming*
>> arc, for example
>>
>>  {
>>    "@subject": "#me",
>>    "http://xmlns.com/foaf/0.1/member": {
>>       "@inverse": "http://univ-lyon1.fr/#this"
>>    }
>>  }
>>
>> producing the following triple
>>
>>  <http://univ-lyon1.fr/#this>
>>     <http://xmlns.com/foaf/0.1/member> <#me> .
>>
>>
>> This would prove very useful with a coercion rule, as I would (much!)
>> rather write:
>>
>>  {
>>    "@context": {
>>      "foaf:": "http://xmlns.com/foaf/0.1/",
>>      "memberOf": "http://xmlns.com/foaf/0.1/member",
>>      "@coerce": {
>>        "@inverse": "memberOf"
>>      }
>>    }
>>
>>    "@type": "foaf:Person",
>>    "foaf:name": "Pierre-Antoine Champin",
>>    "memberOf": [
>>      "http://univ-lyon1.fr/#this", "http://liris.cnrs.fr/#this"
>>    ]
>>  }
>>
>> (with the context possibly kept off-band) than write:
>>
>>  {
>>    "@context": {
>>      "foaf:": "http://xmlns.com/foaf/0.1/",
>>      "@coerce": {
>>        "@iri": "foaf:member"
>>      }
>>    }
>>    "@subject": [
>>      {
>>        "@subject: "_:me",
>>        "@type": "foaf:Person",
>>        "foaf:name": "Pierre-Antoine Champin",
>>      },
>>      {
>>        "@subject: "http://univ-lyon1.fr/#this",
>>        "foaf:member": "_:me"
>>      },
>>      {
>>        "@subject: "http://liris.cnrs.fr/#this",
>>        "foaf:member": "_:me"
>>      }
>>    ]
>>  }
>>
>>
>> pa
>>
>>
>> PS: as I see it, "@inverse" would imply "@iri", as the subject of a
>> triple has to be an IRI in RDF.
>>
> 
> 
> ----
> Ivan Herman, W3C Semantic Web Activity Lead
> Home: http://www.w3.org/People/Ivan/
> mobile: +31-641044153
> PGP Key: http://www.ivan-herman.net/pgpkey.html
> FOAF: http://www.ivan-herman.net/foaf.rdf
> 
> 
> 
> 
> 

Received on Tuesday, 4 October 2011 12:48:33 UTC