- From: John Walker <john.walker@semaku.com>
- Date: Sun, 26 Oct 2014 06:52:38 +0100
- To: Zee <fortechie@gmail.com>
- Cc: Nicholas Bollweg <nick.bollweg@gmail.com>, "public-linked-json@w3.org" <public-linked-json@w3.org>
- Message-Id: <9F8DB3BD-0D2A-4E59-97F8-D2A0268028BC@semaku.com>
Hi Zee,
As bare minimum you would only need to define a URI for the properties/classes you use. Describing those could be done at a later stage.
Regards,
John
On 26 Oct 2014, at 02:07, Zee <fortechie@gmail.com> wrote:
> Thanks Nicholas! This helps and it confirms my understanding of json-ld that I have to have external-vocabulary defined for every property that is not yet modeled by well-known standard (schema.org/foaf.etc.).
>
> Since the API I'm currently working on is going to be consumed internally (not public), I have decided to keep it simple and use instead 'HAL specification'. I understand that per HAL it requires out-of-band mechanism to communicate context and for that I will rely on our API documentation for now.
>
> Thanks,
> Zee.
>
>
> On Sat, Oct 25, 2014 at 8:22 AM, Nicholas Bollweg <nick.bollweg@gmail.com> wrote:
> Looks like some interesting stuff. Unfortunately, I'm not sure if ontologies can be all three of simple, specific, and standards-compliant, at the same time.
>
> I created json-ld playground link..
> I didn't know that gists worked as remote docs! That's great!
>
> how to define context for properties (keys) that doesn't have a standard ontology
> Congratulations, you probably have to make a new ontology!
>
> If you want simple and specific, the easiest way to blanket capture otherwise-unmodeled things is with @vocab, take a look at the spec.
>
> Adding this to your context:
> "@vocab": "http://myapp.com/",
> and removing all your null pairs, as you can read there, will expand:
> "twitterUserId": "x"
> as
> "http://myapp.com/twitterUserId": {"@value": "x"}
>
> The issue now is that you have created a new vocabulary, that doesn't map to any other vocabularies. So how about specific and standards-compliant?
>
> I lose that the image is gravatarImage not just any image
> Ah, but that is what you said in your context! The above vocab thing will make it into a myapp:gravatarimage. If you really need it to be myapp:gravatarImage and sdo:image, you need to provide an additional mapping from myapp:gravatarImage to sdo:image...
> "@context": {
> ...
> "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
> "gravatarImage": {"@id": "http://myapp.com/gravatarImage", "rdf:subPropertyOf": "sdo:image"}
> ...
> }
>
> The user of your data would then need to support the RDF class inheritance stuff, which, while powerful, is not really a thing one should have to expect to use JSON-LD.
>
> Another way, which is simpler, but not as pretty, would just be to include it twice:
> "gravatarImage": <url>,
> "imgage": <url>
>
> Not sure if this helps, but maybe some look into!
>
Received on Sunday, 26 October 2014 05:53:14 UTC