Modeling Inventory Levels / Available Quantities

In GoodRelations, that there are two different GoodRelations properties that refer to quantities of items:

gr:amountOfThisGood is attached to gr:TypeAndQuantity nodes and indicates the quantity of the item included in the particular offer. In 80% of the cases, this should be 1.0 (i.e., "1.0"^^xsd.float), because the price etc. is meant for one item. A value other than 1.0 is appropriate when you sell a bundle of items or use units of measurement other than "item/piece", e.g. selling

  • 100 tiles,
  • 500 g of butter, or
  • 1 camera plus 2 memory sticks.

gr:hasInventoryLevel, on the contrary, can be used to indicate inventory levels. Note that while gr:amountOfThisGood is an owl:DatatypeProperty, gr:hasInventoryLevel is an owl:ObjectProperty with a range of gr:QuantitativeValueFloat, because this allows for using arbitrary units and also specifying ranges.

It can only be attached to instances of gr:ProductOrServicesSomeInstancesPlaceholder.

So if you want to indicate inventory levels, use gr:hasInventoryLevel in combination with an instance of gr:QuantitativeValueFloat.

Example: Assume you have 80 pieces of a SCSI controller card on stock. Then, use the following pattern:


   Product Name:
   ``Personal SCSI 16-bit SCSI Controller``
   ``This low-cost, high-performance SCSI controller allows you to connect up to
   seven professional mass-storage devices to your computer.``

    EAN/UPC code:
        ``Product Image

             ``80`` items on stock.



foo:myProduct a gr:ProductOrServicesSomeInstancesPlaceholder;
  rdfs:label "Personal SCSI 16-bit SCSI Controller"@en ;
  gr:hasEAN_UCC-13 "00010363780"^^xsd:string ;
  gr:hasManufacturer <> ;
  rdfs:comment "This low-cost, high-performance SCSI controller allows you to connect up to seven professional mass-storage devices to your computer."@en ;
  foaf:page <> ;
  rdfs:seeAlso <> ;
  foaf:depiction <> ;
      [ a gr:QuantitativeValueFloat;
        gr:hasValueFloat "80"^^xsd:float ;
        gr:hasUnitOfMeasurement "C62"^^xsd:string
      ] ;