Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
curl -X POST http://localhost:8080/rest/objects/101?mixin=fedora:object
curl -X POST -H "Content-type: application/pdf" --data-binary @test.pdf \
    http://localhost:8080/rest/objects/101/master/fcr:content
curl -X POST http://localhost:8080/rest/objects/102?mixin=fedora:object
curl -X POST -H "Content-type: text/plain" --data-binary @test.txt http \
    http://localhost:8080/rest/objects/102/master/fcr:content
curl -X POST http://localhost:8080/rest/objects/103?mixin=fedora:object
curl -X POST -H "Content-type: application/pdf" --data-binary @test.pdf \
    http://localhost:8080/rest/objects/103/master/fcr:content
curl -X POST -H "Content-type: text/plain" --data-binary @test.txt http\
    http://localhost:8080/rest/objects/103/text/fcr:content

...

Code Block
prefix fcrepo: <http://fedora.info/definitions/v4/repository#>
select ?object where { ?ds fcrepo:mixinTypes "fedora:datastream" .
    ?ds fcrepo:hasParent ?object . ?ds fcrepo:hasContent ?content .
    ?content fcrepo:mimeType "application/pdf" }

Attach metadata properties directly to objects

Create an object and attach the dc:title property:

Code Block
curl -X POST http://localhost:8080/rest/objects/201?mixin=fedora:object
echo "prefix dc: <http://purl.org/dc/terms/>
insert data { <http://localhost:8080/rest/objects/201> dc:title 'Foo' . }" \
| curl -X PATCH --upload-file - http://localhost:8080/rest/objects/201

Find objects with titles:

Code Block
prefix dc: <http://purl.org/dc/terms/>
select ?object ?title where { ?object dc:title ?title }

Find Objects By Collection Membership

Create three objects and three collections:

Code Block
curl -X POST http://localhost:8080/rest/objects/col1?mixin=fedora:object
curl -X POST http://localhost:8080/rest/objects/col2?mixin=fedora:object
curl -X POST http://localhost:8080/rest/objects/col3?mixin=fedora:object
curl -X POST http://localhost:8080/rest/objects/obj1?mixin=fedora:object
curl -X POST http://localhost:8080/rest/objects/obj2?mixin=fedora:object
curl -X POST http://localhost:8080/rest/objects/obj3?mixin=fedora:object 

Link each object to a collection:

Code Block
echo 'insert data { <http://localhost:8080/rest/objects/obj1> <http://fedora.info/definitions/v4/rels-ext#isMemberOfCollection> <http://localhost:8080/rest/objects/col1> . }' | curl -X PATCH --upload-file - http://localhost:8080/rest/objects/obj1
echo 'insert data { <http://localhost:8080/rest/objects/obj2> <http://fedora.info/definitions/v4/rels-ext#isMemberOfCollection> <http://localhost:8080/rest/objects/col2> . }' | curl -X PATCH --upload-file - http://localhost:8080/rest/objects/obj2
echo 'insert data { <http://localhost:8080/rest/objects/obj3> <http://fedora.info/definitions/v4/rels-ext#isMemberOfCollection> <http://localhost:8080/rest/objects/col3> . }' | curl -X PATCH --upload-file - http://localhost:8080/rest/objects/obj3

Link the collections in a hierarchy:

Code Block
echo 'insert data { <http://localhost:8080/rest/objects/col1> <http://fedora.info/definitions/v4/rels-ext#hasPart> <http://localhost:8080/rest/objects/col2> . }' | curl -X PATCH --upload-file - http://localhost:8080/rest/objects/col1
echo 'insert data { <http://localhost:8080/rest/objects/col2> <http://fedora.info/definitions/v4/rels-ext#hasPart> <http://localhost:8080/rest/objects/col3> . }' | curl -X PATCH --upload-file - http://localhost:8080/rest/objects/col2

Find objects directly attached to a collection:

Code Block
select ?obj ?col where { ?obj <http://fedora.info/definitions/v4/rels-ext#isMemberOfCollection> ?col }

Find objects directly or indirectly attached (down to the third level):

Code Block
prefix rels: <http://fedora.info/definitions/v4/rels-ext#>
select ?obj where {
{?obj rels:isMemberOfCollection <http://localhost:8080/rest/objects/col1>}
UNION
{?obj rels:isMemberOfCollection ?c . <http://localhost:8080/rest/objects/col1> rels:hasPart ?c }
UNION
{?obj rels:isMemberOfCollection ?c . <http://localhost:8080/rest/objects/col1> rels:hasPart ?c1 . ?c1 rels:hasPart ?c }
}