datafoodconsortium / prototype

The DFC prototype allows you to map data on different platforms.
http://proto.datafoodconsortium.org/
MIT License
10 stars 4 forks source link

Quantity not Provided in PUT #128

Open mkllnk opened 1 year ago

mkllnk commented 1 year ago

Description

I observed the request body when updating a Supplied Product and the only property in the graph is the description. I'm wondering if this can be resolved by changing the Open Food Network config entries to DFC v1.7. They are still v1.6 at the moment.

Expected Behavior

I would expect at least name, product type and quantity to be included in the graph.

Actual Behaviour

PATCH /api/dfc-v1.7/enterprises/1215/supplied_products/31451 HTTP/1.1
{
  "@context": {
    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
    "skos": "http://www.w3.org/2004/02/skos/core#",
    "dfc": "http://static.datafoodconsortium.org/ontologies/DFC_FullModel.owl#",
    "dc": "http://purl.org/dc/elements/1.1/#",
    "dfc-b": "http://static.datafoodconsortium.org/ontologies/DFC_BusinessOntology.owl#",
    "dfc-p": "http://static.datafoodconsortium.org/ontologies/DFC_ProductOntology.owl#",
    "dfc-t": "http://static.datafoodconsortium.org/ontologies/DFC_TechnicalOntology.owl#",
    "dfc-m": "http://static.datafoodconsortium.org/data/measures.rdf#",
    "dfc-pt": "http://static.datafoodconsortium.org/data/productTypes.rdf#",
    "dfc-f": "http://static.datafoodconsortium.org/data/facets.rdf#",
    "dfc-p:hasUnit": {
      "@type": "@id"
    },
    "dfc-b:hasUnit": {
      "@type": "@id"
    },
    "dfc-b:hasQuantity": {
      "@type": "@id"
    },
    "dfc-p:hasType": {
      "@type": "@id"
    },
    "dfc-b:hasType": {
      "@type": "@id"
    },
    "dfc-b:references": {
      "@type": "@id"
    },
    "dfc-b:referencedBy": {
      "@type": "@id"
    },
    "dfc-b:offeres": {
      "@type": "@id"
    },
    "dfc-b:supplies": {
      "@type": "@id"
    },
    "dfc-b:defines": {
      "@type": "@id"
    },
    "dfc-b:affiliates": {
      "@type": "@id"
    },
    "dfc-b:hasCertification": {
      "@type": "@id"
    },
    "dfc-b:manages": {
      "@type": "@id"
    },
    "dfc-b:offeredThrough": {
      "@type": "@id"
    },
    "dfc-b:hasBrand": {
      "@type": "@id"
    },
    "dfc-b:hasGeographicalOrigin": {
      "@type": "@id"
    },
    "dfc-b:hasClaim": {
      "@type": "@id"
    },
    "dfc-b:hasAllergenDimension": {
      "@type": "@id"
    },
    "dfc-b:hasNutrientDimension": {
      "@type": "@id"
    },
    "dfc-b:hasPhysicalDimension": {
      "@type": "@id"
    },
    "dfc:owner": {
      "@type": "@id"
    },
    "dfc-t:hostedBy": {
      "@type": "@id"
    },
    "dfc-t:hasPivot": {
      "@type": "@id"
    },
    "dfc-t:represent": {
      "@type": "@id"
    }
  },
  "dfc-b:description": "DFC_EDIT"
}

Steps to Reproduce

  1. Import catalog items from Open Food Network.
  2. Change the quantity and save it at the source.
  3. Observe request body of the PATCH request.

Animated Gif/Screenshot

Workaround

Your Environment

RaggedStaff commented 1 year ago

@simonLouvet @Mikoteko Est-que ce probleme lie a celui de LDP-Navigator ?

Mikoteko commented 1 year ago

Oui c'est tout à fait possible ! Dans tous les cas le problème ressemble à celui qu'on a observé en traitant les données de Socléo (c'est bien de l'avoir remonté parce que ça nous permet de mieux cibler le problème, merci!)

simonLouvet commented 1 year ago

It is possible @RaggedStaff .

we'll try to reproduce when the bug is fixed

mkllnk commented 1 year ago

