Skip to end of metadata
Go to start of metadata

RS-910 : mockup
RS-911 : implementation


This is a simple mockup of RForms for BM data. It is a data mapping that shows the set of fields, their sequence and grouping.

  • TODO BM: review data grouping and label wording
  • TODO BM, Anna: BM RForms Test with some objects
  • The forms are fashioned after BM Collections Online (COL), but the implementation won't try to mimic the COL look & feel.
  • It is not a graphic design. Various UI looks can be found in Data Display Discussion, but this was not finalized and we have no time in RS3.5 to implement a different look.

Production Notes

Production notes for BM RForm:

  • took the BM RDFer generation script (config.xml, 154Kb) and all auxiliary scripts
    (bibliography-config.xml biography-config.xml config-nocomment.xml dimensionunit-config.xml flat-config.xml image-config.xml inline-thesauri-config.xml thesaurus-config.xml)
  • wrote script to extract used classes and properties to BM-properties.xls.
    Analyzed for potential leaks (eg object->collection->all other objects).
    Made decisions which BM props to use, and which to
  • removed commented-out statements (117Kb)
    perl -e "$/ = undef; $_ = <>; s{<!--.*?-->}{}sg; print" config.xml > config-nocomment.xml
  • wrote script to extract all triples from config-nocomment.xml (25.6Kb, 527 URIs+triples)
  • added options to discard some uninteresting triples (16.6Kb, 368 URIs+triples)
    -p discard statements about mus_obj_parts
    -d discard display_wraps
  • grouped statements (eg all statements that generate P1_is_identified_by are grouped together)
  • reduce further by abstracting a bit more (150 triples)
  • post bugs throughout (sprinkled in footnotes throughout the page)

Reference for BMO Documentation

I have fairly good confidence that this page covers all intricacies of the mapping, and covers all property paths.

  • The BMO documentation RS-695
    should be checked against the prop paths (left column) listed below.
  • Note that for some paths we use CRM prop instead of specific BMO subprops, but I think that I've mentioned all BMO subprops in footnotes
  • This is complete re Objects, but not complete re Terms (we use only the prefLabel of each term; additional term info such as Person profession, nationality and dates is not covered)

Notation and Punctuation

The first column of BM RForm below defines the data

  • ">>" indicates the level of nesting of data
  • We use numerous footnotes ({footnote} macro) that are printed at the end of each section ({display-footnotes} macro)

The other columns give some examples, including:

  • section headers: hard-coded labels
    • TODO Jana: How to skip these headers when there is no data?
  • subsubsubsection headers: used only to ease comprehension and provide hyperlink anchor: not displayed on the form!
  • rdfs:labels of properties, as explained in Labels
  • which fields to combine in one line
  • what punctuation to use (eg table cell, colon or parentheses)
    • Punctuation is subject to discussion and optimization
    • TODO Jana: How to skip the punctuation when there is no data?

In many cases I've mixed & matched data from several objects, so don't expect the data to make full business sense

Annotation Points

  • Dominic dislikes that there are too many Annotation Points (APs) in the RKD forms. If a reduced set as decided here works out ok, we'll go back to RKD forms and reduce the APs there as well.
    • Currently the RForms generate an AP for every statement. But as you can see below, there are many statements with compacted or no visual representation at all.
      TODO Jana: discuss with Dominic
  • Unless and until BM implements BM Association Mapping#Association Terms and Concept Schemes, users won't be able to propose New Values consistent with the old values
    • Watch RS-716 for status
    • See in particular this comment for details
  • Vlado suggests to have one AP per "line" in the examples below (i.e. at the incoming property of every important node)
  • When decided, put a below for every AP

Redundancy Removal

