A simplest bibliography DAML ontology with Classes, Properties and single subClassOf, single domain and single range relations

<rdf:RDF
  xmlns:rdf  = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs = "http://www.w3.org/2000/01/rdf-schema#"
  xmlns:daml = "http://www.daml.org/2000/10/daml-ont#"
  xmlns      = "http://cs-www.cs.yale.edu/homes/pq5/research/yale_bib#"
>

<daml:Ontology rdf:about="">
   <daml:versionInfo>Version 0.1 2000.12.08</daml:versionInfo>
   <daml:imports rdf:resource="http://www.daml.org/2000/10/daml-ont"/>
   <rdfs:comment>Yale DAML Ontology</rdfs:comment>
</daml:Ontology>

<daml:Class rdf:ID="Literal">
   <equivalentTo rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</daml:Class>

"Publication" is a Class without subClassOf relation, it is actually the sub class of "daml:Thing", which corresponds to PDDL's "object".PDDL version

<daml:Class rdf:ID="Publication">
  <rdfs:comment>
     All of the terms here are stolen from BibTeX.
     Most of the properties in this ontology have Literal values.
     That's probably bogus, but then so is the whole way literals work.
  </rdfs:comment>   
</daml:Class>

"Article" is a new Class, and is subClassOf Publication.PDDL version

<daml:Class rdf:ID="Article">
   <daml:subClassOf rdf:resource="#Publication"/>
</daml:Class>

<daml:Class rdf:ID="Book">
   <daml:subClassOf rdf:resource="#Publication"/>
</daml:Class>

<daml:Class rdf:ID="Incollection">
   <daml:subClassOf rdf:resource="#Publication"/>
</daml:Class>

<daml:Class rdf:ID="Inproceedings">
   <daml:subClassOf rdf:resource="#Publication"/>
</daml:Class>

<daml:Class rdf:ID="Techreport">
   <daml:subClassOf rdf:resource="#Publication"/>
</daml:Class>

"author" is an ObjectProperty, its domain is Publication and range is Literal, which corresponds to PDDL(actually, OPT)'s String.PDDL version

<daml:ObjectProperty rdf:ID="author">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="booktitle">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="editor">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="institution">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="journal">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="note">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="number">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="pages">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="publisher">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="title">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="volume">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="year">
   <daml:domain rdf:resource="#Publication"/>
   <daml:range rdf:resource="#Literal"/>
</daml:ObjectProperty>

</rdf:RDF>


Translated PDDL version of the above DAML ontology

(define (domain yale_bib)

(:types
Publication - object daml:Class
;All of the terms here are stolen from BibTeX.
;Most of the properties in this ontology have Literal values.
;That's probably bogus, but then so is the whole way literals work.

Article - Publication daml:subClassOf
Inproceedings - Publication
Book - Publication
Literal - object
Techreport - Publication
Incollection - Publication
)

(:predicates

(author ?pu1 - Publication ?li2 - Literal) daml:Property
(institution ?pu1 - Publication ?li2 - Literal)
(publisher ?pu1 - Publication ?li2 - Literal)
(year ?pu1 - Publication ?li2 - Literal)
(editor ?pu1 - Publication ?li2 - Literal)
(title ?pu1 - Publication ?li2 - Literal)
(booktitle ?pu1 - Publication ?li2 - Literal)
(journal ?pu1 - Publication ?li2 - Literal)
(volume ?pu1 - Publication ?li2 - Literal)
(pages ?pu1 - Publication ?li2 - Literal)
(number ?pu1 - Publication ?li2 - Literal)
(note ?pu1 - Publication ?li2 - Literal)
)
)