The quantity is now provided but it's not updating. I went to edit a product, changed the quantity to 3000 gram and the OFN server received only the old value, 2000 gram.

{
  "@context": {
    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
    "skos": "http://www.w3.org/2004/02/skos/core#",
    "dfc": "https://github.com/datafoodconsortium/ontology/releases/latest/download/DFC_FullModel.owl#",
    "dc": "http://purl.org/dc/elements/1.1/#",
    "dfc-b": "https://github.com/datafoodconsortium/ontology/releases/latest/download/DFC_BusinessOntology.owl#",
    "dfc-p": "https://github.com/datafoodconsortium/ontology/releases/latest/download/DFC_ProductGlossary.owl#",
    "dfc-t": "https://github.com/datafoodconsortium/ontology/releases/latest/download/DFC_TechnicalOntology.owl#",
    "dfc-m": "https://github.com/datafoodconsortium/taxonomies/releases/latest/download/measures.rdf#",
    "dfc-pt": "https://github.com/datafoodconsortium/taxonomies/releases/latest/download/productTypes.rdf#",
    "dfc-f": "https://github.com/datafoodconsortium/taxonomies/releases/latest/download/facets.rdf#",
    "ontosec": "http://www.semanticweb.org/ontologies/2008/11/OntologySecurity.owl#",
    "dfc-p:hasUnit": {
      "@type": "@id"
    },
    "dfc-b:hasUnit": {
      "@type": "@id"
    },
    "dfc-b:hasQuantity": {
      "@type": "@id"
    },
    "dfc-p:hasType": {
      "@type": "@id"
    },
    "dfc-b:hasType": {
      "@type": "@id"
    },
    "dfc-b:references": {
      "@type": "@id"
    },
    "dfc-b:referencedBy": {
      "@type": "@id"
    },
    "dfc-b:offeres": {
      "@type": "@id"
    },
    "dfc-b:supplies": {
      "@type": "@id"
    },
    "dfc-b:defines": {
      "@type": "@id"
    },
    "dfc-b:affiliates": {
      "@type": "@id"
    },
    "dfc-b:hasCertification": {
      "@type": "@id"
    },
    "dfc-b:manages": {
      "@type": "@id"
    },
    "dfc-b:offeredThrough": {
      "@type": "@id"
    },
    "dfc-b:hasBrand": {
      "@type": "@id"
    },
    "dfc-b:hasGeographicalOrigin": {
      "@type": "@id"
    },
    "dfc-b:hasClaim": {
      "@type": "@id"
    },
    "dfc-b:hasAllergenDimension": {
      "@type": "@id"
    },
    "dfc-b:hasNutrientDimension": {
      "@type": "@id"
    },
    "dfc-b:hasPhysicalDimension": {
      "@type": "@id"
    },
    "dfc:owner": {
      "@type": "@id"
    },
    "dfc-t:hostedBy": {
      "@type": "@id"
    },
    "dfc-t:hasPivot": {
      "@type": "@id"
    },
    "dfc-t:represent": {
      "@type": "@id"
    }
  },
  "@id": "https://staging.coopcircuits.fr/api/dfc-v1.7/enterprises/2731/supplied_products/56790",
  "@type": "dfc-b:SuppliedProduct",
  "dfc-b:alcoholPercentage": 0,
  "dfc-b:description": "Delicious bananas, travelled well again",
  "dfc-b:hasQuantity": {
    "@type": "dfc-b:QuantitativeValue",
    "dfc-b:hasUnit": "dfc-m:Gram",
    "dfc-b:value": 2000
  },
  "dfc-b:hasType": "dfc-pt:non-local-vegetable",
  "dfc-b:lifetime": "",
  "dfc-b:name": "Banana",
  "dfc-b:totalTheoreticalStock": 0,
  "dfc-b:usageOrStorageCondition": "",
  "dfc:owner": "http://proto.datafoodconsortium.org:3000/ldp/user/64c1d30351ecb4367037a9f6",
  "dfc-b:hasPhysicalCharacteristic": [],
  "dfc-b:hasNutrientCharacteristic": [],
  "dfc-b:hasAllergenCharacteristic": []
}

The description was updated though.

But the request to the catalog item didn't happen. SKU and StockLimitation were therefore not updated.