Personal tools
You are here: Home / Members / alex's Home / NI Assessment / NI Tutorial

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.


  • 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