The data about an object is fetched with Inferred triples (rdfs:subPropertyOf and owl:inverseOf reasoning).
So the forms don't use all BM extension properties: when the corresponding CRM super-property does the same job.
This also means the repository returns some redundant data, which is handled by Complete Museum Object#Remove Redundant Triples:

  • Remove inferred superproperties of explicitly stated and requested subproperty.
    Eg if P48_has_preferred_identifier (subproperty) is requested, the same identifier value is not returned as P1_is_identified_by (superproperty)
  • Remove direct (shortcut) property if there is longcut path through EX_Association (see BM Association Mapping#Code In Reified Association), eg:
    <obj/acquisition> a E8_Acquisition;
      P23_transferred_title_from <person>;
      P140i_was_attributed_by [a bmo:EX_Association;
        P141_assigned <person>;
        bmo:PX_property P23_transferred_title_from;
        P2_has_type <thesaurus/acquisition/bequeathed_by>].

    will return the statements in EX_Association but not the direct statement P23, since the association has the P23 info plus more (P2)

Display Wrap

PX_display_wrap is a redundant note including " :: " separators. All the text there is supposed to be represented in structured properties.
But it's very useful to display while in "debug mode", in order to check for omissions and inconsistencies (in data or in RS)

  • "debug mode": PX_display_wrap missing from properties.txt (0 in BM-properties.xls) =>
    RS fetches the literal through superprop P3_has_note and prints it amongst the other P3_has_note.
  • "release mode": PX_display_wrap present in properties.txt (1 in BM-properties.xls) =>
    RS fetches PX_display_wrap, but doesn't display it anywhere in the rform below, so it suppresses the literal
  • TODO Vlado: add P3_has_note in some more nodes, to benefit from this


  • Acquisition date :: 1876 ::
  • Object type :: buckle ::
  • Consists of :: bronze ::

TODO Anna: check whether structured representation of this is present in PPA44216.

  • Print made by :: Cari, Godisart de ::
  • Published by :: Martinet, Aaron ::
  • Bibliograpic reference :: De Vinck 10531 ::
  • Bibliograpic reference :: IFF 9 ::
  • Subject :: satire ::
  • Component of series :: Musee Grotesque ::

Property Labels

The examples show the labels of which properties to show

  • Print the rdfs:label of most properties (eg P7_took_place_at->"took place at")
    • CRM and RSO have them in data/rdfs-labels.ttl:
    • BMO is still missing some:
  • Eg the notation "P7_took_place_at/skos:prefLabel" means to print:
    took place at: Paris, France
    • Print the rdfs:label of P7_took_place_at (assumed!)
    • Go through P7_took_place_at to a Place thesaurus node, and print its skos:prefLabel
  • Do not print the labels of:
    • Generic properties: P1_is_identified_by, P2_has_type, P3_has_note
    • Properties that traverse known "empty" nodes (only required by the CRM model, have no useful info)

Class Labels

  • Each object has many rdf:type's due to inheritance. It's hard to pick the most specific ones, unless we implement a third kind of Redundancy Removal
  • So we prefer to print property names, and the application-specific P2_has_type


Some BM fields have newlines in them. E.g. in this object:

  • Curator's comments is a whole story.
    It's mapped to bmo:PX_curatorial_comment (uses \r\r\n as newline)
  • Exhibition History is a list using dashes.
    It's mapped to bmo:PX_exhibition_history (uses \r\n as newline)
  • PX_physical_description sometimes includes an itemized description (eg all 50 folios included in a folder)
  • General notes might sometimes also include newlines.
    They are mapped to P3_has_note (and PX_curatorial_comment is also accessed through this property).

Replace all consecutive newlines [\r\n]+ in all text fields with a single "<br/>\r\n" on output. RForms displays <br/> as a newline.

BM RForm

Title & Description

P102_has_title/rdfs:label 1 Mus?e Grotesque / Les nouvellistes no.1
bmo:PX_physical_description Plate 1: two men in vigorous discussion in the street...
Ref Notes
1 multiple: title translation is also mapped here (maybe not the best way...)

Images of the Object

Images are displayed in:

  • separate panel (Images, to be renamed from "Related Content") as thumbnails
  • separate tab (Images, to be renamed from "Relations") in bigger size and with additional info: RS-1267

Problems with asset descriptions (image notes): RS-772 #8:

  • When a user attaches an asset in the BM database, the object's PX_physical_description is copied to the image note.
    Then it can be edited by the user, but most often is not, so often the asset descriptions are the same as PX_physical_description (i.e. useless)
    • Alternative1: Josh to suppress image notes equals to PX_physical_description
    • Alternative2: Mitac to skip image notes equal to PX_physical_description
    • Alternative3: RForm to skip the note of P138i_has_representation and show only the note of PX_main_representation.
      This is the best solution for tab Images, since it's useful to see PX_physical_description there
  • Some of the notes are very long (whole sagas), eg description of 50 folios
    • Jana to replace multiple consecutive newlines with a single newline
    • Option: Jana to find a collapsible component, display only the first 1000 chars, and add JS link "More" to show the rest
  • These examples are from PRN COC231583, codexid 3152931)
