Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Writing ontologies in DL syntax?

I just discovered OWL and Protege. Upon reading through this reference page (which I quote below), I am left wondering whether it is possible to not use the abstract OWL syntax, and rather to write in DL syntax. My background is in logic, so it sounds like it would be more fun even if I would have to translate the ontologies later (though I am sure there must be applications to do this--besides, don't reasoners use DL?).

If it is possible, what configuration of settings should I use in Protege (or other software of your suggestion) in order to do this? I suspect it's not possible, but I want to be sure, as I see no good reason for this other than the awkwardness of special symbols.

EDIT: If it is NOT possible, how exactly are DL languages used?

OWL DL is the description logic SHOIN with support of data values, data types and datatype properties, i.e., SHOIN(D), but since OWL is based on RDF(S), the terminology slightly differs. ... For description of OWL ontology or knowledge base, the DL syntax can be used. There is an "abstract" LISP-like syntax defined that is easier to write in ASCII character set.

OWL

Here's a very brief working example of the two syntax styles for the same data.

like image 408
QuietThud Avatar asked Nov 29 '12 05:11

QuietThud


People also ask

What syntax can be used for OWL ontology?

For description of OWL ontology or knowledge base, the DL syntax can be used. There is an "abstract" LISP-like syntax defined that is easier to write in ASCII character set (see also the first and the second table below). Since OWL is syntactically embedded into RDF, all of the RDF serializations can be used.

Where can I find an example ontology in the Manchester Syntax?

An example ontology in the Manchester OWL syntax can be found in the OWL Primer [ OWL 2 Primer ]. The Manchester syntax for OWL 2 ontologies is defined using a standard BNF notation, which is summarized in the table below. Table 1.

How do I add a class to an ontology?

Create a class from this DL query by clicking the ‘Add to ontology’ button. The previous example showed the creation of a class restriction. These restrictions were asserted as superclass restrictions, and are sometimes known as necessary conditions.

What prefixes cannot be changed in an ontology document?

The 'rdf:', 'rdfs:', 'owl:', and 'xsd:' prefixes are pre-defined as follows and cannot be changed. Each other prefix used in an ontology document must have exactly one prefix declaration in the ontology document.


1 Answers

don't reasoners use DL?

Not necessarily. They use all kinds of logics, some of which are DLs, some are not.

If it is possible, what configuration of settings should I use in Protege (or other software of your suggestion) in order to do this?

I'm pretty sure there is no such pluggin for Protégé. But if you really want some fun, use a text editor and write your ontology by hand. There are many syntaxes you can use: the functional syntax, the OWL/XML syntax, the RDF/XML syntax are all normative. In addition, you can use the Manchester syntax, Turtle, N-Triples, JSON-LD, that will be future recommendations for writing RDF (and therefore OWL). Or the more exotic RDF/JSON, HDT. Or again, more "powerful" syntaxes like Notation3, TriG, TriX, NQuads. Plenty of fun!

In any case, if you would like to write in the DL syntax, you would need to use special Unicode characters or special commands like in LaTeX for instance. And the parser that deals with it would have to read those characters or commands. Not ideal if you are programming. But you can always use the DL syntax in your writings.

BTW, the current standard Web Ontology Language is OWL 2. Its DL variant (viz., OWL 2 DL) is based on the even more irresistible SROIQ.

like image 75
Antoine Zimmermann Avatar answered Sep 28 '22 01:09

Antoine Zimmermann