- 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