bmo:PX_has_main_representation 2

Full: Front
Asset ID: 544708

Full: Back
Asset ID: 544695
Ref Notes
2 This is the actual URL of the image


has preferred identifier PPA44216 (Public Reference Number)
identified by 1337054 (Codex ID)
    1866,0407.954 (Registration Number)
>P3_has_note 3   1251426246-3 (Serial Number: this is an ISSN number)
Ref Notes
3 only for serialno

Owners, Keepers, Location

P52_has_current_owner/skos:prefLabel current owner The British Museum
P50_has_current_keeper/skos:prefLabel current keeper The British Museum
    BM Prints & Drawings Department
P55_has_current_location/rdfs:label current location French XIXc Unmounted Roy
P51_has_former_or_current_owner/skos:prefLabel 4 former or current owner Mr Some One
P49_has_former_or_current_keeper/skos:prefLabel5 former or current keeper Mr Some One
Ref Notes
4 P51 is superprop of P52, but BM doesn't appear due to Redundancy Removal
5 P49 is superprop of P50, but BM doesn't appear due to Redundancy Removal

Bibliographic References

P70i_is_documented_in/rdfs:label De Vinck 10531
  IFF 9


bmo:PX_object_type/skos:prefLabel6 object type satirical print
bmo:PX_ware/skos:prefLabel7 ware African Red Slip Ware
bmo:PX_escapement/skos:prefLabel8 escapement balance spring verge
bmo:PX_currency/skos:prefLabel9 currency riyal
Ref Notes
6 RS-716
7 Pottery only
8 Watches/clocks only
9 Banknotes only RS-1141


P45_consists_of/skos:prefLabel paper
Indian Ocean (Natural source of object)10
Ref Notes
10 Only 3 objects have this

Production & Techniques

All info about one Production node should be on one line, see BM Association Mapping#Uncorrelated Events Display.
 New mapping: Production details are now found in subevent nodes: P108i_was_produced_by (single production node) -> P9_consists_of (production1, production2, etc)

>P32_used_general_technique/skos:prefLabel used general technique hand-coloured
  used general technique etching
>P14_carried_out_by/skos:prefLabel carried out by Godisart de Cari (Print made by)14
  carried out by Aaron Martinet (Published)
  carried out by Faizallah (Attributed to)15
>P4_has_time-span/P3_has_note16 17 time-span 1615 :: circa - original
>P7_took_place_at/skos:prefLabel took place at Paris (Published)18
>P15_was_influenced_by/skos:prefLabel influenced by de Cari's Teacher (School/style of)19
>P10_falls_within/skos:prefLabel falls within French Period
  falls within French Medieval Kingdom20
