<?xml version="1.0" encoding="UTF-8"?>
<!--

 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:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
	xmlns:owl="http://www.w3.org/2002/07/owl#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:skos="http://www.w3.org/2008/05/skos#"
>

<!-- Ontology -->

<owl:Ontology rdf:about="http://clerezza.org/2009/08/platform#">
	<owl:versionInfo>Revision: 0.1</owl:versionInfo>
	<dc:title xml:lang="en">
		Clerezza Platform Ontology
	</dc:title>
</owl:Ontology>

<!-- Classes -->

<rdfs:Class rdf:about="http://clerezza.org/2009/08/platform#Instance">
	<rdfs:label xml:lang="en">Instance</rdfs:label>
	<skos:definition xml:lang="en">
		An instance of a Clerezza platform.
	</skos:definition>
	<rdfs:isDefinedBy rdf:resource="http://clerezza.org/2009/08/platform#" />
</rdfs:Class>

<rdfs:Class rdf:about="http://clerezza.org/2009/08/platform#HeadedPage">
	<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
	<rdfs:label xml:lang="en">HeadedPage</rdfs:label>
	<skos:definition xml:lang="en">A web page typically rendered with a header.</skos:definition>
	<rdfs:isDefinedBy rdf:resource="http://clerezza.org/2009/08/platform#" />
</rdfs:Class>

<!-- Properties -->

<rdf:Property rdf:about="http://clerezza.org/2009/08/platform#defaultBaseUri">
	<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
	<rdfs:label xml:lang="en">defaultBaseUri</rdfs:label>
	<skos:definition xml:lang="en">Points to the default base URI of the Clerezza
		platform instance.
	</skos:definition>
	<rdfs:isDefinedBy rdf:resource="http://clerezza.org/2009/08/platform#" />
		<rdfs:domain rdf:resource="http://clerezza.org/2009/08/platform#Instance"/>
		<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#anyURI"/>
</rdf:Property>

<rdf:Property rdf:about="http://clerezza.org/2009/08/platform#baseUri">
	<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
	<rdfs:label xml:lang="en">baseUri</rdfs:label>
	<skos:definition xml:lang="en">Points to a base URI of the Clerezza
		platform instance. A base Uri is the shortest URI of a URI-Hierarhy the
		platform handles.
	</skos:definition>
	<rdfs:isDefinedBy rdf:resource="http://clerezza.org/2009/08/platform#" />
		<rdfs:domain rdf:resource="http://clerezza.org/2009/08/platform#Instance"/>
		<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#anyURI"/>
</rdf:Property>

<rdf:Property rdf:about="http://clerezza.org/2009/08/platform#languages">
	<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
	<rdfs:label xml:lang="en">languages</rdfs:label>
	<skos:definition xml:lang="en">Points to a rdf list containing the languages
		supported by the platform instance. The first langague in the list is
		the default language.
	</skos:definition>
	<rdfs:isDefinedBy rdf:resource="http://clerezza.org/2009/08/platform#" />
	<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
</rdf:Property>

<rdf:Property rdf:about="http://clerezza.org/2009/08/platform#instance">
	<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
	<rdfs:label xml:lang="en">Instance</rdfs:label>
	<skos:definition xml:lang="en">Points to a platform instance.
	</skos:definition>
	<rdfs:isDefinedBy rdf:resource="http://clerezza.org/2009/08/platform#" />
	<rdfs:range rdf:resource="http://clerezza.org/2009/08/platform#Instance"/>
</rdf:Property>

<rdf:Property rdf:about="http://clerezza.org/2009/08/platform#userName">
	<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DataProperty" />
	<rdfs:label xml:lang="en">userName</rdfs:label>
	<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
	<skos:definition xml:lang="en">Points to a  unique name which is used as
identifier for an online account of a platform. This is an inverse functional
property.
	</skos:definition>
	<rdfs:isDefinedBy rdf:resource="http://clerezza.org/2009/08/platform#" />
	<rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
	<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</rdf:Property>

<rdf:Property rdf:about="http://clerezza.org/2009/08/platform#user">
	<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
	<rdfs:label xml:lang="en">User</rdfs:label>
	<skos:definition xml:lang="en">Points to a platform user.
	</skos:definition>
	<rdfs:isDefinedBy rdf:resource="http://clerezza.org/2009/08/platform#" />
	<rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
</rdf:Property>

<rdf:Property rdf:about="http://clerezza.org/2009/08/platform#preferredLangInISOCode">
	<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DataProperty" />
	<rdfs:label xml:lang="en">preferredLangInISOCode</rdfs:label>
	<skos:definition xml:lang="en">Points to a literal which represents the ISO code of
	a language.
	</skos:definition>
	<rdfs:isDefinedBy rdf:resource="http://clerezza.org/2009/08/platform#" />
	<rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
	<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</rdf:Property>

<rdf:Property rdf:about="http://clerezza.org/2009/08/platform#lastLogin">
	<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DataProperty"/>
	<rdfs:label xml:lang="en">last Login</rdfs:label>
	<skos:definition xml:lang="en">Points to the last login time stamp of the user.
	</skos:definition>
	<rdfs:isDefinedBy rdf:resource="http://clerezza.org/2009/08/platform#"/>
	<rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
	<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/>
</rdf:Property>

</rdf:RDF>
