Skip to content

Empty validation report for fields related to LDP:hasMemberRelation #871

Description

@SeanBerrieHRI

What components are related to the issue?

API

Which FDP are you using?

My local instance, FDP that I manage

Version

1.8.2

What happened?

Expected:
400 response on “/edit” endpoint when entering invalid value types. Expecting a validation report to see where the validation went wrong.

Actual:
403 forbidden access response when updating Dataset where an URI is expected with an invalid value.

Cause:
Assuming the issue stems from Analytics being included as a ldp:hasMemberRelationship which is added by the FairDataPoint (FDP) back-end.

n0:
    a ldp:DirectContainer;
    dct:title "Analytics Distributions";
--> ldp:hasMemberRelation he:analytics; <--
    ldp:membershipResource d:6319ca23-ee79-491e-a867-dcf40562b4cb.
d:6319ca23-ee79-491e-a867-dcf40562b4cb

This has been concluded because in the the payload there are 4 different ldp:DirectContainers for Dataset Series, Distribution, Sample Distribution and Analytics. Only when updating these input fields with incorrect value types a 403 Forbidden access is returned with an empty validation report as seen in the image below.
Image

MRE:

1. Setup environment:

  1.1:
  Docker-compose up -d with the following content in de docker-compose file:
  
   services:
       fdp:
           image: fairdata/fairdatapoint:1.18.2
  
       fdp-client:
           image: fairdata/fairdatapoint-client:1.18.1
           ports:
               - 80:80
           environment:
               - FDP_HOST=fdp
  
       mongo:
           image: mongo:8.0

  1.2:
    Upload the Health-ri v2 models (https://github.com/Health-RI/health-ri-metadata/tree/develop/Formalisation(shacl)/Core/PiecesShape) manually or use the FairDataPointSchemaTool
  

2. Preparing data:
  2.1:
    Create a **Catalog** with only the mandatory fields
    
  2.2:
    Create a **Dataset** with only the mandatory fields
    
  2.3:
    Edit the created **Dataset** by filling in an invalid value type for the input of **Dataset Series, Distribution, Sample Distribution, Analytics** or any other input field that has is included in the ldp:hasMemberRelation and save the edited object.  

3. Result:
  This should result in an empty validation report as shown in the image below
Image

Relevant log output


Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions