NI Tutorial
I took part in a three day tutorial of the Network Inference toolkit. Here are some notes.
Meeting / tutorial with Network Inference's Paul Turner, 3/2/04
- Present were Keith, Geoff, Paul Turner and Alex Tucker.
- Ian Horricks at Manchester produced FaCT, a speedy implementation of a particular description logic used in OWL, which was spun off into NI.
- The company is to move to San Diego.
- Deborah McGuiness (wrote OWL spec and worked on "classic", some 20 year old knowledge base stuff) also does work on DARPA stuff.
- Cerebra server consists of one central server per site, doing authentication type stuff, plus as many (currently identical) inferencing servers as you want, connected via RMI internally.
- There is an internal database (e.g. local mysql), which is used to store the DL axioms.
- As far as NI is concerned, an ontology can include instances.
- Generally, OWL files are ontologies and are persisted to the internal database, while the external databases contain instance data (the a-box).
- e.g. equivalence of the two classes can't cope with instances being in separated databases
- Can do distributed querying using 3rd party tools layer (a thing called composite).
- talking baout building a simple tool for construct which can naievely extract an ontology from a db schema.
- version 3.1 of cerebra will have a-box reasoning and can therefore do limited closed world stuff using nominals (completely enumerated classes).
- could stuff be exported from visio as SVG and RDF?
- Look at Snow Med, which has on the order of 50,000 concepts.
Tutorial
- Ontologiesare opened "in their own space", i.e. each client has its own list of ontologies
- Construct works on Visio 2000, but wiht some text clipping problems. Looking to stop supporting 2000 and move to 2003.
- runadmin is a client for administration and is supported
- runclient is not supported
- advise test driven development of ontologies using "QA" style queries, eg. check that a given class is non-empty.
- Have checked LDAP using active directory and something else Paul can't remember.
- Talk about security and hope is to have a pluggable authentication mechanism.
Tutorial 6
- Could think of a way to do test-driven-development as a way of refactoring ontologies, storing them in svn.
- Will look into distributed database join systems, e.g. composit.
- watch out! If some property P has domain A, and A is a subset of B, then dom(A) is a subset of B, so the constraint o P applies to supersets of A.
- Question: what to do about units? Use symbolic names for types.
- Doesn't come across problem with properties with the same name clashing because it uses local property restrictions.
- Validity checking:
- check well formedness of XML (and RDF) syntactically.
- on importing ontology alongside instance data, check to see if any class is equivalent to Nothing, this should rarely happen.
- Check sublanguages of OWL.
- Result sets are XML - can write a generic translation to java types, lists, ints etc.
- Could us version information in importOnt(..., name, ...)
- merge() is equivalent of adding owl:imports to an ontology.
- Question: can cerebra load vsd files? No.
- Merge doesn't persist extra info into store, just runtime into inferencing servers.
- Question: Have you come across express (ISO standard for modelling)?
- Extensibility: could run against current tests.
- Need to work at this to see how much help we can give users wanting to extend models (e.g. using test driven development paradigm).
- Question: are datatypes countable?
- There are no keep-alives between client and server.
Tutorial 8
- Taxonomic queries are ones which involve the ontologies: classes, properties, etc. Work on internal data currently.
- Conjunctive queries deal with instances.
- Will have a query browser in 3.1
- Question: how do I get back triples from a query?
- need to use an external db row's primary key and turn it into a URL.
- The main idea for an architecture is to use an SQL style interface over all data sources, then use the distributed query processor.
Document Actions