More and better TDD for ontology authoring

Test-driven development (TDD) for ontology authoring [1] has received attention previously, including its accompanying tool TDDOnto [2] that was subsequently improved upon into the (also open source) TDDonto2 tool [3]. The TDDonto2 demo paper [3] did not contain the technical details about the new-and-improved algorithms and specification for TDD testing that we claimed it had. They are published just now in the International Journal on Artificial Intelligence Tools, as the article entitled More Effective Ontology Authoring with Test-Driven Development and the TDDonto2 tool [4]. The better algorithms cover more OWL language features than the original v1 of the theory and tool and it includes a specification for TDD testing such that there is not just pass/fail/absent as test result, but specific outcomes of the TDD test that are more informative, like that the ontology will become incoherent if that axiom were to be added. Given that model, the general flow for a simple standard case of a single TDD test (though more axioms can be tested at once) is as follows:

simplified view of the extended TDD process (source: adapted from [4])

The elements in the figure that are coloured light grey are the steps covered by the specification for TDD testing, algorithms, and TDDonto2 tool that is introduced in the paper.

The paper’s title clearly also hints to another contribution: using TDDonto2 for ontology authoring is significantly more effective. It was compared against the commonly used (and test-last) Protégé interface, which showed that the participants completed a larger part of the task in less time and with fewer mistakes. It also requires fewer interactions (clicking and typing) in the interface, which we reported on in an earlier (longer) tech report [5].

screenshot of the outcome of running the four tests on the sample ontology, in TDDonto2

As usual with research, more can be done. This is especially with respect to the white boxes in the figure above, i.e., the other aspects that would contribute toward a complete TDD methodology for ontology development. One step that we have been working on, is the idea of turning competency questions into axioms for TDD, which now is doable from CQ to SPARQL-OWL query [6] (more about that later), a CNL that may contribute to the authoring [7], and trying to figure out the modelling styles more precisely [8], since they hamper automation of these first steps in the process to get those axioms into the TDD plugin in a user-friendly way.

 

References

[1] Keet, C.M., Lawrynowicz, A. Test-Driven Development of Ontologies. 13th Extended Semantic Web Conference (ESWC’16). Springer LNCS vol. 9678, 642-657. 29 May – 2 June, 2016, Crete, Greece.

[2] Lawrynowicz, A., Keet, C.M. The TDDonto Tool for Test-Driven Development of DL Knowledge bases. 29th International Workshop on Description Logics (DL’16). April 22-25, Cape Town, South Africa. CEUR WS vol. 1577.

[3] Davies, K. Keet, C.M., Lawrynowicz, A. TDDonto2: A Test-Driven Development Plugin for arbitrary TBox and ABox axioms. The Semantic Web: ESWC 2017 Satellite Events, Blomqvist, E et al. (eds.). Springer LNCS vol 10577, 120-125. Portoroz, Slovenia, May 28 – June 2, 2017.

[4] Davies, K., Keet, C.M., Lawrynowicz, A. More Effective Ontology Authoring with Test-Driven Development and the TDDonto2 tool. International Journal on Artificial Intelligence Tools, 2019, 28(7): 1950023.

[5] Keet, C.M., Davies, K., Lawrynowicz, A. More Effective Ontology Authoring with Test-Driven Development. Technical Report 1812.06015. December 2018

[6] Wisniewski, D., Potoniec, J., Lawrynowicz, A., Keet, C.M. Analysis of Ontology Competency Questions and their Formalisations in SPARQL-OWL. Journal of Web Semantics. (in print)

[7] Keet, C.M., Mahlaza, Z., Antia, M.-J. CLaRO: a Controlled Language for Authoring Competency Questions. 13th Metadata and Semantics Research Conference (MTSR’19). 28-31 Oct 2019, Rome, Italy. Springer CCIS. (in print)

[8] Fillottrani, P.R., Keet, C.M.. Dimensions Affecting Representation Styles in Ontologies. 1st Iberoamerican conference on Knowledge Graphs and Semantic Web (KGSWC’19). Springer CCIS vol. 1029, 186-200. 23-30 June 2019, Villa Clara, Cuba.

Localising Protégé with Manchester syntax into your language of choice

Some people like a quasi natural language interface in ontology development tools, which is why Manchester Syntax was proposed [1]. A downside is that it locks the ontology developer into English, so that weird chimaeras are generated in the interface if the author prefers another language for the ontology, such as, e.g., the “jirafa come only (oja or ramita)” mentioned in an earlier post and that was deemed unpleasant in an experiment a while ago [2]. Those who prefer the quasi natural language components will have to resort to localising Manchester syntax and the tool’s interface.

This is precisely what two of my former students—Adam Kaliski and Casey O’Donnell—did during their mini-project in the ontology engineering course of 2017. A localisation in Afrikaans, as the case turned out to be. To make this publicly available, Michael Harrison brushed up the code a bit and tested it worked also in the new version of Protégé. It turned out it wasn’t that easy to localise it to another language the way it was done, so one of my PhD students, Toky Raboanary, redesigned the whole thing. This was then tested with Spanish, and found to be working. The remainder of the post describes informally some main aspects of it. If you don’t want to read all that but want to play with it right away: here are the jar files, open source code, and localisation instructions for if you want to create, say, a French or Dutch variant.

Some sensible constraints, some slightly contrived ones (and some bad ones), for the purpose of showing the localisation of the interface for the various keywords. The view in English is included in the screenshot to facilitate comparison.

