Skip to end of metadata
Go to start of metadata
Name Size Creator Creation Date Comment  
Microsoft Word Document FRThing.docx 116 kB Vladimir Alexiev Mar 09, 2012 17:32  
File CRMsearch.svg 15 kB Vladimir Alexiev Nov 15, 2011 17:29    
PNG File CRMsearch.png 80 kB Vladimir Alexiev Jun 29, 2011 16:28    
File CRMsearch.gv 2 kB Vladimir Alexiev Jun 29, 2011 16:28    
PDF File autosparql_eswc_slides.pdf 1.19 MB Vladimir Alexiev Jun 23, 2011 18:02  
PDF File New Framework for Querying Semantic... 127 kB Vladimir Alexiev Jun 23, 2011 18:02  

CRM Searching

The hardest part of the UI to get right is semantic search. How do you search through a CRM network, given that it can be very complex?

  • New Framework for Querying Semantic Networks (FORTH TR419 2011).pdf: describes the approach
  • Addresses the differences in querying knowledge bases with keywords and with structured queries.
    • It is based on the observation that recall with keyword queries is rather low, compared to recall of queries against semantic knowledge bases that include inference.
    • But an issue with structured queries is that the user has to be intimately familiar with the data schema in order to formulate queries
  • Proposes a simplification of the querying process, avoiding the need of complex SPARQL queries, by identifying the most likely concepts and relationships of interest (called Fundamental Concepts and Fundamental Relations, FC and FR) for a given knowledge base.
    • FR are implemented by engineers based on the combinations of joins between CRM predicates.
    • Hence the user is presented a template from which he chooses the entities and relations he is interested in.
  • FRs serve as a simplified "search index" over the CRM relations

Collaboration with 3D COFORM:

  • Ask Martin how 3D COFORM does image annotation, especially mapping image->object (painting/sculupture)
  • Ask Martin what is their FR Search implementation status (they are presenting at Museum on the Web, Apr 2012), and propose to supply (partial) implementation as OWLIM Rules

