<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.ideasgroup.org/IDEAS_Foundation.rdf#" xml:base="http://www.ideasgroup.org/IDEAS_Foundation.rdf">
	<!-- Thing - the topmost ontic category in IDEAS-->
	<Type rdf:ID="Thing">
		<dc:date>2007-07-11</dc:date>
	</Type>
	<!-- Individual-->
	<Type rdf:ID="Individual">
		<superType rdf:resource="#Thing"/>
		<dc:date>2007-07-11</dc:date>
	</Type>
	<superSubtype rdf:ID="IndividualSubtypeOfThing">
		<superType rdf:resource="#Thing"/>
		<subType rdf:resource="#Individual"/>
	</superSubtype>
	<!-- Type & its descendents -->
	<Type rdf:ID="Type">
		<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
		<rdfs:subClassOf rdf:resource="#Thing"/>
		<dc:date>2007-07-20</dc:date>
	</Type>
	<superSubtype rdf:ID="TypeSubtypeOfThing">
		<superType rdf:resource="#Thing"/>
		<subType rdf:resource="#Type"/>
	</superSubtype>
	<Type rdf:ID="Name">
		<dc:date>2007-07-11</dc:date>
		<rdfs:subClassOf rdf:resource="#Type"/>
		<!--Constraint to ensure one and only one text string for the name -->
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#exemplarText"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
	</Type>
	<rdf:Property rdf:ID="exemplarText">
		<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
		<rdfs:domain rdf:resource="#Name"/>
	</rdf:Property>
	<superSubtype rdf:ID="NameSubtypeOfType">
		<superType rdf:resource="#Type"/>
		<subType rdf:resource="#Name"/>
	</superSubtype>
	<Type rdf:ID="NameType">
		<rdfs:subClassOf rdf:resource="#Type"/>
		<dc:date>2007-07-11</dc:date>
	</Type>
	<superSubtype rdf:ID="NameTypeSubtypeOfType">
		<superType rdf:resource="#Type"/>
		<subType rdf:resource="#NameType"/>
	</superSubtype>
	<Type rdf:ID="TupleType">
		<dc:date>2007-07-11</dc:date>
		<rdfs:subClassOf rdf:resource="#Type"/>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#place1Type"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#place2Type"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#place3Type"/>
				<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:maxCardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#place4Type"/>
				<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:maxCardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#place5Type"/>
				<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:maxCardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
	</Type>
	<superSubtype rdf:ID="TupleTypeSubtypeOfType">
		<superType rdf:resource="#Type"/>
		<subType rdf:resource="#TupleType"/>
	</superSubtype>
	<rdf:Property rdf:ID="placeType1">
		<rdfs:range rdf:resource="#Type"/>
		<rdfs:domain rdf:resource="#TupleType"/>
	</rdf:Property>
	<rdf:Property rdf:ID="placeType2">
		<rdfs:range rdf:resource="#Type"/>
		<rdfs:domain rdf:resource="#TupleType"/>
	</rdf:Property>
	<rdf:Property rdf:ID="placeType3">
		<rdfs:range rdf:resource="#Type"/>
		<rdfs:domain rdf:resource="#TupleType"/>
	</rdf:Property>
	<rdf:Property rdf:ID="placeType4">
		<rdfs:range rdf:resource="#Type"/>
		<rdfs:domain rdf:resource="#TupleType"/>
	</rdf:Property>
	<rdf:Property rdf:ID="placeType5">
		<rdfs:range rdf:resource="#Type"/>
		<rdfs:domain rdf:resource="#TupleType"/>
	</rdf:Property>
	<rdf:Property rdf:ID="place1Name">
		<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
		<rdfs:domain rdf:resource="#TupleType"/>
	</rdf:Property>
	<rdf:Property rdf:ID="place2Name">
		<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
		<rdfs:domain rdf:resource="#TupleType"/>
	</rdf:Property>
	<rdf:Property rdf:ID="place3Name">
		<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
		<rdfs:domain rdf:resource="#TupleType"/>
	</rdf:Property>
	<rdf:Property rdf:ID="place4Name">
		<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
		<rdfs:domain rdf:resource="#TupleType"/>
	</rdf:Property>
	<rdf:Property rdf:ID="place5Name">
		<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
		<rdfs:domain rdf:resource="#TupleType"/>
	</rdf:Property>
	<!-- tuple & its descendents - note that OWL is used here to restrict the cardinalities of the tuple places-->
	<Type rdf:ID="tuple">
		<rdfs:subClassOf rdf:resource="#Thing"/>
		<dc:date>2007-07-11</dc:date>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#tuplePlace1"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#tuplePlace2"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#tuplePlace3"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#tuplePlace4"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#tuplePlace5"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">1</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
	</Type>
	<superSubtype rdf:ID="tupleSubtypeOfThing">
		<superType rdf:resource="#Thing"/>
		<subType rdf:resource="#tuple"/>
	</superSubtype>
	<rdf:Property rdf:ID="tuplePlace1">
		<rdfs:range rdf:resource="#Thing"/>
		<rdfs:domain rdf:resource="#tuple"/>
	</rdf:Property>
	<rdf:Property rdf:ID="tuplePlace2">
		<rdfs:range rdf:resource="#Thing"/>
		<rdfs:domain rdf:resource="#tuple"/>
	</rdf:Property>
	<rdf:Property rdf:ID="tuplePlace3">
		<rdfs:range rdf:resource="#Thing"/>
		<rdfs:domain rdf:resource="#tuple"/>
	</rdf:Property>
	<rdf:Property rdf:ID="tuplePlace4">
		<rdfs:range rdf:resource="#Thing"/>
		<rdfs:domain rdf:resource="#tuple"/>
	</rdf:Property>
	<rdf:Property rdf:ID="tuplePlace5">
		<rdfs:range rdf:resource="#Thing"/>
		<rdfs:domain rdf:resource="#tuple"/>
	</rdf:Property>
	<Type rdf:ID="couple">
		<rdfs:subClassOf rdf:resource="#tuple"/>
		<dc:date>2007-07-11</dc:date>
		<!-- Restrict the cardinalities of tuple places 3,4,5 to be zero - i.e. only tuplePlaces 1 and 2 are allowed for couple -->
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#tuplePlace3"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">0</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#tuplePlace4"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">0</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
		<rdfs:subClassOf>
			<owl:Restriction>
				<owl:onProperty rdf:resource="#tuplePlace5"/>
				<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#;nonNegativeInteger">0</owl:cardinality>
			</owl:Restriction>
		</rdfs:subClassOf>
	</Type>
	<superSubtype rdf:ID="coupleSubtypeOftuple">
		<superType rdf:resource="#tuple"/>
		<subType rdf:resource="#couple"/>
	</superSubtype>
	<!-- superSubtype -->
	<Type rdf:ID="superSubtype">
		<rdfs:subClassOf rdf:resource="#couple"/>
		<dc:date>2007-07-11</dc:date>
	</Type>
	<superSubtype rdf:ID="superSubtypeSubtypeOfcouple">
		<superType rdf:resource="#couple"/>
		<subType rdf:resource="#subSuperType"/>
	</superSubtype>
	<rdf:Property rdf:ID="superType">
		<rdfs:subPropertyOf rdf:resource="#tuplePlace1"/>
		<rdfs:range rdf:resource="#Type"/>
		<rdfs:domain rdf:resource="#superSubtype"/>
	</rdf:Property>
	<rdf:Property rdf:ID="subType">
		<rdfs:subPropertyOf rdf:resource="#tuplePlace2"/>
		<rdfs:range rdf:resource="#Type"/>
		<rdfs:domain rdf:resource="#superSubtype"/>
	</rdf:Property>
	<!-- instanceOfType -->
	<Type rdf:ID="typeInstance">
		<rdfs:subClassOf rdf:resource="#couple"/>
		<dc:date>2007-07-11</dc:date>
	</Type>
	<superSubtype rdf:ID="typeInstanceSubtypeOfCouple">
		<superType rdf:resource="#couple"/>
		<subType rdf:resource="#instanceOfType"/>
	</superSubtype>
	<rdf:Property rdf:ID="type">
		<rdfs:subPropertyOf rdf:resource="#tuplePlace1"/>
		<rdfs:range rdf:resource="#Type"/>
		<rdfs:domain rdf:resource="#typeInstance"/>
	</rdf:Property>
	<rdf:Property rdf:ID="instance">
		<rdfs:subPropertyOf rdf:resource="#tuplePlace2"/>
		<rdfs:range rdf:resource="#Thing"/>
		<rdfs:domain rdf:resource="#typeInstance"/>
	</rdf:Property>
	<!-- wholePart -->
	<Type rdf:ID="wholePart">
		<rdfs:subClassOf rdf:resource="#couple"/>
		<dc:date>2007-07-11</dc:date>
	</Type>
	<superSubtype rdf:ID="wholePartSubtypeOfcouple">
		<superType rdf:resource="#couple"/>
		<subType rdf:resource="#wholePart"/>
	</superSubtype>
	<rdf:Property rdf:ID="whole">
		<rdfs:subPropertyOf rdf:resource="#tuplePlace1"/>
		<rdfs:range rdf:resource="#Individual"/>
		<rdfs:domain rdf:resource="#wholePart"/>
	</rdf:Property>
	<rdf:Property rdf:ID="part">
		<rdfs:subPropertyOf rdf:resource="#tuplePlace2"/>
		<rdfs:range rdf:resource="#Individual"/>
		<rdfs:domain rdf:resource="#wholePart"/>
	</rdf:Property>
	<!-- namedBy -->
	<Type rdf:ID="namedBy">
		<rdfs:subClassOf rdf:resource="#couple"/>
		<dc:date>2007-07-11</dc:date>
	</Type>
	<superSubtype rdf:ID="namedBySubtypeOfcouple">
		<superType rdf:resource="#couple"/>
		<subType rdf:resource="#namedBy"/>
	</superSubtype>
	<rdf:Property rdf:ID="namedObject">
		<rdfs:subPropertyOf rdf:resource="#tuplePlace1"/>
		<rdfs:range rdf:resource="#Thing"/>
		<rdfs:domain rdf:resource="#namedBy"/>
	</rdf:Property>
	<rdf:Property rdf:ID="name">
		<rdfs:subPropertyOf rdf:resource="#tuplePlace2"/>
		<rdfs:range rdf:resource="#Name"/>
		<rdfs:domain rdf:resource="#namedBy"/>
	</rdf:Property>
	<!-- instanceOfNameType -->
	<Type rdf:ID="nameTypeInstance">
		<rdfs:subClassOf rdf:resource="#typeInstance"/>
		<dc:date>2007-07-11</dc:date>
	</Type>
	<superSubtype rdf:ID="nameTypeInstanceSubtypeOftypeInstance">
		<superType rdf:resource="#typeInstance"/>
		<subType rdf:resource="#nameTypeInstance"/>
	</superSubtype>
	<rdf:Property rdf:ID="nameInstance">
		<rdfs:subPropertyOf rdf:resource="#instance"/>
		<rdfs:range rdf:resource="#Name"/>
		<rdfs:domain rdf:resource="#nameTypeInstance"/>
	</rdf:Property>
	<rdf:Property rdf:ID="nameType">
		<rdfs:subPropertyOf rdf:resource="#type"/>
		<rdfs:range rdf:resource="#NameType"/>
		<rdfs:domain rdf:resource="#nameTypeInstance"/>
	</rdf:Property>
	<!-- powertypeInstance -->
	<Type rdf:ID="powertypeInstance">
		<rdfs:subClassOf rdf:resource="#typeInstance"/>
		<dc:date>2007-07-11</dc:date>
	</Type>
	<superSubtype rdf:ID="powertypeInstanceSubtypeOftypeInstance">
		<superType rdf:resource="#typeInstance"/>
		<subType rdf:resource="#powertypeInstance"/>
	</superSubtype>
	<rdf:Property rdf:ID="powertype">
		<rdfs:subPropertyOf rdf:resource="#type"/>
		<rdfs:range rdf:resource="#Type"/>
		<rdfs:domain rdf:resource="#powertypeInstance"/>
	</rdf:Property>
	<!-- Standard Names -->
	<NameType rdf:ID="IdeasNames">
		<dc:date>2007-07-16</dc:date>
	</NameType>
</rdf:RDF>