Some sensible constraints, some slightly contrived ones (and some bad ones), for the purpose of showing the localisation of the interface for the various keywords. The view in English is included in the screenshot to facilitate comparison.

The localisation functions as a plugin for Protégé as a ‘view’ component. It can be selected under “Windows – Views – Class views” and then Beskrywing for the Afrikaans and Descripción for Spanish, and dragged into the desired position; this is likewise for object properties.

Instead of burying the translations in the code, they are specified in a separate XML file, whose content is fetched during the rendering. Adding a new ‘simple’ (more about that later) language merely amounts to adding a new XML file with the translations of the Protégé labels and of the relevant Manchester syntax. Here are the ‘simple’ translations—i.e., where both are fixed strings—for Afrikaans for the relevant tool interface components:

 

Class Description

(Label)

Klasbeskrywing

(Label in Afrikaans)

Equivalent To Dieselfde as
SubClass Of Subklas van
General Class axioms Algemene Klasaksiomas
SubClass Of (Anonymous Ancestor) Subklas van (Naamlose Voorvader)
Disjoint With Disjunkte van
Disjoint Union Of Disjunkte Unie van

 

The second set of translations is for the Manchester syntax, so as to render that also in the target language. The relevant mappings for Afrikaans class description keywords are listed in the table below, which contain the final choices made by the students who developed the original plugin. For instance, min and max could have been rendered as minimum and maksimum, but the ten minste and by die meeste were deemed more readable despite being multi-word strings. Another interesting bit in the translation is negation, where there has to be a second ‘no’ since Afrikaans has double negation in this construction, so that it renders it as nie <expression> nie. That final rendering is not grammatically perfect, but (hopefully) sufficiently clear:

An attempt at double negation with a fixed string

An attempt at double negation with a fixed string

Manchester OWL Keyword Afrikaans Manchester OWL

Keyword or phrase

some sommige
only slegs
min ten minste
max by die meeste
exactly precies
and en
or of
not nie <expression> nie
SubClassOf SubklasVan
EquivalentTo DieselfdeAs
DisjointWith DisjunkteVan

 

The people involved in the translations for the object properties view for Afrikaans are Toky, my colleague Tommie Meyer (also at UCT), and myself; snyding for ‘intersection’ sounds somewhat odd to me, but the real tough one to translate was ‘SuperProperty’. Of the four options that were considered—SuperEienskap, SuperVerwantskap, SuperRelasie, and SuperVerband SuperVerwantskap was chosen with Tommie having had the final vote, which is also a semantic translation, not a literal translation.

Screenshot of the object properties description, with comparison to the English

The Spanish version also has multi-word strings, but at least does not do double negation. On the other hand, it has accents. To generate the Spanish version, myself, my collaborator Pablo Fillottrani from the Universidad Nacional del Sur, Argentina, and Toky had a go at it in translating the terms. This was then implemented with the XML file. In case you do not want to dig into the XML file and not install the plugin either, but have a quick look at the translations, they are as follows for the class description view:

 

Class Description

Label

Descripción

(in Spanish)

Equivalent To Equivalente a
SubClass Of Subclase de
General Class axioms Axiomas generales de clase
SubClass Of (Anonymous Ancestor) Subclase de (Ancestro Anónimo)
Disjoint With Disjunto con
Disjoint Union Of Unión Disjunta de
Instances Instancias

 

Manchester OWL Keyword Spanish Manchester OWL Keyword
some al menos uno
only sólo
min al mínimo
max al máximo
and y
or o
not no
exactly exactamente
SubClassOf SubclaseDe
EquivalentTo EquivalenteA
DisjointWith DisjuntoCon

And here’s a rendering of a real ontology, for geo linked data in Spanish, rather than African wildlife yet again:

screenshot of the plugin behaviour with someone else’s ontology in Spanish

One final comment remains, which has to do with the ‘simple’ mentioned above. The approach of localisation presented here works only with fixed strings, i.e., the strings do not have to change depending on the context where it is uses. It won’t work with, say, isiZulu—a highly agglutinating and inflectional language—because isiZulu doesn’t have fixed strings for the Manchester syntax keywords nor for some other labels. For instance, ‘at least one’ has seven variants for nouns in the singular, depending on the noun class of the noun of the OWL class it quantifies over; e.g., elilodwa for ‘at least one’ apple, and esisodwa for ‘at least one’ twig. Also, the conjugation of the verb for the object property depends on the noun class of the noun of the OWL class, but in this case for the one that plays the subject; e.g., it’s “eats” in English for both humans and elephants eating, say, fruit, so one string for the name of the object property, but that’s udla and idla, respectively, in isiZulu. This requires annotations of the classes with ontolex-lemon or a similar approach and a set of rules (which we have, btw) to determine what to do in which case, which requires on-the-fly modifications to Manchester syntax keywords and elements’ names or labels. And then there’s still phonological conditioning to account for. It surely can be done, but it is not as doable as with the ‘simple’ languages that have at least a disjunctive orthography and much less genders or noun classes for the nouns.

In closing, while there’s indeed more to translate in the Protégé interface in order to fully localise it, hopefully this already helps as-is either for reading at least a whole axiom in one’s language or as stepping stone to extend it further for the other terms in the Manchester syntax and the interface. Feel free to extend our open source code.

 

References

[1] Matthew Horridge, Nicholas Drummond, John Goodwin, Alan Rector, Robert Stevens and Hai Wang (2006). The Manchester OWL syntax. OWL: Experiences and Directions (OWLED’06), Athens, Georgia, USA, 10-11 Nov 2016, CEUR-WS vol 216.