FRs of Thing

  • FRThing.docx: detailed definition of the FRs of Thing. 12/12/2011, 53pp
  • Dominic: "Here is the latest work on FR/FC. Please don't distribute as this is unfinished work and confidential. Martin has agreed that i can send to you."
    • Vlado: Thanks! I've made lots of comments, I should finish them and then we should submit them to Martin.
  • Defines the FRs of Thing to: Place, Thing, Actor, Event, Time, Concept.
    This is 9 of 25 cells of the matrix, but it includes a large percent of all relations (maybe 40%)
  • A total is 57 FRs are declared:
      Thing Actor Place Event Time Concept Total Status
    Thing to (across) 8 9 9 6 5 1 38 defined
    Thing from (down)   5 4 8 1 1 19 not yet defined
  • some of these FRs are very complex! Eg Thing from Place is described in 3 pages (p17-19) and involves maybe 40 triples.
    • The definitions are not modular (many sub-definitions are repeated) but the implementation MUST be
    • need to use OWLIM Rules vs OWL RL because we'll definitely need conjunctive relations
  • Compared to the "New Framework" paper:
    • Has 13 basic FRs instead of 9
    • A lot more FRs are defined (paper defined only "thing from place")
  • Notation is explained on p8-10
  • FC "Concept" is the range of "has type" and the domain of "is type of", so this really is E55 Type
  • adds the option to relate to a FC, or its type (eg Thing from Place vs Thing from Place Type)
  • FR "is part of" generalizes "is member of" for Actors (eg Person-Group-Group)
  • describes the FRs from a philosophical point of view (p4-5), I guess the definitions are derived from here
  • describes forward and inverse FRs
  • "8. is similar or the same with" (symmetric): interesting, check what CRM properties map to this
  • Defines and uses CIDOC-CRM extensions: C for classes, F for properties, eg:
    • why NOT: Person is mapped to FC Agent, Type to FC Concept; Right and Appellation are not mapped since they are not of interest
  • IMHO the FR "Thing Was created/produced by person from Place" is not a primitive FR like the others, but a composite one:
    • I see where it comes from (El Greco is from Crete, he created The Dormition of the Virgin, so that's from Crete too).
      But it would simplify the definitions a lot if composite FRs were investigated, defined and used in other FRs.
      Also, there are other useful composite FRs. Eg to find all things exhibited in Sofia, we'd need a composite FR:
    • I'd say 2-3 step composites, not going overboard

Ontotext similar experience

  • The FR approach is similar to the approach undertaken in FP7 MOLTO, that predefines SPARQL queries based on the underlying ontology - PROTON (at a later stage CRM), and provides analysis of a closed set of natural language expressions that correspond in meaning to the queries.
  • The approach is also similar to the reference knowledge stack approach developed in FP7 RENDER, providing access to LOD through an upper-level ontology of about 500 concepts and 200 properties. While unifying data retrieval from multiple datasets, this approach requires the user to learn the upper level ontology and be able to formulate SPARQL queries

FR Thing from Place

For the offer we implemented one of the FRs, as per "New Framework" last page:

X.(P46F.is_composed_of* OR P106F.is_composed_of* OR P148F.has_component*):
((E70.Thing. P92B.was_brought_into_existence_by: E63.Beginning_of_Existence. P9B.forms_part_of*: E63.Beginning_of_Existence. P7F.took_place_at: Y)
  OR (E70.Thing. P16B.was_used_for: E7.Activity.P9B.forms_part_of*: E7.Activity.P7F.took_place_at:Y)
  OR (E24.Physical_Man-Made_Thing. P128F.carries: E73.Information_Object. P94B.was_created_by: E65.Creation. P7F.took_place_at: Y)
  OR (E70.Thing. P92B.was_brought_into_existence_by: E7.Activity. P14F.carried_out_by:
       ((E39.Actor. P107B.is_current_or_former_member_of*: E74.Group. P74F.has_current_or_former_residence: Y)
         OR (E21.Person. P98B.was_born: E67.Birth. P7F.took_place_at: Y)))


  • We are defining the fundamental relation "X from Y" using a rule that follows various paths between X and Y
  • here X is E70.Thing or E24.Physical_Man-Made_Thing, and Y is E53.Place
  • Prefixes: "E" (entity) for Class and "P" for Property; followed by numeric identifier and dot
  • Each property is split in two for the Forward (domain to range) and Backward (range to domain) direction. Eg "P2 has type (is type of)" is represented as: "P2F.has_type" and "P2B.is_type_of".
  • * (in the original "(0,n)") denotes reflexive-transitive closure, i.e. a property applied any number of times, including not applying it at all
  • We put a dot between domain and property, and colon between property and range, property:range
  • the classes and properties appearing above are
    E7 E21 E24 E39 E63 E65 E67 E70 E73 E74, P7F P9B P14F P16B P46F P74F P92B P94B P98B P106F P107B P128F P148F
  • Complexity: These classes and properties are spread across 32 out of the 34 "domain areas" of CIDOC Graphical Representation (classes are spread on 30 areas and properties on 24). This shows the high conceptual complexity of the above rule
    • This can be checked by saving the page as text and then:


  • The parts of Y are not explored, i.e. a query "things from China" won't find things made in a specific place, eg Peking. Fixed by adding the reflexive-transitive relations of Y=E53.Place (P89.falls_within*, P88.consists_of*)
  • The parentheses don't match, but the intention is clear
  • Shown explicitly the arrows around Actor->Group
  • TODO: BM places are URIs with "skos:inScheme id:thesauri/place" and the hierarchy is expressed with skos:broader. So we need to use skos:broaderTransitive (going up) or skos:narrowerTransitive (going down) for this

Graphical representation

We used the Graphviz Dot graph layout tool to produce the following depiction of the rule in the offer

We implemented this FR using OWLIM RL custom rules

  • First need to define the transitive closure of some relations
  • On the other hand I don't think it's smart to also include reflexive closure. Maybe instead "not applying it at all" should be represented explicitly in the rule
  • Used this relation in demo to find all "?thing from China" using this very simple query (the power of abstraction)

Other Search Approaches

  • AutoSPARQL: Uses Query Tree Learning through induction on positive and negative examples. (This system is not fully implemented). Paper, Slides
  • Natural Language Processing
  • Querying by menu-guided user interfaces helping to specify triples, combined with a look-ahead enhanced search, used in DBpedia
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.