Scenario 1: Read Non-Fedora-generated OCFL containing RDF.
Fedora is smart about extracting LDP structure
Starting with an OCFL like this:
[/myroot]
├── 0=ocfl_1.0
├── ocfl_1.0.html (optional copy of the OCFL specification)
├── myobject1
├── 0=ocfl_object_1.0
├── inventory.json
├── inventory.json.sha512
├── v1
├── content
├── myobject1.ttl
└── myobject1/
└── child.ttl
Scenario 1.A.1: myobject1.ttl contains relative subjects
</myroot/myobject1> <predicate> <object>.
curl -X GET http://localhost:8080/root/myobject curl -i http://localhost:8080/rest/myroot/myobject1 HTTP/1.1 200 OK Date: Thu, 07 Mar 2019 23:46:18 GMT ETag: W/"243866ce79cb4bdea2baf53f764c107a04312bf1" Last-Modified: Thu, 07 Mar 2019 23:44:00 GMT Link: <http://www.w3.org/ns/ldp#Resource>;rel="type" Link: <http://www.w3.org/ns/ldp#Container>;rel="type" Link: <http://www.w3.org/ns/ldp#RDFSource>; rel="type" Link: <http://www.w3.org/ns/ldp#BasicContainer>;rel="type" Link: <http://localhost:8080/rest/myroot/myobject1>; rel="timegate" Link: <http://localhost:8080/rest/myroot/myobject1>; rel="original" Link: <http://localhost:8080/rest/myroot/myobject1/fcr:versions>; rel="timemap" Link: <http://mementoweb.org/ns#OriginalResource>; rel="type" Link: <http://mementoweb.org/ns#TimeGate>; rel="type" Accept-External-Content-Handling: copy,redirect,proxy Accept-Patch: application/sparql-update Accept-Post: text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json Allow: MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Link: <http://localhost:8080/rest/myroot/myobject1/fcr:acl>; rel="acl" Preference-Applied: return=representation Vary: Prefer Vary: Accept Vary: Range Vary: Accept-Encoding Vary: Accept-Language Vary: Accept-Datetime Content-Type: text/turtle;charset=utf-8 Content-Length: 860 Server: Jetty(9.3.25.v20180904) @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix fedora: <http://fedora.info/definitions/v4/repository#> . @prefix ldp: <http://www.w3.org/ns/ldp#> . @prefix dcterms: <http://purl.org/dc/terms/> . <http://localhost:8080/rest/myroot/myobject1> rdf:type fedora:Container ; rdf:type fedora:Resource ; rdf:type ldp:BasicContainer ; fedora:lastModifiedBy "bypassAdmin" ; fedora:createdBy "bypassAdmin" ; fedora:created "2019-03-07T23:43:44.13Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; fedora:lastModified "2019-03-07T23:44:00.991Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:title "my title" ; rdf:type ldp:RDFSource ; rdf:type ldp:Container .
Questions:
- Where do the server managed triples come from if they are not specified in the RDF? Ie on import are they added to .fcrepo/server-managed.ttl and automatically versioned?
Scenario 1.A.2: myobject1.ttl contains relative subjects
curl -X GET http://localhost:8080/root/myobject
@prefix dcterms: <http://purl.org/dc/terms/>. <http://localhost:8080/rest/myroot/myobject1> dcterms:title "my object 1".
Scenario 1b: myobject1.ttl contains external URL subjects
@prefix dcterms: <http://purl.org/dc/terms/>. <http://non-fedora-host:port/context/myobject> dcterms:title "my object 1".
curl -X GET http://localhost:8080/root/myobject
@prefix dcterms: <http://purl.org/dc/terms/>. <http://non-fedora-host:port/context/myobject> dcterms:title "my object 1".
Scenario 1c: myobject1.ttl contains LDP type and containment info
@prefix ldp: <http://www.w3.org/ns/ldp#>. </some-context/myobject1> a <http://www.w3.org/ns/ldp#RDFSource>, <http://www.w3.org/ns/ldp#BasicContainer>; ldp:contains </some-context/myobject1/child> .
Is this a scenario we need to consider?