<?xml version="1.0"?>
<!--
*******************************************************************************
* Copyright (c) 2006-2008 Parity Communications, Inc.
* All rights reserved. This document and accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* Contributors:
* Paul Trevithick - original contribution
* Valery Kokhan - changed base URL and higgins namespace
* Markus Sabadello
*******************************************************************************
-->
<!DOCTYPE rdf:RDF [
<!ENTITY higgins "http://www.eclipse.org/higgins/ontologies/2006/higgins#">
<!ENTITY owl "http://www.w3.org/2002/07/owl#">
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#">
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">
]>
<rdf:RDF xml:base="http://www.eclipse.org/higgins/ontologies/2006/higgins" xmlns:higgins="http://www.eclipse.org/higgins/ontologies/2006/higgins#" 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#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<!-- Ontology Information -->
<owl:Ontology rdf:about="http://www.eclipse.org/higgins/ontologies/2006/higgins">
<rdfs:label>Higgins Ontology</rdfs:label>
<owl:versionInfo>THIS IS A PROPOSED UPDATE TO 1.19 v2</owl:versionInfo>
<rdfs:comment>Context Providers must commit to this ontology. They can either use it as their only ontology, or create their own ontology that imports this one.</rdfs:comment>
</owl:Ontology>
<!-- Classes -->
<owl:Class rdf:ID="ContextObject">
<rdfs:comment>There should only be one instance of this class within a given Context. This instance represents the containing Context itself.</rdfs:comment>
</owl:Class>
<owl:Class rdf:ID="DigitalSubject">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#uniqueIdentifier"/>
<owl:cardinality>1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="TimeSpan">
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality>1</owl:maxCardinality>
<owl:onProperty rdf:resource="#validTo"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality>1</owl:maxCardinality>
<owl:onProperty rdf:resource="#validFrom"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:about="#StatementMetadata">
<rdfs:subClassOf rdf:resource="&rdf;Statement"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:minCardinality>0</owl:minCardinality>
<owl:onProperty rdf:resource="#syncConflict"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality>1</owl:maxCardinality>
<owl:onProperty rdf:resource="#syncConflict"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:minCardinality>0</owl:minCardinality>
<owl:onProperty rdf:resource="#lastModified"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality>1</owl:maxCardinality>
<owl:onProperty rdf:resource="#lastModified"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:minCardinality>0</owl:minCardinality>
<owl:onProperty rdf:resource="#lastVerifyAttempt"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality>1</owl:maxCardinality>
<owl:onProperty rdf:resource="#lastVerifyAttempt"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:minCardinality>0</owl:minCardinality>
<owl:onProperty rdf:resource="#lastVerifiedFromSource"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality>1</owl:maxCardinality>
<owl:onProperty rdf:resource="#lastVerifiedFromSource"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:minCardinality>0</owl:minCardinality>
<owl:onProperty rdf:resource="#creationTime"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality>1</owl:maxCardinality>
<owl:onProperty rdf:resource="#creationTime"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="DisplayData">
<rdfs:comment>DisplayData describes how to display data objects in a user interface, e.g. label, image, etc...</rdfs:comment>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#label"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#description"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#order"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#order"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#image"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#image"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="AttributeMetadata">
<rdfs:comment>AttributeMetadata describes a higgins:attribute (e.g. firstname). Subclass of DisplayData.</rdfs:comment>
<rdfs:subClassOf rdf:resource="#DisplayData"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#comment"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#example"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#editableBy"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#base"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#base"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#fractionDigits"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#fractionDigits"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#length"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#length"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#maxExclusive"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#maxExclusive"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#maxInclusive"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#maxInclusive"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#maxLength"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#maxLength"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#minExclusive"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#minExclusive"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#minInclusive"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#minInclusive"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#minLength"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#minLength"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#pattern"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#pattern"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#totalDigits"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#totalDigits"/>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<!-- Super-properties -->
<owl:DatatypeProperty rdf:about="#simpleAttribute">
<rdfs:comment>Each instance of this property has exactly one simple-typed range (value). </rdfs:comment>
<rdfs:domain rdf:resource="#DigitalSubject"/>
<rdfs:domain rdf:resource="#ContextObject"/>
<rdfs:range rdf:resource="&rdfs;Literal"/>
</owl:DatatypeProperty>
<owl:ObjectProperty rdf:about="#complexAttribute">
<rdfs:comment>Each instance of this property has exactly one object-typed range (value). </rdfs:comment>
<rdfs:domain rdf:resource="#DigitalSubject"/>
<rdfs:domain rdf:resource="#ContextObject"/>
<rdfs:range rdf:resource="&owl;Thing"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:about="#simpleMetadata">
<rdfs:comment>Each instance of this property has exactly one simple-typed range (value). </rdfs:comment>
<rdfs:domain rdf:resource="#StatementMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:domain rdf:resource="#DisplayData"/>
<rdfs:range rdf:resource="&rdfs;Literal"/>
</owl:DatatypeProperty>
<owl:ObjectProperty rdf:about="#complexMetadata">
<rdfs:comment>One instance of this property has exactly one object-typed value. </rdfs:comment>
<rdfs:domain rdf:resource="#StatementMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:domain rdf:resource="#DisplayData"/>
<rdfs:range rdf:resource="&owl;Thing"/>
</owl:ObjectProperty>
<!-- Properties specifically for #DigitalSubject -->
<owl:DatatypeProperty rdf:ID="uniqueIdentifier">
<rdfs:subPropertyOf rdf:resource="#simpleAttribute"/>
<rdfs:domain rdf:resource="#DigitalSubject"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="#relation">
<rdfs:subPropertyOf rdf:resource="#simpleAttribute"/>
<rdfs:comment>A directed relation between two Digital Subjects representing different underlying Entities</rdfs:comment>
<rdfs:domain rdf:resource="#DigitalSubject"/>
<rdfs:range rdf:resource="&xsd;anyURI"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="#correlation">
<rdfs:subPropertyOf rdf:resource="#relation"/>
<rdfs:comment>A directed relation between two Digital Subjects representing the same underlying Entity</rdfs:comment>
</owl:DatatypeProperty>
<owl:ObjectProperty rdf:ID="timeSpan">
<rdfs:subPropertyOf rdf:resource="#complexAttribute"/>
<rdfs:domain rdf:resource="#DigitalSubject"/>
<rdfs:range rdf:resource="#TimeSpan"/>
</owl:ObjectProperty>
<!-- Properties specifically for #TimeSpan -->
<owl:DatatypeProperty rdf:ID="validFrom">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#TimeSpan"/>
<rdfs:range rdf:resource="&xsd;date"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="validTo">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#TimeSpan"/>
<rdfs:range rdf:resource="&xsd;date"/>
</owl:DatatypeProperty>
<!-- Properties specifically for #StatementMetadata -->
<owl:DatatypeProperty rdf:ID="source">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#StatementMetadata"/>
<rdfs:range rdf:resource="&xsd;anyURI"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="creator">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#StatementMetadata"/>
<rdfs:range rdf:resource="&xsd;anyURI"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="lastModified">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#StatementMetadata"/>
<rdfs:range rdf:resource="&xsd;dateTime"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="syncConflict">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#StatementMetadata"/>
<rdfs:range rdf:resource="&xsd;boolean"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="lastVerifiedFromSource">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#StatementMetadata"/>
<rdfs:range rdf:resource="&xsd;date"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="lastVerifyAttempt">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#StatementMetadata"/>
<rdfs:range rdf:resource="&xsd;date"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="creationTime">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#StatementMetadata"/>
<rdfs:range rdf:resource="&xsd;date"/>
</owl:DatatypeProperty>
<!-- Properties specifically for #DisplayData -->
<owl:ObjectProperty rdf:ID="displayData">
<rdfs:comment>This is what you use to attach an instance of DisplayData to anything (Classes, Properties, Instances, etc.).</rdfs:comment>
<rdfs:domain rdf:resource="&owl;Thing"/>
<rdfs:range rdf:resource="#DisplayData"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:ID="label">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#DisplayData"/>
<rdfs:range rdf:resource="&xsd;string"/>
<rdfs:comment>Internationalized display string for this attribute (for use in user interfaces)</rdfs:comment>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="description">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#DisplayData"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="order">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#DisplayData"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="image">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#DisplayData"/>
<rdfs:range rdf:resource="&xsd;anyURI"/>
</owl:DatatypeProperty>
<!-- Properties specifically for #AttributeMetadata -->
<owl:ObjectProperty rdf:ID="attributeMetadata">
<rdfs:comment>This is what you use to attach an instance of AttributeMetadata to any property (not an instance of that property).</rdfs:comment>
<rdfs:domain rdf:resource="&owl;DatatypeProperty"/>
<rdfs:domain rdf:resource="&owl;ObjectProperty"/>
<rdfs:range rdf:resource="#AttributeMetadata"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:ID="comment">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="example">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;string"/>
<rdfs:comment>A string used to show an example of the kind of value (e.g. "paul@socialphysics.org" or "800-555-1212", etc.)</rdfs:comment>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="editableBy">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;anyURI"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="base">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="fractionDigits">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="length">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="maxExclusive">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="maxInclusive">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="maxLength">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="minExclusive">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="minInclusive">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="minLength">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="pattern">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="totalDigits">
<rdfs:subPropertyOf rdf:resource="#simpleMetadata"/>
<rdfs:domain rdf:resource="#AttributeMetadata"/>
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
</rdf:RDF>