Learning Outcomes
- Deploying Fedora
- Explore core and external features
- Gain insight into content modeling (PCDM)
Prerequisites
Either
- Vagrant setup:
- Download and install Vagrant: http://www.vagrantup.com/downloads.html
- Download the Fedora 4 VM: https://github.com/fcrepo4-labs/fcrepo4-vagrant
- Note that you can either clone the repository to your desktop or just download the ZIP [2] and unzip it
- Using a Command Line Interface, navigate to the VM folder from step 3 and run the command: vagrant up
- Note that this step will take a while as the VM downloads and installs a virtual environment
- Or, Standalone apps setup
Explore Features
Using Google Chrome PostMan app, execute the following requests (attached)
- curl -XPUT localhost:8080/fcrepo/rest/objects/
- curl -XGET localhost:8080/fcrepo/rest/objects/
curl -XPUT -H"Content-Type: text/turtle" --data-binary @body localhost:8080/fcrepo/rest/objects/raven/
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX indexing: <http://fedora.info/definitions/v4/indexing#>
<> a indexing:Indexable ;
indexing:hasIndexingTransformation \"default\" ."
- curl -XGET localhost:8080/fcrepo/rest/objects/raven/
curl -XPUT -H"Content-Type: text/turtle" --data-binary @body localhost:8080/fcrepo/rest/objects/raven/files/
PREFIX ldp: <http://www.w3.org/ns/ldp#>
PREFIX pcdm: <http://pcdm.org/models#>
<> a ldp:DirectContainer;
ldp:membershipResource </fcrepo/rest/objects/raven/>;
ldp:hasMemberRelation pcdm:hasFiles ."
- curl -XGET localhost:8080/fcrepo/rest/objects/raven/files/
- curl -XGET -H"Prefer: return=representation; include=\"http://fedora.info/definitions/v4/repository#EmbedResources\"" localhost:8080/fcrepo/rest/objects/raven/files/
- curl -XGET -H"Prefer: return=representation; omit=\"http://fedora.info/definitions/v4/repository#ServerManaged\"" localhost:8080/fcrepo/rest/objects/raven/files/
- curl -XPUT -H"Content-Type: application/pdf" localhost:8080/fcrepo/rest/objects/raven/files/page0
curl -XPATCH -H"Content-Type: application/sparql-update" --data-binary @body localhost:8080/fcrepo/rest/objects/raven/files/page0/fcr:metadata
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX indexing: <http://fedora.info/definitions/v4/indexing#>
DELETE { }
INSERT {
<> indexing:hasIndexingTransformation \"default\";
rdf:type indexing:Indexable }
WHERE { }"
- curl -XPUT -H"Content-Type: application/pdf" localhost:8080/fcrepo/rest/objects/raven/files/page1
curl -XPATCH -H"Content-Type: application/sparql-update" --data-binary @body localhost:8080/fcrepo/rest/objects/raven/files/page1/fcr:metadata
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX indexing: <http://fedora.info/definitions/v4/indexing#>
DELETE { }
INSERT {
<> indexing:hasIndexingTransformation \"default\";
rdf:type indexing:Indexable }
WHERE { }"
curl -XPUT -H"Content-Type: text/turtle" --data-binary @body localhost:8080/fcrepo/rest/collections/
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX indexing: <http://fedora.info/definitions/v4/indexing#>
<> a indexing:Indexable ;
indexing:hasIndexingTransformation \"default\" ."
curl -XGET -H"Content-Type: text/turtle" --data-binary @body localhost:8080/fcrepo/rest/collections/poe/
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX indexing: <http://fedora.info/definitions/v4/indexing#>
<> a indexing:Indexable ;
indexing:hasIndexingTransformation \"default\" ."
- curl -XGET localhost:8080/fcrepo/rest/collections/poe/
curl -XPUT -H"Content-Type: text/turtle" --data-binary @body localhost:8080/fcrepo/rest/collections/poe/members/
PREFIX ldp: <http://www.w3.org/ns/ldp#>
PREFIX pcdm: <http://pcdm.org/models#>
PREFIX ore: <http://www.openarchives.org/ore/terms/>
<> a ldp:IndirectContainer;
ldp:membershipResource </fcrepo/rest/collections/poe/>;
ldp:hasMemberRelation pcdm:hasMember ;
ldp:insertedContentRelation ore:proxyFor ."
curl -XPUT -H"Content-Type: text/turtle" --data-binary @body localhost:8080/fcrepo/rest/collections/poe/members/member0
PREFIX ore: <http://www.openarchives.org/ore/terms/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX indexing: <http://fedora.info/definitions/v4/indexing#>
<> a ore:Proxy;
ore:proxyIn </fcrepo/rest/collections/poe/> ;
ore:proxyFor </fcrepo/rest/objects/raven/> ;
indexing:hasIndexingTransformation \"default\";
rdf:type indexing:Indexable ."
SPARQL Query
In Fuseki console (localhost:3030)
- Select "Control Panel"
- Select Dataset "/test"
- Select Output "Text"
- Select "Force the accept header text/plain regardless"
Query
Using Admin Features
Transactions (docs)
Versioning (docs)
Create a version with a label
curl -XPOST http://localhost:8080/rest/item/fcr:versions/my-label
Import/Export (docs)
Additional Resources