In previous notes, I mentioned the Fact Guru system and the ClearTalk
language, which were designed and implemented by Doug Skuce and his
former students and colleagues. (01)At the Ontology Summit, there will be a short post-summit session
on the OOR and possible ways of using or extending Fact Guru to
support OOR. It is schedules for April 19, from 4:45 to 6 pm. (02)Following is the abstract of the talk by Doug Skuce. After that
is a proposed form of FGIF (Fact Guru Interchange Format), which
is defined by a formal mapping to Common Logic. (03)John Sowa
______________________________________________________________________ (04)Fact Guru, a Flexible Tool for Building Ontologies and KBs (05)Doug Skuce, John Talbot, Wratko Hlavina (06)Fact Guru is a flexible, easy-to-use online/offline tool that
enables rapid development and deployment of large ontologies or
knowledge bases. Unlike tools designed for professional knowledge
engineers, FG has been used by a nine-year-old, a knowledge engineer,
a terminologist, a software engineer, a computer professor, an
astrophysicist, and IT grad students. Examples of these uses are
discussed. A unique feature is that the user is not limited to
one particular notation. Instead, FG hierarchically organizes small
blocks of text, called "concepts"”, which could be defined informally
in natural language, in controlled NLs, or in any formal notation,
ranging from RDF, OWL, and SQL to Common Logic. FG will be released
as open source, and it can be browsed online at http://factguru.com .
The goal of this talk is to start a dialog with the OOR community
and to solicit suggestions for future collaboration in extending
and adapting FG to the OOR requirements.
______________________________________________________________________ (07)The formal definition of ClearTalk will support a variety of
interoperable subsets, which can be translated to and from popular
logic-based languages: CT-SKOS, CT-RDFS, CT-OWL (full 2.0),
and CT-SQL (mapping to the SQL WHERE-clauses). (08)All subsets will be subsets of full CT with the same CL semantics,
and there will be a large amount overlap among them. Another subset
being considered is CT-UML. The goal is to have a clear and simple
expression for every feature of each UML diagram and OCL. (09)Every expression in ClearTalk will be defined by its translation
to FGIF (Fact Guru Interchange Format). The syntax of FGIF is
specified as a version of JSON. (See http://www.json.org/ )
The semantics is defined by a translation of FGIF to Common Logic. (010)As an example, see the definition of "black bear" in Fact Guru:
http://www.site.uottawa.ca/~tcl/factguru1/animals/index.html#blackbear(011)This definition uses an informal version of ClearTalk implemented
in 2000. The new version will look very similar to the user, but
it will be translated to FGIF in the following form: (012){"Concept": "black bear",
"URI":
"http://www.site.uottawa.ca/~tcl/factguru1/animals/index.html#blackbear&quot;,
"is a kind of": "bear",
"may have parasites" ["tapeworm", "roundworm"],
"has habitat": {"in": "a heavily wooded area or dense bushland"},
"has lifespan": {"range": [25, 30], "unit": "year"},
"has scientific name": "Ursus americanus Pallas",
"stays": {"with": {"mother of": "the black bear"},
"duration": {"range": [16, 17], "unit": "month"}},
"sleeps": {"in": "a den", "duration": "a winter"},
"has": {"WP article": "http://en.wikipedia.org/wiki/Black_bear"},
} (013)Convention: Any string to the left of a colon is the name of a concept.
Some strings, such as "Concept" and "is a kind of" are FG primitives.
Other concepts, such as "has scientific name" are defined by statements
written in ClearTalk. (014)Each concept is formally defined as a dyadic relation in Common Logic: (015) 1. In JSON terms, anything enclosed in curly brackets is an object.
For example, the above expression specifies an object, which is
the definition of a concept named 'black bear'. (016) 2. Any concept immediately enclosed in an object relates that
object to whatever follows the colon. For example, the
concept named 'Concept' relates the definition to the string
'black bear'. The concept named 'is a kind of' relates the
newly defined concept to the concept named 'bear'. (017) 3. Any string on the right of a colon is assumed to name something. (018) 4. Any list occurring to the right of a colon can be used to specify
arbitrarily many arguments for concepts that require more than 2.
Example: "may have parasites" ["tapeworms", "roundworms"] (019)The concept named 'Concept' has a special kind of mapping to CL.
Formally, 'Concept' maps to a dyadic relation that relates an
instance to a type: (Concept x1 'black bear') says that something
referenced by the variable x1 is an instance of type 'black bear'. (020)Unlike other concepts, the concept 'Concept' introduces a universal
quantifier to govern the variable with the type as a restriction
on the range of quantification. The first line of the definition
maps to a CLIF statement of the following form: (021) (forall ((x1 'black bear')) (and /* Remainder of Definition */ ) (022)In CGIF, the equivalent statement would be (023) ['black bear' @every *x1] /* Remainder of Definition */ (024)The CLIF and CGIF translations have identical semantics, but the
translation to CGIF has fewer parentheses. Therefore, the rest of
this example will use CGIF as the target language. (025)For each of the remaining lines, the concept name at the beginning
maps to a dyadic relation, whose first argument is either the
instance variable x1 or the type name 'black bear'. (026)The default is the instance variable x1. But some concept names
require the type name instead of the instance: URI, 'is a kind of',
'has scientific name', and 'has WP article'.) (027)Lines 2 and 3 of the definition are mapped to the following CGIF: (028) (URI 'black bear' (029)"http://www.site.uottawa.ca/~tcl/factguru1/animals/index.html#blackbear&quot;,
('is a kind of' 'black bear' bear) (030)For line 4, the relation 'may have parasites' has three arguments,
the instance x1, followed by two names of types: (031) ('may have parasites' ?x1 tapeworm roundworm) (032)For line 5, two new existentially quantified variables are introduced:
x2 refers to the habitat specified by the curly brackets in JSON,
and the indefinite article 'a' in the name "a heavily wooded area
or dense bushland" specifies an instance x3 of the type specified
by the name 'heavily wooded area or dense bushland'. (033) ('has habitat' ?x1 [*x2])
(in ?x2 ['heavily wooded area or dense bushland' *x3) (034)Without further details, following is the CGIF mapping for the
remainder of the definition: (035) ('has lifespan' ?x1 [*x4])
(Range ?x4 25 30) (Unit ?x4 Year}
('has scientific name' 'black bear' 'Ursus americanus Pallas')
(Stays ?x1 [*x5])
(with ?x5 [*x6]) ('mother of' ?x6 ?x1)
(duration ?x5 [*x7]) (range ?x7 16 7) (unit x7 month)
(sleeps ?x1 [*x8]) (in ?x8 [den *x9])
(duration ?x8 [winter ?x10])
('has WP article' 'black bear'
'http://en.wikipedia.org/wiki/Black_bear') (036)_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J(037)