- From: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
- Date: Mon, 09 Mar 2015 12:35:39 +0100
- To: Dan Brickley <danbri@google.com>
- CC: Linked JSON <public-linked-json@w3.org>
- Message-ID: <54FD858B.10303@wwelves.org>
On 01/21/2015 02:05 PM, Dan Brickley wrote: > http://schema.org/namedPosition takes both Text and URL values. The > current context says > > "namedPosition": { "@type": "@id" }, > > which I believe means "namedPosition": { "@value": "Quarterback" } is > needed to override this. > > My feeling from the github discussion is that we should suppress this > and default to text. E.g. Gregg commented that > > "When I generate my own JSON-LD context for schema.org I do not set > @type to @id for properties where the range includes schema:text (or > similar literal value). IMO, it's more intuitive for an author to use > {"@id": "/foo"} than {"@value": "foo"}." > > I'd like to close out our basic context support before getting into > any fancier business such as exposing the actual schema data, so any > feedback on this or related points would be much appreciated. Today I made this example in JSON-LD playground http://tinyurl.com/obdj27a It looks like schema.org @context really suffers from lack of many { "@type": "@id" } definitions Just in this small example URIs for schema:member, schema:subOrganization, schema:memberOf got interpreted as text. You can find in expanded: { "@value": .. } instead of { "@id": ... } :( Does lack of "@type": "@id" definitions relates to schema.org trying to allow Text as value for almost all the properties? (all except *48*) $ curl http://schema.org -H "Accept: application/ld+json" | grep '"@type": "@id"' | wc 48 240 2053 I also guess that recommendation of using schema:url instead of @id may contribute to not carrying so much about usage of @id. $ curl https://raw.githubusercontent.com/schemaorg/schemaorg/sdo-gozer/data/examples.txt | grep '"@id":' | wc 10 20 396 $ curl https://raw.githubusercontent.com/schemaorg/schemaorg/sdo-gozer/data/examples.txt | grep '"url":' | wc 50 100 2311 This way for arrays schema:url looks very clumsy and doesn't work well with standard JSON-LD tooling. "memberOf": [ "https://enspiral.com", "https://loomio.org" ] Would become "memberOf": [ { "url": "https://enspiral.com" }, { "url": "https://loomio.org" } ] Which to my understanding requires special schema.org specific processing without having "url": "@id" in context. I hope that I just miss some understanding here and one can process data which uses schema.org vocabulary as regular JSON-LD. Cheers!
Received on Monday, 9 March 2015 11:35:54 UTC