|Did you know ...||Search Documentation:|
|Pack ape -- prolog/utils/owlswrl/README.md|
Translating an Attempto DRS into Web Ontology Language (OWL 2), or if this fails then to Semantic Web Rule Language (SWRL). Various serializations are provided by:
owlfss: Prolog term based on OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax, e.g. OWL lists and sets are denoted by Prolog lists
owlxml: OWL 2 Web Ontology Language XML Serialization
owlfsspp: OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax, useful for pretty-printing, but also understood by e.g. the Manchester OWL API
For SWRL rules we use the functional and XML-based syntaxes that are described in http://www.webont.org/owled/2009/papers/owled2009_submission_16.pdf.
For the documentation see:
Kaarel Kaljurand. Attempto Controlled English as a Semantic Web Language. PhD thesis, Faculty of Mathematics and Computer Science, University of Tartu, 2007. http://hdl.handle.net/10062/4876 (Printable version: http://attempto.ifi.uzh.ch/site/pubs/papers/phd_kaljurand.pdf)
Note that this thesis uses the label "OWL 1.1" to discuss OWL 2. This is because OWL 1.1 used to be the name of OWL 2 until April 2008.
Also, see the PlDoc documentation inside the translator files.
Some examples of sentences that the OWL/SWRL translator supports are available at http://attempto.ifi.uzh.ch/site/docs/writing_owl_in_ace.html.
Processing an ACE sentence `Every man likes Mary.` using the APE commandline:
ape.exe \ -uri "http://www.example.com/default" \ -noclex \ -ulextext "pn_sg('Mary', iri('http://www.example.com/names#Mary'), fem). noun_sg(man, man, masc). tv_finsg(likes, like)." \ -text "Every man likes Mary." \ -solo owlfsspp
Prefix(:=<http://www.example.com/default#>) Ontology(<http://www.example.com/default> SubClassOf( :man ObjectSomeValuesFrom( :like ObjectOneOf( <http://www.example.com/names#Mary> ) ) ) )
Note that by using the
iri-term in the lexicon one can assign the complete
IRI to the surface word. Otherwise, the default namespace is assumed.