[2] Keet, C.M. The use of foundational ontologies in ontology development: an empirical assessment. 8th Extended Semantic Web Conference (ESWC’11), G. Antoniou et al (Eds.), Heraklion, Crete, Greece, 29 May-2 June, 2011. Springer LNCS 6643, 321-335.

[3] Keet, C.M., Khumalo, L. Toward a knowledge-to-text controlled natural language of isiZulu. Language Resources and Evaluation, 2017, 51:131-157. accepted version

Design rationale and overview of the African Wildlife tutorial ontologies

There are several tutorial ontologies, which typically focus on illustrating one or two aspects of ontology development, notably language features and automated reasoning. This may suffice for one’s aims, but for an ontology engineering course, one would need to be able to illustrate a myriad of development factors and devise exercises for a wider range of tasks of ontology development. For instance, to illustrate the use of ontology design patterns, competency questions, foundational ontologies, and science-based modelling practices, neither of which is addressed easily by the popular tutorial ontologies (notably: wine and pizza), perhaps because they predate most of the advances made in ontology engineering research. Also, I have noticed that my students replicate examples from the exercises they carry out and from inspecting popular and easy-to-find ontologies. Marking the practical assignments, I got to see sandwich and ice cream and burger ontologies with toppings and value partitions, and software and mobile phone ontologies where laptop models are instances rather than classes. Not providing good and versatile examples holistically, causes the propagation of sub-optimal ontology development at least in the exercises, which then also may affect negatively the development of an operational domain ontology that the graduates may have to develop later on.

I’ve been exploring alternatives and variants over the past 11 years in the ontology engineering courses that I have taught yearly to about 8-40 students/year. In an attempt to systematise and possibly generalise from that, I’ve identified 22 requirements that contribute to a good tutorial ontology, which concern the suitability of the subject domain (7 factors), the ease of demonstrating logics and reasoning tasks (7), and assistance with demonstrating engineering aspects (8). Its details are described in a technical report [1]. I don’t claim that it’s an exhaustive list, but that it is one that may help someone to develop their own tutorial ontology in a fun or interesting topic if they so wish—after all, not everyone is interested in pizzas, wines, African wildlife, pets, shirts, a small university, or Robert Stevens’ family.

I’ve tried out a variety of extant tutorial ontologies as well as a range of versions of the African Wildlife Ontology (AWO) over the years (early experiences), eventually settling for a set of 14 versions, all the way from the example from the Primer [2] to DOLCE- and BFO-aligned to translated in several languages, and some with possible answers to some of the exercises. A graphical rendering of the main classes and relations is shown in the following figure:

The versions of the AWO are summarised in the following table, which is also mentioned as annotation in the OWL files.

 

The AWO meets a majority of the 22 requirements, is mature by now, and it has been used yearly in an ontology engineering course or tutorial since 2010. Also, it is links up with my ontology engineering textbook with relevant examples and exercises. The AWO provides a wide range of options concerning examples and exercises for ontology engineering well beyond illustrating only logic features and automated reasoning. For instance, it assists in demonstrating tasks about ontology quality, such as alignment to a foundational ontology and satisfying competency questions, versioning, and multilingual ontologies. For instance, it is easier to demonstrate alignment of a class Animal to DOLCE’s (Non-Agentive) Physical Object than, say, debating what Algorithm aligns with or descend into political debates on the gender binary or what constitutes a family. One can use the height or the colours of the plants and animals to discuss how to model attributes as qualities or dependent entities cf. OWL’s data properties or an artificial ValuePartition. Declare, say, de individual lion simba as an instance of Lion, rather than the confusion regarding grape varieties. Use intuitively obvious disjointness between animals and plants, and subsequently easy catches on sensitising modellers to the far-reaching effects of declaring domain and range axioms by first asserting that animals eat animals, and then adding that carnivorous plants eat insects. In addition, it links up easily to topics for ontology integration activities, such as with biodiversity data, wildlife trade, and tourism to create, e.g., an OBDA system with freely available data (e.g., taken from here) or an ontology-enhanced website for an organisation that offers environmentally sustainable safaris. More examples of broad usage options are described in section 2.3 in the tech report.

The AWO is freely available under a CC-BY licence through the textbook’s webpage at https://people.cs.uct.ac.za/~mkeet/OEbook/ in this folder. A more comprehensive description of the requirements, design, and content is described in a technical report [1] for the time being.

 

References

[1] Keet, CM. The African Wildlife Ontology tutorial ontologies: requirements, design, and content. Technical Report 1905.09519. 23 May 2019. https://arxiv.org/abs/1905.09519.

[2] Antoniou, G., van Harmelen, F. A Semantic Web Primer. MIT Press, USA. 2003.

DL notation plugin for Protégé 5.x

Once upon a time… the Protégé ontology development environment used Description Logic (DL) symbols and all was well—for some users at least. Then Manchester Syntax came along as the new kid on the block, using hearsay and opinion and some other authors’ preferences for an alternative rendering to the DL notation [1]. Subsequently, everyone who used Protégé was forced to deal with those new and untested keywords in the interface, like ‘some’ and ‘only’ and such, rather than the DL symbols. That had another unfortunate side-effect, being that it hampers internationalisation, for it jumbles up things rather awkwardly when your ontology vocabulary is not in English, like, say, “jirafa come only (oja or ramita)”. Even in the same English-as-first-language country, it turned out that under a controlled set-up, the DL axiom rendering in Protégé fared well in a fairly large sized experiment when compared to the Protégé interface with the sort of Manchester syntax with GUI [2], and also the OWL 2 RL rules rendering appear more positive in another (smaller) experiment [3]. Various HCI factors remain to be examined in more detail, though.

