<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
     <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
     <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
   ]>

<rdf:RDF
  xml:base  = "http://www.music.org/musicont"
  xmlns = "http://www.music.org/musicont#"
  xmlns:owl = "http://www.w3.org/2002/07/owl#"
  xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#">

  <owl:Ontology rdf:about="">
    <rdfs:label>Music Ontology</rdfs:label>
  </owl:Ontology>

  <owl:Class rdf:ID="Group" />

  <owl:Class rdf:ID="Person" />

  <owl:Class rdf:ID="Instrument" />

  <Instrument rdf:ID="Guitar" />
  <Instrument rdf:ID="Bass" />
  <Instrument rdf:ID="Drums" />
  
  <owl:Class rdf:ID="Band">
    <rdfs:subClassOf rdf:resource="#Group" />
    <rdfs:subClassOf>
        <owl:Restriction>
	   <owl:onProperty rdf:resource="#member" />
	   <owl:allValuesFrom rdf:resource="#Musician" />
        </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>


  <owl:Class rdf:ID="Musician">
     <rdfs:subClassOf rdf:resource="#Person" />
     <rdfs:subClassOf>
        <owl:Restriction>
	   <owl:onProperty rdf:resource="#plays" />
 	   <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
	</owl:Restriction>
     </rdfs:subClassOf>
  </owl:Class>

  <owl:Class rdf:ID="Guitarist">
     <rdfs:subClassOf rdf:resource="#Musician" />
     <rdfs:subClassOf>
        <owl:Restriction>
	  <owl:onProperty rdf:resource="#plays" />
	  <owl:hasValue rdf:resource="#Guitar" />
   	</owl:Restriction>
     </rdfs:subClassOf>
  </owl:Class>

  <owl:ObjectProperty rdf:ID="plays" />
  <owl:ObjectProperty rdf:ID="member" />

</rdf:RDF>

