[Crm-sig] Uncertainty in the location at which an activity took place

Vladimir Alexiev vladimir.alexiev at ontotext.com
Tue Mar 6 11:49:23 EET 2012

Hi Alexander!

So you need to attach attributes (in this case uncertainty) to a specific
property-instance (i.e. statement).

The problem is that E13/P141 lacks precision to address a specific
statement. I've noticed this in email from Oct 2011:
  ISSUE: P141's range should be "Property" not "CRM Entity"
Although I came to it from a different angle: in ResearchSpace we need to
talk about (eg annotate) a specific statement.

Another use case is Attribution Qualification, which needs to be applied to
crm:P14_carried_out_by of the production of a work, e.g.:
  attributed to, possibly, in the style of, studio of, circle of, school of,
and combinations thereof, e.g.
  and studio of (meaning the named painter and his studio).
This maps to P14.1 and CRM recommends to create sub-properties, but if this
is a set of values from a thesaurus, I don't like to create fixed

In this "article" I propose the range of P141 to be "Property" (like the
domain of Pnn.1 is "Property")
and I outline 3 alternatives for implementing it in RDF:


We ended up using the RDF Reification vocabulary: rdf:Statement,
rdf:subject, rdf:property, rdf:object.
This has the benefit of more flexibility:
- omitting rdf:object talks about that role in general (e.g. to propose a
new creator)
- including rdf:object talks about the specific individual in that role
Following the OAC annotation ontology, we map this to BOTH oac:Target and
and connect it to the root of the work's data using dcterms:isPartOf (so we
can find all annotations about the work)

<annot> a oac:Annotation;
  oac:hasBody   <annot/body>;
  oac:hasTarget <annot/target>.
<annot/target> a oac:Target, rdf:Statement;
  dcterms:isPartOf <obj/2926>;
  rdf:subject <obj/2926/part/1/production>;
  rdf:property crm:P14_carried_out_by;
  rdf:object rkd-artist:Rembrandt;
<annot/body> a oac:Body;
  rso:P2_annotation_status rst-annotation-status:original;
  dcterms:title "attribution comment";
  crm:P2_has_type rkd-qlfc_attr:circle-of;
  dcterms:creator rkd-person:Bredius;
  dcterms:created "1935"^^xsd:gYear.

> <#find-location-attribute-assignment> a crm:E13_Attribute_Assignment ;
>   crm:P140_assigned_attribute_to <#find> ;
>   crm:P141_assigned <#ankara> ;
>   ex:was_performed_with_surety false ;
>   ex:attribute_that_was_assigned crm:P7_took_place_at .
> What the stuff in ex: should be, I don't know.

I'd do it this way
<#find-location-attribute-assignment> a rdf:Statement;
  rdf:subject <#find> ;
  rdf:property crm:P7_took_place_at;
  rdf:object <#ankara> .

As for  ex:was_performed_with_surety, CRM doesn't define a notion of
uncertainty, but:
- I think there was some discussion on the mlist. Search like this:
- I'd search for an existing ontology about uncertainty

> Relatedly, we have some data that gives locations as e.g. "near Ankara"

I'd map these with a qualification attached to rdf:Statement, while still
stating the direct statement. E.g.:

<#find> crm:P7_took_place_at <#ankara>.
<#find-location-statement> a rdf:Statement
  rdf:subject <#find> ;
  rdf:property crm:P7_took_place_at;
  rdf:object <#ankara> ;
  ex:location-qualification ex-thesaurus-location-qualification:near.

> and "between Mut and Balat"

Multi-valued properties are not a problem:

<#find> crm:P7_took_place_at <#Mut>, <#Balat>.
<#find-location-statement> a rdf:Statement
  rdf:subject <#find> ;
  rdf:property crm:P7_took_place_at;
  rdf:object <#Mut>, <#Balat> ;
  ex:location-qualification ex-thesaurus-location-qualification:between.

Best regards, Vladimir

More information about the Crm-sig mailing list