In the meantime, we didn’t fully reinstate the DL notation in Protégé in the way it was in Protégé v3.x from some 15 years ago, but with our new plugin, it will at least render the class expression in DL notation in the tool. This has the benefits that

  1. the modeller will receive immediate feedback during the authoring stage regarding a notation that may be more familiar to at least a knowledge engineer or expert modeller;
  2. it offers a natural language-independent rendering of the axioms with respect to the constructors, so that people may develop their ontology in their own language if they wish to do so, without being hampered by continuous code switching or the need for localisation; and
  3. it also may ease the transition from theory (logics) to implementation for ontology engineering novices.

Whether it needs to be integrated further among more components of the tabs and views in Protégé or other ODEs, is also a question for HCI experts to answer. The code for the DL plugin is open source, so you could extend it if you wish to do so.

The plugin itself is a jar file that can simply be dragged into the plugin folder of a Protégé installation (5.x); see the github repo for details. To illustrate it briefly, after dragging the jar file into the plugin folder, open Protégé, and add it as a view:

Then when you add some new axioms or load an ontology, select a class, and it will render all the axioms in DL notation, as shown in the following two screenshots form different ontologies:

For the sake of illustration, here’s the giraffe that eats only leaves or twigs, in the Spanish version of the African Wildlife Ontology:

The first version of the tool was developed by Michael Harrison and Larry Liu as part of their mini-project for the ontology engineering course in 2017, and it was brushed up for presentation beyond that just now by Michael Harrison (meanwhile an MSc student a CS@UCT), which was supported by a DOT4D grant to improve my textbook on ontology engineering and accompanying educational resources. We haven’t examined all possible ‘shapes’ that a class expression can take, but it definitely processes the commonly used features well. At the time of writing, we haven’t detected any errors.

p.s.: if you want your whole ontology exported at once in DL notation and to latex, for purposes of documentation generation, that is a different usage scenario and is already possible [4].

p.p.s.: if you want more DL notation, please let me know, and I’ll try to find more resources to make a v2 with more features.

References

[1] Matthew Horridge, Nicholas Drummond, John Goodwin, Alan Rector, Robert Stevens and Hai Wang (2006). The Manchester OWL syntax. OWL: Experiences and Directions (OWLED’06), Athens, Georgia, USA, 10-11 Nov 2016, CEUR-WS vol 216.

[2] E. Alharbi, J. Howse, G. Stapleton, A. Hamie and A. Touloumis. The efficacy of OWL and DL on user understanding of axioms and their entailments. The Semantic Web – ISWC 2017, C. d’Amato, M. Fernandez, V. Tamma, F. Lecue, P. Cudre-Mauroux, J. Sequeda, C. Lange and J. He (eds.). Springer 2017, pp20-36.

[3] M. K. Sarker, A. Krisnadhi, D. Carral and P. Hitzler, Rule-based OWL modeling with ROWLtab Protégé plugin. Proceedings of ESWC’17, E. Blomqvist, D. Maynard, A. Gangemi, R. Hoekstra, P. Hitzler and O. Hartig (eds.). Springer. 2017, pp 419-433.

[4] Cogan Shimizu, Pascal Hitzler, Matthew Horridge: Rendering OWL in Description Logic Syntax. ESWC (Satellite Events) 2017. Springer LNCS. pp109-113

About modelling styles in ontologies

As any modeller will know, there are pieces of information or knowledge that can be represented in different ways. For instance, representing ‘marriage’ as class or as a ‘married to’ relationship, adding ‘address’ as an attribute or a class in one’s model, and whether ‘employee’ will be positioned as a subclass of ‘person’ or as a role that ‘person’ plays. In some cases, there a good ontological arguments to represent it in one way or the other, in other cases, that’s less clear, and in yet other cases, efficiency is king so that the most compact way of representing it is favoured. This leads to different design decisions in ontologies, which hampers ontology reuse and alignment and affects other tasks, such as evaluating competency questions over the ontology and verbalising ontologies.

When such choices are made consistently throughout the ontology, one may consider this to be a modelling style or representation style. If one then knows which style an ontology is in, it would simplify use and reuse of the ontology. But what exactly is a representation style?

While examples are easy to come by, shedding light on that intuitive notion turned out to be harder than it looked like. My co-author Pablo Fillottrani and I tried to disentangle it nonetheless, by characterising the inherent features and the dimensions by which a style may differ. This resulted in 28 different traits for the 10 identified dimensions.  For instance, the dimension “modular vs. monolithic” has three possible options: 1) ‘Monolithic’, where the ontology is stored in one file (no imports or mergers); 2) ‘Modular, external’, where at least one ontology is imported or merged, and it kept its URI (e.g., importing DOLCE into one’s domain ontology, not re-creating it there); 3) ‘Modular, internal’, where there’s at least one ontology import that’s based on having carved up the domain in the sense of decomposition of the domain (e.g., dividing up a domain into pizzas and drinks at pizzerias).  Other dimensions include, among others, the granularity of relations (many of few), how the hierarchy looks like, and attributes/data properties.

