![]() |
With the emerge of the semantic web, ontology becomes a more and more
important way to represent formal knowledge that machines can use.
Although there are many different ontology languages, they are, mostly,
knowledge representation languages instead of executable languages.
It may be quite valuable if we can directly represent ontologies using
existing executable programming languges, such as Java. With such a type
of encoding of knowledge specifications, it is easier for programmers
to write executable codes that can manipulate the stored ontological information
since there is no further needs of parsing and reading ontologies
when everything has been already represented in Java classes.
This was a project that I had worked. There are also some other research projects in which I have involved or am involving. |
|
|
|
We developed a standard interpreter to translate OSM-L to Java. To do so,
we first create a complete grammer figure of OSM-L and do translation on
them one-by-one. The right figure shows the rule of complilation unit, which
is the entry rule for the interpreter. The complete figure of all grammer rules
can be found in here.
Following the grammer rule, we build a parse tree for each input OSM-L ontology. We also design a symbol table structure to hold all of the objects in the ontology and do a type checking. This is especially important for data frames because we need to generate Java procedures that can directly perform extracting rules defined in OSM-L data frames. All the internal and external representation types must match their original declarations and constraints. Finally, we process a code-generation method to build Java source codes that can be complied by Java complier correctly. |
|
|
|
Aurel Cornell (Computer Science, BYU)
Cui Tao (Graudate Student, BYU)
|
|
| Last updated: Sep 21st, 2005 |