Skip to end of metadata
Go to start of metadata

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
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.