We tried to “eat our own dogfood” and applied the dimensions and traits to a set of 30 ontologies. This showed that it is feasible to do, although we needed two rounds to get to that stage—after the first round of parallel annotation, it turned out we had interpreted a few traits differently, and needed to refine the number of traits and be more precise in their descriptions (which we did). Perhaps unsurprising, some tendencies were observed, and we could identify three easily recognisable types of ontologies because most ontologies had clearly one or the other trait and similar values for sets of trait. Of course, there were also ontologies that were inherently “mixed” in the sense of having applied different and conflicting design decisions within the same ontology, or even included two choices. Coding up the results, we generated two spider diagrams that visualise that difference. Here’s one:

Details of the dimensions, traits, set-up and results of the evaluation, and discussion thereof have been published this week [1] and we’ll present it next month at the 1st Iberoamerican Conference on Knowledge Graphs and Semantic Web (KGSWC’19), in Villa Clara, Cuba, alongside 13 other papers on ontologies. I’m looking forward to it!

 

References

[1] Keet, C.M., Fillottrani, P.R.. Dimensions Affecting Representation Styles in Ontologies. 1st Iberoamerican conference on Knowledge Graphs and Semantic Web (KGSWC’19). Springer CCIS vol 1029, 186-200. 24-28 June 2019, Villa Clara, Cuba. Paper at Springer

Some experiences on making a textbook available

I did make available a textbook on ontology engineering for free in July 2018. Meanwhile, I’ve had several “why did you do this and not a proper publisher??!?” I had tried to answer that already in the textbook’s FAQ. Turns out that that short answer may be a bit too short after all. So, here follows a bit more about that.

The main question I tried to answer in the book’s FAQ was “Would it not have been better with a ‘proper publisher’?” and the answer to that was:

Probably. The layout would have looked better, for sure. There are several reasons why it isn’t. First and foremost, I think knowledge should be free, open, and shared. I also have benefited from material that has been made openly available, and I think it is fair to continue contributing to such sharing. Also, my current employer pays me sufficient to live from and I don’t think it would sell thousands of copies (needed for making a decent amount of money from a textbook), so setting up such a barrier of high costs for its use does not seem like a good idea. A minor consideration is that it would have taken much more time to publish, both due to the logistics and the additional reviewing (previous multi-author general textbook efforts led to nothing due to conflicting interests and lack of time, so I unlikely would ever satisfy all reviewers, if they would get around reading it), yet I need the book for the next OE installment I will teach soon.

Ontology Engineering (OE) is listed as an elective in the ACM curriculum guidelines. Yet, it’s suited best for advanced undergrad/postgrad level because of the prerequisites (like knowing the basics of databases and conceptual modeling). This means there won’t be big 800-students size classes all over the world lining up for OE. I guess it would not go beyond some 500-1000/year throughout the world (50 classes of 10-20 computer science students), and surely not all classes would use the textbook. Let’s say, optimistically, that 100 students/year would be asked to use the book.

With that low volume in mind, I did look up the cost of similar books in the same and similar fields with the ‘regular’ academic publishers. It doesn’t look enticing for either the author or the student. For instance this one from Springer and that one from IGI Global are all still >100 euro. for. the. eBook., and they’re the cheap ones (not counting the 100-page ‘silver bullet’ book). Handbooks and similar on ontologies, e.g., this and that one are offered for >200 euro (eBook). Admitted there’s the odd topical book that’s cheaper and in the 50-70 euro range here and there (still just the eBook) or again >100 as well, for a, to me, inexplicable reason (not page numbers) for other books (like these and those). There’s an option to publish a textbook with Springer in open access format, but that would cost me a lot of money, and UCT only has a fund for OA journal papers, not books (nor for conference papers, btw).

IOS press does not fare much better. For instance, a softcover version in the studies on semantic web series, which is their cheapest range, would be about 70 euro due to number of pages, which is over R1100, and so again above budget for most students in South Africa, where the going rate is that a book would need to be below about R600 for students to buy it. A plain eBook or softcover IOS Press not in that series goes for about 100 euro again, i.e., around R1700 depending on the exchange rate—about three times the maximum acceptable price for a textbook.

The MIT press BFO eBook is only R425 on takealot, yet considering other MIT press textbooks there, with the size of the OE book, it then would be around the R600-700. Oxford University Press and its Cambridge counterpart—that, unlike MIT press, I had checked out when deciding—are more expensive and again approaching 80-100 euro.

One that made me digress for a bit of exploration was Macmillan HE, which had an “Ada Lovelace day 2018” listing books by female authors, but a logics for CS book was again at some 83 euros, although the softer area of knowledge management for information systems got a book down to 50 euros, and something more popular, like a book on linguistics published by its subsidiary “Red Globe Press”, was down to even ‘just’ 35 euros. Trying to understand it more, Macmillan HE’s “about us” revealed that “Macmillan International Higher Education is a division of Macmillan Education and part of the Springer Nature Group, publishers of Nature and Scientific American.” and it turns out Macmillan publishes through Red Globe Press. Or: it’s all the same company, with different profit margins, and mostly those profit margins are too high to result in affordable textbooks, whichever subsidiary construction is used.

