Re: JSON-LD + Hydra for a simple API-description

Hi Jean-Gert,
Am 25.03.2015 10:39 schrieb Jean-Gert Nesselbosch <nesselbosch@strato-rz.de>:
>
>
>
> Dietrich, 
>
> thank you very much for the detailed explanations so far. 
>
> at the moment I have one question left : 
>
>
> what's the semantics of the "hydra:manages" - parts 
> in the entry-ressource and the reply-resource you proposed ? 
>
> it reads : 
>
> "hydra:manages": { 
>    "hydra:property": "makesOffer", 
>    "hydra:subject": {"@id":"http://www.strato.de/corporation"} 
>   } 
>
> I suppose it means something like : "this collection manages properties 
> of the subject 'http://www.strato.de/corporation' which are of type 
> 'makesOffer'".

In the statement

Strato - makesOffer - some offers

Strato is the subject, makesOffer is the predicate (or the property) and the offers are the object.

The manages block says:

each collection item is one object in a statement which says "Strato makesOffer <object>"

The collection block can also work for a reversed relationship where the collection items are the subjects.

See https://www.w3.org/community/hydra/wiki/Collection_Design for an explanation why collections are designed that way.

The property is the arc between a subject and an object. The object has its own type, the subject has its own type and the property is the link in between and says something about the relationship between the two. To rephrase your sentence:

"the entity that's returned by searching the site using the template-url is a collection of things which are objects in the statement 
'http://www.strato.de/corporation' (subject)
   'makesOffer' (predicate)"
<thing> (object)

In linked data it is important to understand that a type is different from an object oriented type.

A linked data type doesn't constrain the properties which can apply to it, and a property doesn't constrain the types that can be attached to it, as a Java type does. If a property has a range, the range doesn't constrain the allowed types.

Rather, by using a property with a range between a subject and object you automatically say that the objects play the role the property expects them to.

I hope that clears it up a bit.

Cheers,
Dietrich


>
> at least, that seems to be the meaning in case of the reply-ressource. 
> in case of the entry-ressource it seems to mean something slightly 
> different : "the entity that's returned by searching the site using the 
> teplate-url is a collection of properties of the subject 
> 'http://www.strato.de/corporation' which are of type 'makesOffer'" 
>
> (I'm still struggling to understand Hydra/JSON-LD and the whole 
> hypermedia-API stuff, so the question might seem strange) 
>
> thanks again ! 
>
> best regards, 
> jean-gert 
>
>
> Am 25.03.2015 um 00:19 schrieb Dietrich Schulten: 
> > Hi, 
> > 
> > I see you have defined a few custom properties which are not in 
> > schema.org. You need to put them into a different namespace, your 
> > example lets them appear as properties in the default vocab, which made 
> > me assume they were in schema.org. 
> > 
> > Am 24. März 2015 23:06:03 schrieb Dietrich Schulten <ds@escalon.de>: 
> > 
> > 
> >> Otherwise you are all set. Heretic question: What is it you think you 
> >> have 
> >> to put into the ApiDocumentation which is not already in the response? 
> >> 
> >> :) 
> >> 
> > 
> > To answer my own question: 
> > define schema:Offer as supportedClass 
> > define the supported schema.org properties and your additional 
> > properties as supportedProperties of schema:Offer, as Markus did for the 
> > Event class in the event api demo : 
> > 
> > http://www.markus-lanthaler.com/hydra/event-api/vocab 
> > 
> > Please ask if you have further questions :) 
> > 
> > 
> > HTH 
> > Dietrich 
> > 
> > 
>
>
> -- 
>
> E-Mail nesselbosch@strato-rz.de 
> Website www.strato.de 
>
> STRATO AG  |  Pascalstraße 10  |  10587 Berlin 
>
> Vorsitzender des Aufsichtsrates: Vicente Vento 
> Vorstand: Dr. Christian Böing (Vorsitz), 
> Christoph Steffens, René Wienholtz 
> Amtsgericht:Berlin Charlottenburg HRB 79450 

Received on Wednesday, 25 March 2015 18:21:27 UTC