View Source

{excerpt}Should a search for a term include its narrower terms?{excerpt}

h1. Introduction
[FR Implementation] defines which FRs are transitive: look for a loop at the last node (when there are 2 diagrams, look at the right one).
However, various defects were found (see [#Details]) and the issue was reconsidered.
Now [#Transitive vs Non-transitive] defines transitivity.

h2. The Problem
Many FRs implement transitivity using the corresponding CRM relation: P88i_forms_part_of (place), P107i_is_current_or_former_member_of (person/organization, if applicable), P9i_forms_part_of (period), P127_has_broader_term (material/type in FR2).

[BMX Issues#Thesaurus Requirements] says: "if the thesaurus is hierarchical, use skos:broader *and* the appropriate CRM relation". Unfortunately many BM thesauri do not use CRM relations but only skos:broader. Although there is a specific task to ensure BM thesauri satisfy requirements, this has slipped BM's attention and Ontotext's QA (i.e. Vlado)

h2. The Solution
Normally adding a rule requires reloading the repository, so that all facts from the new rule can be inferred. But in order to avoid reloading the BM data, we'll try this:
- Define a generic rule for the Proton predicate ptop:transitiveOver (see [FR Implementation#transitiveOver])
- Restart OWLIM with the new rules
- Load the new file +FR-Transitive.ttl+ that declares certain FRs to be transitiveOver skos:broader, eg
{noformat}rso:FR2_has_type ptop:transitiveOver skos:broader.{noformat}
- Fingers crossed and stars in alignment, this should infer transitive closure over skos:broader.
It may fail since we've marked our data using onto:systemTransaction (which basically means it's read-only), which may cut-off forward-chaining on Assert.
But I hope onto:systemTransaction only cuts-off backward-chaining on Retract.

h2. Mind the Direction
Dominic wrote in {jira:RS-1830}
- "Search for Rembrandt (created) and animal (is/has/about) finds no results. If you search for mammal (a narrower term of animal) finds results."

Search for a term *never* includes its broader terms.
- For example, if you search for "Mammal", RS should find objects about pigs and horses.
However, RS should not find animals that are not mammals (eg Fish).
By the same token, RS should not find objects about "Animal"
- So this page defines which FRs should find *narrower* terms, but no FR finds *broader* terms.

Note: using *skos:broader* in [#The Solution] is correct: every narrow term contributes its objects to its broader term, but not vice versa.

h2. Test Cases
# Created by "Rembrandt" and is/has/about "animal": should find some pigs and horses
# Met "Joseph Mallord William" and is/has/about "boat/ship": finds 231 in COL, only 7 in RS
# Created in "Tokyo-to" and is/has/about "vase": should find JCR5403 "Set of altar utensils" which includes a "temple-vase" (a subtype of "vase")
Note: there are 12 subtypes of vase:
{code:sql}select * {?t skos:broader thes:x9845; skos:prefLabel ?l}{code}
# present at "Ancient Egypt (Material Culture)": should find many objects, not just 4.
I.e. it should use this hierarchy:
#- Ancient Egypt
#-- Early Dynastic Egypt
#--- 1st dynasty
#--- 2nd dynasty ...
#--- 26th Dynasty (eg GAA86605)
# Found at "Sofia-city" and made of "copper-alloy": should find EEU71607 "A fabric belt with metal buckle" (made of "brass" which is a subtype of "copper-alloy")
# Created by "Dutch (BM Nationality)": should find objects by "Rembrandt"

h1. Transitive vs Non-transitive
The table below describes which FRs are transitive.
- CRM and SKOS transitivity should be the same
- UPPERCASE shows what we must add

| *FR property* | *name* | *range* | *CRM* | *SKOS* | *Why* |
| rso:FR12_found_by | found by | E39_Actor | no (?) | no | Nobody would search for "found by British" |
| rso:FR12_has_met | met | E39_Actor | no (?) | no | Nobody would search for "met British" |
| rso:FR15_influenced_by | influenced by | E39_Actor | no | no | We don't have creator's school (eg Impressionism) |
| rso:FR51_former_or_current_owner_keeper | all owners/keepers | E39_Actor | no | no | |
| rso:FR52_current_owner_keeper | owner/keeper | E39_Actor | no | no | |
| rso:FR67_about_actor | about | E39_Actor | no | no | [#Aboutness] |
| rso:FR92i_created_by | created/modified by | E39_Actor | P107i | no | BM thes defines Nationality, Profession with CRM sub-props not SKOS |
| rso:FR12_was_present_at | present at | E4_Period | P9i,P10 | ADD | [#From Period] |
| rso:FR67_about_period | about | E4_Period | no | no | [#Aboutness] |
| rso:FR7_from_place | from | E53_Place | P89 | no need | [#Place FRs] |
| rso:FR12_found_at | found at | E53_Place | P89 | no need | [#Place FRs] |
| rso:FR55_located_in | located in | E53_Place | P89 | no need | [#Place FRs] |
| rso:FR67_about_place | about | E53_Place | no | no | [#Aboutness] |
| rso:FR92i_created_in | created in | E53_Place | P89 | no need | [#Place FRs] |
| rso:FR2_has_type | is/has/about | E55_Type | P127 | ADD | |
| rso:FR45_is_made_of | made of | E57_Material | ADD P127 | ADD | |
| rso:FR32_used_technique | used | rso:E55_Technique | ADD P127 | ADD | |

h1. Details

h2. Aboutness
We decided that About Place should not be transitive: neither broader nor narrower
- If it is about Knossos, is it also about Crete, Europe, the World, and the Milky Way?? NO
- Is a picture of a lake in Europe (EPF112795) also about the village Banya in Bulgaria? NO
- Is a photo representing Oceania (PPA361578) also about Polynesia, Easter Island and Rano Raraku? NO

By the same logic About Actor and About Period are not transitive

h2. Place FRs
The Place FRs (Created, Located, Found, From; but *not* About) are transitve:
- Any object related to a sub-place is also related to its super-places.
- So if you search with a super-place, it will find objects related to all its sub-places

- The FR rules use P89_falls_within
- The BM Place thesaurus uses P88i_forms_part_of (in addition to skos:broader)
- rso.ttl fixes an omission in ECRM:
{noformat}crm:P88i_forms_part_of rdfs:subPropertyOf crm:P89_falls_within. {noformat}

h2. Person FRs
- Actor: owner/keeper, influenced, met, about, found: NO; created YES
-- The choice that "found" is not transitive is a bit arbitrary and means you can't search "found by British".
The other choices I believe are reasonable
-- I use P107i_is_current_or_former_member_of, so you can search "created by Dutch" and will find objects by Rembrandt.

h2. Type, Subject
I have added "P127_has_broader_term" to search by Type (is/has/about), so a search with a broader term will return all narrower terms as well

h2. Material, Technique
Made of Material and Used Technique should also be transitive

EEU71607 A fabric belt with metal buckle
The query "found at Sofia-city and made of copper-alloy" returns this object from BM search but does not return it in RS search, why?
- The object is
- It is found with "found at Sofia-city and made of brass".
- the object rso:FR45_is_made_of thes:x10411, thes:x10646, thes:x11991
- thes:x10411 (brass) has skos:broader thes:x10627 (copper alloy). (This last term has altLabel "brass" but scopeNote that explains that it's different from brass).
- the [current definition of FR45_is_made_of|] doesn't traverse the broader hierarchy.
- the [old definition of FR45_is_made_of|] doesn't traverse the broader hierarchy either.
- in fact it has been defined like this since [15 May 2012|] (!)
- This came from Martin's definition: TR ICS-FORTH/TR-429 (April 2012) on p64 when defining "Thing is made of" does not use "P127 has broader term".
-- I now notice that one p63 when defining "Thing has type" they DO use "P127 has broader term" (so the above is a discrepancy)
- It has survived supposed inspections by Dominic and Peter Main

Both the BM Material and BM Technique thesauri are hierarchical:
select * {[skos:inScheme thes:material; skos:prefLabel ?material;
skos:broader [skos:prefLabel ?broader]]}
select * {[skos:inScheme thes:technique; skos:prefLabel ?tech;
skos:broader [skos:prefLabel ?broader]]}

h2. From Period
Material Culture is mapped to crm:E4_Period and skos:Concept, and object production is linked to the Period using P10_falls_within:
crm:P3_has_note "Production Period / Culture :: Late Christian Period";
crm:P10_falls_within thes:x14625 .

One can search for the period using FR12_was_present_at "Thing was present at (has met, is from) event/period" (see [FR Enhancements#Thing present at Event or from Period] and [FR Implementation#Thing has met Event- FR12_was_present_at]). There's a transitive loop over P9&P10 at the end, so it's transitive.

Unfortunately the Period thesaurus uses only skos:broader but not P9_consists_of, eg []:
thes:x107598 a crm:E4_Period, skos:Concept;
skos:inScheme thes:matcult;
skos:prefLabel "Ancient Egypt";
skos:broader thes:x112519.