Scenario
- Took a simple scenario: Login, keyword search, select a result and load record, annotate a field, list all annotations for the object.
- OWLIM is used as local repository.
- 181 select statements were executed
- Three nodes were created - Annotation, Target, Body - with 2-6 properties each.
- Deletions are rare operations and are very slow which is a problem.
Common Queries
Get List of Objects
select DISTINCT ?E where { ?E a rso:FC70_Thing. ?E crm:P50_has_current_keeper <http://collection.britishmuseum.org/id/the-british-museum>. FILTER ( ?E=<http://collection.britishmuseum.org/id/object/RRC42022> || ?E=<http://collection.britishmuseum.org/id/object/RRC42023> || ?E=<http://collection.britishmuseum.org/id/object/RRC42024> || ?E=<http://collection.britishmuseum.org/id/object/RFI42514> || ?E=<http://collection.britishmuseum.org/id/object/RFI42519> || ?E=<http://collection.britishmuseum.org/id/object/RFI42523> || ?E=<http://collection.britishmuseum.org/id/object/RFI42526> || ?E=<http://collection.britishmuseum.org/id/object/RFI42527> || ?E=<http://collection.britishmuseum.org/id/object/RFI42566> || ?E=<http://collection.britishmuseum.org/id/object/RRM192760> || ?E=<http://collection.britishmuseum.org/id/object/RRM192761> || ?E=<http://collection.britishmuseum.org/id/object/RRM192762> || ?E=<http://collection.britishmuseum.org/id/object/RRM192763> || ?E=<http://collection.britishmuseum.org/id/object/RRM192764> || ?E=<http://collection.britishmuseum.org/id/object/RRM192765> || ?E=<http://collection.britishmuseum.org/id/object/RRM192766> || ?E=<http://collection.britishmuseum.org/id/object/RRM192767> || ?E=<http://collection.britishmuseum.org/id/object/RRM192768> || ?E=<http://collection.britishmuseum.org/id/object/RRM192769> || ?E=<http://collection.britishmuseum.org/id/object/RRM192770> ) }
Get Images of Object
select DISTINCT ?E ?Images2 where { ?E a rso:FC70_Thing. ?E crm:P138i_has_representation ?Images2. FILTER ( ?E=<http://collection.britishmuseum.org/id/object/RFI42514> ) }
Get Nuxeo UIDs
select DISTINCT ?E ?UID where { ?E a rso:FC70_Thing. ?E crm:P1_is_identified_by ?uid. ?uid crm:P2_has_type rst-identifier:nuxeo_uid. ?uid crm:P3_has_note ?UID. FILTER ( ?E=<http://collection.britishmuseum.org/id/object/RRC42022> || ?E=<http://collection.britishmuseum.org/id/object/RRC42023> || ?E=<http://collection.britishmuseum.org/id/object/RRC42024> || ?E=<http://collection.britishmuseum.org/id/object/RFI42514> || ?E=<http://collection.britishmuseum.org/id/object/RFI42519> || ?E=<http://collection.britishmuseum.org/id/object/RFI42523> || ?E=<http://collection.britishmuseum.org/id/object/RFI42526> || ?E=<http://collection.britishmuseum.org/id/object/RFI42527> || ?E=<http://collection.britishmuseum.org/id/object/RFI42566> || ?E=<http://collection.britishmuseum.org/id/object/RRM192760> || ?E=<http://collection.britishmuseum.org/id/object/RRM192761> || ?E=<http://collection.britishmuseum.org/id/object/RRM192762> || ?E=<http://collection.britishmuseum.org/id/object/RRM192763> || ?E=<http://collection.britishmuseum.org/id/object/RRM192764> || ?E=<http://collection.britishmuseum.org/id/object/RRM192765> || ?E=<http://collection.britishmuseum.org/id/object/RRM192766> || ?E=<http://collection.britishmuseum.org/id/object/RRM192767> || ?E=<http://collection.britishmuseum.org/id/object/RRM192768> || ?E=<http://collection.britishmuseum.org/id/object/RRM192769> || ?E=<http://collection.britishmuseum.org/id/object/RRM192770> )}
Get Nuxeo UIDs of Image
select DISTINCT ?E ?Images1 where { ?E a rso:FC70_Thing. ?E crm:P70i_is_documented_in ?doc.?doc crm:P138i_has_representation ?img. ?img a rso:E38_Image.?img crm:P1_is_identified_by ?id. ?id crm:P2_has_type rst-identifier:nuxeo_uid. ?id crm:P3_has_note ?Images1. FILTER ( ?E=<http://collection.britishmuseum.org/id/object/RRM192764> )}
Get Object by Nuxeo UID
select ?u where { ?u crm:P1_is_identified_by ?id. ?id crm:P2_has_type rst-identifier:nuxeo_uid. ?id crm:P3_has_note ?n. FILTER (str(?n)="BM-RRM192765")}
Get Annotation Data
select * where {?Ann a oac:Annotation. ?Ann oac:hasTarget ?tg . ?Ann <http://www.researchspace.org/ontology/root> ?MS FILTER (?MS = <http://collection.britishmuseum.org/id/object/RRM192765>). ?tg <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject> ?SB FILTER (?SB = <http://collection.britishmuseum.org/id/object/RRM192765>). ?tg <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate> ?PR FILTER (?PR = <http://erlangen-crm.org/current/P48_has_preferred_identifier>). OPTIONAL {?Ann <http://www.researchspace.org/ontology/other_object> ?OO}. OPTIONAL {?tg <http://www.w3.org/1999/02/22-rdf-syntax-ns#object> ?NO}. ?Ann oac:hasBody ?_bd . OPTIONAL {?_bd rso:P3_has_title ?TI.} OPTIONAL {?_bd rso:P3_has_description ?DE.} OPTIONAL {?Ann crm:P14_carried_out_by ?US.} OPTIONAL {?Ann crm:P4_has_time-span ?DO. ?DO crm:P82_at_some_time_within ?DT. } OPTIONAL {?Ann crm:P1_is_identified_by ?ID. ?ID crm:P3_has_note ?NI. } OPTIONAL {?Ann <rso:P2_annotation_status> ?ST}. OPTIONAL {?Ann rso:P2_annotation_status ?ST.} OPTIONAL {?Ann rso:P2_reply_disposition ?DISP.} OPTIONAL {?Ann rso:P2_other_disposition ?ODISP.} OPTIONAL {?Ann rso:reply_to ?RT.}
Labels:
None