...
Code Block |
---|
--- rest/11360/objects/albums.ttl -<http://localhost:8984/rest/11360/objects/albums> a fedora:Container , fedora:Resource ; +<http://localhost:8984/rest/11360/objects/albums> a fedora:Container , ldp:Container , ldp:RDFSource , fedora:Resource ; ... --- rest/11360/objects/albums/0c/7c/4e/29/0c7c4e29-5bc0-4005-95a6-bacd103fddee/fcr%3Ametadata.ttl -<http://localhost:8984/rest/11360/objects/albums/0c/7c/4e/29/0c7c4e29-5bc0-4005-95a6-bacd103fddee> a fedora:Binary , fedora:Resource ; +<http://localhost:8984/rest/11360/objects/albums/0c/7c/4e/29/0c7c4e29-5bc0-4005-95a6-bacd103fddee> a ldp:NonRDFSource , fedora:Binary , fedora:Resource ; |
Test 1 Conclusions
Fedora unresponsive during large (failing) delete operation in UI. This is probably a known problem.
- Fedora responsive during large import operation, but then crashes and fails the whole load.
- Round trip adds semantic information.
Test 2 - Another Trip
Import again, without deleting.
Code Block |
---|
java -jar target/fcrepo-import-export-0.1.1-SNAPSHOT.jar --mode import --resource http://localhost:8984/rest/ --dir /Users/atz/repos/import_export_test/ --binaries --auditLog |
Same log message: "Finished import... 20006 resources imported"
Repeat Test 0:
- Only timestamps change, semantic fields stabilized.
Repeat Test 1:
- TTL diffs unreadable because of extreme line-length, but the element http://localhost:8984/rest/11360/memberCollection still has the same 10,000 PCDM:hasMember objects.
Diff after TTL re-export includes:
Code Block |
---|
20004 files changed, 60098 insertions(+), 60098 deletions(-)
rewrite rest/11360/memberCollection.ttl (85%)
rewrite rest/11360/memberCollection/members.ttl (82%)
rewrite rest/11360/objects.ttl (85%) |
The same semantic differences are evident per file, e.g.:
Code Block |
---|
-<http://localhost:8984/rest/11360/objects/47/2e/63/66/472e6366-627c-42ac-b8fd-f131b48bf3fc> a fedora:Container , fedora:Resource ;
+<http://localhost:8984/rest/11360/objects/47/2e/63/66/472e6366-627c-42ac-b8fd-f131b48bf3fc> a fedora:Container , ldp:Container , ldp:RDFSource , fedora:Resource ; |
Test 2 Conclusions
- Still some work to do to make round-trips possible, unless the representational differences are considered semantically identical because of the definition of fedora:Container, for example. It seems unnecessary to have the behavior diverge between turtle and json+ld, though.
- Datestamps still vary, a known issue, if I understand correctly.
Comments:
- Generating a config implicitly and then using it on subsequent operations means that those who expect their command-line options to apply only for that command will be surprised.
- Generating a config to /var means that on certain OS, the config will be lost upon system restart. So those who rely on the persistence of previous command line options will also be surprised.
- Generating a config on first execution means that order of operation between otherwise independent calls matters (say, 3 calls, each exporting a different object with different options).
- I would recommend an explicit --set-config or --write-config option to eliminate these 3 categories of surprise.