250 likes | 402 Views
What is GFL?. It is a graphical form of popular F-Logic formalism intended for visual representation of ontologies and database queries. At the moment it is a novel technique for specification browsing, and queries of large ontologies. Graphic Extensions Unlike other graphic formats for knowledg
E N D
1. Graphic Frame Logic (GFL)-a new framework for knowledge representation Serguei Krivov,
Ecoinformatics Collaboratory,
Gund Institute for Ecological Economics, UVM
2. What is GFL? It is a graphical form of popular F-Logic formalism intended for visual representation of ontologies and database queries.
At the moment it is a novel technique for specification browsing, and queries of large ontologies.
Graphic Extensions Unlike other graphic formats for knowledge representation GFL is extensible. It allows to introduce new graphic symbols and precisely define their semantics.
I think that in potentiality, GFL can support all functionality of semantic networks, conceptual graphs and even UML. (Feedback?)
3. Popular Frameworks for Knowledge Representation and/or Reasoning Semantic Networks- some OOP support
Conceptual Graphs – reasoning ~FOL, no OOP(?)
UML- OOP, no reasoning
Description Logics (DL)-originated from semantic network
Have good graphic representation
Used as inference mechanism for Semantic Web languages DAML+OIL, OWL
DL are decidable – the main reason of their popularity in Semantic Web Project
But:
4. Why GFL? The main reason: We need Graphic Extensions
Problems with DL/Semantic networks
DL have very limited expressive power, much less then needed for simple conceptual models.
Object Oriented features are tacit in DL
DL have no native query language: No variables –no queries. (ontology/rdf query languages –Triple, COQL)
DL do not support rules . There is only subsumption of concepts and properties.
5. Frame Logic (F-Logic) Ref: M.Kifer, G.Lausen,J.Wu, Logical Foundations of Object-Oriented and Frame-Based Languages, JACM 1995
%subclasses (facts)
man::person. woman::person.
%instances
isaac:man. sarah:woman.
%objects can be classes, classes are objects
isaac(int)::isaac.
%signatures- method and attribute declarations
person[father*=>man].
person[mother*=>woman].
man[son(woman)*=>>man].
%attributes and methods (facts)
isaac [father->abraham, mother->sarah].
isaac [son->>{jacob, esau}]. %set attribute
person[avgAge ->120]. %class attribute ~ static variable
6. Frame Logic (2) jacob:man[father->isaac, mother->rebekah:woman].
jacob[son(rachel)->>{joseph, benjamin}].
The last is equvalent to:
jacob[son(rachel)->> joseph].
jacob[son(rachel)->> benjamin].
% -> and => single value non inheritable
% ->> and =>> multiple value non inheritable
% *-> and *=> single value inheritable
% *->> and * =>> multiple value inheritable
%relations- the same as in Prolog, but can be encapsulated in an object
married(isaak, rebekah).
bible[married(isaak, rebekah)…..].
%rules
X[son->>Y]:- Y:man[father->X].
X[son->>Y]:- Y:man[mother->X].
%queries
?-jacob[son(Wife)->>X].
?-jacob::X.
?-man[X=>Y].
% F-Logic has second order HiLog syntax, but it is sound and complete
7. Subclass and Instance Relations (OntoBrowser Version) ecologist::scientist.
scientist::person.
roel:person.
roel:ecologist.
8. Properties (Ontobrowser Version) roel[wife->tiny].
roel[owns->> {roels_bicycle, roels_farm}].
9. Signatures-Attribute and Method Declarations person[father*=>man]
person[son=>>man].
Color coding is used to distinguish between attribute values and attribute declarations.
10. A simple query ?- roel[owns->>What],tiny[owns->>What].