OQAFMA
We have implemented a system that uses an API supporting extraction queries and virtual relationships: the OQAFMA Querying Agent for the Foundational Model of Anatomy. Because this system is used to retrieve information from the FMA, we will use examples extracted from the anatomical domain. OQAFMA is running as a server. Our client connects to OQAFMA and STRUQL queries can be sent to OQAFMA. Once a STRUQL query has been submitted, the XML results can be read.
OQAFMA Limitations
The OQAFMA data model includes only nodes, edges and values. As a result, global
constraints are preserved since these are encoded as edges attached to the nodes
that represent edges. Local constraints, however, cannot be stored in OQAFMA.
This corresponds to losing {0.01%-some small amount} of the knowledge stored
in the FMA. This loss of information is regrettable, but the query language
does not support tertiary constraints.
Because OQAFMA is used as a querying tool, it does not enforce the constraints
that it does preserve. The intent is that Protégé-2000 will guide
data entry; OQAFMA will be used for retrieval.