Unexpected LDP response to PUT

Hi All!

I am running the Virtuoso OS v7 docker image (the “latest” in the docker hub).

I have an LDP Container .../fair/, with some ldp:contains contents. I have used PUT to add additional metadata to that Container (PUTting triples directly to the Container URI .../fair/). This works nicely! However, I seem to be unable to eliminate that metadata by using PUT to replace the RDF of the folder with an RDF document that lacks the triples I want to eliminate.

i.e.:

REQUEST:  HTTP GET -H "Accept: text/turtle" .../fair/
..../fair/
   ldp:contains  X,Y,Z;
   dc:author "Me";
   dc:title "My Container"

REQUEST:  HTTP PUT -H "Content-type: text/turtle"
..../fair/
   ldp:contains  X,Y,Z;
   dc:title "My Container"
   
RESPONSE:  HTTP/1.1 201 Created; Location: ..../fair/

REQUEST:  HTTP GET -H "Accept: text/turtle" .../fair/
..../fair/
   ldp:contains  X,Y,Z;
   dc:author "Me";    <----  this triple is still there!?!
   dc:title "My Container"

Is this the expected behavior? My understanding was that a PUT would replace the content of the URI…

Advice welcome!

M

I’m going to withdraw this report, for the moment. It only happens with some of my Containers, not all of them. I will try to find a set of steps that are 100% sure to reproduce this behavior for you. It definitely happens! But not consistently with all of my Containers.

@markwilkinson: Please confirm the actual version and git id of the docker container being used, i.e., output from virtuoso-t -?. As there were some LDP fixes end of 2018 that may be relevant to this issue …