<?xml version="1.0" ?> 
<rdf:RDF 
xmlns="http://daml.umbc.edu/acldamlcontent#"
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/2001/03/daml+oil#" >
      
<Ontology rdf:about="http://daml.umbc.edu/acldaml.daml">
  		<versionInfo>$Id:  acldaml.daml v0.1  Exp $</versionInfo> 
  		<comment> DAML content language for FIPA ACL </comment> 
  		<imports rdf:resource="http://www.daml.org/2000/12/daml-ont" /> 
  	</Ontology>

<daml:Class rdf:ID="Statement">
<daml:comment>The statement which include triple(subject, predicate object ) 
	</daml:comment>
<daml:label> Statement </daml:label>
  	<daml:subClassOf rdf:resource="daml:Thing"/>
</daml:Class>

<rdf:Property rdf:ID="subject">
  	<daml:domain rdf:resource="#Statement"/>
  	<daml:range rdf:resource="daml:Literal" />
    <daml:Cardinality>1</daml:Cardinality>
</rdf:Property>

<rdf:Property rdf:ID="predicate">
  	<daml:domain rdf:resource="#Statement"/>
  	<daml:range rdf:resource="daml:Literal" />
    <daml:Cardinality>1</daml:Cardinality>
</rdf:Property>

<rdf:Property rdf:ID="object">
  	<daml:domain rdf:resource="#Statement"/>
  	<daml:range rdf:resource="daml:Literal" />
    <daml:Cardinality>1</daml:Cardinality>
</rdf:Property>

<daml:Class rdf:ID="Proposition">
  	<daml:comment>The set of  Proposition </daml:comment>
<daml:label> proposition </daml:label>
  	<daml:subClassOf rdf:resource="daml:Thing" />
</daml:Class>

<rdf:Property rdf:ID="statement">
  <daml:domain rdf:resource="#Proposition"/>
  <daml:range rdf:resource="#Statement"/>
    <daml:minCardinality>1</daml:minCardinality>
</rdf:Property>

<daml:Class rdf:ID="True_Or_False">
  	<daml:comment>Boolean value: true or false </daml:comment>
	<daml:label> True_Or_False</daml:label>
  	<daml:oneOf rdf:parseType="daml:collection">
		<True_Or_False  rdf:ID="true"/>
		<True_Or_False  rdf:ID="false"/>
	</daml:oneOf>
</daml:Class>

<rdf:Property rdf:ID="belief">
  <daml:domain rdf:resource="#Proposition"/>
  <daml:range rdf:resource="#True_Or_False" />
    <daml:maxCardinality>1</daml:maxCardinality>
</rdf:Property>
 
<daml:Class rdf:ID="Action">
  	<daml:comment>action </daml:comment>
<daml:label> action</daml:label>
  	<daml:subClassOf rdf:resource="daml:Thing" />
</daml:Class>
<rdf:Property rdf:ID="act">
  <daml:domain rdf:resource="#Action"/>
  <daml:range rdf:resource="rdfs:Literal" />
    <daml:Cardinality>1</daml:Cardinality>
</rdf:Property>

<rdf:Property rdf:ID="actor">
  <daml:domain rdf:resource="#Action"/>
  <daml:range rdf:resource="rdfs:Literal" />
    <daml:Cardinality>1</daml:Cardinality>
</rdf:Property>
<rdf:Property rdf:ID="argument">
  <daml:domain rdf:resource="#Action"/>
    <daml:Cardinality>1</daml:Cardinality>
</rdf:Property>

<daml:Class rdf:ID="Reply">
  	<daml:comment>reply of a action </daml:comment>
<daml:label>reply </daml:label>
  	<daml:subClassOf rdf:resource="daml:Thing" />
</daml:Class>
<rdf:Property rdf:ID="done">
  <daml:domain rdf:resource="#Reply"/>
    <daml:Cardinality>1</daml:Cardinality>
</rdf:Property>
<rdf:Property rdf:ID="result">
  <daml:domain rdf:resource="#Reply"/>
    <daml:Cardinality>1</daml:Cardinality>
</rdf:Property>

<daml:Class rdf:ID="Answeragent">
  	<daml:comment>point to a agent which can answer query </daml:comment>
<daml:label>answeragent </daml:label>
  	<daml:subClassOf rdf:resource="daml:Thing" />
</daml:Class>

<rdf:Property rdf:ID="name">
  <daml:domain rdf:resource="#Answeragent"/>
    <daml:Cardinality>1</daml:Cardinality>
</rdf:Property>

<rdf:Property rdf:ID="uri">
  <daml:domain rdf:resource="#Answeragent"/>
</rdf:Property>

<daml:Class rdf:ID="RuleQuery">
  	<daml:comment>send a query </daml:comment>
<daml:label>RuleQuery </daml:label>
  	<daml:subClassOf rdf:resource="#Rule" />
</daml:Class>

<rdf:Property rdf:ID="atom">
  <daml:domain rdf:resource="#Rule"/>
    <daml:MinCardinality>1</daml:MinCardinality>
</rdf:Property>

<daml:Class rdf:ID="Rule">
  	<daml:comment>Rule superclass </daml:comment>
<daml:label>Rule </daml:label>
  	<daml:subClassOf rdf:resource="daml:Thing" />
</daml:Class>

<daml:Class rdf:ID="Ruleml">
  	<daml:comment>Rule superclass </daml:comment>
<daml:label>Rule </daml:label>
  	<daml:subClassOf rdf:resource="#Rule" />
</daml:Class>
<rdf:Property rdf:ID="if">
  	<daml:domain rdf:resource="#Ruleml"/>
	<daml:range rdf:resource="#If"/>
</rdf:Property>

<daml:Class rdf:ID="If">
  	<daml:comment>If statement </daml:comment>
<daml:label>If </daml:label>
  	<daml:subClassOf rdf:resource="daml:Thing" />
</daml:Class>
<rdf:Property rdf:ID="conc">
  	<daml:domain rdf:resource="#If"/>
</rdf:Property>
<rdf:Property rdf:ID="prem">
  	<daml:domain rdf:resource="#If"/>
</rdf:Property>
</rdf:RDF>

