Version 1 by Vladimir Alexiev
on Mar 20, 2012 15:59.

compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (26)

View Page History
RS3.1 FRs were implemented using reasoning dialect "OWL RL (optimized)", i.e. builtin_owl2-rl.pie.
We used constructs owl:PropertyChainAxiom, owl:TransitiveProperty, owl:ReflexiveProperty, and rdfs:subPropertyOf (which amounts to disjunction).
But as described in [OWLIM Rules vs OWL RL#Cons: Less Expressive], OWL RL is less expressive than OWLIM Rules, since one cannot define a property by conjunction.
We are pretty sure the full FR set will require conjunction, so we'll go with OWLIM Rules. See [OWLIM Rules documentation|http://owlim.ontotext.com/display/OWLIMv43/OWLIM-SE+Reasoner#OWLIM-SEReasoner-RuleFormatandSemantics].

We'll use the RDFS reasoning dialect as a basis, by weaving our rules into builtin_RdfsRules.pie. That file is part of the OWLIM distribution, (in my case [c:\my\Onto\proj\OWLIM\software\owlim-se-4.2.3924\builtin_RdfsRules.pie]).
c:\my\Onto\proj\OWLIM\software\owlim-se-4.2.3924\builtin_RdfsRules.pie

h2. Weaving for Production
-- nn is a number that we try to keep the same as a related CRM property number (eg FR7_thing_from_place is numbered after P7_took_place_at)
- rso:FRXnn_name: property representing a sub-FR
-- sometimes we use two numbers if the sub-FR refers to two CRM properties, eg
-- if the sub-FR is a disjunction of several CRM properties, we mention all numbers
FRX62_67_depicts_or_refers_to FRX_62_67 := P62_depicts or P67_refers_to
- rso:FRTnn_name: transitive closure of crm: Pnn_name
-- we denote this as FRTnn_name := Pnn_name+
-- for which there is no data in neither Rembrandt nor BM collections
-- that are interesting for history/archaeology but not museum collections (eg Destroyed at)
-- that use the CRM Digital (CRMdig) extensions
- We omit composite FR such as "Was created/produced by person from" since they are treated separately
- In many cases we don't check types, since these are implied by the domain/range of a property. Eg in:

(!) Problems:
# At beginning: does not allow paths of mixed properties (eg P130-P130i, P106-P148),
including mixed properties (eg P130-P130i, P106-P148), or
in which P46,P106,P148 precede P130,P130i
or with P46,P106,P148 preceding P130,P130i
#- Resolved: we mix all these properties freely: any path of the indicated properties, in any order, of any length
# At E73: does not allow P106_is_composed_of, P148_has_component which are legitimate for E73 (being a subclass of both E89_Propositional_Object and E90_Symbolic_Object)
# At end: is it really appropriate to use part-transitivity for this FR? If a thing is about Knossos, is it also about every little village, house and room in Knossos?
It was established this FR is not [co-variant|http://en.wikipedia.org/wiki/Covariance_and_contravariance_(computer_science)] (not appropriate to loop using P89*), but is it appropriate to use P89i*
#- (?) PENDING

Corrected definition:
!FR67_refers_to_or_is_about-fixed.png!

- FRT130_46_106_148_shows_features_or_is_composed_of FRT_130_46_106_148 := (P130 or P130i or P46 or P106 or P148)+
{code:title=Rules}
x <crm:P130_shows_features_of> y => x <rso:FRT130_46_106_148_shows_features_or_is_composed_of> <rso:FRT_130_46_106_148> y
x <crm:P130i_features_are_also_found_on> y => x <rso:FRT130_46_106_148_shows_features_or_is_composed_of> <rso:FRT_130_46_106_148> y
x <crm:P46_is_composed_of> y => x <rso:FRT130_46_106_148_shows_features_or_is_composed_of> <rso:FRT_130_46_106_148> y
x <crm:P106_is_composed_of> y => x <rso:FRT130_46_106_148_shows_features_or_is_composed_of> <rso:FRT_130_46_106_148> y
x <crm:P148_has_component> y => x <rso:FRT130_46_106_148_shows_features_or_is_composed_of> <rso:FRT_130_46_106_148> y
x <rso:FRT130_46_106_148_shows_features_or_is_composed_of> y; y <rso:FRT130_46_106_148_shows_features_or_is_composed_of> z => x <rso:FRT130_46_106_148_shows_features_or_is_composed_of> z
x <rso:FRT_130_46_106_148> y; y <rso:FRT_130_46_106_148> z => x <rso:FRT_130_46_106_148> z
{code}

- FRX62_67_depicts_or_refers_to FRX_62_67 := P62_depicts or P67_refers_to
{code:title=Rules}
x <crm:P62_depicts> y => x <rso:FRX62_67_depicts_or_refers_to> <rso:FRX_62_67> y
x <crm:P67_refers_to> y => x <rso:FRX62_67_depicts_or_refers_to> <rso:FRX_62_67> y
{code}

- FRX67_refers_to_or_is_about := paths from FC70 to E53, with no loops at start & end nor type constraints
{code:title=Rules}
x <rso:FRX62_67_depicts_or_refers_to> <rso:FRX_62_67> y => x <rso:FRX67_refers_to_or_is_about> y
x <rso:FRX62_67_depicts_or_refers_to> <rso:FRX_62_67> y; y <crm:P53_has_former_or_current_location> z => x <rso:FRX67_refers_to_or_is_about> z
x <rso:FRX62_67_depicts_or_refers_to> <rso:FRX_62_67> y; y <rso:FRT130_46_106_148_shows_features_or_is_composed_of> <rso:FRT_130_46_106_148> z; z <crm:P53_has_former_or_current_location> t => x <rso:FRX67_refers_to_or_is_about> t
{code}

{code:title=Rules}
x <rso:FRX67_refers_to_or_is_about> y => x <rso:FRT67_refers_to_or_is_about> y
x <rso:FRT130_46_106_148_shows_features_or_is_composed_of> <rso:FRT_130_46_106_148> y; y <rso:FRT67_refers_to_or_is_about> z => x <rso:FRT67_refers_to_or_is_about> z
x <rso:FRT67_refers_to_or_is_about> y; y <crm:P89i_contains> z => x <rso:FRT67_refers_to_or_is_about> z
{code}