<?xml version='1.0'?>
<!--

 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.

-->

<rdf:RDF xmlns="http://clerezza.org/2009/09/contentprototype#"
	xml:base="http://clerezza.org/2009/09/contentprototype"
	xmlns:contentprototype="http://clerezza.org/2009/09/contentprototype#"
	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:owl="http://www.w3.org/2002/07/owl#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:dbt="http://discobits.org/ontology#">

	<owl:Ontology rdf:about="http://clerezza.org/2009/09/contentprototype#">
		<dc:title>Clerezza Ontology for Description of Content Prototype</dc:title>
	</owl:Ontology>

    <!-- Classes -->

	<owl:Class rdf:about="#PrototypeDescriptor">
		<rdfs:comment>A descriptor for a content prototype. A content prototype defines the structure of contents</rdfs:comment>
	</owl:Class>

    <!-- Object Properties -->

    <owl:ObjectProperty rdf:about="#prototype">
        <rdfs:comment>Points to an OrderedContent.</rdfs:comment>
        <rdfs:domain rdf:resource="#PrototypeDescriptor"/>
        <rdfs:range rdf:resource="dbt:DiscoBit"/>
    </owl:ObjectProperty>

</rdf:RDF>
