FIWARE Banner


FIWARE Tutorial Schema:Shelf

Shelf - a unit of Store Furniture. Products are found on a shelf

PropertyExpected TypeDescription
Properties from Shelf
locatedIn Relationship: Building The Building that the Shelf Unit is located in.
maxCapacity Property: integer The maximum number of items the shelf can hold
name Property: text The name of the Shelf Unit
stocks Relationship: Product The Product currently found on the Shelf Unit
numberOfItems Property: integer The number of items of the product currently found on the shelf
installedBy Relationship: Person The Person who installed the shelf
statusOfWork Property: boolean The status of the shelf installation (e.g. pending, in progress, completed)
location GeoProperty: geo:json The location of the Shelf

A snippet of the @context and @graph can be seen below (scroll to see more detail):

  
{
  "@context": {
    "tutorial": "https://fiware.github.io/tutorials.Step-by-Step/schema/",
 
    "Shelf": "tutorial:Shelf",

    "installedBy": {
      "@id": "tutorial:installedBy",   
      "@type": "@id"
    },  
    "locatedIn": {
      "@id": "tutorial:locatedIn",   
      "@type": "@id"
    },
    "maxCapacity":  {
      "@id": "tutorial:maxCapacity",
      "@type": "xsd:integer"
    },
    "numberOfItems":  {
      "@id": "tutorial:numberOfItems",
      "@type": "xsd:integer"
    },
    "requestedBy": {
      "@id": "tutorial:requestedBy",   
      "@type": "@id"
    },  
    "statusOfWork": "tutorial:statusOfWork",
    "stocks": {
      "@id": "tutorial:stocks",   
      "@type": "@id"
    }
  },
  "@graph": [
    {
      "@id": "tutorial:Shelf",
      "@type": "rdfs:Class",
      "rdfs:comment": "A Shelf is a unit of Store Furniture",
      "rdfs:label": "Shelf",
      "rdfs:subClassOf": {
        "@id": "http://schema.org/Thing"
      }
    },
    {
      "@id": "tutoral:requestedBy",
      "@type": "https://uri.etsi.org/ngsi-ld/Relationship",
      "schema:domainIncludes": [
        {
          "@id": "tutorial:Shelf"
        },
        {
          "@id": "tutorial:StockOrder"
        }
      ],
      "schema:rangeIncludes": [
        {
          "@id": "schema:Person"
        }
      ],
      "rdfs:comment": "Object requested by person.",
      "rdfs:label": "requestedBy"
    },
    {
      "@id": "tutoral:installedBy",
      "@type": "https://uri.etsi.org/ngsi-ld/Relationship",
      "schema:domainIncludes": [
        {
          "@id": "tutorial:Shelf"
        }
      ],
      "schema:rangeIncludes": [
        {
          "@id": "schema:Person"
        }
      ],
      "rdfs:comment": "Person who installs an Object",
      "rdfs:label": "installedBy"
    },
    {
      "@id": "tutorial:locatedIn",
      "@type": "https://uri.etsi.org/ngsi-ld/Relationship",
      "schema:domainIncludes": [
        {
          "@id": "tutorial:Shelf"
        }
      ],
      "schema:rangeIncludes": [
        {
          "@id": "fiware:Building"
        }
      ],
      "rdfs:comment": "Building in which an item is found",
      "rdfs:label": "locatedIn"
    },
    {
      "@id": "tutorial:stocks",
      "@type": "https://uri.etsi.org/ngsi-ld/Relationship",
      "schema:domainIncludes": [
        {
          "@id": "tutorial:Shelf"
        }
      ],
      "schema:rangeIncludes": [
        {
          "@id": "tutorial:Product"
        }
      ],
      "rdfs:comment": "The product found on a shelf",
      "rdfs:label": "stocks"
    }
  ]
}