So, I had given up on the ‘proper publisher route’ on financial grounds, given that:

  • Any ontology engineering (OE) book will not sell large amounts of copies, so it will be expensive due to relatively low sales volume and I still will not make a substantial amount from royalties anyway.
  • Most of the money spent when buying a textbook from an established publisher goes to the coffers of the publisher (production costs etc + about 30-40% pure profit [more info]). Also, scholarships ought not to be indirect subsidy schemes for large-profit-margin publishers.
  • Most publishers would charge an amount of money for the book that would render the book too expensive for my own students. It’s bad enough when that happens with other textbooks when there’s no alternative, but here I do have direct and easy-to-realise agency to avoid such a situation.

Of course, there’s still the ‘knowledge should be free’ etc. argument, but this was to show that even if one were not to have that viewpoint, it’s still not a smart move to publish the textbook with the well-known academic publishers, even more so if the topic isn’t in the core undergraduate computer science curriculum.

Interestingly, after ‘publishing’ it on my website and listing it on OpenUCT and the Open Textbook Archive—I’m certainly not the only one who had done a market analysis or has certain political convictions—one colleague pointed me to the non-profit College Publications that aims to “break the monopoly that commercial publishers have” and another colleague pointed me to UCT press. I had contacted both, and the former responded. In the meantime, the book has been published by CP and is now also listed on Amazon for just $18 (about 16 euro) or some R250 for the paperback version—whilst the original pdf file is still freely available—or: you pay for production costs of the paperback, which has a slightly nicer layout and the errata I knew of at the time have been corrected.

I have noticed that some people don’t take the informal self publishing seriously—even below the so-called ‘vanity publishers’ like Lulu—notwithstanding the archives to cater for it, the financial take on the matter, the knowledge sharing argument, and the ‘textbooks for development’ in emerging economies angle of it. So, I guess no brownie points from them then and, on top of that, my publication record did, and does, take a hit. Yet, writing a book, as an activity, is a nice and rewarding change from just churning out more and more papers like a paper production machine, and I hope it will contribute to keeping the OE research area alive and lead to better ontologies in ontology-driven information systems. The textbook got its first two citations already, the feedback is mostly very positive, readers have shared it elsewhere (reddit, ungule.it, Open Libra, Ebooks directory, and other platforms), and I recently got some funding from the DOT4D project to improve the resources further (for things like another chapter, new exercises, some tools development to illuminate the theory, a proofreading contest, updating the slides for sharing, and such). So, overall, if I had to make the choice again now, I’d still do it again the way I did. Also, I hope more textbook authors will start seeing self-publishing, or else non-profit, as a good option. Last, the notion of open textbooks is gaining momentum, so you even could become a trendsetter and be fashionable 😉

FOIS’18 conference report

To some perhaps surprisingly, despite being local organizer, I could attend all sessions of the 10th International Conference Formal Ontology in Information Systems as participant (cf. running around for last-minute things). It just wasn’t as much of a trip as it usually is: only 15 minutes to town at the Atlantic Imbizo conference venue, which is situated between the Clock Tower and (award-winning) Zeitz MOCAA at Cape Town’s V&A Waterfront. This blog post has turned into a longer post than intended—yet, there’s still so much left out to talk about—and it is divided up into sections on keynotes, presentations, ontologies, and the (ontologically inappropriate basket of) other things.

 

Keynotes

The first keynote was presented by (emeritus) professor in philosophy Peter Simons from Trinity College Dublin and Universität Salzburg, on the ontology of aboutness (slides).

Peter Simon during his keynote talk

That may sound a bit abstract, but it is not unusual for some information system that it will have to record statements about something, such as different medical opinions, changes of policies, plans or expectations, and we need a way to represent that and deal with it. Simons discussed several earlier proposals before proposing his own, which includes as main entities a bearer, act, time, act-type, mental content, mental content type, intentional objects, referent, and referent type (slide 16), and then variants for pictorial and linguistic (speech and writing). And, in closing, his advice of “Don’t get involved in irrelevant philosophical disputes”.

The second keynote was presented by Alessandro Oltramari, who works at Bosch Research and Technology Centre in Pittsburgh, USA. He presented several of Bosch’s projects where ontologies are used in one way or another (slides) and that he was involved in. One of them was about knowledge-based intelligent IoT and another on an emergency assistant, or, in business sales parlance, a “personal guardian angel” mobile device that has location awareness, safety information of those locations, a decision support system for alternate route computation, and automatic escalation. The ontologies used include the foundational ontology DOLCE, the domain ontology of semantic sensor networks (SSN) from the W3C, and specific schemas developed in-house. Another project on a knowledge-based chatbot for healthcare policies links up DOLCE, schema.org, and some in-house schemas with Highmark-specific information (and is not ashamed of using SKOS). Om my question what methods and methodologies were used for the in-house ontology development, the (disappointing) answer was, unfortunately, only “DOLCE and OntoClean”, but the former is neither a method nor a methodology (it implies a top-down approach), and the latter is some 15 years old, as if nothing has happened in ontology engineering in the meantime (more about that further below). Regardless, it was good to see that ontologies are being used in industry.

The third keynote (slides) was by Riichiro Mizoguchi from the Japan Advanced Institute of Science and Technology (JAIST), on a state-centric methodology, which I’ll leave for a separate post.

Riichiro Mizoguchi during his keynote talk.

 

Presentations

