- From: Lorenzo Moriondo <tunedconsulting@gmail.com>
- Date: Tue, 13 Feb 2018 23:20:23 +0000
- To: "Reppenhagen, Marcel" <marcel.reppenhagen@campus.tu-berlin.de>
- Cc: Hydra <public-hydra@w3.org>
- Message-ID: <CAKgLLms0_CyVrz25RH8Jmsmr_K=+b_MrDqVLE9tLdnRUvD91AQ@mail.gmail.com>
Hi Marcel,
You can find a comprehensive example here:
https://github.com/HTTP-APIs/hydra-flock-vocab/blob/master/hydra_flock.jsonld
Hope it can help with your doubts.
Cheers,
Lorenzo Moriondo, from mobile
https://it.linkedin.com/in/lorenzomoriondo
On Feb 6, 2018 7:44 AM, "Reppenhagen, Marcel" <
marcel.reppenhagen@campus.tu-berlin.de> wrote:
> Dear Community,
>
>
> I am looking to use Hydra purely for semantically describing a device's
> functionality in a JSON-LD document. Right now there is no intention for
> an API client to consume this file but this file is rather a semantic
> documentation/description of some API endpoints a (IoT) device might offer.
>
> I have tried to approach this task by using schema.org actions:
>
>
> {
> "@context": {
> "schema": "http://www.schema.org/",
> "someOntology": "http://www.someOntology.org/"
> },
> "@id": "http://localhost:3000",
> "@type": "someOntology:TemperatureDevice",
> "schema:potentialAction": [
> {
> "@type": [ "schema:Action", "someOntology:changeTemperatureAction"
> ],
> "schema:target": {
> "@type": "schema:EntryPoint",
> "schema:urlTemplate": "http://www.localost:3000/temperature",
> "schema:httpMethod": "POST",
> "schema:encodingType": "application/json"
> },
> "temperature-input": "required"
> }
> ]
> }
>
> I have tried to write the same logic using Hydra but I am having problems
> because the documentation is not very precise and there are no real good
> examples. Everytime I write something using Hydra I am very unsure if it is
> correct. I came up with this attempt:
>
> {
> "@context": {
> "schema": "http://www.schema.org/",
> "someOntology": "http://www.someOntology.org/",
> "hydra": "https://www.w3.org/ns/hydra/core#"
> },
> "@id": "http://localhost:3000",
> "@type": "someOntology:TemperatureDevice",
> "hydra:operation": [
> {
> "@type": [ "hydra:Operation", "someOntology:changeTemperatureAction"
> ],
> "hydra:method": "POST",
> "hydra:expects": [
> {
> "@type":"hydra:SupportedProperty",
> "hydra:property": "temperature",
> "required": "true"
> }
> ]
> }
> ]
> }
>
> How can I specify the target URL? I thought about adding the "@id" field
> but imagine having a GET, PUT and DELETE all to the same URI. That doesnt
> work with the "@id" property.
> I have read through a lot of the issues on GitHub but I cant seem to get
> smarter from them and see the correct way of doing what I have in mind.
>
> When I started thinking about my data model I wanted to represent an
> action/api endpoint like it is done in the "SIREN" data format where an
> action looks like this:
>
> "actions": [
> {
> "name": "add-item",
> "title": "Add Item",
> "method": "POST",
> "href": "http://api.x.io/orders/42/items",
> "type": "application/x-www-form-urlencoded",
> "fields": [
> { "name": "orderNumber", "type": "hidden", "value": "42" },
> { "name": "productCode", "type": "text" },
> { "name": "quantity", "type": "number" }
> ]
> }
> ]
>
> What would be the equivalent of this using semantic web technologies such
> as Hydra (or the schema.org actions) ?
> Is Hydra even a good match for what I am trying to archieve?
>
> Any help would be greatly appreciated!!!
> Thank you very much in advance!
>
> Best regards
> Marcel Reppenhagen
>
>
>
>
Received on Tuesday, 13 February 2018 23:25:48 UTC