It's a good question; the library is more intended for people who know ontologies and don't care, or have never heard about, clojure. So the documentation is biased in that way.
In this setting, an ontology is essentially a set of facts, that you can test with a computational reasoner; so, it's something like logic programming. I don't implement the reasoner -- someone else has done that (in fact there are several). These reasoners can scale up to 100'000s of terms. My example Pizza ontology shows it in use. https://github.com/phillord/tawny-pizza So, you can make statements like (defclass CheesyPizza :equivalent (owland Pizza (owlsome hasTopping CheeseTopping))) and (defclass MozzarellaTopping :subclass CheeseTopping) and finally, (defclass MargheritaPizza :subclass (someonly hasTopping CheeseTopping TomatoTopping)) and the reasoner will work out that MargheritaPizza is a CheesyPizza. In itself, this is simple, but you can build up more complex classes like so. (defclass VegetarianPizza :equivalent (owland Pizza (owlnot (owlsome hasTopping MeatTopping)) (owlnot (owlsome hasTopping FishTopping)))) (defclass NonVegetarianPizza :equivalent (owland Pizza (owlnot VegetarianPizza))) Of course, really takes flight when you have large ontologies. FMA which models human anatomy, has I think, about 100,000 terms. SNOMED (ways you can get ill) has millions. Now there are lots of tools for building these; the novelty with tawny is that the "raw" syntax is relatively simple (most of tawny-pizza does not look like a programming language), but it is entirely programmatic; so, it is possible to automate, build patterns, and integrate with external infrastructure all in one place. I think that this is going to be very useful, but we shall see! While I am interested in biomedical and scientific ontologies, there are lots of other applications. Probably the most famous one at the moment is Siri (the iphone thingy) which is ontological powered underneath. There are quite a few articles, varying in scope on ontologies on ontogenesis http://ontogenesis.knowledgeblog.org. It is a very valid point, though. I should write some documentation on ontologies for programmers. I shall work on it! Phil atkaaz <atk...@gmail.com> writes: > For those who don't know the concepts (aka me) can we get a working example > of what can be done ? I'm having a strange feeling that ontologies(although > I've never heard the word/idea before except from you) might be something > similar to what I am searching for... > > Possibly an example that showcases everything that can be done ? though > that might be too much to ask, or perhaps suggest a link url to something > that might help (me) understand ? > > Thanks. > > > On Wed, May 22, 2013 at 2:41 PM, Phillip Lord > <phillip.l...@newcastle.ac.uk>wrote: > >> >> I'm pleased to announce the release of tawny-owl 0.11. >> >> What is it? >> ========== >> >> This package allows users to construct OWL ontologies in a fully >> programmatic >> environment, namely Clojure. This means the user can take advantage of >> programmatic language to automate and abstract the ontology over the >> development process; also, rather than requiring the creation of ontology >> specific development environments, a normal programming IDE can be used; >> finally, a human readable text format means that we can integrate with the >> standard tooling for versioning and distributed development. >> >> Changes >> ======= >> >> # 0.11 >> >> ## New features >> >> - facts on individual are now supported >> - documentation has been greatly extended >> - OWL API 3.4.4 >> >> >> A new paper on the motivation and use cases for tawny-owl is also >> available at http://www.russet.org.uk/blog/2366 >> >> https://github.com/phillord/tawny-owl >> >> Feedback welcome! >> >> -- >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clojure@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- -- Phillip Lord, Phone: +44 (0) 191 222 7827 Lecturer in Bioinformatics, Email: phillip.l...@newcastle.ac.uk School of Computing Science, http://homepages.cs.ncl.ac.uk/phillip.lord Room 914 Claremont Tower, skype: russet_apples Newcastle University, twitter: phillord NE1 7RU -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.