The report on the presentations easily could take up several pages, but I’ll try to keep it short, lest otherwise this post never gets posted. The first session of the conference was on foundations. This included Antony Galton’s assessment of the treatment of time in upper ontologies [1]. It was mildly entertaining in that it turned out that BFO would need abstract things for its treatment of time (which it doesn’t have and doesn’t like) and adheres to Newtonian physics cf. the latest scientific theories. It is definitely on my list of papers to read in more detail. Another paper-for-printing to read is Torsten Hahmann’s work on mereotopology, which extends it to multidimensional space [2]. A nice bonus (though it ought not to be perceived as such) is that at least the theorems in the paper have been proved with Prover9 and Vampire (cf. having to double-check them manually). Laure Vieu presented a proposal for a graph-based approach to represent structure among the components of an entity [3], which is apparently different from the graph-based approach for representing molecules (within the Semantic Web context); I’ll have to look at that in more detail, for it sounds like it might be of some use for the parts aspects of part-whole relations.

Besides such theoretical contributions that are rather distant from applications, there were two of note that were motivated from praxis more clearly. One was about the ontological foundations of competition and the sort of competitive relations there are [4], which was presented by Tiago Prince Sales. The other one was presented by Pawel Garbacz, whose presentation conveyed more than the paper so as to get a real feel of the problem, being identity criteria for localities [5], with complicating use cases extracted from a Polish history project. He presented some examples of changes and a proposal for how to identify a locality/settlement. For instance, settlements can get moved altogether, have a population-only move, split into two, be merged, renamed and renamed again, deserted by a population and repopulated and renamed, and so on. When is it the same settlement and when is it another one? The paper [5] describes a first solution for identity criteria with an event-based approach to identity of localities.

My presentation on part-whole relations in Zulu language and culture [6] was scheduled in the ‘applications’ session, which had positive feedback and some pointers that may assist with future work.

 

venue during a Q&A session

Ontologies

Besides presentations, there was a discussion session on “what constitutes a good ontology paper?” for the Applied Ontology journal. Seeing the ontology papers at FOIS now, they should have done such as session for FOIS as well. There are four papers in the proceedings describing OWL files: “Amnestic forgery” (AF, conceptual metaphors) [7] presented by Mehwish Alam, UNiCS for research and innovation policy [8] presented by Fernando Roda, SAREF4Health [9] presented by João Moreira, and religious and spiritual belief (ORSB) [10] presented by Stefan Schulz. Skimming through each paper, AF, UNiCS and ORSB do not use a methodology explicitly, none of them uses existing methods, but they all do use a foundational or top-level ontology or the WordNet material, and then it’s cool enough to get into FOIS, apparently. This is a bit disappointing. At least SAREF4Health presented a set of competency questions, a systematic approach and broader framework, and some evaluation, and ORSB reuses not only top-level and top-domain ontologies but also tests some patterns. AF and ORSB have some interest to it as they’re addressing relatively novel modeling issues to solve and the ORSB discussion could be used more broadly for any “terms of dubious reference”. UNiCS is not really an ontology but an information model or, at best, a conceptual data model (e.g. calling “SCOPUS subject” an ontology is pushing it a bit too far); it makes their OBDA scenario easier to realize, true, but that’s a separate discussion. Fig 1 of SAREF4Health doesn’t look any better either, which has all the hallmarks of a plain UML Class Diagram (attributes with data types and such), with object diagram components attached and coloured in and annotated with OntoUML. SAREF4Health’s other downsides are things like “implementing the ontology as RDF” that just hurts to read (it is left implicit for AF that is plugged into the LOD cloud), as is the download in Turtle format (cf. the required exchange syntax of OWL 2), which isn’t even available at the provided link when you click on it (copy-paste gets you in the right direction), but is [I think] in some github sub-directory that has a whole bunch of ttl files with neither head nor tail, but one of them is called saref4health.ttl. On first inspection, it has plenty of data properties and data type use, and the class-as-instance issue here and there (e.g., ‘Rechargeable Lithium Polymer battery’ as instance cf. class), and others (e.g., a ‘series’ of measurements is not a subclass of a measurement) and very many classes directly subsumed by top, though some are knock-on effects from imports.

And then ontologists at FOIS deplored that there are many domain ontologies that are of poor quality and artifacts presented as ontologies but aren’t. The FOIS reviewers themselves apparently can’t even get their act together in the reviewing process, where artifacts that are sold as domain ontologies but aren’t (UNiCS, SAREF4Health) make it not only through the reviewing process but, moreover, even get a best paper award from the PC chairs (SAREF4Health). The PC chairs wanted to make a political statement to communicate that FOIS accepts domain ontology papers. It is good that the FOIS topics are becoming less narrow and I’m not saying they are pointless papers or lousy artifacts per sé—they are useful reference papers and UNiCS and SAREF4Health perform the application tasks they’re supposed to be performing, which is a good thing. Maybe, collectively, ontology developers can’t do better or don’t need to do better w.r.t. applied ontology? Either way, once upon a time there were principles for what ontologies are; what happened to that? Also, there are multiple methodologies for domain ontology development, and there are a myriad of methods and tools, which have been mostly ignored. For instance, using one foundational ontology over another ‘just because I know x’ is neither a scientific nor a sound engineering approach. There are comparisons, requirements, and a mix of the two to help you figure out which one is the best to use; an early tool for that is ONSET, the ONtology Selection and Explanation Tool, developed by Zubeida Khan (more data). To name one example.