>P17_was_motivated_by/skos:prefLabel motivated by French Medieval King II (Ruler)21
Ref Notes
11 When present, it subsumes the specific prop mentioned in PX_property
12 P7_took_place_at, P14_carried_out_by, P15_was_influenced_by, P17_was_motivated_by
13 A Production node would have this P2 (direct type) or the above P2 (association type), but not both
14 From P140i[PX_property=P14]/P2
15 Eg ASIA.ttl: RFI42071/production/4. RS-1231 #4
16 There's a separate Production node for the date.
17 Date in P82a/P82b looks silly (1814-01-01 - 1814-12-31), date in P3 looks good and may have extra note RS-1140 RS-1313 RS-1716
18 From P140i[PX_property=P7]/P2
19 From P140i[PX_property=P15]/P2
20 From subprop bmo:PX_produced_in_state
21 From P140i[PX_property=P17]/P2
Made Part
>>P7_took_place_at/skos:prefLabel took place at Paris, France (made part: bell)
>>P14_carried_out_by/skos:prefLabel carried out by de Cari's Ebauchier (made part: ebauche)
Ref Notes
22 "bell" and "ebauche" come from P2, "made part" is hard-coded in the form
>P7_took_place_at/skos:prefLabel took place at Paris, France (Repaired)
>P14_carried_out_by/skos:prefLabel carried out by de Cari's Repairer(Repaired)
Ref Notes
23 "Repaired" comes from P2
Original From
took place at Paris, France (Original From)
Ref Notes
24 RS-1110
25 "Original From" comes from P2

Inscriptions & Images on Object

  • Print one group for each P65_shows_visual_item. Below are depicted two groups, separated with an empty row
  • Some examples: EAF121893 (inscriptions), RFI42020 (images)
  • Skip the label not only of P65_shows_visual_item, but also P14_carried_out_by and P138_represents since the corresponding P2_has_type is always present and more informative
inscription type owner's mark
>bmo:PX_inscription_subject/skos:prefLabel inscription subject mathematical
>bmo:PX_inscription_position inscription position recto and verso
>bmo:PX_inscription_script/skos:prefLabel inscription script demotic
>P72_has_language/skos:prefLabel language hausa
>rdfs:label26 label Amaimaita, to repeat or replicate
>bmo:PX_has_transliteration transliteration a maimaita
>P73_has_translation/rdfs:label translation to repeat or replicate
>P3_has_note note This is associated with a deep desire...
Inscription by Inscriber Extraordinaire
Portrait John Smith
Ref Notes
26 Multiple, separate with comma


Aspects are used mostly for Coins. Print each aspect on one line

obverse Saladin on horseback carrying a modern Kurdish flag.
>P3_has_note reverse Mountain peaks and sun.

rdfs:label duplicates P2_has_type so we skip it. RS-1163


Print each Dimension node on one line:

  • <type>: <min>-<max> <unit> (<note>)

where <type> is in a separate cell, <min>-<max> are separated by dash, <unit> is separated by space, and <note> is in parentheses

width 20 cm (trimmed)
>bmo:PX_min_value28 height 8-10 cm
>bmo:PX_max_value die axis 10 o'clock
currency 5 riyal
Ref Notes
27 PX_min_value/PX_max_value are subprops, but Redundancy Removal leaves min&max, or else has_value
28 Had wrong prefix "crm:", BMX Issues#20121023 config review


P3_has_note note The series 'Mus?e Grotesque' consists of at least 65 plates...
bmo:PX_condition condition Good.

P3_has_note includes PX_curatorial_comment and (in "debug mode") PX_display_wrap

About (things Depicted, Referred)

P62_depicts/skos:prefLabel29 depicts Alexander the Great
Associated With Fables
  Associated With Henry IV, Part I (II, ii)31
