Between too informal and too formal

Dr Philippe Martin1,   Dr Michel Eboueya2,   Dr Jun Jo1  and  Dr Lorna Uden3
1: Griffith University, 2: La Rochelle University, 3: Staffordshire University
e-mail: pm .@. phmartin dot info

next

 

 

 

 

 

 

 

 

Plan


previous     next

 

 

 

 

 

Introduction

previous     next

 

 

 

 

 

Readable, Expressive and Normalising Notations

Readable, expressive and normalising textual notations are necessary for
  visualising, browsing and editing realistic amount of knowledge.
Graphic interfaces are a good complement but visualising a small amount of knowledge.
Most formal notations (KIF, RDF, ...) are not readable, expressive and normalising.

Proposed general notations: Frame-CG and Formalised-English are improvements on CGs.

Proposed restricted notation: FL (the only notation that most users will need to see)

En:  Any human_body is a body and has at most 2 arms, 2 legs and 1 head.
     Any arm, leg and head belongs to at most 1 human body.
     Male_body and female_body are exclusive subtypes of human_body 
     and so are juvenile_body and adult_body.
FL:  human_body  <  body,
                 part:  arm [0..1,0..2]   head [1,1],
                 >  {male_body female_body} {juvenile_body adult_body};
KIF: (forall ((?b human_body)) (body ?b))
     (forall ((?b human_body)) (atMostN 2 '?a arm (part ?b '?a)))
     (forall ((?a arm)) (atMostN 1 '?b human_body (part '?b ?a)))
     (forall ((?b male_body)) (and (human_body) (not (female_body ?b))))
     ...

previous     next

 

 

 

 

The full translation in KIF of the 3 lines in FL:

(forall ((?b human_body)) (body ?b))
(forall ((?b human_body)) (atMostN 2 '?a arm (part ?b '?a)))
(forall ((?a arm)) (atMostN 1 '?b human_body (part '?b ?a)))
(forall ((?b human_body)) (atMostN 2 '?a leg (part ?b '?a)))
(forall ((?a head)) (atMostN 1 '?b human_body (part '?b ?a)))
(forall ((?b male_body)) (and (human_body) (not (female_body ?b))))
(forall ((?b female_body)) (and (human_body) (not (male_body ?b))))
(forall ((?b male_body)) (and (human_body) (not (female_body ?b))))
(forall ((?b juvenile_body)) (and (human_body) (not (adult_body ?b))))
(forall ((?b adult_body)) (and (human_body) (not (juvenile_body ?b))))

(defrelation atMostN (?num ?var ?type ?predicate) :=
  (exists ((?s set)(?n)) (and (size ?s ?n) (=< ?n ?num)
    (truth ^(forall (,?var) (=> (member ,?var ,?s)
                                (and (,?type ,?var) ,?predicate)))))))

previous     next

 

 

 

 

The full translation in RDF+OWL of the 3 lines in FL:

<rdf:Property rdf:ID="armPart"><rdfs:subPropertyOf rdf:resource="Part"/> <owl:inverseOf rdf:ID="armPartOf"/> <rdfs:range rdf:resource="Arm"/> </rdf:Property> <owl:Class rdf:about="HumanBody"><rdfs:subClassOf rdf:resource="Body"/> <rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource="#armPart"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">2 </owl:maxCardinality></owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:about="Arm"> <rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource="#armPartOf"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1 </owl:maxCardinality></owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:about="MaleBody"><rdfs:subClassOf rdf:resource="Body"/> <owl:disjointWith rdf:resource="FemaleBody"/> </owl:Class> <owl:Class rdf:about="FemaleBody"><rdfs:subClassOf rdf:resource="Body"/> <owl:disjointWith rdf:resource="MaleBody"/> </owl:Class> <owl:Class rdf:about="JuvenileBody"><rdfs:subClassOf rdf:resource="Body"/> <owl:disjointWith rdf:resource="AdultBody"/> </owl:Class> <owl:Class rdf:about="AdultBody"><rdfs:subClassOf rdf:resource="Body"/> <owl:disjointWith rdf:resource="JuvenileBody"/> </owl:Class>

previous     next

 

 

 

 

 

Readable, Expressive and Normalising Notations

FL can also be used for structured discussions.

"XML is useless for knowledge representation, exchange or storage"
   argument: ("using XML tools for KBSs is a useless additional task"
                 argument: "KBSs do not use XML internally" (pm,
                   objection: "XML can be used for knowledge exchange or storage" (fg,
                     objection: "it is as easy to use other formats for
                                 knowledge exchange or storage" (pm),
                     objection: "a KBS (also) has to use other formats for
                                 knowledge exchange or storage" (pm)))
             )(pm);

previous     next

 

 

 

 

 

Querying

previous     next

 

 

 

 

 

Comparing

An original feature: a "scalable" way to compare a set of objects. (See the article).

compare pm#WebKB-2 km#Ontolingua on 
    (support of: a is#IR_task, output_language: a km#KR_notation,
     part: a is#user_interface), maxdepth 5

                                           WebKB-2  Ontolingua
support of:
is#IR_task                                    +         +
  is#lexical_search                           +         + 
    is#regular_expression_based_search        +         .   
  km#knowledge_retrieval_task                 +         .
    km#generalization_structural_retrieval    +         .
  ...
output_language: 
km#KR_notation                                +         +
  (expressivity: km#FOL)                      +         +          
    km#FCG                                    +         .
    km#KIF                                    .         +
  km#XML-based notation                       +         .
    km#RDF                                    +         -
  ...

previous     next

 

 

 

 

 

Supporting Cooperation Between Knowledge Providers

Each category, relation and statement has a creator ->
- any identifier is prefixed by its creator identifier to avoid lexical conflict;
- knowledge filtering can be done on the creator.

Furthermore:
- relations such as corrective_restriction, correction more_concise_reformulation must be used when redundancies or inconsistencies are detected; this solves semantic conflicts, encourage knowledge sharing and permit later automatic knowledge filtering;
- argumentations relations between statements and votes on statements permit to valuate the originality and usefulness of each statement and each statement creator, thus easing the filtering of uninteresting statements and encouraging authors to be precise and original.

previous     next

 

 

 

 

 

Ontologies

previous     next

 

 

 

 

 

Conclusion

previous