Coincidentally, ontology engineering papers with such a content do not, or very rarely, make it into FOIS; but just that they don’t (because they’re typically not philosophical enough), doesn’t mean they don’t exist. Just in case a FOIS ontologist would like to explore methods, methodologies and tools for ontology development: ESWC, EKAW, and K-CAP are good/top conferences covering such topics in whole or in part, and Chapter 5 of the ontology engineering textbook provides a sampling as well (as do some other sections in Block II). Considering my critical comments, one may ask whether my ontologies and ontology papers are any better, or anyone else’s for that matter. Perhaps, perhaps not. You can check for yourself some of my recent papers on domain ontologies that also have OWL files[1] that I was involved in developing; one paper was intended as a reference paper for the domain ontology [11], another paper was a bit of both domain ontology and some framework [12], and yet another turned into a core ontology [13] (v1, with the main categories; there’s an updated version for the relations).

Anyway, returning to the first sentence of this section: the open forum discussion did not make it any clearer as to what would be the characteristics of a good ontology paper for the Applied Ontology journal (or FOIS, for that matter). Mainly just Protégé screenshots certainly is not, but opinions varied as to what would be. Going by examples of the ontology papers that made it through: use of a top-level or foundational ontology and some modeling issues and solutions seems to be preferred, evaluation and usage & uptake as a nice-to-have. Is developing an (domain) ontology science? That question wasn’t answered unanimously; I think it was leaning towards a ‘mostly no’ w.r.t. applied ontology but it may be if it’s the first to solve a modeling issue. How to evaluate the ontology? Another question without a satisfactory answer. Overall, the criteria for an ontology paper—let alone for the ontology itself—are “TBD” and meanwhile one has to hope that one will get a supportive ‘reviewer 2’.

 

Other

In case you have clicked-though to one or more of the listed papers, you may have noticed that the FOIS’18 proceedings are Open Access—paid for by those who registered for the conference (it was calculated in the registration fee). I suppose the next FOIS organisers and the IAOA exec may like your opinion on that approach.

mentors of the early career symposium papers

Besides the best paper award for SAREF4Health [9], there were two “distinguished paper awards”, which went to aforementioned paper on the graph-based approach for structured universals by Laure Vieu and Claudio Masolo [3] and to the foundational ontologies for units of measure by Michael Grüninger and co-authors [14]. The early career symposium went well and from hearsay they had a good social activity, too. There were lots of interesting conversations, networking, good food, and so on, and lots more to write about. There are also more photos.

Some of the postgraduate students and a recent PhD graduate in the spotlight at the closing ceremony, being thanked for chairing the sessions.

Last, but not least: the next FOIS in 2020 will be in Bolzano, Italy, as part of a ‘Bolzano summer of knowledge’ with more co-located conferences, workshops, and summer schools.

 

References

[1] Antony Galton. The treatment of time in upper ontologies. Proc. of FOIS’18. IOS Press, 306: 33-46.

[2] Thorsten Hahmann. On Decomposition Operations in a Theory of Multidimensional Qualitative Space. Proc. of FOIS’18. IOS Press, 306: 173-186.

[3] Claudio Masolo, Laure Vieu. Graph-Based Approaches to Structural Universals and Complex States of Affairs. Proc. of FOIS’18. IOS Press, 306: 69-82.

[4] Tiago Prince Sales, Daniele Porello, Nicola Guarino, Giancarlo Guizzardi, John Mylopoulos. Ontological Foundations of Competition. Proc. of FOIS’18. IOS Press, 306: 96-112.

[5] Pawel Garbacz, Agnieszka Ławrynowicz, Bogumił Szady. Identity criteria for localities. Proc. of FOIS’18. IOS Press, 306: 47-56.

[6] C. Maria Keet, Langa Khumalo. On the Ontology of Part-Whole Relations in Zulu Language and Culture. Proc. of FOIS’18. IOS Press, 306: 225-238.

[7] Aldo Gangemi, Mehwish Alam, Valentina Presutti. Amnestic Forgery: An Ontology of Conceptual Metaphors. Proc. of FOIS’18. IOS Press, 306: 159-172.

[8] Alessandro Mosca, Fernando Roda, Guillem Rull. UNiCS – The Ontology for Research and Innovation Policy Making. Proc. of FOIS’18. IOS Press, 306: 200-210.

[9] João Moreira, Luís Ferreira Pires, Marten van Sinderen, Laura Daniele. SAREF4health: IoT Standard-Based Ontology-Driven Healthcare Systems. Proc. of FOIS’18. IOS Press, 306: 239-252.

[10] Stefan Schulz, Ludger Jansen. Towards an Ontology of Religious and Spiritual Belief. Proc. of FOIS’18. IOS Press, 306: 253-260.

[11] Keet, C.M., Lawrynowicz, A., d’Amato, C., Kalousis, A., Nguyen, P., Palma, R., Stevens, R., Hilario, M. The Data Mining OPtimization ontology. Web Semantics: Science, Services and Agents on the World Wide Web, 2015, 32:43-53.

[12] Chavula, C., Keet, C.M. An Orchestration Framework for Linguistic Task Ontologies. 9th Metadata and Semantics Research Conference (MTSR’15), Garoufallou, E. et al. (Eds.). Springer CCIS vol. 544, 3-14.

[13] Keet, C.M. A core ontology of macroscopic stuff. 19th International Conference on Knowledge Engineering and Knowledge Management (EKAW’14). K. Janowicz et al. (Eds.). 24-28 Nov, 2014, Linkoping, Sweden. Springer LNAI vol. 8876, 209-224.

[14] Michael Grüninger, Bahar Aameri, Carmen Chui, Torsten Hahmann, Yi Ru. Foundational Ontologies for Units of Measure. Proc. of FOIS’18. IOS Press, 306: 211-224.

[1] I have others developed as part of methods & tools research