refers to Kingdom of Macedonia
>>rdfs:label33   Capturing of Asia Minor
>bmo:PX_commemorates/rdfs:label34 commemorates Siege of Istanbul
>P129_is_about/skos:prefLabel is about Istanbul
Ref Notes
29 There is also a wrong mapping P128/P62 RS-1136
30 Associated Title: RS-1137
31 This is P3, eg from <object/PPA356888/title/2>
32 Refers to Place, Person
33 Refers to Event
34 RS-1101


Print one line for each "business property" of the acquisition (P11, P17, P23, P28, P2, P4):

  • property: <thesauruscTerm> (<type>)
  • type: <type>
  • time-span: <dates>
transferred title from Sir John Smith (Donated)
>P11_had_participant/skos:prefLabel had participant Mrs Jane Smith (Donated Through)
>P17_was_motivated_by/skos:prefLabel motivated by little Missie Smith (In Honour of)
>P28_custody_surrendered_by/skos:prefLabel custody surrendered by Another Museum (On Loan From)
>P2_has_type/skos:prefLabel38 type Treasure Act
>P4_has_time-span/P3_has_note39 time-span 1992 :: 26th October
Ref Notes
35 P22_transferred_title_to & P29_custody_received_by are always the-british-museum so we skip them
36 Business properties can be present either directly, or in PX_property, but not both
37 P3_has_note is missing RS-1718
38 Only <thesauri/acquisition/treasure-act>, in which case P140i/P2 is not present
39 P3 may have extra note, eg specific day RS-1739

Events, Made For

Print 1 row of 4 columns per Made For or Event:

  1. P2_has_type, else rdfs:label of property
  2. P14_carried_out_by, else skos:prefLabel of thesaurus term
  3. P7_took_place_at or none
  4. P4_has_time-span or none
P19i_was_made_for/skos:prefLabel made for40 Coronation of Elizabeth II    
  made for41 Elizabeth II    
P12i_was_present_at/rdfs:label Exhibition42 Tales wile away the night    
  Normal43 New York World's Fair   Event date :: 1939-1940 ::44
>P2_has_type/skos:prefLabel Collected, Found/Acquired45 The British Museum Iraq 1890
Retailed By Mattell Paris, France 1996
Ref Notes
40 Made for event
41 Made for person
42 RS-1733 RS-1734
43 RS-1745
44 might also output second value "Event date :: 1939", see prev bug
45 Multiple, separate with commas

Collection, Series, Type Series

forms part of Stein Collection
>P2_has_type/skos:prefLabel46   Gashu Ginza (Series)
PX_exhibition_history exhibition history 1988 Oct-Dec, Manchester, Whitworth AG, 'Travels in Italy', no. 116
1996 Mar-July, BM, Vases and Volcanoes, no.45
1999/2000 Nov-Feb, Newcastle, Laing AG, Art Treasures of North
bmo:PX_object_exhibition_label47 object exhibition label Exhibition label :: G56 Early Mesopotamia 2009 onwards :: The Silver Lyre
Leonard Woolley discovered several lyres...(20 lines with bad line breaks)
About 2500 BC (Early Dynastic III)
From grave PG 1237, The Great Death Pit, Ur
ME 121199
bmo:PX_type_series/skos:prefLabel type series 751x
Ref Notes
46 If Josh adds P2. RS-1138
47 Currently includes redundant info that's in P46i_forms_part_of exhibition/label, and which gives it appearance of PX_display_wrap. RS-1686
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Jun 20, 2012

    This returns nothing:

    select ?o ?c ?t {
      ?o crm:P148i_is_component_of ?c. 
      ?c crm:P102_has_title ?t.}

    crm:P148i_is_component_of/ rdfs:label should be used, I think

  2. Jun 20, 2012

    crm:P91_has_unit/ skos:prefLabel - I think it should be just rdfs label

  3. Jul 17, 2012

    UI needs to refelect design where there are no indents

    1. Jul 20, 2012

      The above is really a data mapping, not a graphic design

  4. Nov 13, 2012


    It should be prefLabel?

    Valie is in P3 here and not in rdfs label.