W3C

An RDF Schema for P3P

W3C Note @@ @@@ 200@

This Version:

$Id: p3p-rdf-schema.html,v 1.3 2001/12/06 12:53:14 bwm Exp $

Latest Version:
@@@@
Previous Version:
@@@@
Author/Editor:
Brian McBride, Hewlett Packard(brian_mcbride@hp.com)
Contributors:
See Acknowledgments

Abstract

This document describes an RDF Schema for P3P.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C.

This Note has been written to meet the requirement that before P3P 1.0 can proceed to Proposed Recommendation, it must have an RDF schema. It is not intended to be a normative specification. Instead, it represents a suggestion by the author of one possible RDF schema for P3P. At the time of writing, the schema described here has not benefited from implementation experience.

This version is a draft for review. The RDF/XML examples in the appendices contain a number of comments that will be removed from the final version; they are left in for now lest the aid the review process.The author draws reviewers attention specifically to the following issues:

P3P Questions:

Other Issues

The author welcomes comments on this document, but does not guarantee a reply or any further action. Please send comments on this draft @@ to the author at the above address. Once published, comments may be sent to www-rdf-comments@w3.org; public archives are available. Comments may also be sent to the author at the above address.This document may be updated or added to based on implementation experience, but no commitment is made by the W3C, or any of its members, regarding future updates.

This document is a NOTE made available by the W3C for discussion only. Publication of this Note by W3C indicates no endorsement by W3C or the W3C Team, or any W3C Members. A list of current W3C technical reports and publications, including Working Drafts and Notes, can be found at http://www.w3.org/TR/.

Table of Contents

  1. Introduction
  2. Acknowledgments
  3. Appendices
    Appendix A: An RDF Schema for P3P
    Appendix B: An RDF Schema for the P3P Base Dataset
    Appendix C: Example Policy Reference 2.2 in RDF/XML
    Appendix D: Example Policy Reference 2.5 in RDF/XML
    Appendix E: Example Policy Reference 2.6 in RDF/XML
    Appendix F: Example Policy 3.1 in RDF/XML
    Appendix G: Example Policy 3.2 in RDF/XML
    Appendix H: Example Policy att in RDF/XML
    Appendix I: Change History

1.0 Introduction

The Platform for Privacy Preferences (P3P) provides a way for Web sites to publish their privacy policies in a machine-readable syntax. A privacy policy is machine processible information which conforms to an abstract information model implied by the P3P specification.

The Resource Description Framework(RDF) defines a general abstract model for representing information. The RDF Schema Specification defines a schema language for describing specific RDF information models.

This document uses RDF Schema to describe a representation of the P3P abstract information model in RDF.

Properly, this document should include explanatory text describing the structure of the schema and how RDF instance data should be constructed to conform to it. However, in the interests of rapid publication, this text has been omitted from this version of the document. This note may be republished with this extra text added. A future version of this note may also include XSLT transforms to translate from P3P to RDF conforming to the P3P/RDF schema.

2.0 Acknowledgments

The author would like to thank:

Appendix A: An RDF Schema for P3P

<?xml version="1.0"?>

<!--
  An RDF Schema for P3P

  $Id: p3p-rdf-schema.html,v 1.3 2001/12/06 12:53:14 bwm Exp $

This version is based on the P3P 1.0 Working Draft dated
28 September 2001:

  http://www.w3.org/TR/2001/WD-P3P-20010928

and on the RDF Model and Syntax Specification

  http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/

and RDF Schema Candidate Recommendation dated 27th March 2000

  http://www.w3.org/TR/2000/CR-rdf-schema-20000327

Thanks to Pat Hayes for suggesting the relativeTo mechanism for
handling relative classes.


  Issues
  ======

 39) Can the datastructures be simplified, e.g. the leaf nodes.

     We need to be able to hang categories off the values and since
     literals are not yet allowed as subjects of statements, that
     cant be done directly.

     It is possible to define the values as subClasses of Literal,
     to declare that subClass also to be a subClass of the appropriate
     categories, but then we cannot represent the category directly in
     in RDF/XML.  It would have to rely on schema processing.

     Further simplification might be achieved by dropping the
     substructuring of datastructures.  With the current proposal
     a bnode is inserted in a datastructure wherever there is a 
     . in the property name.  Is this really necessary?

 40) consistency of names with original p3p

 41) review retention policy

 42) Should we use p3p:value rather than rdf:value, since the meaning
     of rdf:value isnt well defined.

 43) Does the RECIPEINT element describe recipients or classes of
     recipient?

 44) Is the order of hints in a policy reference file significant?

 45) Check out that variable category works properly

 Decisions
 =========

  1) Decided to remove the language selector mechanism and stick with
     the way things are done in the P3P spec. 

  5) Sometimes privacy policies are about services, sometime about
     web sites.  Is there a difference?

     Not as far as this is concerned.

  6) Whats the difference between Court and Applicable law in the
     Dispute element?

     Dont know, but it does not seem to effect this schema.

  7) 5.3.5.3 describes Online as a structure with contact information
     about a *person*.  Online may be used for organisations.

     Reported as editorial error.  Does not affect this schema.

  8) I&quot;m uncertain about the range of the entity property.

     That is because there is a modelling error implicit in the P3P
     WD.  The ENTITY element takes a business data set to represent
     legal entity responsible for the policy.  However, the legal
     entity might not be a business, it might be an individual.
     Should be define a LegalEntity class which is a superclass
     of business and person and use that at the range?

     The range of the entity property is the class p3p:LegalEntity.
     The business dataset has been defined as a subclass of that
     class.

  9) I&quot;ve modelled InfoTypes as a class hierarchy which is not
     really what is implied by the P3P document.  Is this reasonable?
     Similarly with the dispute resolution types.

     The ACCESS property takes a Class as its value, not an instance
     of that class.  Decided to model InfoTypes as a class hierarchy;
     this allows to use RDF Schema and DAML processors and enables
     extensibility.  InfoType is a subclass of class.

     A member of a collection of disputes is an instance of type
     ResolutionProcedure.  This is therefore more conventional.
     ResolutionProcedure is a subclass of Resource.

 10) Use a bag to collect remedies

     No.  Remedies are currently very simple, but they could be
     extened in future into a richer type hierarchy in which cases
     the remedy property can become a subProperty of rdf:type and
     Remedy a subClass of Class.

 11) A policy has a name property.  An organization has a name 
     property.  Are these the same property?

     No.  A policy name property has uniqueness properties that 
     dont apply to organizational name properties.  They are 
     different things.?

 12) Will create classes for referenced resources e.g. policy 
     statements.  Could have just left these as resources, but
     this way there is more structure.

 13) How well does this model align with just running P3P through an
     RDF parser without transformation?

     It doesn&apos;t  Too bad - this is the intended model.

 14) Use a bag collect disputes?

 15) Whilst P3P uses a disputes element, the RDF model uses the term
     DisputesResolutionProcedure as that is more accurate

 16) Oops - there is no such thing rdfs:description.

     changed to rdfs:comment.=

 17) How do we handle extensions?

     Added extension mechanism defining classes p3p:Optional and 
     p3pMandatory and properties p3p:optional and p3p:mandatory.

 18) Should the access values be represented by types?

     See 9 above.

 19) Should we collect purposes into a container?

     No, because then we can&apos;t use the class trick

 20) Consistency in the use of containers to collect properties

     DISPUTES is the only case where a collection was used in place
     of repeated properties.  Given there is no strong modeling reason
     to be able to refer to the collection and the fact that 
     the semantics of containers have not yet been fully clarified,
     the decision is to use repeated properties.

 21) Does recipient-description need to be a separate property?

     Maybe not, but its consistent with the original p3p.  Keep.

 22) Can we share values of purpose and recipient required?

     No.  There was a modelling error here.  Switched to using 
     subProperties of p3p:purpose and p3p:recipient to represent
     how required the usage is.

 23) Is there a type hierarchy in Retention?

     No.

 24) Enumerated types: use literal values or defined resource classes?

     Use defined resources as this allows a schema validator to do
     some checking.

 25) Should data-element have a range?

     Yes - p3p:DataElement

 26) Does P3P namespace end in a '#'

     The namespace declaration given in an rdf document does.

 27) Are the leaf nodes of a data structure data elements, i.e. can
     they be referenced directly from a statements datagroup element?

     All members of a datastructure are datelements, including leaf
     nodes.

 28) How many middle names can someone have.  If >1 then order
     order is a problem.

     Modified to use Seq of middle names.

 29) Use subClassOf or type to indicate variable category?

     subClassOf - see 30

 30) dscCategory: replace with subClassOf?

     Yes: category is a type structure.  Right now it does not have
     rich structure but eventually it will do.

 31) Inconsistent use of collections and repeated properties.

     Duplicate of 20

 32) Check out InfoType hierarchy

     done

 33) Should access be a subProperty of rdf:type?

     See no good reason to make this change.

 34) Review use of Class hierarchy for purpose.

     Done.

 35) Check subClass relationships on InfoType and Purpose

     Done.

 36) Relative class definitions :(

     Adopted Pat Hayes suggestion of indexicals and defined 
     p3p:relativeTo.

 37) Check RecipientClass (and other) modifiers.

     Done.  Fixed by 22 above.

 38) Should we use reification for the extension mechanism?

     No, because it is not well understood and its semantics are 
     not yet clearly defined.
-->

<!DOCTYPE rdf:RDF [
  <!ENTITY rdf     "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <!ENTITY rdfs    "http://www.w3.org/2000/01/rdf-schema#">
  <!ENTITY p3p     "http://www.w3.org/2001/09/P3Pv1#">
]>
<rdf:RDF xmlns:rdf="&rdf;"
         xmlns:rdfs="&rdfs;"
         xmlns:p3p="&p3p;">

<!--
      PolicyRefs - A sequence of PolicyRef resources
-->

<rdfs:Class rdf:about="&p3p;PolicyResource">
  <rdfs:label xml:lang="en">Policy Resource</rdfs:label>
  <rdfs:comment xml:lang="en">
    A collection of, or a single Policy Reference
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;PolicyRefs">
  <rdfs:label xml:lang="en">policy references</rdfs:label>
  <rdfs:comment xml:lang="en">
    A collection of Policy References
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdf;Seq"/>
  <rdfs:subClassOf rdf:resource="&p3p;PolicyResource"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;expiry">
  <rdfs:label xml:lang="en">expiry</rdfs:label>
  <rdfs:comment xml:lang="en">
    States how long the policy reference file (or policy) 
    remains valid.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;PolicyResource"/>
  <rdfs:range  rdf:resource="&p3p;Expiry"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;Expiry">
  <rdfs:label xml:lang="en">expiry</rdfs:label>
  <rdfs:comment xml:lang="en">
    States how long the policy reference file (or policies) 
    remains valid.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;abs-date">
  <rdfs:label xml:lang="en">absolute date</rdfs:label>
  <rdfs:comment xml:lang="en">
    An absolute date in http format.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Expiry"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;max-age">
  <rdfs:label xml:lang="en">maximum age</rdfs:label>
  <rdfs:comment xml:lang="en">
    The maximum time before expiry.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Expiry"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<!--
     p3p:start-time is an "extra" property, not directly included
     in the original p3p specification.  It enables an RDF model
     to represent the time at which a policy was last revalidated.
-->

<rdf:Property rdf:about="&p3p;start-time">
  <rdfs:label xml:lang="en">start time</rdfs:label>
  <rdfs:comment xml:lang="en">
    The time in http date format that the policy was validated.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Expiry"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<!--
      PolicyRef
-->

<rdfs:Class rdf:about="&p3p;PolicyRef">
  <rdfs:label xml:lang="en">policy reference</rdfs:label>
  <rdfs:comment xml:lang="en">A Policy Reference</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;PolicyResource"/>
</rdfs:Class>

<!--

     The P3P about attribute takes a URI reference as a value.
     If that URI reference is accessed, one presumes that a P3P
     file will be returned.

     In RDF terms, this URI reference is considered to denote
     an abstract policy.  If the URI is dereferenced, then content
     negotiation is assumed to be used to return a representation
     of that policy in an appropriate format.  Thus the same URI
     can be used to access a p3p representation of the policy,
     or an RDF representation of the policy.
-->


<rdf:Property rdf:about="&p3p;about">
  <rdfs:label xml:lang="en">about</rdfs:label>
  <rdfs:comment xml:lang="en">
    The policy being referenced.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;PolicyRef"/>
  <rdfs:range  rdf:resource="&p3p;Policy"/>
</rdf:Property>

<!--
    This is an extra property not directly specified in the 
    p3p spec. INCLUDE and EXCLUDE elements specify a policy
    relative to some site.  The p3p:base attribute has been
    added so that that site can be recorded in the RDF graph.

    The value of the p3p:base property is a literal.  
    p3p:include and p3p:exclude property values are interpreted
    as absolute references by concatenating them with the 
    p3p:base property value.
-->

<rdf:Property rdf:about="&p3p;base">
  <rdfs:label xml:lang="en">base</rdfs:label>
  <rdfs:comment xml:lang="en">
    The policy base URI for includes and excludes.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;PolicyResource"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;include">
  <rdfs:label xml:lang="en">include</rdfs:label>
  <rdfs:comment xml:lang="en">
    Defines areas of the site to be covered by this policy.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;PolicyRef"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;exclude">
  <rdfs:label xml:lang="en">exclude</rdfs:label>
  <rdfs:comment xml:lang="en">
    Defines areas of the site not covered by this policy.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;PolicyRef"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;hint">
  <rdfs:label xml:lang="en">hint</rdfs:label>
  <rdfs:comment xml:lang="en">
    A hint where other relevant policy references can be found.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;PolicyRef"/>
  <rdfs:range  rdf:resource="&p3p;Hint"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;Hint">
  <rdfs:label xml:lang="en">hint</rdfs:label>
  <rdfs:comment xml:lang="en">
    A hint where other relevant policy references can be found.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;hintDomain">
  <rdfs:label xml:lang="en">domain</rdfs:label>
  <rdfs:comment xml:lang="en">
    The domain names to which the hint applies.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Hint"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;hintPath">
  <rdfs:label xml:lang="en">path</rdfs:label>
  <rdfs:comment xml:lang="en">
    The location of the hinted policy reference files relative
    to the applicable host.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Hint"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;includeCookies">
  <rdfs:label xml:lang="en">include</rdfs:label>
  <rdfs:comment xml:lang="en">
    Cookies covered by the policy.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;PolicyRef"/>
  <rdfs:range  rdf:resource="&p3p;CookieDescription"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;excludeCookies">
  <rdfs:label xml:lang="en">exclude</rdfs:label>
  <rdfs:comment xml:lang="en">
    Cookies not covered by the policy
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;PolicyRef"/>
  <rdfs:range  rdf:resource="&p3p;CookieDescription"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;CookieDescription">
  <rdfs:label xml:lang="en">cookie description</rdfs:label>
  <rdfs:comment xml:lang="en">
    A description of a set of cookies
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;cookieDomain">
  <rdfs:label xml:lang="en">domain</rdfs:label>
  <rdfs:comment xml:lang="en">
    Matches the domain name part of the cookie.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;CookieDescription"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;cookiePath">
  <rdfs:label xml:lang="en">path</rdfs:label>
  <rdfs:comment xml:lang="en">
    Matches the path part of the cookie.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;CookieDescription"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;cookieValue">
  <rdfs:label xml:lang="en">value</rdfs:label>
  <rdfs:comment xml:lang="en">
    Matches the value part of the cookie.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;CookieDescription"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;cookieName">
  <rdfs:label xml:lang="en">name</rdfs:label>
  <rdfs:comment xml:lang="en">
    Matches the name part of the cookie.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;CookieDescription"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;method">
  <rdfs:label xml:lang="en">method</rdfs:label>
  <rdfs:comment xml:lang="en">
    The name of a method to which the policy applies
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;PolicyRef"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>


<!--
      A Policy and it Properties
-->

<rdfs:Class rdf:about="&p3p;Policy">
  <rdfs:label xml:lang="en">policy</rdfs:label>
  <rdfs:comment xml:lang="en">A P3P Policy</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<!--

     the name attribute of a POLICY element maps to an rdf:ID element
-->

<!-- 
     The human readable privacy statement for a policy
 -->

<rdf:Property rdf:about="&p3p;disclosure">
  <rdfs:label xml:lang="en">disclosure</rdfs:label>
  <rdfs:comment xml:lang="en">
    A natural language privacy statement
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Policy"/>
  <rdfs:range  rdf:resource="&p3p;NaturalLanguagePrivacyStatement"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;NaturalLanguagePrivacyStatement">
  <rdfs:label xml:lang="en">privacy statement</rdfs:label>
  <rdfs:comment xml:lang="en">
    A natural language privacy statement
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;optInstructions">
  <rdfs:label xml:lang="en">opt instructions</rdfs:label>
  <rdfs:comment xml:lang="en">
    A link to instructions that users can follow to request or
    decline to have their data used for a particular purpose.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Policy"/>
  <rdfs:range  rdf:resource="&p3p;OptInstructions"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;OptInstructions">
  <rdfs:label xml:lang="en">opt instructions</rdfs:label>
  <rdfs:comment xml:lang="en">
    Instructions that users can follow to request or decline to have
    their data used for a particular purpose.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<!-- A test policy is represented by defining it to be of
     rdf:type p3p:Test -->

<rdfs:Class rdf:about="&p3p;Test">
  <rdfs:label xml:lang="en">test</rdfs:label>
  <rdfs:comment xml:lang="en">
    Used for testing purposes.  If a policy is of type p3p:Test
    then the policy is just an  example and as such it MUST be
    ignored.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;entity">
  <rdfs:label xml:lang="en">entity</rdfs:label>
  <rdfs:comment xml:lang="en">
    Identifies the legal entity making the representation of the
    privacy practices contained in the policy.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Policy"/>

<!-- The p3p spec says that the ENTITY element takes some or
     all of the business dataset as a content.  The concern
     here is that there are legal entities which are not
     businesses, e.g. individuals.  To allow for future extension,
     the range of this property is defined to be the class 
     LegalEntity.  The business dataset is defined to be a 
     subclass of LegalEntity.  Other subclasses may defined in
     future.
-->

  <rdfs:range  rdf:resource="&p3p;LegalEntity"/>
</rdf:Property>

<!-- The access property 

  The value of the access property is a resource which represents
  the class of information that the site will grant access to.

  The value of the property is an rdfs:Class.  That class must also be
  of type p3p:InfoClass.

  Elsewhere in P3P, there are examples where the values of properties
  have modifiers.  It is desirable for future extensibility to allow
  for that sort of capability here in the future.  A simple access
  property has the form:

    [profile]-p3p:access->[p3p:InfoClass]

  However, should it be necessary, a bNode can be used to allow
  modifiers to restrict the class, e.g.

   [profile]-p3p:access->[ ]
                          |
                          +-rdf:type->[p3p:InfoClass]
                          |
                          +-rdfs:subClassOf->[p3p:InfoClass-All]
                          |
                          +-rdfs:subClassOf->[eg:AnotherClass]

  Particular values of that information are represented by
  assigning a subType to that resource.
-->

<rdf:Property rdf:about="&p3p;access">
  <rdfs:label xml:lang="en">access</rdfs:label>
  <rdfs:comment>
    Indicates whether the site provides access to various kinds
    of information.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Policy"/>
  <rdfs:range  rdf:resource="&p3p;InfoClass"/>
</rdf:Property>

<!-- Information types defined by P3P -->

<rdfs:Class rdf:about="&p3p;InfoClass">
  <rdfs:label xml:lang="en">info class</rdfs:label>
  <rdfs:comment xml:lang="en">
    A class of information types defined by P3P.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Class"/>    <!-- **note**-->
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;Info">
  <rdfs:label xml:lang="en">info</rdfs:label>
  <rdfs:comment xml:lang="en">
    The superclass of all classes of information defined by p3p.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<p3p:InfoClass rdf:about="&p3p;InfoClass-nonident">
  <rdfs:label xml:lang="en">nonident</rdfs:label>
  <rdfs:comment xml:lang="en">
    Identifiable data is not collected.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Info"/>
</p3p:InfoClass>

<p3p:InfoClass rdf:about="&p3p;InfoClass-all">
  <rdfs:label xml:lang="en">all</rdfs:label>
  <rdfs:comment xml:lang="en">
    Access is given to all identifiable information.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Info"/>
</p3p:InfoClass>

<p3p:InfoClass rdf:about="&p3p;InfoClass-contact-and-other">
  <rdfs:label xml:lang="en">contact and other</rdfs:label>
  <rdfs:comment xml:lang="en">
    Access is given to identified online and physical contact
    information as well as to certain other identified data.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;InfoClass-all"/>
</p3p:InfoClass>

<p3p:InfoClass rdf:about="&p3p;InfoClass-ident-contact">
  <rdfs:label xml:lang="en">ident contact</rdfs:label>
  <rdfs:comment xml:lang="en">
    Access is given to identified online and physical contact 
    information.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;InfoClass-contact-and-other"/>
</p3p:InfoClass>

<p3p:InfoClass rdf:about="&p3p;InfoClass-other-ident">
  <rdfs:label xml:lang="en">otherident</rdfs:label>
  <rdfs:comment xml:lang="en">
    Access is given to certain other identified data.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;InfoClass-contact-and-other"/>
</p3p:InfoClass>

<p3p:InfoClass rdf:about="&p3p;InfoClass-none">
  <rdfs:label xml:lang="en">none</rdfs:label>
  <rdfs:comment xml:lang="en">
    No access to identified data is given.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Info"/>
</p3p:InfoClass>

<!-- 

    the resolutionProcedure property and its value

    resolutionProcedure is the RDF model name for the information
    represented in a DISPUTES element.
-->

<rdf:Property rdf:about="&p3p;resolutionProcedure">
  <rdfs:label xml:lang="en">resolutionProcedures</rdfs:label>
  <rdfs:comment xml:lang="en">
    A collection of dispute resolution procedures that may be
    followed for disputes about a service&apos;s privacy practices.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Policy"/>
  <rdfs:range  rdf:resource="&p3p;ResolutionProcedure"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;ResolutionProcedure">
  <rdfs:label xml:lang="en">resolution procedure</rdfs:label>
  <rdfs:comment xml:lang="en">
    A dispute resolution procedure.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;ResolutionProcedure-customer-service">
  <rdfs:label xml:lang="en">customer service</rdfs:label>
  <rdfs:comment xml:lang="en">
    Individual may complain to the Web site&apos;s customer service
    respresentative for resolution of disputes regarding the use of
    collected data.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;ResolutionProcedure"/>
</rdfs:Class>

<rdfs:Class 
  rdf:about="&p3p;ResolutionProcedure-independent-organization">
  <rdfs:label xml:lang="en">independent organization</rdfs:label>
  <rdfs:comment xml:lang="en">
    Individual may complain to an independent organization for
    resolution of disputes regarding the use of collected data.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;ResolutionProcedure"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;ResolutionProcedure-court">
  <rdfs:label xml:lang="en">court</rdfs:label>
  <rdfs:comment xml:lang="en">
    Individual may file a legal complaint against the web site.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;ResolutionProcedure"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;ResolutionProcedure-applicable-law">
  <rdfs:label xml:lang="en">applicable law</rdfs:label>
  <rdfs:comment xml:lang="en">
    Disputes arising in connection with the privacy statement will
    be resolved in accordance with the referenced law.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;ResolutionProcedure"/>
</rdfs:Class>

<!-- Resolution Procedure Properties -->

<rdf:Property rdf:about="&p3p;service">
  <rdfs:label xml:lang="en">service</rdfs:label>
  <rdfs:comment>The resolution services</rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;ResolutionProcedure"/>
  <rdfs:range  rdf:resource="&rdfs;Resource"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;verification">
  <rdfs:label xml:lang="en">verification</rdfs:label>
  <rdfs:comment xml:lang="en">
    A resource which can be used for verification purposes.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;ResolutionProcedure"/>
  <rdfs:range  rdf:resource="&rdfs;Resource"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;remedy">
  <rdfs:label xml:lang="en">remedy</rdfs:label>
  <rdfs:comment>
    The possible remedies in case a policy breach occurs.
  </rdfs:comment>
   <rdfs:domain rdf:resource="&p3p;ResolutionProcedure"/>
   <rdfs:range  rdf:resource="&p3p;RemedyClass"/>
</rdf:Property>

<!-- Remedy is a class of remedies. The remedy property takes
     as value a class of remedies. -->

<rdfs:Class rdf:about="&p3p;Remedy">
  <rdfs:label xml:lang="en">remedy</rdfs:label>
  <rdfs:comment>
    A remedy in case a policy breach occurs.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;RemedyClass">
  <rdfs:label xml:lang="en">remedy class</rdfs:label>
  <rdfs:comment>A class of remedies.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Class"/>
</rdfs:Class>

<p3p:RemedyClass rdf:about="&p3p;Remedy-correct">
  <rdfs:label xml:lang="en">correct</rdfs:label>
  <rdfs:comment>
    Errors or wrongful actions arising in connection with the privacy
    policy will be remedied by the service.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Remedy"/>
</p3p:RemedyClass>

<p3p:RemedyClass rdf:about="&p3p;Remedy-money">
  <rdfs:label xml:lang="en">money</rdfs:label>
  <rdfs:comment>
    If the service provider violates its privacy policy it wil pay
    the individual an amount specified in the human readable privacy
    policy or the amount of damages.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Remedy"/>
</p3p:RemedyClass>

<p3p:RemedyClass rdf:about="&p3p;Remedy-law">
  <rdfs:label xml:lang="en">law</rdfs:label>
  <rdfs:comment>
    Remedies for breaches of the policy statement will be determined
    based on the law referenced in the human readable description.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Remedy"/>
</p3p:RemedyClass>

<!-- 

     The statement Property and its value 
-->

<rdf:Property rdf:about="&p3p;statement">
  <rdfs:label xml:lang="en">statement</rdfs:label>
  <rdfs:comment>
    Data practices that are applied to particular types of data
  </rdfs:comment>
   <rdfs:domain rdf:resource="&p3p;Policy"/>
   <rdfs:range  rdf:resource="&p3p;Statement"/>
</rdf:Property>

<!-- The Statement class and its properties -->

<rdfs:Class rdf:about="&p3p;Statement">
  <rdfs:label xml:lang="en">statement</rdfs:label>
  <rdfs:comment xml:lang="en">
    A data practice applied to particular types of data
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<!-- 

      The NONIDENTIFIABLE element is represented by defining a
      type which represents Statements which assert that no data,
      or no identifiable data is collected. 
-->

<rdfs:Class rdf:about="&p3p;NonIdentifiable">
  <rdfs:label xml:lang="en">non identifiable</rdfs:label>
  <rdfs:comment>
    There is no data or no identifiable data collected.
  </rdfs:comment>
   <rdfs:subClassOf rdf:resource="&p3p;Statement"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;consequence">
  <rdfs:label xml:lang="en">consequence</rdfs:label>
  <rdfs:comment>
    Consequences that can be shown to a human user to explain why
    the suggested practice may be valuable in a particular instance 
    even if the user would not normally allow the practice.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Statement"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<!--
    The purpose property and its values.  This property takes a 
    type as a value.  SubProperties of p3p:purpose define whether
    or not the purpose is required.


    Typical usage might be:

    [ ]-p3p:purposeAlways->[p3p:Purpose-admin]

    A small class hiearchy has been added to relate the various
    purposes:

    p3p:pseudo is a common superclass of pseudo-analysis and 
    pseudo-decision
    p3p:Individual is a common super class of pseudo and 
    identified which represents information about individuals

    ContactSomehow is a common superclass of contact and
    telemarketing which represents some form of contacting
    the individual.
-->

<rdf:Property rdf:about="&p3p;purpose">
  <rdfs:label xml:lang="en">purpose</rdfs:label>
  <rdfs:comment>
    Defines the purpose for which the data practise is employed
  </rdfs:comment>
   <rdfs:domain rdf:resource="&p3p;Statement"/>
   <rdfs:range  rdf:resource="&p3p;PurposeClass"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;purposeAlways">
  <rdfs:label xml:lang="en">purpose(always)</rdfs:label>
  <rdfs:comment>
    The purpose is always required; users cannot opt-in or opt-out
    of this use of their data.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Statement"/>
  <rdfs:range  rdf:resource="&p3p;PurposeClass"/>
  <rdfs:subPropertyOf rdf:resource="&p3p;purpose"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;purposeOptIn">
  <rdfs:label xml:lang="en">purpose(opt in)</rdfs:label>
  <rdfs:comment>
    Data may be used for this purpose only when the user 
    affirmatively requests this use.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Statement"/>
  <rdfs:range  rdf:resource="&p3p;PurposeClass"/>
  <rdfs:subPropertyOf rdf:resource="&p3p;purpose"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;purposeOptOut">
  <rdfs:label xml:lang="en">purpose(opt out)</rdfs:label>
  <rdfs:comment>
    Data may be used for this purpose unless the user requests that
    it not be used in this way.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Statement"/>
  <rdfs:range  rdf:resource="&p3p;PurposeClass"/>
  <rdfs:subPropertyOf rdf:resource="&p3p;purpose"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;Purpose">
  <rdfs:label xml:lang="en">purpose</rdfs:label>
  <rdfs:comment xml:lang="en">
    The purpose for which the data practise is employed
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;PurposeClass">
  <rdfs:label xml:lang="en">purpose class</rdfs:label>
  <rdfs:comment xml:lang="en">
    The class of purpose classes
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Class"/>
</rdfs:Class>

<!--

    Purpose-current may be modified by p3p:relativeTo
-->

<p3p:PurposeClass rdf:about="&p3p;Purpose-current">
  <rdfs:label xml:lang="en">current activity</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used by the service provider to complete the
    activity for which it was provided, whether a one-time activity
    such as returning the results from a Web search, forwarding an
    email message, or placing an order; or a recurring activity such
    as providing a subscription service, or allowing access to an
    online address book or electronic wallet.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
  <rdf:type rdf:resource="&p3p;RelativeClass"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-admin">
  <rdfs:label xml:lang="en">administration</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used for the technical support of the Web site
    and its computer system. This would include processing computer
    account information, information used in the course of securing
    and maintaining the site, and verification of Web site activity
    by the site or its agents.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-develop">
  <rdfs:label xml:lang="en">research and development</rdfs:label>
  <rdfs:comment xml:lang="en">Information may be used to enhance,
    evaluate, or otherwise review the site, service, product, or
    market. This does not include personal information used to
    tailor or modify the content to the specific individual nor
    information used to evaluate, target, profile or contact
    the individual.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-tailoring">
  <rdfs:label xml:lang="en">tailoring</rdfs:label>
  <rdfs:comment xml:lang="en"> 
    Information may be used to tailor or modify content or design
    of the site where the information is used only for a single
    visit to the site and not used for any kind of future
    customization.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-individual">
  <rdfs:label xml:lang="en">individual</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used to create or build a record of an
    identified  particular individual or computer.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-pseudo">
  <rdfs:label xml:lang="en">psuedo</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used to create or build a record of a
    particular individual or computer that is tied to a
    pseudonymous identifier, without tying identified data 
    (such as name, address, phone number, or email address) to
    the record.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-pseudo-analysis">
  <rdfs:label xml:lang="en">psuedo analysis</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used to create or build a record of a
    particular individual or computer that is tied to a
    pseudonymous identifier, without tying identified data
    (such as name, address, phone number, or email address) to
    the record. This profile will be used to determine the
    habits, interests, or other characteristics of
    individuals for purpose of research, analysis and
    reporting, but  it will not be used to attempt to
    identify specific individuals.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose-pseudo"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-pseudo-decision">
  <rdfs:label xml:lang="en">psuedo decision</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used to create or build a record of a 
    particular individual or computer that is tied to a 
    pseudonymous identifier, without tying identified data
    (such as name, address, phone number, or email address)
    to the record. This profile will be used to determine
    the habits, interests, or other characteristics of
    individuals to make a decision that directly affects that
    individual, but it will not be used to attempt to identify
    specific individuals.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose-pseudo"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-individual-analysis">
  <rdfs:label xml:lang="en">individual analysis</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used to determine the habits, interests,
    or other characteristics of individuals and combine it with
    identified data for the purpose of research, analysis and
    reporting.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose-individual"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-individual-decision">
  <rdfs:label xml:lang="en">individual decision</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used to determine the habits, interests,
    or other characteristics of individuals and combine it with
    identified data to make a decision that directly affects that
    individual
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose-individual"/>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-contact-somehow">
  <rdfs:label xml:lang="en">contact somehow</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used to contact the individual
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-contact">
  <rdfs:label xml:lang="en">contact</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used to contact the individual, through
    a communications channel other than voice telephone, for the
    promotion of a product or service. This includes notifying
    visitors about updates to the Web site.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose-contact-somehow"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-historical">
  <rdfs:label xml:lang="en">historical preservation</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be archived or stored for the purpose of 
    preserving social history as governed by an existing law
    or policy.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose"/>
</p3p:PurposeClass>

<p3p:PurposeClass rdf:about="&p3p;Purpose-telemarketing">
  <rdfs:label xml:lang="en">telemarketing</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used to contact the individual via a voice
    telephone call for promotion of a product or service.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose-contact-somehow"/>
</p3p:PurposeClass>

<!--

    P3P provides an escape hatch for defining new purposes, the 
    Purpose-other mechanism.  This should be used as follows:

    [ ]-p3p:purpose->[ ]-rdfs:subClassOf->[p3p:Purpose-other]
                      |
                      +-rdfs:comment->"a description of the purpose"
-->

<p3p:PurposeClass rdf:about="&p3p;Purpose-other">
  <rdfs:label xml:lang="en">other</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information may be used in other ways.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Purpose-contact-somehow"/>
</p3p:PurposeClass>

<!-- Recipients are handled by allowing multiple recipient properties
     of a Statement.

     SubProperties of recipient indicate if the recipient is 
     required or not.

     Typical usage:

      [ ]-p3p:recipientAlways->[ ]-p3p:recipient-description->"..."
                                |
                                +-rdf:type->[p3p:Recipient-delivery]
 -->

<rdf:Property rdf:about="&p3p;recipient">
  <rdfs:label xml:lang="en">recipient</rdfs:label>
  <rdfs:comment>
    A legal entity, or domain, beyond the service provider and its
    agents where data may be distributed
   </rdfs:comment>
   <rdfs:domain rdf:resource="&p3p;Statement"/>
   <rdfs:range  rdf:resource="&p3p;Recipient"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;recipientAlways">
  <rdfs:label xml:lang="en">recipient always</rdfs:label>
  <rdfs:comment>
    The recipient always receives this data
   </rdfs:comment>
   <rdfs:domain rdf:resource="&p3p;Statement"/>
   <rdfs:range  rdf:resource="&p3p;Recipient"/>
   <rdfs:subPropertyOf rdf:resource="&p3p;recipient"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;recipientOptIn">
  <rdfs:label xml:lang="en">recipient(opt in)</rdfs:label>
  <rdfs:comment>
    The recipient may receive this data only when the user
    affirmatively requests it</rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Statement"/>
  <rdfs:range  rdf:resource="&p3p;Recipient"/>
  <rdfs:subPropertyOf rdf:resource="&p3p;recipient"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;recipientOptOut">
  <rdfs:label xml:lang="en">recipient(opt out)</rdfs:label>
  <rdfs:comment>
    The recipient will receive data unless the user requests that
    it not be used in this way
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Statement"/>
  <rdfs:range  rdf:resource="&p3p;Recipient"/>
  <rdfs:subPropertyOf rdf:resource="&p3p;recipient"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;Recipient">
  <rdfs:label xml:lang="en">recipient</rdfs:label>
  <rdfs:comment xml:lang="en">
    A legal entity, or domain, beyond the service provider 
    and its agents where data may be distributed
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;RecipientClass">
  <rdfs:label xml:lang="en">recipient class</rdfs:label>
  <rdfs:comment xml:lang="en">
    A class of legal entities, or domains, beyond the 
    service provider and its agents where data may be 
    distributed
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="rdfs:Class"/>
</rdfs:Class>

<!-- may be modified by p3p:relativeTo -->

<p3p:RecipientClass rdf:about="&p3p;Recipient-ours">
  <rdfs:label xml:lang="en">ours</rdfs:label>
  <rdfs:comment xml:lang="en">
    Ourselves and/or our entities acting as our agents or
    entities for whom we are acting as an agent
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Recipient"/>
  <rdf:type rdf:resource="&p3p;RelativeClass"/>
</p3p:RecipientClass>

<p3p:RecipientClass rdf:about="&p3p;Recipient-delivery">
  <rdfs:label xml:lang="en">delivery</rdfs:label>
  <rdfs:comment xml:lang="en">
    Delivery services possibly following different practices
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Recipient"/>
</p3p:RecipientClass>

<!-- may be modified by p3p:relativeTo -->

<p3p:RecipientClass rdf:about="&p3p;Recipient-same">
  <rdfs:label xml:lang="en">same</rdfs:label>
  <rdfs:comment xml:lang="en">
    Legal entities following our practices
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Recipient"/>
  <rdf:type rdf:resource="&p3p;RelativeClass"/>
</p3p:RecipientClass>

<!-- may be modified by p3p:relativeTo -->

<p3p:RecipientClass rdf:about="&p3p;Recipient-other">
  <rdfs:label xml:lang="en">other recipient</rdfs:label>
  <rdfs:comment xml:lang="en">
    Legal entities following different practices
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Recipient"/>
  <rdf:type rdf:resource="&p3p;RelativeClass"/>
</p3p:RecipientClass>

<!-- may be modified by p3p:relativeTo -->

<p3p:RecipientClass rdf:about="&p3p;Recipient-unrelated">
  <rdfs:label xml:lang="en">unrelated</rdfs:label>
  <rdfs:comment xml:lang="en">
    Legal entities whose data usage practices are not known by the
    original service provider
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Recipient"/>
  <rdf:type rdf:resource="&p3p;RelativeClass"/>
</p3p:RecipientClass>

<p3p:RecipientClass rdf:about="&p3p;Recipient-public">
  <rdfs:label xml:lang="en">public</rdfs:label>
  <rdfs:comment xml:lang="en">
    Public fora such as bulletin boards, public directories,
    or commercial CD-ROM directories
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Recipient"/>
</p3p:RecipientClass>

<!-- 
     properties of Recipient 
-->

<rdf:Property rdf:about="&p3p;recipient-description">
  <rdfs:label xml:lang="en">recipient description</rdfs:label>
  <rdfs:comment>a description of the recipient</rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Recipient"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<!--
    Retention
-->

<rdf:Property rdf:about="&p3p;retention">
  <rdfs:label xml:lang="en">retention policy</rdfs:label>
  <rdfs:comment>
    The kind of retention policy that applies to the data referenced
    by the subject
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Statement"/>
  <rdfs:range  rdf:resource="&p3p;RetentionPolicyClass"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;RetentionPolicy">
  <rdfs:label xml:lang="en">retention policy</rdfs:label>
  <rdfs:comment xml:lang="en">A retention policy</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;RetentionPolicyClass">
  <rdfs:label xml:lang="en">retention policy class</rdfs:label>
  <rdfs:comment xml:lang="en">
    A Class of retention policies
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Class"/>
</rdfs:Class>

<p3p:RetentionPolicyClass rdf:about="&p3p;Retention-no-retention">
  <rdfs:label xml:lang="en">no retention</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information is not retained for more than a brief period of time
    necessary to make use of it during the course of a single online
    interaction
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;RetentionPolicy"/>
</p3p:RetentionPolicyClass>

<p3p:RetentionPolicyClass rdf:about="&p3p;Retention-stated-purpose">
  <rdfs:label xml:lang="en">stated purpose</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information is retained to meet the stated purpose
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;RetentionPolicy"/>
</p3p:RetentionPolicyClass>

<p3p:RetentionPolicyClass rdf:about="&p3p;Retention-legal-requirement">
  <rdfs:label xml:lang="en">legal requirement</rdfs:label>
  <rdfs:comment xml:lang="en">
    As required by law or liability under applicable law: Information
    is retained to meet a stated purpose, but the retention period is
    longer because of a legal requirement or liability
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;RetentionPolicy"/>
</p3p:RetentionPolicyClass>

<p3p:RetentionPolicyClass rdf:about="&p3p;Retention-business-practices">
  <rdfs:label xml:lang="en">business practices</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information is retained under a service provider's stated business
    practices
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;RetentionPolicy"/>
</p3p:RetentionPolicyClass>

<p3p:RetentionPolicyClass rdf:about="&p3p;Retention-indefinitely">
  <rdfs:label xml:lang="en">indefinitely</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information is retained for an indeterminate period of time
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;RetentionPolicy"/>
</p3p:RetentionPolicyClass>

<!-- Data:  A Statement can have one or more Data properties 
     defining the data elements associated with the statement.  -->

<rdf:Property rdf:about="&p3p;data">
  <rdfs:label xml:lang="en">data</rdfs:label>
  <rdfs:comment>the data to be transferred or inferred</rdfs:comment>
   <rdfs:domain rdf:resource="&p3p;Statement"/>
   <rdfs:range  rdf:resource="&p3p;DataElement"/>
</rdf:Property>

<!-- A data element can be optional which is indicated by giving
     it an rdf:type property with value p3p:Optional.  -->

<rdfs:Class rdf:about="&p3p;Optional">
  <rdfs:label xml:lang="en">optional</rdfs:label>
  <rdfs:comment>
    whether or not the site requires visitors to submit this data
    element
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<!-- Categories.  Each Data resource may have one or more category
     properties indicating the categories of data.  Categories of
     data are represented by a type hierarchy again for consistency
     and future extension. -->

<rdf:Property rdf:about="&p3p;category">
  <rdfs:label xml:lang="en">category</rdfs:label>
  <rdfs:comment>
    hints to users and user agents as to the intended uses of the
    data
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;DataElement"/>
  <rdfs:range  rdf:resource="&p3p;CategoryClass"/>
  <rdfs:subPropertyOf rdf:resource="&rdf;type"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;Category">
  <rdfs:label xml:lang="en">category</rdfs:label>
  <rdfs:comment xml:lang="en">category</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;CategoryClass">
  <rdfs:label xml:lang="en">category class</rdfs:label>
  <rdfs:comment xml:lang="en">
    A classification of data, a subclass of Category.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Class"/>
</rdfs:Class>

<p3p:CategoryClass rdf:about="&p3p;Category-physical">
  <rdfs:label xml:lang="en">physical</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information that allows an individual to be contacted or located
    in the physical world - such as telephone number or address.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
  <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-online">
  <rdfs:label xml:lang="en">online</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information that allows an individual to be contacted or located
    on the Internet - such as email
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-uniqueid">
  <rdfs:label xml:lang="en">unique id</rdfs:label>
  <rdfs:comment xml:lang="en">
    Non-financial identifiers, excluding government-issued
    identifiers, issued for purposes of consistently identifying
    or recognizing the individual
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-purchase">
  <rdfs:label xml:lang="en">purchase</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information actively generated by the purchase of a product or
    service, including information about the method of payment
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-financial">
  <rdfs:label xml:lang="en">financial</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information about an individual's finances including account
    status and activity information such as account balance,
    payment or overdraft history, and information about an
    individual's purchase or use of financial instruments
    including credit or debit card information
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-computer">
  <rdfs:label xml:lang="en">computer</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information about the computer system that the individual is
    using to access the network - such as the IP number, domain
    name, browser type or operating system.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-navigation">
  <rdfs:label xml:lang="en">navigation</rdfs:label>
  <rdfs:comment xml:lang="en">
    Data passively generated by browsing the Web site - such as
    which pages are visited, and how long users stay on each page
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-interactive">
  <rdfs:label xml:lang="en">interactive</rdfs:label>
  <rdfs:comment xml:lang="en">
    Data actively generated from or reflecting explicit interactions
    with a service provider through its site - such as queries to a
    search engine, or logs of account activity
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-demographic">
  <rdfs:label xml:lang="en">demographic</rdfs:label>
  <rdfs:comment xml:lang="en">
    Data about an individual's characteristics - such as gender,
     age, and income
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-content">
  <rdfs:label xml:lang="en">content</rdfs:label>
  <rdfs:comment xml:lang="en">
    The words and expressions contained in the body of a communication
    - such as the text of email, bulletin board postings, or chat room
    communications
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>


<p3p:CategoryClass rdf:about="&p3p;Category-state">
  <rdfs:label xml:lang="en">state</rdfs:label>
  <rdfs:comment xml:lang="en">
    Mechanisms for maintaining a stateful session with a user or
    automatically recognizing users who have visited a particular
    site or accessed particular content previously - such as
    HTTP cookies
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-political">
  <rdfs:label xml:lang="en">political</rdfs:label>
  <rdfs:comment xml:lang="en">
    Membership in or affiliation with groups such as religious
    organizations, trade unions, professional associations,
    political parties, etc
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-health">
  <rdfs:label xml:lang="en">health</rdfs:label>
  <rdfs:comment xml:lang="en">
    information about an individual's physical or mental health,
    sexual orientation, use or inquiry into health care services
    or products, and purchase of health care services or products
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-preference">
  <rdfs:label xml:lang="en">preference</rdfs:label>
  <rdfs:comment xml:lang="en">
    Data about an individual's likes and dislikes - such as
    favorite color or musical tastes
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-location">
  <rdfs:label xml:lang="en">location</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information that can be used to identify an individual's
    current physical location and track them as their location
    changes - such as GPS position data
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<p3p:CategoryClass rdf:about="&p3p;Category-government">
  <rdfs:label xml:lang="en">government</rdfs:label>
  <rdfs:comment xml:lang="en">
    Identifiers issued by a government for purposes of 
    consistently identifying the individual
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<!-- 

    P3P uses the Category-other mechanism to allow for extensions with
    new categories.  This should be used as follows:

    [ ]-p3p:category->[ ]-rdfs:subClassOf->[p3p:Category-other]
                       |
                       +-rdfs:comment->"a description of the category"

-->

<p3p:CategoryClass rdf:about="&p3p;Category-other">
  <rdfs:label xml:lang="en">other</rdfs:label>
  <rdfs:comment xml:lang="en">
    Other types of data not captured by the above definitions
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;Category"/>
</p3p:CategoryClass>

<!--

   P3P has an extension mechanism.  Information in a P3P policy
   represented using the extension mechanism just like the standard
   P3P policy elements be translated to RDF statements.  Schema
   may be defined to describe the classes, properties and other
   resourced defined by an extension.

   P3P defines a mechanism to specify whether understanding of
   an extension mechanism is mandatory or optional for a P3P 
   processor.  Here we define two mechansims to support mandatory
   and optional property and resource values.

   A mandatory or optional extension property eg:prop can be
   represented like this:

     []-p3p:extOptional->[]-eg;prop->...
     []-p3p:extMandatory->[]-eg:prop->...

   A mandatory or optional resource eg:resource can be represented
   by inserting a bNode of type p3p:Mandatory or p3p:Optional, e.g

     []-eg:prop->[]-rdf:type->[p3p:ExtOptional]
                 |
                 +-rdf:value->[eg;resource]

   This is perhaps a case where reification might have been used.  But
   its definition is uncertain, so best avoided.

-->

<rdfs:Class rdf:about="&p3p;ExtOptional">
  <rdfs:label xml:lang="en">optional</rdfs:label>
  <rdfs:comment>
    A P3P processor is not required to understand the value of
    the rdf:valueof property of resources of this type.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;ExtMandatory">
  <rdfs:label xml:lang="en">mandatory</rdfs:label>
  <rdfs:comment>
    A P3P processor is required to understand the value of
    the rdf:valueof property of resources of this type.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;extOptional">
  <rdfs:label xml:lang="en">optional</rdfs:label>
  <rdfs:comment>
    A p3p processor is not required to understand the value
    of the only property of the value of this property.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&rdfs;Resource"/>
  <rdfs:range  rdf:resource="&rdfs;Resource"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;extMandatory">
  <rdfs:label xml:lang="en">mandatory</rdfs:label>
  <rdfs:comment>
    A p3p processor is required to understand the value of
    the only property of the value of this property.
  </rdfs:comment>
  <rdfs:domain rdf:resource="&rdfs;Resource"/>
  <rdfs:range  rdf:resource="&rdfs;Resource"/>
</rdf:Property>

<!--
    This model defines a number of classes, e.g. Purpose-current which
    are like indexicals, in that the extension of the class depends
    on a context - they are relative to some context.  For example,
    one servers  current purpose is not the same as anothers.

    Therefore we define a property to enable the specification of the
    context to which such classes are relative.

    If http://context is the URI representing the current context,
    then the following structure can be used.

    [ ]-p3p:purposeAlways->[ ]-rdfs:subClassOf->[p3p:Purpose-current]
                            |
                            +-p3p:relativeTo->[http://context]

    Relative classes, which are indicated by declaring them to be of
    rdf:type p3p:RelativeClass include:

        p3p:Purpose-current
        p3p:Recipient-ours
        p3p:Recipient-same
        p3p:Recipient-other
        p3p:Recipient-unrelated
-->

<rdf:Property rdf:about="&p3p;relativeTo">
  <rdfs:label xml:lang="en">Relative To</rdfs:label>
  <rdfs:comment>
    Defines what context the class is relative to
   </rdfs:comment>
   <rdfs:domain rdf:resource="&p3p;RelativeClass"/>
   <rdfs:range  rdf:resource="&rdfs;Resource"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;RelativeClass">
  <rdfs:label xml:lang="en">Relative Class</rdfs:label>
  <rdfs:comment>
    A Class whose extension is context dependent
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Class"/>
</rdfs:Class>

<!--
   P3P Data Schema Class Hierarchy
-->

<rdfs:Class rdf:about="&p3p;DataSchemaComponent">
  <rdfs:label xml:lang="en">data schema or structure</rdfs:label>
  <rdfs:comment>
    The union of Data Elements and Data Structures
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;DataElement">
  <rdfs:label xml:lang="en">data element</rdfs:label>
  <rdfs:comment>
    A specific item of data a service might collect
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataSchemaComponent"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;DataStructure">
  <rdfs:label xml:lang="en">data structure</rdfs:label>
  <rdfs:comment>
    a named, abstract definition of a group of data elements
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataSchemaComponent"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;UnstructuredDataElement">
  <rdfs:label xml:lang="en">unstructured data element</rdfs:label>
  <rdfs:comment>
    A data element with no component parts
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataElement"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;StructuredDataElement">
  <rdfs:label xml:lang="en">structured data element</rdfs:label>
  <rdfs:comment>A data element with component parts</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataElement"/>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdfs:Class rdf:about="&p3p;VariableCategory">
  <rdfs:label xml:lang="en">variable category</rdfs:label>
  <rdfs:comment>
    A data schema component with no fixed categories.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataSchemaComponent"/>
</rdfs:Class>

<!-- 
  Data Schema Properties 
-->

<rdf:Property rdf:about="&p3p;dataStructureComponent">
  <rdfs:label xml:lang="en">component</rdfs:label>
  <rdfs:comment>A part of a data structure</rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;DataStructure"/>
  <rdfs:range  rdf:resource="&p3p;DataElement"/>
</rdf:Property>

<!-- 
     Basic Data Structures 
-->

<!--
      Basic Dataset Dates
 -->

<rdfs:Class rdf:about="&p3p;Date">
  <rdfs:label xml:lang="en">date</rdfs:label>
  <rdfs:comment>Specifies a date</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;date.ymd">
  <rdfs:label xml:lang="en">ymd</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Date"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Date.ymd">
      <rdfs:label xml:lang="en">ymd</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;date.ymd.year">
  <rdfs:label xml:lang="en">year</rdfs:label>
  <rdfs:comment>Year</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Date.ymd"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Date.ymd.year">
      <rdfs:label xml:lang="en">year</rdfs:label>
      <rdfs:subClassOf rdf:resource="UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;date.ymd.month">
  <rdfs:label xml:lang="en">month</rdfs:label>
  <rdfs:comment>Month</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Date.ymd"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Date.ymd.month">
      <rdfs:label xml:lang="en">month</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;date.ymd.day">
  <rdfs:label xml:lang="en">day</rdfs:label>
  <rdfs:comment>Day</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Date.ymd"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Date.ymd.day">
      <rdfs:label xml:lang="en">day</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;date.hms">
  <rdfs:label xml:lang="en">hms</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Date"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Date.hms">
      <rdfs:label xml:lang="en">hms</rdfs:label>
      <rdfs:subClassOf rdf:resource="p3p:StructuredDataElement"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;date.hms.hour">
  <rdfs:label xml:lang="en">hour</rdfs:label>
  <rdfs:comment>Hour</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Date.hms"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Date.hms.hour">
      <rdfs:label xml:lang="en">hour</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;date.hms.minute">
  <rdfs:label xml:lang="en">minute</rdfs:label>
  <rdfs:comment>Minute</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Date.hms"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Date.hms.minute">
      <rdfs:label xml:lang="en">minute</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;date.hms.second">
  <rdfs:label xml:lang="en">second</rdfs:label>
  <rdfs:comment>Second</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Date.hms"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Date.hms.second">
      <rdfs:label xml:lang="en">second</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;date.fractionsecond">
  <rdfs:label xml:lang="en">fraction of second</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Date"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Date.fractionsecond">
      <rdfs:label xml:lang="en">fraction of second</rdfs:label>
      <rdfs:subClassOf rdf:resource="UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;date.timezone">
  <rdfs:label xml:lang="en">time zone</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Date"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Date.timezone">
      <rdfs:label xml:lang="en">time zone</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--
  Login Datastructure
-->

<rdfs:Class rdf:about="&p3p;Login">
  <rdfs:label xml:lang="en">login</rdfs:label>
  <rdfs:comment xml:lang="en">
    Specify information (IDs and passwords) for computer systems
    and Web sites which require authentication
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;login.id">
  <rdfs:label xml:lang="en">login id</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Login"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Login.id">
      <rdfs:label xml:lang="en">login id</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-uniqueid"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;login.password">
  <rdfs:label xml:lang="en">login password</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Login"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Login.password">
      <rdfs:label xml:lang="en">login password</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-uniqueid"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--
  Personname Datastructure
-->

<rdfs:Class rdf:about="&p3p;Personname">
  <rdfs:label xml:lang="en">person name</rdfs:label>
  <rdfs:comment xml:lang="en">
    Information about the naming of a person
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;personname.prefix">
  <rdfs:label xml:lang="en">prefix</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Personname"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Personname.prefix">
      <rdfs:label xml:lang="en">prefix</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;personname.given">
  <rdfs:label xml:lang="en">given name (First Name)</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Personname"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Personname.given">
      <rdfs:label xml:lang="en">given name (First Name)</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;personname.family">
  <rdfs:label xml:lang="en">family name (Last Name)</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Personname"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Personname.family">
      <rdfs:label xml:lang="en">family name (Last Name)</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--
    To allow for multiple middle names, which are ordered, this
    property must take an rdf:Seq as a value.  The members of that
    rdf:Seq must be instances of personname.middle
-->

<rdf:Property rdf:about="&p3p;personname.middle">
  <rdfs:label xml:lang="en">middle name</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Personname"/>
  <rdfs:range rdf:resource="&rdf;Seq"/>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;Personname.middle">
  <rdfs:label xml:lang="en">middle name</rdfs:label>
  <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
  <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;personname.suffix">
  <rdfs:label xml:lang="en">name suffix</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Personname"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Personname.suffix">
      <rdfs:label xml:lang="en">name suffix</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;personname.nickname">
  <rdfs:label xml:lang="en">nickname</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Personname"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Personname.nickname">
      <rdfs:label xml:lang="en">nickname</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--
  Certificate Datastructure
-->

<rdfs:Class rdf:about="&p3p;Certificate">
  <rdfs:label xml:lang="en">certificate</rdfs:label>
  <rdfs:comment xml:lang="en">
    identity certificates (like, for example, X.509)
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;certificate.key">
  <rdfs:label xml:lang="en">certificate key</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Certificate"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Certificate.key">
      <rdfs:label xml:lang="en">certificate key</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-uniqueid"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;certificate.format">
  <rdfs:label xml:lang="en">certificate format</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Certificate"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Certificate.format">
      <rdfs:label xml:lang="en">certificate format</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-uniqueid"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--
  Telephone Number Datastructure
-->

<rdfs:Class rdf:about="&p3p;Telephonenum">
  <rdfs:label xml:lang="en">telephone number</rdfs:label>
  <rdfs:comment xml:lang="en">Telephone number</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;telephonenum.intcode">
  <rdfs:label xml:lang="en">international telephone Code</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Telephonenum"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Telephonenum.intcode">
      <rdfs:label xml:lang="en">
        international telephone Code
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;telephonenum.loccode">
  <rdfs:label xml:lang="en">local telephone Area Code</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Telephonenum"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Telephonenum.loccode">
      <rdfs:label xml:lang="en">
        local telephone Area Code
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;telephonenum.number">
  <rdfs:label xml:lang="en">telephone number</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Telephonenum"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Telephonenum.number">
      <rdfs:label xml:lang="en">telephone number</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;telephonenum.ext">
  <rdfs:label xml:lang="en">telephone extension</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Telephonenum"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Telephonenum.ext">
      <rdfs:label xml:lang="en">telephone extension</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;telephonenum.comment">
  <rdfs:label xml:lang="en">telephone optional Comments</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Telephonenum"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Telephonenum.comment">
      <rdfs:label xml:lang="en">
        telephone optional Comments
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--

  Contact Information
-->

<rdfs:Class rdf:about="&p3p;Contact">
  <rdfs:label xml:lang="en">contact</rdfs:label>
  <rdfs:comment xml:lang="en">Contact information.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;contact.postal">
  <rdfs:label xml:lang="en">postal address Information</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Contact"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Contact.postal">
      <rdfs:label xml:lang="en">
        postal contact information
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Postal"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;contact.telecom">
  <rdfs:label xml:lang="en">
    telecommunications information
  </rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Contact"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Contact.telecom">
      <rdfs:label xml:lang="en">
        telecommunications contact information
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Telecom"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;contact.online">
  <rdfs:label xml:lang="en">online address information</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Contact"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Contact.online">
      <rdfs:label xml:lang="en">
        online contact information
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Online"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-online"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--

  Postal Datastructure
-->

<rdfs:Class rdf:about="&p3p;Postal">
  <rdfs:label xml:lang="en">postal</rdfs:label>
  <rdfs:comment xml:lang="en">
    A postal mailing address
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;postal.name">
  <rdfs:label xml:lang="en">name</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Postal"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Postal.name">
      <rdfs:label xml:lang="en">name</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Personname"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;postal.street">
  <rdfs:label xml:lang="en">street address</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Postal"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Postal.street">
      <rdfs:label xml:lang="en">street address</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;postal.city">
  <rdfs:label xml:lang="en">city</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Postal"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Postal.city">
      <rdfs:label xml:lang="en">city</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;postal.stateprov">
  <rdfs:label xml:lang="en">state or province</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Postal"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Postal.stateprov">
      <rdfs:label xml:lang="en">state or province</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;postal.postalcode">
  <rdfs:label xml:lang="en">postal code</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Postal"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Postal.postalcode">
      <rdfs:label xml:lang="en">postal code</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;postal.country">
  <rdfs:label xml:lang="en">country name</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Postal"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Postal.country">
      <rdfs:label xml:lang="en">country name</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;postal.organization">
  <rdfs:label xml:lang="en">organization name</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Postal"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Postal.organization">
      <rdfs:label xml:lang="en">organization name</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--

  Telecom
-->

<rdfs:Class rdf:about="&p3p;Telecom">
  <rdfs:label xml:lang="en">telecom</rdfs:label>
  <rdfs:comment xml:lang="en">
    telecommunication information about a person.
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;telecom.telephone">
  <rdfs:label xml:lang="en">telephone number</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Telecom"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Telecom.telephone">
      <rdfs:label xml:lang="en">telephone number</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Telephonenum"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;telecom.fax">
  <rdfs:label xml:lang="en">fax number</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Telecom"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Telecom.fax">
      <rdfs:label xml:lang="en">fax number</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Telephonenum"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;telecom.mobile">
  <rdfs:label xml:lang="en">mobile telephone Number</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Telecom"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Telecom.mobile">
      <rdfs:label xml:lang="en">mobile telephone Number</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Telephonenum"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;telecom.pager">
  <rdfs:label xml:lang="en">pager number</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Telecom"/>
  <rdfs:range>
    <rdfs:Class  rdf:about="&p3p;Telecom.pager">
      <rdfs:label xml:lang="en">pager number</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Telephonenum"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--

  Online Datastructure
-->

<rdfs:Class rdf:about="&p3p;Online">
  <rdfs:label xml:lang="en">online</rdfs:label>
  <rdfs:comment xml:lang="en">
    Specifies online information about a person
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;online.email">
  <rdfs:label xml:lang="en">email address</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Online"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Online.email">
      <rdfs:label xml:lang="en">email address</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-online"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;online.uri">
  <rdfs:label xml:lang="en">home page address</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Online"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Online.uri">
      <rdfs:label xml:lang="en">home page address</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-online"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--

  URI Datastructure
-->

<rdfs:Class rdf:about="&p3p;Uri">
  <rdfs:label xml:lang="en">uri</rdfs:label>
  <rdfs:comment xml:lang="en">
    Uniform Resource Identifier
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;uri.authority">
  <rdfs:label xml:lang="en">uri authority</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Uri"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Uri.authority">
      <rdfs:label xml:lang="en">uri authority</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;uri.stem">
  <rdfs:label xml:lang="en">uri stem</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Uri"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Uri.stem">
      <rdfs:label xml:lang="en">uri stem</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;uri.querystring">
  <rdfs:label xml:lang="en">query portion of uri</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Uri"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Uri.querystring">
      <rdfs:label xml:lang="en">query portion of uri</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--

  ipaddr Datastructure
-->

<rdfs:Class rdf:about="&p3p;Ipaddr">
  <rdfs:label xml:lang="en">ip address</rdfs:label>
  <rdfs:comment xml:lang="en">
    the hostname and IP address of a system
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;ipaddr.hostname">
  <rdfs:label xml:lang="en">complete host and domain name</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Ipaddr"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Ipaddr.hostname">
      <rdfs:label xml:lang="en">
        complete host and domain name
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-computer"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;ipaddr.partialhostname">
  <rdfs:label xml:lang="en">partial host name</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Ipaddr"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Ipaddr.partialhostname">
      <rdfs:label xml:lang="en">partial host name</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;ipaddr.fullip">
  <rdfs:label xml:lang="en">full ip address</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Ipaddr"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Ipaddr.fullip">
      <rdfs:label xml:lang="en">full ip address</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-computer"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;ipaddr.partialip">
  <rdfs:label xml:lang="en">partial ip address</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Ipaddr"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Ipaddr.partialip">
      <rdfs:label xml:lang="en">partial ip address</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--

  loginfo Datastructure
-->

<rdfs:Class rdf:about="&p3p;Loginfo">
  <rdfs:label xml:lang="en">web server log information</rdfs:label>
  <rdfs:comment xml:lang="en">
    information typically stored in Web-server access logs
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;loginfo.uri">
  <rdfs:label xml:lang="en">uri of requested resources</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Loginfo"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Loginfo.uri">
      <rdfs:label xml:lang="en">
        uri of requested resources
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Uri"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-navigation"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;loginfo.timestamp">
  <rdfs:label xml:lang="en">request timestamp</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Loginfo"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Loginfo.timestamp">
      <rdfs:label xml:lang="en">request timestamp</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Date"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-navigation"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;loginfo.clientip">
  <rdfs:label xml:lang="en">
    clients ip address or hostname
  </rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Loginfo"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Loginfo.clientip">
      <rdfs:label xml:lang="en">
        clients ip address or hostname
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Ipaddr"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-computer"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;loginfo.other">
  <rdfs:label xml:lang="en">other</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Loginfo"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Loginfo.other">
  <rdfs:label xml:lang="en">other</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;loginfo.other.httpmethod">
  <rdfs:label xml:lang="en">http request method</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Loginfo.other"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Loginfo.other.httpmethod">
      <rdfs:label xml:lang="en">http request method</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-navigation"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;loginfo.other.bytes">
  <rdfs:label xml:lang="en">data bytes in response</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Loginfo.other"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Loginfo.other.bytes">
      <rdfs:label xml:lang="en">rata bytes in response</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-navigation"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;loginfo.other.statuscode">
  <rdfs:label xml:lang="en">response status code</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Loginfo.other"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Loginfo.other.statuscode">
      <rdfs:label xml:lang="en">response status code</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-navigation"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--

  httpinfo Datastructure
-->

<rdfs:Class rdf:about="&p3p;Httpinfo">
  <rdfs:label xml:lang="en">http info</rdfs:label>
  <rdfs:comment xml:lang="en">
    information carried by the HTTP protocol which is not covered
    by the loginfo structure
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;DataStructure"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;httpinfo.referer">
  <rdfs:label xml:lang="en">
    last uri requested by the user
  </rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Httpinfo"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Httpinfo.referer">
      <rdfs:label xml:lang="en">
        last uri requested by the user
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Uri"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-navigation"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;httpinfo.useragent">
  <rdfs:label xml:lang="en">user agent information</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Httpinfo"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Httpinfo.userAgent">
      <rdfs:label xml:lang="en">user agent information</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-computer"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<!--

    Base Data Schema

-->

<!--

    User Data
-->

<rdfs:Class rdf:about="&p3p;User">
  <rdfs:label xml:lang="en">user data info</rdfs:label>
  <rdfs:comment xml:lang="en">
    general information about the user
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;user.name">
  <rdfs:label xml:lang="en">users name</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;User"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;User.name">
      <rdfs:label xml:lang="en">users name</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Personname"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;user.bdate">
  <rdfs:label xml:lang="en">users birth date</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;User"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;User.bdate">
      <rdfs:label xml:lang="en">users birth date</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Date"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;user.login">
  <rdfs:label xml:lang="en">users login information</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;User"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;User.login">
      <rdfs:label xml:lang="en">users login information</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Login"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-uniqueid"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;user.cert">
  <rdfs:label xml:lang="en">users identity certificate</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;User"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;User.cert">
      <rdfs:label xml:lang="en">
        users identify certificate
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Certificate"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-uniqueid"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;user.gender">
  <rdfs:label xml:lang="en">users gender (Male or Female)</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;User"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;User.gender">
      <rdfs:label xml:lang="en">
        users gender (Male or Female)
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;user.employer">
  <rdfs:label xml:lang="en">users employer</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;User"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;User.employer">
      <rdfs:label xml:lang="en">users employer</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;user.department">
  <rdfs:label xml:lang="en">department</rdfs:label>
  <rdfs:comment xml:lang="en">
    Department or Division of Organization where User is Employed
  </rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;User"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;User.department">
      <rdfs:label xml:lang="en">department</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;user.jobtitle">
  <rdfs:label xml:lang="en">users job title</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;User"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;User.jobtitle">
      <rdfs:label xml:lang="en">users job title</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;user.home-info">
  <rdfs:label xml:lang="en">
    users home contact information
  </rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;User"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;User.home-info">
      <rdfs:label xml:lang="en">
        users home contact information
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Contact"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-online"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;user.business-info">
  <rdfs:label xml:lang="en">
    users business contact information
  </rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;User"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;User.business-info">
      <rdfs:label xml:lang="en">
        users business contact information
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Contact"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-online"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>


<!--

    Third Party Data
-->

<rdfs:Class rdf:about="&p3p;Thirdparty">
  <rdfs:label xml:lang="en">Third Party Data Info</rdfs:label>
  <rdfs:comment xml:lang="en">
    general information about the third Party
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;thirdparty.name">
  <rdfs:label xml:lang="en">name</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Thirdparty"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Thirdparty.name">
      <rdfs:label xml:lang="en">name</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Personname"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;thirdparty.bdate">
  <rdfs:label xml:lang="en">birth date</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Thirdparty"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Thirdparty.bdate">
      <rdfs:label xml:lang="en">birth date</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Date"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;thirdparty.login">
  <rdfs:label xml:lang="en">login information</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Thirdparty"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Thirdparty.login">
      <rdfs:label xml:lang="en">login information</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Login"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-uniqueid"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;thirdparty.cert">
  <rdfs:label xml:lang="en">identity certificate</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Thirdparty"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Thirdparty.cert">
      <rdfs:label xml:lang="en">identify certificate</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Certificate"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-uniqueid"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;thirdparty.gender">
  <rdfs:label xml:lang="en">gender (Male or Female)</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Thirdparty"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Thirdparty.gender">
      <rdfs:label xml:lang="en">gender (Male or Female)</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;thirdparty.employer">
  <rdfs:label xml:lang="en">employer</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Thirdparty"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Thirdparty.employer">
      <rdfs:label xml:lang="en">employer</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;thirdparty.department">
  <rdfs:label xml:lang="en">department</rdfs:label>
  <rdfs:comment xml:lang="en">
    Department or Division of Organization where Third Party
    is Employed
  </rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Thirdparty"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Thirdparty.department">
      <rdfs:label xml:lang="en">department</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;thirdparty.jobtitle">
  <rdfs:label xml:lang="en">job title</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Thirdparty"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Thirdparty.jobtitle">
      <rdfs:label xml:lang="en">job title</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;thirdparty.home-info">
  <rdfs:label xml:lang="en">home contact information</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Thirdparty"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Thirdparty.home-info">
      <rdfs:label xml:lang="en">home contact information</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Contact"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-online"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;thirdparty.business-info">
  <rdfs:label xml:lang="en">business contact information</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Thirdparty"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Thirdparty.business-info">
      <rdfs:label xml:lang="en">
        business contact information
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Contact"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-online"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>


<!--
 
   BUSINESS DATASET
-->

<rdfs:Class rdf:about="&p3p;Business">
  <rdfs:label xml:lang="en">business information</rdfs:label>
  <rdfs:comment xml:lang="en">
    a subset of user data relevant for organizations
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
  <rdfs:subClassOf rdf:resource="&p3p;LegalEntity"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;business.name">
  <rdfs:label xml:lang="en">organization name</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Business"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Business.name">
      <rdfs:label xml:lang="en">organization name</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;business.department">
  <rdfs:label xml:lang="en">department or division</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Business"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Business.department">
      <rdfs:label xml:lang="en">department or division</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;business.cert">
  <rdfs:label xml:lang="en">identity certificate</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Business"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Business.cert">
      <rdfs:label xml:lang="en">identity certificate</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Certificate"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-uniqueid"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;business.contact-info">
  <rdfs:label xml:lang="en">contact information</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Business"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Business.contact-info">
      <rdfs:label xml:lang="en">contact information</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Contact"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-physical"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-online"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-demographic"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdfs:Class rdf:about="&p3p;LegalEntity">
  <rdfs:label xml:lang="en">legal entity</rdfs:label>
  <rdfs:comment xml:lang="en">
    A legal entity such as a business
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>


<!--
 
   Dynamic Data
-->

<rdfs:Class rdf:about="&p3p;Dynamic">
  <rdfs:label xml:lang="en">dynamic information</rdfs:label>
  <rdfs:comment xml:lang="en">
    Data elements that do not have fixed value
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;dynamic.clickstream">
  <rdfs:label xml:lang="en">click-stream</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Dynamic"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Dynamic.clickstream">
      <rdfs:label xml:lang="en">click-stream</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Loginfo"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-navigation"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-computer"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;dynamic.http">
  <rdfs:label xml:lang="en">http protocol information</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Dynamic"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Dynamic.http">
      <rdfs:label xml:lang="en">http protocol information</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Httpinfo"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-navigation"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-computer"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;dynamic.clientevents">
  <rdfs:label xml:lang="en">
    users interaction with resources
  </rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Dynamic"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Dynamic.clientevents">
      <rdfs:label xml:lang="en">
        users interaction with resources
      </rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-navigation"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;dynamic.cookies">
  <rdfs:label xml:lang="en">use of http cookies</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Dynamic"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Dynamic.cookies">
      <rdfs:label xml:lang="en">use of http cookies</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;dynamic.miscdata">
  <rdfs:label xml:lang="en">miscellaneous</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Dynamic"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Dynamic.miscdata">
      <rdfs:label xml:lang="en">miscellaneous</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;VariableCategory"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;dynamic.searchtext">
  <rdfs:label xml:lang="en">search terms</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Dynamic"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Dynamic.searchtext">
      <rdfs:label xml:lang="en">search terms</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-interactive"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>

<rdf:Property rdf:about="&p3p;dynamic.interactionrecord">
  <rdfs:label xml:lang="en">transaction history</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="&p3p;dataStructureComponent"/>
  <rdfs:domain rdf:resource="&p3p;Dynamic"/>
  <rdfs:range>
    <rdfs:Class rdf:about="&p3p;Dynamic.interactionrecord">
      <rdfs:label xml:lang="en">transaction history</rdfs:label>
      <rdfs:subClassOf rdf:resource="&p3p;UnstructuredDataElement"/>
      <rdfs:subClassOf rdf:resource="&p3p;Category-interactive"/>
    </rdfs:Class>
  </rdfs:range>
</rdf:Property>


<!-- The Image class and its properties -->

<rdfs:Class rdf:about="&p3p;Image">
  <rdfs:label xml:lang="en">image</rdfs:label>
  <rdfs:comment xml:lang="en">An image or logo</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>

<rdf:Property rdf:about="&p3p;imageWidth">
  <rdfs:label xml:lang="en">width</rdfs:label>
  <rdfs:comment xml:lang="en">
    Width in pixels of the image
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Image"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;imageHeight">
  <rdfs:label xml:lang="en">height</rdfs:label>
  <rdfs:comment xml:lang="en">
    Height in pixels of the image
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Image"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;imageAltText">
  <rdfs:label xml:lang="en">alternative text</rdfs:label>
  <rdfs:comment xml:lang="en">
    A very short text alternative to the image
  </rdfs:comment>
  <rdfs:domain rdf:resource="&p3p;Image"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<!-- Generic Properties -->

<rdf:Property rdf:about="&p3p;shortDescription">
  <rdfs:label xml:lang="en">short description</rdfs:label>
  <rdfs:comment xml:lang="en">
    A short human readable description of the subject
  </rdfs:comment>
  <rdfs:domain rdf:resource="&rdfs;Resource"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;longDescription">
  <rdfs:label xml:lang="en">long description</rdfs:label>
  <rdfs:comment xml:lang="en">
    A human readable description of the subject
  </rdfs:comment>
  <rdfs:domain rdf:resource="&rdfs;Resource"/>
  <rdfs:range  rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&p3p;image">
  <rdfs:label xml:lang="en">image</rdfs:label>
  <rdfs:comment xml:lang="en">
    An image or logo associated with the subject
  </rdfs:comment>
  <rdfs:domain rdf:resource="&rdfs;Resource"/>
  <rdfs:range  rdf:resource="&p3p;Image"/>
</rdf:Property>

</rdf:RDF>

<!--
  $Log: p3p-rdf-schema.html,v $
  Revision 1.3  2001/12/06 12:53:14  bwm
  changes associated with flattening the data schema

  Revision 1.2  2001/12/05 01:03:26  bwm
  added more examples, corrections etc

  Revision 1.20  2001/12/05 01:00:42  bwm
  tidying up

  Revision 1.19  2001/12/04 14:51:39  bwm
  Cosmetic changes to fit into W3C note

  Revision 1.18  2001/12/04 14:13:21  bwm
  Cosmetic changes to fit into W3C note

  Revision 1.17  2001/12/04 11:26:59  bwm
  Numerous changes including
  modified remedies to be classes
  cosmetic changes
  typos
  Purpose is a subclass of Resource not Class
  Info is a subclass of Resource not Class
  rdf:type not rdfs:subClassOf indicates a relative class
  retention policies are classes
  Modifed Category class structure

  Revision 1.16  2001/12/02 20:31:22  bwm
  fixed typo

  Revision 1.15  2001/12/02 20:09:11  bwm
    Renamed InfoType to InfoClass for consistency
    Modified Purpose hierarchy
    Changed policyName to rdf:ID
    Switched statements from container to repeated properties
    A few general typos
    Renamed discuri and opturi
    Modified recipient to take a Recipient rather than RecipientClass
    Deleted category-explanation
    Added policy references

  Revision 1.14  2001/11/30 20:29:23  bwm
  Changed to use an rdf:Seq of middle names

  Revision 1.13  2001/11/30 20:21:00  bwm
  Fixed typos - ARP now parses

  Revision 1.12  2001/11/30 20:11:16  bwm
  Add indexical support, defining p3p:RelativeClass and
  p3p:relativeTo

  Revision 1.11  2001/11/30 19:10:15  bwm
  Changed dscCategory to rdfs:subClassOf and use subClassOf to
  represent VariableCategory.

  Revision 1.10  2001/11/30 18:39:45  bwm
  Changed modifiers to indicate reuqirement status of purposes
  and recipients from classes to subProperties.

  Revision 1.9  2001/11/30 18:06:40  bwm
  Switched resolutionProcedure to repeated property rather than
  container

  Revision 1.8  2001/11/30 12:35:24  bwm
  Added support for extension mechanism

  Revision 1.7  2001/11/30 11:29:20  bwm
  Defined class LegalEntity and made it the range of the entity
  property.

  Revision 1.6  2001/11/26 18:57:40  bwm
  Corrected class structure for access and purpose
  Changed recipient to class structure

  Revision 1.5  2001/11/26 17:21:16  bwm
  Modified PurposeRequired to be a subclass of Class, not an
  instance of Class

  Revision 1.4  2001/11/26 17:11:10  bwm
  Modified Purpose to be a subclass of Class, not an instance
  of Class and all instances to be instances of Purpose.

  Revision 1.3  2001/11/26 15:42:18  bwm
  The NONIDENTIFIABLE element now represented by a Class

  Revision 1.2  2001/11/26 14:18:14  bwm
  Modified the access property to take a class as value.
  Defined InfoType to be a subClass of Class

-->
        

Appendix B: An RDF Schema for the P3P Base Dataset

<?xml version="1.0"?>

<!--
  An RDF Schema for P3P Base Dataset

  $Id: p3p-rdf-schema.html,v 1.3 2001/12/06 12:53:14 bwm Exp $

This version is based on the P3P 1.0 Working Draft dated
28 September 2001:

  http://www.w3.org/TR/2001/WD-P3P-20010928

and on the RDF Model and Syntax Specification

  http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/

and RDF Schema Candidate Recommendation dated 27th March 2000

  http://www.w3.org/TR/2000/CR-rdf-schema-20000327
-->

<!DOCTYPE rdf:RDF [
  <!ENTITY rdf     "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <!ENTITY rdfs    "http://www.w3.org/2000/01/rdf-schema#">
  <!ENTITY p3p     "http://www.w3.org/2001/09/P3Pv1#">
  <!ENTITY p3pb    "http://www.w3.org/TR/P3P/base#">
]>

<rdf:RDF xmlns:rdf ="&rdf;"
         xmlns:rdfs="&rdfs;"
         xmlns:p3p ="&p3p;"
         xmlns:p3pb="&p3pb;">

<p3p:StructuredDataElementClass rdf:about="&p3pb;Dynamic">
  <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
</p3p:StructuredDataElementClass>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream'>
  <rdfs:label xml:lang='en'>clickstream</rdfs:label>
  <rdfs:comment xml:lang='en'>click-stream information</rdfs:comment>
  <p3p:extends rdf:resource='dynamic'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream'>
      <rdfs:label xml:lang='en'>clickstream</rdfs:label>
      <rdfs:comment xml:lang='en'>click-stream information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-navigation'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-computer'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.uri'>
  <rdfs:label xml:lang='en'>uri</rdfs:label>
  <rdfs:comment xml:lang='en'>uri of requested resource</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.uri'>
      <rdfs:label xml:lang='en'>uri</rdfs:label>
      <rdfs:comment xml:lang='en'>uri of requested resource</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-navigation'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.uri.authority'>
  <rdfs:label xml:lang='en'>authority</rdfs:label>
  <rdfs:comment xml:lang='en'>uri authority</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.uri'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.uri.authority'>
      <rdfs:label xml:lang='en'>authority</rdfs:label>
      <rdfs:comment xml:lang='en'>uri authority</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.uri.stem'>
  <rdfs:label xml:lang='en'>stem</rdfs:label>
  <rdfs:comment xml:lang='en'>uri stem</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.uri'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.uri.stem'>
      <rdfs:label xml:lang='en'>stem</rdfs:label>
      <rdfs:comment xml:lang='en'>uri stem</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.uri.querystring'>
  <rdfs:label xml:lang='en'>querystring</rdfs:label>
  <rdfs:comment xml:lang='en'>query-string portion of uri</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.uri'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.uri.querystring'>
      <rdfs:label xml:lang='en'>querystring</rdfs:label>
      <rdfs:comment xml:lang='en'>query-string portion of uri</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp'>
  <rdfs:label xml:lang='en'>timestamp</rdfs:label>
  <rdfs:comment xml:lang='en'>request timestamp</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp'>
      <rdfs:label xml:lang='en'>timestamp</rdfs:label>
      <rdfs:comment xml:lang='en'>request timestamp</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-navigation'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp.ymd'>
  <rdfs:label xml:lang='en'>ymd</rdfs:label>
  <p3p:extends rdf:resource='dynamic.clickstream.timestamp'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp.ymd'>
      <rdfs:label xml:lang='en'>ymd</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp.ymd.year'>
  <rdfs:label xml:lang='en'>year</rdfs:label>
  <rdfs:comment xml:lang='en'>year</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.timestamp.ymd'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp.ymd.year'>
      <rdfs:label xml:lang='en'>year</rdfs:label>
      <rdfs:comment xml:lang='en'>year</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp.ymd.month'>
  <rdfs:label xml:lang='en'>month</rdfs:label>
  <rdfs:comment xml:lang='en'>month</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.timestamp.ymd'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp.ymd.month'>
      <rdfs:label xml:lang='en'>month</rdfs:label>
      <rdfs:comment xml:lang='en'>month</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp.ymd.day'>
  <rdfs:label xml:lang='en'>day</rdfs:label>
  <rdfs:comment xml:lang='en'>day</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.timestamp.ymd'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp.ymd.day'>
      <rdfs:label xml:lang='en'>day</rdfs:label>
      <rdfs:comment xml:lang='en'>day</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp.hms'>
  <rdfs:label xml:lang='en'>hms</rdfs:label>
  <p3p:extends rdf:resource='dynamic.clickstream.timestamp'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp.hms'>
      <rdfs:label xml:lang='en'>hms</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp.hms.hour'>
  <rdfs:label xml:lang='en'>hour</rdfs:label>
  <rdfs:comment xml:lang='en'>hour</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.timestamp.hms'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp.hms.hour'>
      <rdfs:label xml:lang='en'>hour</rdfs:label>
      <rdfs:comment xml:lang='en'>hour</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp.hms.minutes'>
  <rdfs:label xml:lang='en'>minutes</rdfs:label>
  <rdfs:comment xml:lang='en'>minutes</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.timestamp.hms'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp.hms.minutes'>
      <rdfs:label xml:lang='en'>minutes</rdfs:label>
      <rdfs:comment xml:lang='en'>minutes</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp.hms.seconds'>
  <rdfs:label xml:lang='en'>seconds</rdfs:label>
  <rdfs:comment xml:lang='en'>seconds</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.timestamp.hms'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp.hms.seconds'>
      <rdfs:label xml:lang='en'>seconds</rdfs:label>
      <rdfs:comment xml:lang='en'>seconds</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp.fractionsecond'>
  <rdfs:label xml:lang='en'>fractionsecond</rdfs:label>
  <rdfs:comment xml:lang='en'>fraction of second</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.timestamp'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp.fractionsecond'>
      <rdfs:label xml:lang='en'>fractionsecond</rdfs:label>
      <rdfs:comment xml:lang='en'>fraction of second</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.timestamp.timezone'>
  <rdfs:label xml:lang='en'>timezone</rdfs:label>
  <rdfs:comment xml:lang='en'>time zone</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.timestamp'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.timestamp.timezone'>
      <rdfs:label xml:lang='en'>timezone</rdfs:label>
      <rdfs:comment xml:lang='en'>time zone</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.clientip'>
  <rdfs:label xml:lang='en'>clientip</rdfs:label>
  <rdfs:comment xml:lang='en'>client's ip address or hostname</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.clientip'>
      <rdfs:label xml:lang='en'>clientip</rdfs:label>
      <rdfs:comment xml:lang='en'>client's ip address or hostname</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-navigation'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-navigation'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-navigation'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.clientip.hostname'>
  <rdfs:label xml:lang='en'>hostname</rdfs:label>
  <rdfs:comment xml:lang='en'>complete host and domain name</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.clientip'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.clientip.hostname'>
      <rdfs:label xml:lang='en'>hostname</rdfs:label>
      <rdfs:comment xml:lang='en'>complete host and domain name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-computer'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.clientip.partialhostname'>
  <rdfs:label xml:lang='en'>partialhostname</rdfs:label>
  <rdfs:comment xml:lang='en'>partial host name</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.clientip'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.clientip.partialhostname'>
      <rdfs:label xml:lang='en'>partialhostname</rdfs:label>
      <rdfs:comment xml:lang='en'>partial host name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.clientip.fullip'>
  <rdfs:label xml:lang='en'>fullip</rdfs:label>
  <rdfs:comment xml:lang='en'>full ip address</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.clientip'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.clientip.fullip'>
      <rdfs:label xml:lang='en'>fullip</rdfs:label>
      <rdfs:comment xml:lang='en'>full ip address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-computer'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.clientip.partialip'>
  <rdfs:label xml:lang='en'>partialip</rdfs:label>
  <rdfs:comment xml:lang='en'>partial ip address</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.clientip'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.clientip.partialip'>
      <rdfs:label xml:lang='en'>partialip</rdfs:label>
      <rdfs:comment xml:lang='en'>partial ip address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.other'>
  <rdfs:label xml:lang='en'>other</rdfs:label>
  <p3p:extends rdf:resource='dynamic.clickstream'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.other'>
      <rdfs:label xml:lang='en'>other</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.other.httpmethod'>
  <rdfs:label xml:lang='en'>httpmethod</rdfs:label>
  <rdfs:comment xml:lang='en'>http request method</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.other'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.other.httpmethod'>
      <rdfs:label xml:lang='en'>httpmethod</rdfs:label>
      <rdfs:comment xml:lang='en'>http request method</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.other.bytes'>
  <rdfs:label xml:lang='en'>bytes</rdfs:label>
  <rdfs:comment xml:lang='en'>data bytes in response</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.other'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.other.bytes'>
      <rdfs:label xml:lang='en'>bytes</rdfs:label>
      <rdfs:comment xml:lang='en'>data bytes in response</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clickstream.other.statuscode'>
  <rdfs:label xml:lang='en'>statuscode</rdfs:label>
  <rdfs:comment xml:lang='en'>response status code</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.clickstream.other'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clickstream.other.statuscode'>
      <rdfs:label xml:lang='en'>statuscode</rdfs:label>
      <rdfs:comment xml:lang='en'>response status code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.http'>
  <rdfs:label xml:lang='en'>http</rdfs:label>
  <rdfs:comment xml:lang='en'>http protocol information</rdfs:comment>
  <p3p:extends rdf:resource='dynamic'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Dynamic.http'>
      <rdfs:label xml:lang='en'>http</rdfs:label>
      <rdfs:comment xml:lang='en'>http protocol information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-navigation'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-computer'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.http.referrer'>
  <rdfs:label xml:lang='en'>referrer</rdfs:label>
  <rdfs:comment xml:lang='en'>last uri requested by the user</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.http'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Dynamic.http.referrer'>
      <rdfs:label xml:lang='en'>referrer</rdfs:label>
      <rdfs:comment xml:lang='en'>last uri requested by the user</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-navigation'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-computer'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.http.referrer.authority'>
  <rdfs:label xml:lang='en'>authority</rdfs:label>
  <rdfs:comment xml:lang='en'>uri authority</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.http.referrer'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.http.referrer.authority'>
      <rdfs:label xml:lang='en'>authority</rdfs:label>
      <rdfs:comment xml:lang='en'>uri authority</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.http.referrer.stem'>
  <rdfs:label xml:lang='en'>stem</rdfs:label>
  <rdfs:comment xml:lang='en'>uri stem</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.http.referrer'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.http.referrer.stem'>
      <rdfs:label xml:lang='en'>stem</rdfs:label>
      <rdfs:comment xml:lang='en'>uri stem</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.http.referrer.querystring'>
  <rdfs:label xml:lang='en'>querystring</rdfs:label>
  <rdfs:comment xml:lang='en'>query-string portion of uri</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.http.referrer'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.http.referrer.querystring'>
      <rdfs:label xml:lang='en'>querystring</rdfs:label>
      <rdfs:comment xml:lang='en'>query-string portion of uri</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.http.useragent'>
  <rdfs:label xml:lang='en'>useragent</rdfs:label>
  <rdfs:comment xml:lang='en'>user agent information</rdfs:comment>
  <p3p:extends rdf:resource='dynamic.http'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.http.useragent'>
      <rdfs:label xml:lang='en'>useragent</rdfs:label>
      <rdfs:comment xml:lang='en'>user agent information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.clientevents'>
  <rdfs:label xml:lang='en'>clientevents</rdfs:label>
  <rdfs:comment xml:lang='en'>user's interaction with a resource</rdfs:comment>
  <p3p:extends rdf:resource='dynamic'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.clientevents'>
      <rdfs:label xml:lang='en'>clientevents</rdfs:label>
      <rdfs:comment xml:lang='en'>user's interaction with a resource</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-computer'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.cookies'>
  <rdfs:label xml:lang='en'>cookies</rdfs:label>
  <rdfs:comment xml:lang='en'>use of http cookies</rdfs:comment>
  <p3p:extends rdf:resource='dynamic'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.cookies'>
      <rdfs:label xml:lang='en'>cookies</rdfs:label>
      <rdfs:comment xml:lang='en'>use of http cookies</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.searchtext'>
  <rdfs:label xml:lang='en'>searchtext</rdfs:label>
  <rdfs:comment xml:lang='en'>search terms</rdfs:comment>
  <p3p:extends rdf:resource='dynamic'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.searchtext'>
      <rdfs:label xml:lang='en'>searchtext</rdfs:label>
      <rdfs:comment xml:lang='en'>search terms</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-interactive'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.interactionrecord'>
  <rdfs:label xml:lang='en'>interactionrecord</rdfs:label>
  <rdfs:comment xml:lang='en'>server stores transaction history</rdfs:comment>
  <p3p:extends rdf:resource='dynamic'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.interactionrecord'>
      <rdfs:label xml:lang='en'>interactionrecord</rdfs:label>
      <rdfs:comment xml:lang='en'>server stores transaction history</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-interactive'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;dynamic.miscdata'>
  <rdfs:label xml:lang='en'>miscdata</rdfs:label>
  <rdfs:comment xml:lang='en'>miscellaneous non-base data schema</rdfs:comment>
  <p3p:extends rdf:resource='dynamic'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Dynamic.miscdata'>
      <rdfs:label xml:lang='en'>miscdata</rdfs:label>
      <rdfs:comment xml:lang='en'>miscellaneous non-base data schema</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:StructuredDataElementClass rdf:about="&p3pb;User">
  <rdfs:label>user</rdfs:label>
  <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
</p3p:StructuredDataElementClass>

<p3p:DataElementComponent rdf:about='&p3pb;user.name'>
  <rdfs:label xml:lang='en'>name</rdfs:label>
  <rdfs:comment xml:lang='en'>user's name</rdfs:comment>
  <p3p:extends rdf:resource='user'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.name'>
      <rdfs:label xml:lang='en'>name</rdfs:label>
      <rdfs:comment xml:lang='en'>user's name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate'>
  <rdfs:label xml:lang='en'>bdate</rdfs:label>
  <rdfs:comment xml:lang='en'>user's birth date</rdfs:comment>
  <p3p:extends rdf:resource='user'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.bdate'>
      <rdfs:label xml:lang='en'>bdate</rdfs:label>
      <rdfs:comment xml:lang='en'>user's birth date</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate.ymd'>
  <rdfs:label xml:lang='en'>ymd</rdfs:label>
  <p3p:extends rdf:resource='user.bdate'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.bdate.ymd'>
      <rdfs:label xml:lang='en'>ymd</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate.ymd.year'>
  <rdfs:label xml:lang='en'>year</rdfs:label>
  <rdfs:comment xml:lang='en'>year</rdfs:comment>
  <p3p:extends rdf:resource='user.bdate.ymd'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.bdate.ymd.year'>
      <rdfs:label xml:lang='en'>year</rdfs:label>
      <rdfs:comment xml:lang='en'>year</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate.ymd.month'>
  <rdfs:label xml:lang='en'>month</rdfs:label>
  <rdfs:comment xml:lang='en'>month</rdfs:comment>
  <p3p:extends rdf:resource='user.bdate.ymd'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.bdate.ymd.month'>
      <rdfs:label xml:lang='en'>month</rdfs:label>
      <rdfs:comment xml:lang='en'>month</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate.ymd.day'>
  <rdfs:label xml:lang='en'>day</rdfs:label>
  <rdfs:comment xml:lang='en'>day</rdfs:comment>
  <p3p:extends rdf:resource='user.bdate.ymd'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.bdate.ymd.day'>
      <rdfs:label xml:lang='en'>day</rdfs:label>
      <rdfs:comment xml:lang='en'>day</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate.hms'>
  <rdfs:label xml:lang='en'>hms</rdfs:label>
  <p3p:extends rdf:resource='user.bdate'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.bdate.hms'>
      <rdfs:label xml:lang='en'>hms</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate.hms.hour'>
  <rdfs:label xml:lang='en'>hour</rdfs:label>
  <rdfs:comment xml:lang='en'>hour</rdfs:comment>
  <p3p:extends rdf:resource='user.bdate.hms'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.bdate.hms.hour'>
      <rdfs:label xml:lang='en'>hour</rdfs:label>
      <rdfs:comment xml:lang='en'>hour</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate.hms.minutes'>
  <rdfs:label xml:lang='en'>minutes</rdfs:label>
  <rdfs:comment xml:lang='en'>minutes</rdfs:comment>
  <p3p:extends rdf:resource='user.bdate.hms'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.bdate.hms.minutes'>
      <rdfs:label xml:lang='en'>minutes</rdfs:label>
      <rdfs:comment xml:lang='en'>minutes</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate.hms.seconds'>
  <rdfs:label xml:lang='en'>seconds</rdfs:label>
  <rdfs:comment xml:lang='en'>seconds</rdfs:comment>
  <p3p:extends rdf:resource='user.bdate.hms'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.bdate.hms.seconds'>
      <rdfs:label xml:lang='en'>seconds</rdfs:label>
      <rdfs:comment xml:lang='en'>seconds</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate.fractionsecond'>
  <rdfs:label xml:lang='en'>fractionsecond</rdfs:label>
  <rdfs:comment xml:lang='en'>fraction of second</rdfs:comment>
  <p3p:extends rdf:resource='user.bdate'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.bdate.fractionsecond'>
      <rdfs:label xml:lang='en'>fractionsecond</rdfs:label>
      <rdfs:comment xml:lang='en'>fraction of second</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.bdate.timezone'>
  <rdfs:label xml:lang='en'>timezone</rdfs:label>
  <rdfs:comment xml:lang='en'>time zone</rdfs:comment>
  <p3p:extends rdf:resource='user.bdate'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.bdate.timezone'>
      <rdfs:label xml:lang='en'>timezone</rdfs:label>
      <rdfs:comment xml:lang='en'>time zone</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.login'>
  <rdfs:label xml:lang='en'>login</rdfs:label>
  <rdfs:comment xml:lang='en'>user's login information</rdfs:comment>
  <p3p:extends rdf:resource='user'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.login'>
      <rdfs:label xml:lang='en'>login</rdfs:label>
      <rdfs:comment xml:lang='en'>user's login information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.login.id'>
  <rdfs:label xml:lang='en'>id</rdfs:label>
  <rdfs:comment xml:lang='en'>login id</rdfs:comment>
  <p3p:extends rdf:resource='user.login'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.login.id'>
      <rdfs:label xml:lang='en'>id</rdfs:label>
      <rdfs:comment xml:lang='en'>login id</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.login.password'>
  <rdfs:label xml:lang='en'>password</rdfs:label>
  <rdfs:comment xml:lang='en'>login password</rdfs:comment>
  <p3p:extends rdf:resource='user.login'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.login.password'>
      <rdfs:label xml:lang='en'>password</rdfs:label>
      <rdfs:comment xml:lang='en'>login password</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.cert'>
  <rdfs:label xml:lang='en'>cert</rdfs:label>
  <rdfs:comment xml:lang='en'>user's identity certificate</rdfs:comment>
  <p3p:extends rdf:resource='user'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.cert'>
      <rdfs:label xml:lang='en'>cert</rdfs:label>
      <rdfs:comment xml:lang='en'>user's identity certificate</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.cert.key'>
  <rdfs:label xml:lang='en'>key</rdfs:label>
  <rdfs:comment xml:lang='en'>certificate key</rdfs:comment>
  <p3p:extends rdf:resource='user.cert'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.cert.key'>
      <rdfs:label xml:lang='en'>key</rdfs:label>
      <rdfs:comment xml:lang='en'>certificate key</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.cert.format'>
  <rdfs:label xml:lang='en'>format</rdfs:label>
  <rdfs:comment xml:lang='en'>certificate format</rdfs:comment>
  <p3p:extends rdf:resource='user.cert'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.cert.format'>
      <rdfs:label xml:lang='en'>format</rdfs:label>
      <rdfs:comment xml:lang='en'>certificate format</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.gender'>
  <rdfs:label xml:lang='en'>gender</rdfs:label>
  <rdfs:comment xml:lang='en'>user's gender</rdfs:comment>
  <p3p:extends rdf:resource='user'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.gender'>
      <rdfs:label xml:lang='en'>gender</rdfs:label>
      <rdfs:comment xml:lang='en'>user's gender</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.jobtitle'>
  <rdfs:label xml:lang='en'>jobtitle</rdfs:label>
  <rdfs:comment xml:lang='en'>user's jobtitle</rdfs:comment>
  <p3p:extends rdf:resource='user'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.jobtitle'>
      <rdfs:label xml:lang='en'>jobtitle</rdfs:label>
      <rdfs:comment xml:lang='en'>user's jobtitle</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info'>
  <rdfs:label xml:lang='en'>home-info</rdfs:label>
  <rdfs:comment xml:lang='en'>user's home contact information</rdfs:comment>
  <p3p:extends rdf:resource='user'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.home-info'>
      <rdfs:label xml:lang='en'>home-info</rdfs:label>
      <rdfs:comment xml:lang='en'>user's home contact information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal'>
  <rdfs:label xml:lang='en'>postal</rdfs:label>
  <rdfs:comment xml:lang='en'>postal address information</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.home-info.postal'>
      <rdfs:label xml:lang='en'>postal</rdfs:label>
      <rdfs:comment xml:lang='en'>postal address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.name'>
  <rdfs:label xml:lang='en'>name</rdfs:label>
  <p3p:extends rdf:resource='user.home-info.postal'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.name'>
      <rdfs:label xml:lang='en'>name</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.name.prefix'>
  <rdfs:label xml:lang='en'>prefix</rdfs:label>
  <rdfs:comment xml:lang='en'>name prefix</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.name.prefix'>
      <rdfs:label xml:lang='en'>prefix</rdfs:label>
      <rdfs:comment xml:lang='en'>name prefix</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.name.given'>
  <rdfs:label xml:lang='en'>given</rdfs:label>
  <rdfs:comment xml:lang='en'>given name</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.name.given'>
      <rdfs:label xml:lang='en'>given</rdfs:label>
      <rdfs:comment xml:lang='en'>given name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.name.middle'>
  <rdfs:label xml:lang='en'>middle</rdfs:label>
  <rdfs:comment xml:lang='en'>@@@ seq? middle name</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.name.middle'>
      <rdfs:label xml:lang='en'>middle</rdfs:label>
      <rdfs:comment xml:lang='en'>@@@ seq? middle name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.name.family'>
  <rdfs:label xml:lang='en'>family</rdfs:label>
  <rdfs:comment xml:lang='en'>family name (last name)</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.name.family'>
      <rdfs:label xml:lang='en'>family</rdfs:label>
      <rdfs:comment xml:lang='en'>family name (last name)</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.name.suffix'>
  <rdfs:label xml:lang='en'>suffix</rdfs:label>
  <rdfs:comment xml:lang='en'>name suffix</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.name.suffix'>
      <rdfs:label xml:lang='en'>suffix</rdfs:label>
      <rdfs:comment xml:lang='en'>name suffix</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.name.nickname'>
  <rdfs:label xml:lang='en'>nickname</rdfs:label>
  <rdfs:comment xml:lang='en'>nickname</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.name.nickname'>
      <rdfs:label xml:lang='en'>nickname</rdfs:label>
      <rdfs:comment xml:lang='en'>nickname</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.street'>
  <rdfs:label xml:lang='en'>street</rdfs:label>
  <rdfs:comment xml:lang='en'>street address</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.street'>
      <rdfs:label xml:lang='en'>street</rdfs:label>
      <rdfs:comment xml:lang='en'>street address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.city'>
  <rdfs:label xml:lang='en'>city</rdfs:label>
  <rdfs:comment xml:lang='en'>city</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.city'>
      <rdfs:label xml:lang='en'>city</rdfs:label>
      <rdfs:comment xml:lang='en'>city</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.stateprov'>
  <rdfs:label xml:lang='en'>stateprov</rdfs:label>
  <rdfs:comment xml:lang='en'>State or Province</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.stateprov'>
      <rdfs:label xml:lang='en'>stateprov</rdfs:label>
      <rdfs:comment xml:lang='en'>State or Province</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.postalcode'>
  <rdfs:label xml:lang='en'>postalcode</rdfs:label>
  <rdfs:comment xml:lang='en'>Postal Code</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.postalcode'>
      <rdfs:label xml:lang='en'>postalcode</rdfs:label>
      <rdfs:comment xml:lang='en'>Postal Code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.organization'>
  <rdfs:label xml:lang='en'>organization</rdfs:label>
  <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.organization'>
      <rdfs:label xml:lang='en'>organization</rdfs:label>
      <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.postal.country'>
  <rdfs:label xml:lang='en'>country</rdfs:label>
  <rdfs:comment xml:lang='en'>country name</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.postal.country'>
      <rdfs:label xml:lang='en'>country</rdfs:label>
      <rdfs:comment xml:lang='en'>country name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom'>
  <rdfs:label xml:lang='en'>telecom</rdfs:label>
  <rdfs:comment xml:lang='en'>telecommunications address information</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom'>
      <rdfs:label xml:lang='en'>telecom</rdfs:label>
      <rdfs:comment xml:lang='en'>telecommunications address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.telephone'>
  <rdfs:label xml:lang='en'>telephone</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.telephone'>
      <rdfs:label xml:lang='en'>telephone</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.telephone.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.telephone.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.telephone.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.telephone.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.telephone.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.telephone.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.telephone.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.telephone.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.telephone.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.telephone.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.fax'>
  <rdfs:label xml:lang='en'>fax</rdfs:label>
  <rdfs:comment xml:lang='en'>fax number</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.fax'>
      <rdfs:label xml:lang='en'>fax</rdfs:label>
      <rdfs:comment xml:lang='en'>fax number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.fax.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.fax.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.fax.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.fax.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.fax.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.fax.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.fax.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.fax.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.fax.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.fax.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.mobile'>
  <rdfs:label xml:lang='en'>mobile</rdfs:label>
  <rdfs:comment xml:lang='en'>mobile telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.mobile'>
      <rdfs:label xml:lang='en'>mobile</rdfs:label>
      <rdfs:comment xml:lang='en'>mobile telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.mobile.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.mobile.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.mobile.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.mobile.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.mobile.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.mobile.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.mobile.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.mobile.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.mobile.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.mobile.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.pager'>
  <rdfs:label xml:lang='en'>pager</rdfs:label>
  <rdfs:comment xml:lang='en'>pager number</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.pager'>
      <rdfs:label xml:lang='en'>pager</rdfs:label>
      <rdfs:comment xml:lang='en'>pager number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.pager.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.pager.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.pager.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.pager.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.pager.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.pager.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.pager.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.pager.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.telecom.pager.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.telecom.pager.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.online'>
  <rdfs:label xml:lang='en'>online</rdfs:label>
  <rdfs:comment xml:lang='en'>online address information</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.home-info.online'>
      <rdfs:label xml:lang='en'>online</rdfs:label>
      <rdfs:comment xml:lang='en'>online address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.online.email'>
  <rdfs:label xml:lang='en'>email</rdfs:label>
  <rdfs:comment xml:lang='en'>email address</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.online'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.online.email'>
      <rdfs:label xml:lang='en'>email</rdfs:label>
      <rdfs:comment xml:lang='en'>email address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.home-info.online.uri'>
  <rdfs:label xml:lang='en'>uri</rdfs:label>
  <rdfs:comment xml:lang='en'>home page address</rdfs:comment>
  <p3p:extends rdf:resource='user.home-info.online'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.home-info.online.uri'>
      <rdfs:label xml:lang='en'>uri</rdfs:label>
      <rdfs:comment xml:lang='en'>home page address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info'>
  <rdfs:label xml:lang='en'>business-info</rdfs:label>
  <rdfs:comment xml:lang='en'>user's business contact information</rdfs:comment>
  <p3p:extends rdf:resource='user'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.business-info'>
      <rdfs:label xml:lang='en'>business-info</rdfs:label>
      <rdfs:comment xml:lang='en'>user's business contact information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal'>
  <rdfs:label xml:lang='en'>postal</rdfs:label>
  <rdfs:comment xml:lang='en'>postal address information</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.business-info.postal'>
      <rdfs:label xml:lang='en'>postal</rdfs:label>
      <rdfs:comment xml:lang='en'>postal address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.name'>
  <rdfs:label xml:lang='en'>name</rdfs:label>
  <p3p:extends rdf:resource='user.business-info.postal'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.name'>
      <rdfs:label xml:lang='en'>name</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.name.prefix'>
  <rdfs:label xml:lang='en'>prefix</rdfs:label>
  <rdfs:comment xml:lang='en'>name prefix</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.name.prefix'>
      <rdfs:label xml:lang='en'>prefix</rdfs:label>
      <rdfs:comment xml:lang='en'>name prefix</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.name.given'>
  <rdfs:label xml:lang='en'>given</rdfs:label>
  <rdfs:comment xml:lang='en'>given name</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.name.given'>
      <rdfs:label xml:lang='en'>given</rdfs:label>
      <rdfs:comment xml:lang='en'>given name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.name.middle'>
  <rdfs:label xml:lang='en'>middle</rdfs:label>
  <rdfs:comment xml:lang='en'>@@@ seq? middle name</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.name.middle'>
      <rdfs:label xml:lang='en'>middle</rdfs:label>
      <rdfs:comment xml:lang='en'>@@@ seq? middle name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.name.family'>
  <rdfs:label xml:lang='en'>family</rdfs:label>
  <rdfs:comment xml:lang='en'>family name (last name)</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.name.family'>
      <rdfs:label xml:lang='en'>family</rdfs:label>
      <rdfs:comment xml:lang='en'>family name (last name)</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.name.suffix'>
  <rdfs:label xml:lang='en'>suffix</rdfs:label>
  <rdfs:comment xml:lang='en'>name suffix</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.name.suffix'>
      <rdfs:label xml:lang='en'>suffix</rdfs:label>
      <rdfs:comment xml:lang='en'>name suffix</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.name.nickname'>
  <rdfs:label xml:lang='en'>nickname</rdfs:label>
  <rdfs:comment xml:lang='en'>nickname</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.name.nickname'>
      <rdfs:label xml:lang='en'>nickname</rdfs:label>
      <rdfs:comment xml:lang='en'>nickname</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.street'>
  <rdfs:label xml:lang='en'>street</rdfs:label>
  <rdfs:comment xml:lang='en'>street address</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.street'>
      <rdfs:label xml:lang='en'>street</rdfs:label>
      <rdfs:comment xml:lang='en'>street address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.city'>
  <rdfs:label xml:lang='en'>city</rdfs:label>
  <rdfs:comment xml:lang='en'>city</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.city'>
      <rdfs:label xml:lang='en'>city</rdfs:label>
      <rdfs:comment xml:lang='en'>city</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.stateprov'>
  <rdfs:label xml:lang='en'>stateprov</rdfs:label>
  <rdfs:comment xml:lang='en'>State or Province</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.stateprov'>
      <rdfs:label xml:lang='en'>stateprov</rdfs:label>
      <rdfs:comment xml:lang='en'>State or Province</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.postalcode'>
  <rdfs:label xml:lang='en'>postalcode</rdfs:label>
  <rdfs:comment xml:lang='en'>Postal Code</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.postalcode'>
      <rdfs:label xml:lang='en'>postalcode</rdfs:label>
      <rdfs:comment xml:lang='en'>Postal Code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.organization'>
  <rdfs:label xml:lang='en'>organization</rdfs:label>
  <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.organization'>
      <rdfs:label xml:lang='en'>organization</rdfs:label>
      <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.postal.country'>
  <rdfs:label xml:lang='en'>country</rdfs:label>
  <rdfs:comment xml:lang='en'>country name</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.postal.country'>
      <rdfs:label xml:lang='en'>country</rdfs:label>
      <rdfs:comment xml:lang='en'>country name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom'>
  <rdfs:label xml:lang='en'>telecom</rdfs:label>
  <rdfs:comment xml:lang='en'>telecommunications address information</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom'>
      <rdfs:label xml:lang='en'>telecom</rdfs:label>
      <rdfs:comment xml:lang='en'>telecommunications address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.telephone'>
  <rdfs:label xml:lang='en'>telephone</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.telephone'>
      <rdfs:label xml:lang='en'>telephone</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.telephone.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.telephone.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.telephone.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.telephone.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.telephone.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.telephone.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.telephone.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.telephone.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.telephone.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.telephone.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.fax'>
  <rdfs:label xml:lang='en'>fax</rdfs:label>
  <rdfs:comment xml:lang='en'>fax number</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.fax'>
      <rdfs:label xml:lang='en'>fax</rdfs:label>
      <rdfs:comment xml:lang='en'>fax number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.fax.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.fax.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.fax.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.fax.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.fax.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.fax.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.fax.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.fax.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.fax.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.fax.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.mobile'>
  <rdfs:label xml:lang='en'>mobile</rdfs:label>
  <rdfs:comment xml:lang='en'>mobile telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.mobile'>
      <rdfs:label xml:lang='en'>mobile</rdfs:label>
      <rdfs:comment xml:lang='en'>mobile telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.mobile.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.mobile.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.mobile.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.mobile.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.mobile.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.mobile.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.mobile.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.mobile.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.mobile.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.mobile.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.pager'>
  <rdfs:label xml:lang='en'>pager</rdfs:label>
  <rdfs:comment xml:lang='en'>pager number</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.pager'>
      <rdfs:label xml:lang='en'>pager</rdfs:label>
      <rdfs:comment xml:lang='en'>pager number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.pager.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.pager.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.pager.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.pager.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.pager.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.pager.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.pager.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.pager.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.telecom.pager.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.telecom.pager.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.online'>
  <rdfs:label xml:lang='en'>online</rdfs:label>
  <rdfs:comment xml:lang='en'>online address information</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;User.business-info.online'>
      <rdfs:label xml:lang='en'>online</rdfs:label>
      <rdfs:comment xml:lang='en'>online address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.online.email'>
  <rdfs:label xml:lang='en'>email</rdfs:label>
  <rdfs:comment xml:lang='en'>email address</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.online'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.online.email'>
      <rdfs:label xml:lang='en'>email</rdfs:label>
      <rdfs:comment xml:lang='en'>email address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.business-info.online.uri'>
  <rdfs:label xml:lang='en'>uri</rdfs:label>
  <rdfs:comment xml:lang='en'>home page address</rdfs:comment>
  <p3p:extends rdf:resource='user.business-info.online'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.business-info.online.uri'>
      <rdfs:label xml:lang='en'>uri</rdfs:label>
      <rdfs:comment xml:lang='en'>home page address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.employer'>
  <rdfs:label xml:lang='en'>employer</rdfs:label>
  <rdfs:comment xml:lang='en'>user's employer</rdfs:comment>
  <p3p:extends rdf:resource='user'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.employer'>
      <rdfs:label xml:lang='en'>employer</rdfs:label>
      <rdfs:comment xml:lang='en'>user's employer</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;user.department'>
  <rdfs:label xml:lang='en'>department</rdfs:label>
  <rdfs:comment xml:lang='en'>department</rdfs:comment>
  <p3p:extends rdf:resource='user'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;User.department'>
      <rdfs:label xml:lang='en'>department</rdfs:label>
      <rdfs:comment xml:lang='en'>department</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:StructuredDataElementClass rdf:about="&p3pb;Thirdparty">
  <rdfs:label>third party</rdfs:label>
  <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
</p3p:StructuredDataElementClass>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.name'>
  <rdfs:label xml:lang='en'>name</rdfs:label>
  <rdfs:comment xml:lang='en'>thirdparty's name</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.name'>
      <rdfs:label xml:lang='en'>name</rdfs:label>
      <rdfs:comment xml:lang='en'>thirdparty's name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate'>
  <rdfs:label xml:lang='en'>bdate</rdfs:label>
  <rdfs:comment xml:lang='en'>thirdparty's birth date</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate'>
      <rdfs:label xml:lang='en'>bdate</rdfs:label>
      <rdfs:comment xml:lang='en'>thirdparty's birth date</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate.ymd'>
  <rdfs:label xml:lang='en'>ymd</rdfs:label>
  <p3p:extends rdf:resource='thirdparty.bdate'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate.ymd'>
      <rdfs:label xml:lang='en'>ymd</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate.ymd.year'>
  <rdfs:label xml:lang='en'>year</rdfs:label>
  <rdfs:comment xml:lang='en'>year</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.bdate.ymd'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate.ymd.year'>
      <rdfs:label xml:lang='en'>year</rdfs:label>
      <rdfs:comment xml:lang='en'>year</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate.ymd.month'>
  <rdfs:label xml:lang='en'>month</rdfs:label>
  <rdfs:comment xml:lang='en'>month</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.bdate.ymd'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate.ymd.month'>
      <rdfs:label xml:lang='en'>month</rdfs:label>
      <rdfs:comment xml:lang='en'>month</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate.ymd.day'>
  <rdfs:label xml:lang='en'>day</rdfs:label>
  <rdfs:comment xml:lang='en'>day</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.bdate.ymd'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate.ymd.day'>
      <rdfs:label xml:lang='en'>day</rdfs:label>
      <rdfs:comment xml:lang='en'>day</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate.hms'>
  <rdfs:label xml:lang='en'>hms</rdfs:label>
  <p3p:extends rdf:resource='thirdparty.bdate'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate.hms'>
      <rdfs:label xml:lang='en'>hms</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate.hms.hour'>
  <rdfs:label xml:lang='en'>hour</rdfs:label>
  <rdfs:comment xml:lang='en'>hour</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.bdate.hms'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate.hms.hour'>
      <rdfs:label xml:lang='en'>hour</rdfs:label>
      <rdfs:comment xml:lang='en'>hour</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate.hms.minutes'>
  <rdfs:label xml:lang='en'>minutes</rdfs:label>
  <rdfs:comment xml:lang='en'>minutes</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.bdate.hms'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate.hms.minutes'>
      <rdfs:label xml:lang='en'>minutes</rdfs:label>
      <rdfs:comment xml:lang='en'>minutes</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate.hms.seconds'>
  <rdfs:label xml:lang='en'>seconds</rdfs:label>
  <rdfs:comment xml:lang='en'>seconds</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.bdate.hms'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate.hms.seconds'>
      <rdfs:label xml:lang='en'>seconds</rdfs:label>
      <rdfs:comment xml:lang='en'>seconds</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate.fractionsecond'>
  <rdfs:label xml:lang='en'>fractionsecond</rdfs:label>
  <rdfs:comment xml:lang='en'>fraction of second</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.bdate'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate.fractionsecond'>
      <rdfs:label xml:lang='en'>fractionsecond</rdfs:label>
      <rdfs:comment xml:lang='en'>fraction of second</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.bdate.timezone'>
  <rdfs:label xml:lang='en'>timezone</rdfs:label>
  <rdfs:comment xml:lang='en'>time zone</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.bdate'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.bdate.timezone'>
      <rdfs:label xml:lang='en'>timezone</rdfs:label>
      <rdfs:comment xml:lang='en'>time zone</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.login'>
  <rdfs:label xml:lang='en'>login</rdfs:label>
  <rdfs:comment xml:lang='en'>thirdparty's login information</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.login'>
      <rdfs:label xml:lang='en'>login</rdfs:label>
      <rdfs:comment xml:lang='en'>thirdparty's login information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.login.id'>
  <rdfs:label xml:lang='en'>id</rdfs:label>
  <rdfs:comment xml:lang='en'>login id</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.login'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.login.id'>
      <rdfs:label xml:lang='en'>id</rdfs:label>
      <rdfs:comment xml:lang='en'>login id</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.login.password'>
  <rdfs:label xml:lang='en'>password</rdfs:label>
  <rdfs:comment xml:lang='en'>login password</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.login'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.login.password'>
      <rdfs:label xml:lang='en'>password</rdfs:label>
      <rdfs:comment xml:lang='en'>login password</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.cert'>
  <rdfs:label xml:lang='en'>cert</rdfs:label>
  <rdfs:comment xml:lang='en'>thirdparty's identity certificate</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.cert'>
      <rdfs:label xml:lang='en'>cert</rdfs:label>
      <rdfs:comment xml:lang='en'>thirdparty's identity certificate</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.cert.key'>
  <rdfs:label xml:lang='en'>key</rdfs:label>
  <rdfs:comment xml:lang='en'>certificate key</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.cert'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.cert.key'>
      <rdfs:label xml:lang='en'>key</rdfs:label>
      <rdfs:comment xml:lang='en'>certificate key</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.cert.format'>
  <rdfs:label xml:lang='en'>format</rdfs:label>
  <rdfs:comment xml:lang='en'>certificate format</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.cert'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.cert.format'>
      <rdfs:label xml:lang='en'>format</rdfs:label>
      <rdfs:comment xml:lang='en'>certificate format</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.gender'>
  <rdfs:label xml:lang='en'>gender</rdfs:label>
  <rdfs:comment xml:lang='en'>thirdparty's gender</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.gender'>
      <rdfs:label xml:lang='en'>gender</rdfs:label>
      <rdfs:comment xml:lang='en'>thirdparty's gender</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.jobtitle'>
  <rdfs:label xml:lang='en'>jobtitle</rdfs:label>
  <rdfs:comment xml:lang='en'>third party's jobtitle</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.jobtitle'>
      <rdfs:label xml:lang='en'>jobtitle</rdfs:label>
      <rdfs:comment xml:lang='en'>third party's jobtitle</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info'>
  <rdfs:label xml:lang='en'>home-info</rdfs:label>
  <rdfs:comment xml:lang='en'>thirdparty's home contact information</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info'>
      <rdfs:label xml:lang='en'>home-info</rdfs:label>
      <rdfs:comment xml:lang='en'>thirdparty's home contact information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal'>
  <rdfs:label xml:lang='en'>postal</rdfs:label>
  <rdfs:comment xml:lang='en'>postal address information</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal'>
      <rdfs:label xml:lang='en'>postal</rdfs:label>
      <rdfs:comment xml:lang='en'>postal address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.name'>
  <rdfs:label xml:lang='en'>name</rdfs:label>
  <p3p:extends rdf:resource='thirdparty.home-info.postal'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.name'>
      <rdfs:label xml:lang='en'>name</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.name.prefix'>
  <rdfs:label xml:lang='en'>prefix</rdfs:label>
  <rdfs:comment xml:lang='en'>name prefix</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.name.prefix'>
      <rdfs:label xml:lang='en'>prefix</rdfs:label>
      <rdfs:comment xml:lang='en'>name prefix</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.name.given'>
  <rdfs:label xml:lang='en'>given</rdfs:label>
  <rdfs:comment xml:lang='en'>given name</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.name.given'>
      <rdfs:label xml:lang='en'>given</rdfs:label>
      <rdfs:comment xml:lang='en'>given name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.name.middle'>
  <rdfs:label xml:lang='en'>middle</rdfs:label>
  <rdfs:comment xml:lang='en'>@@@ seq? middle name</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.name.middle'>
      <rdfs:label xml:lang='en'>middle</rdfs:label>
      <rdfs:comment xml:lang='en'>@@@ seq? middle name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.name.family'>
  <rdfs:label xml:lang='en'>family</rdfs:label>
  <rdfs:comment xml:lang='en'>family name (last name)</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.name.family'>
      <rdfs:label xml:lang='en'>family</rdfs:label>
      <rdfs:comment xml:lang='en'>family name (last name)</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.name.suffix'>
  <rdfs:label xml:lang='en'>suffix</rdfs:label>
  <rdfs:comment xml:lang='en'>name suffix</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.name.suffix'>
      <rdfs:label xml:lang='en'>suffix</rdfs:label>
      <rdfs:comment xml:lang='en'>name suffix</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.name.nickname'>
  <rdfs:label xml:lang='en'>nickname</rdfs:label>
  <rdfs:comment xml:lang='en'>nickname</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.name.nickname'>
      <rdfs:label xml:lang='en'>nickname</rdfs:label>
      <rdfs:comment xml:lang='en'>nickname</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.street'>
  <rdfs:label xml:lang='en'>street</rdfs:label>
  <rdfs:comment xml:lang='en'>street address</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.street'>
      <rdfs:label xml:lang='en'>street</rdfs:label>
      <rdfs:comment xml:lang='en'>street address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.city'>
  <rdfs:label xml:lang='en'>city</rdfs:label>
  <rdfs:comment xml:lang='en'>city</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.city'>
      <rdfs:label xml:lang='en'>city</rdfs:label>
      <rdfs:comment xml:lang='en'>city</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.stateprov'>
  <rdfs:label xml:lang='en'>stateprov</rdfs:label>
  <rdfs:comment xml:lang='en'>State or Province</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.stateprov'>
      <rdfs:label xml:lang='en'>stateprov</rdfs:label>
      <rdfs:comment xml:lang='en'>State or Province</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.postalcode'>
  <rdfs:label xml:lang='en'>postalcode</rdfs:label>
  <rdfs:comment xml:lang='en'>Postal Code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.postalcode'>
      <rdfs:label xml:lang='en'>postalcode</rdfs:label>
      <rdfs:comment xml:lang='en'>Postal Code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.organization'>
  <rdfs:label xml:lang='en'>organization</rdfs:label>
  <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.organization'>
      <rdfs:label xml:lang='en'>organization</rdfs:label>
      <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.postal.country'>
  <rdfs:label xml:lang='en'>country</rdfs:label>
  <rdfs:comment xml:lang='en'>country name</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.postal.country'>
      <rdfs:label xml:lang='en'>country</rdfs:label>
      <rdfs:comment xml:lang='en'>country name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom'>
  <rdfs:label xml:lang='en'>telecom</rdfs:label>
  <rdfs:comment xml:lang='en'>telecommunications address information</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom'>
      <rdfs:label xml:lang='en'>telecom</rdfs:label>
      <rdfs:comment xml:lang='en'>telecommunications address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.telephone'>
  <rdfs:label xml:lang='en'>telephone</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.telephone'>
      <rdfs:label xml:lang='en'>telephone</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.telephone.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.telephone.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.telephone.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.telephone.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.telephone.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.telephone.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.telephone.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.telephone.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.telephone.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.telephone.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.fax'>
  <rdfs:label xml:lang='en'>fax</rdfs:label>
  <rdfs:comment xml:lang='en'>fax number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.fax'>
      <rdfs:label xml:lang='en'>fax</rdfs:label>
      <rdfs:comment xml:lang='en'>fax number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.fax.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.fax.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.fax.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.fax.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.fax.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.fax.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.fax.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.fax.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.fax.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.fax.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.mobile'>
  <rdfs:label xml:lang='en'>mobile</rdfs:label>
  <rdfs:comment xml:lang='en'>mobile telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.mobile'>
      <rdfs:label xml:lang='en'>mobile</rdfs:label>
      <rdfs:comment xml:lang='en'>mobile telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.mobile.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.mobile.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.mobile.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.mobile.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.mobile.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.mobile.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.mobile.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.mobile.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.mobile.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.mobile.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.pager'>
  <rdfs:label xml:lang='en'>pager</rdfs:label>
  <rdfs:comment xml:lang='en'>pager number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.pager'>
      <rdfs:label xml:lang='en'>pager</rdfs:label>
      <rdfs:comment xml:lang='en'>pager number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.pager.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.pager.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.pager.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.pager.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.pager.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.pager.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.pager.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.pager.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.telecom.pager.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.telecom.pager.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.online'>
  <rdfs:label xml:lang='en'>online</rdfs:label>
  <rdfs:comment xml:lang='en'>online address information</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.online'>
      <rdfs:label xml:lang='en'>online</rdfs:label>
      <rdfs:comment xml:lang='en'>online address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.online.email'>
  <rdfs:label xml:lang='en'>email</rdfs:label>
  <rdfs:comment xml:lang='en'>email address</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.online'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.online.email'>
      <rdfs:label xml:lang='en'>email</rdfs:label>
      <rdfs:comment xml:lang='en'>email address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.home-info.online.uri'>
  <rdfs:label xml:lang='en'>uri</rdfs:label>
  <rdfs:comment xml:lang='en'>home page address</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.home-info.online'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.home-info.online.uri'>
      <rdfs:label xml:lang='en'>uri</rdfs:label>
      <rdfs:comment xml:lang='en'>home page address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info'>
  <rdfs:label xml:lang='en'>business-info</rdfs:label>
  <rdfs:comment xml:lang='en'>thirdparty's business contact information</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info'>
      <rdfs:label xml:lang='en'>business-info</rdfs:label>
      <rdfs:comment xml:lang='en'>thirdparty's business contact information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal'>
  <rdfs:label xml:lang='en'>postal</rdfs:label>
  <rdfs:comment xml:lang='en'>postal address information</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal'>
      <rdfs:label xml:lang='en'>postal</rdfs:label>
      <rdfs:comment xml:lang='en'>postal address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.name'>
  <rdfs:label xml:lang='en'>name</rdfs:label>
  <p3p:extends rdf:resource='thirdparty.business-info.postal'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.name'>
      <rdfs:label xml:lang='en'>name</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.name.prefix'>
  <rdfs:label xml:lang='en'>prefix</rdfs:label>
  <rdfs:comment xml:lang='en'>name prefix</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.name.prefix'>
      <rdfs:label xml:lang='en'>prefix</rdfs:label>
      <rdfs:comment xml:lang='en'>name prefix</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.name.given'>
  <rdfs:label xml:lang='en'>given</rdfs:label>
  <rdfs:comment xml:lang='en'>given name</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.name.given'>
      <rdfs:label xml:lang='en'>given</rdfs:label>
      <rdfs:comment xml:lang='en'>given name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.name.middle'>
  <rdfs:label xml:lang='en'>middle</rdfs:label>
  <rdfs:comment xml:lang='en'>@@@ seq? middle name</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.name.middle'>
      <rdfs:label xml:lang='en'>middle</rdfs:label>
      <rdfs:comment xml:lang='en'>@@@ seq? middle name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.name.family'>
  <rdfs:label xml:lang='en'>family</rdfs:label>
  <rdfs:comment xml:lang='en'>family name (last name)</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.name.family'>
      <rdfs:label xml:lang='en'>family</rdfs:label>
      <rdfs:comment xml:lang='en'>family name (last name)</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.name.suffix'>
  <rdfs:label xml:lang='en'>suffix</rdfs:label>
  <rdfs:comment xml:lang='en'>name suffix</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.name.suffix'>
      <rdfs:label xml:lang='en'>suffix</rdfs:label>
      <rdfs:comment xml:lang='en'>name suffix</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.name.nickname'>
  <rdfs:label xml:lang='en'>nickname</rdfs:label>
  <rdfs:comment xml:lang='en'>nickname</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.name.nickname'>
      <rdfs:label xml:lang='en'>nickname</rdfs:label>
      <rdfs:comment xml:lang='en'>nickname</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.street'>
  <rdfs:label xml:lang='en'>street</rdfs:label>
  <rdfs:comment xml:lang='en'>street address</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.street'>
      <rdfs:label xml:lang='en'>street</rdfs:label>
      <rdfs:comment xml:lang='en'>street address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.city'>
  <rdfs:label xml:lang='en'>city</rdfs:label>
  <rdfs:comment xml:lang='en'>city</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.city'>
      <rdfs:label xml:lang='en'>city</rdfs:label>
      <rdfs:comment xml:lang='en'>city</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.stateprov'>
  <rdfs:label xml:lang='en'>stateprov</rdfs:label>
  <rdfs:comment xml:lang='en'>State or Province</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.stateprov'>
      <rdfs:label xml:lang='en'>stateprov</rdfs:label>
      <rdfs:comment xml:lang='en'>State or Province</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.postalcode'>
  <rdfs:label xml:lang='en'>postalcode</rdfs:label>
  <rdfs:comment xml:lang='en'>Postal Code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.postalcode'>
      <rdfs:label xml:lang='en'>postalcode</rdfs:label>
      <rdfs:comment xml:lang='en'>Postal Code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.organization'>
  <rdfs:label xml:lang='en'>organization</rdfs:label>
  <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.organization'>
      <rdfs:label xml:lang='en'>organization</rdfs:label>
      <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.postal.country'>
  <rdfs:label xml:lang='en'>country</rdfs:label>
  <rdfs:comment xml:lang='en'>country name</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.postal.country'>
      <rdfs:label xml:lang='en'>country</rdfs:label>
      <rdfs:comment xml:lang='en'>country name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom'>
  <rdfs:label xml:lang='en'>telecom</rdfs:label>
  <rdfs:comment xml:lang='en'>telecommunications address information</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom'>
      <rdfs:label xml:lang='en'>telecom</rdfs:label>
      <rdfs:comment xml:lang='en'>telecommunications address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.telephone'>
  <rdfs:label xml:lang='en'>telephone</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.telephone'>
      <rdfs:label xml:lang='en'>telephone</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.telephone.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.telephone.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.telephone.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.telephone.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.telephone.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.telephone.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.telephone.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.telephone.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.telephone.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.telephone.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.fax'>
  <rdfs:label xml:lang='en'>fax</rdfs:label>
  <rdfs:comment xml:lang='en'>fax number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.fax'>
      <rdfs:label xml:lang='en'>fax</rdfs:label>
      <rdfs:comment xml:lang='en'>fax number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.fax.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.fax.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.fax.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.fax.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.fax.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.fax.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.fax.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.fax.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.fax.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.fax.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.mobile'>
  <rdfs:label xml:lang='en'>mobile</rdfs:label>
  <rdfs:comment xml:lang='en'>mobile telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.mobile'>
      <rdfs:label xml:lang='en'>mobile</rdfs:label>
      <rdfs:comment xml:lang='en'>mobile telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.mobile.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.mobile.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.mobile.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.mobile.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.mobile.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.mobile.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.mobile.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.mobile.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.mobile.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.mobile.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.pager'>
  <rdfs:label xml:lang='en'>pager</rdfs:label>
  <rdfs:comment xml:lang='en'>pager number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.pager'>
      <rdfs:label xml:lang='en'>pager</rdfs:label>
      <rdfs:comment xml:lang='en'>pager number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.pager.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.pager.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.pager.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.pager.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.pager.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.pager.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.pager.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.pager.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.telecom.pager.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.telecom.pager.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.online'>
  <rdfs:label xml:lang='en'>online</rdfs:label>
  <rdfs:comment xml:lang='en'>online address information</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.online'>
      <rdfs:label xml:lang='en'>online</rdfs:label>
      <rdfs:comment xml:lang='en'>online address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.online.email'>
  <rdfs:label xml:lang='en'>email</rdfs:label>
  <rdfs:comment xml:lang='en'>email address</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.online'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.online.email'>
      <rdfs:label xml:lang='en'>email</rdfs:label>
      <rdfs:comment xml:lang='en'>email address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.business-info.online.uri'>
  <rdfs:label xml:lang='en'>uri</rdfs:label>
  <rdfs:comment xml:lang='en'>home page address</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty.business-info.online'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.business-info.online.uri'>
      <rdfs:label xml:lang='en'>uri</rdfs:label>
      <rdfs:comment xml:lang='en'>home page address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.employer'>
  <rdfs:label xml:lang='en'>employer</rdfs:label>
  <rdfs:comment xml:lang='en'>thirdparty's employer</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.employer'>
      <rdfs:label xml:lang='en'>employer</rdfs:label>
      <rdfs:comment xml:lang='en'>thirdparty's employer</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;thirdparty.department'>
  <rdfs:label xml:lang='en'>department</rdfs:label>
  <rdfs:comment xml:lang='en'>department</rdfs:comment>
  <p3p:extends rdf:resource='thirdparty'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Thirdparty.department'>
      <rdfs:label xml:lang='en'>department</rdfs:label>
      <rdfs:comment xml:lang='en'>department</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:StructuredDataElementClass rdf:about="&p3pb;Business">
  <rdfs:label>business</rdfs:label>
  <rdfs:subClassOf rdf:resource="&p3p;StructuredDataElement"/>
</p3p:StructuredDataElementClass>

<p3p:DataElementComponent rdf:about='&p3pb;business.name'>
  <rdfs:label xml:lang='en'>name</rdfs:label>
  <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
  <p3p:extends rdf:resource='business'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.name'>
      <rdfs:label xml:lang='en'>name</rdfs:label>
      <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.department'>
  <rdfs:label xml:lang='en'>department</rdfs:label>
  <rdfs:comment xml:lang='en'>department</rdfs:comment>
  <p3p:extends rdf:resource='business'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.department'>
      <rdfs:label xml:lang='en'>department</rdfs:label>
      <rdfs:comment xml:lang='en'>department</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.cert'>
  <rdfs:label xml:lang='en'>cert</rdfs:label>
  <rdfs:comment xml:lang='en'>organization identity certificate</rdfs:comment>
  <p3p:extends rdf:resource='business'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Business.cert'>
      <rdfs:label xml:lang='en'>cert</rdfs:label>
      <rdfs:comment xml:lang='en'>organization identity certificate</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.cert.key'>
  <rdfs:label xml:lang='en'>key</rdfs:label>
  <rdfs:comment xml:lang='en'>certificate key</rdfs:comment>
  <p3p:extends rdf:resource='business.cert'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.cert.key'>
      <rdfs:label xml:lang='en'>key</rdfs:label>
      <rdfs:comment xml:lang='en'>certificate key</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.cert.format'>
  <rdfs:label xml:lang='en'>format</rdfs:label>
  <rdfs:comment xml:lang='en'>certificate format</rdfs:comment>
  <p3p:extends rdf:resource='business.cert'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.cert.format'>
      <rdfs:label xml:lang='en'>format</rdfs:label>
      <rdfs:comment xml:lang='en'>certificate format</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-uniqueid'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info'>
  <rdfs:label xml:lang='en'>contact-info</rdfs:label>
  <rdfs:comment xml:lang='en'>contact information for the organization</rdfs:comment>
  <p3p:extends rdf:resource='business'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Business.contact-info'>
      <rdfs:label xml:lang='en'>contact-info</rdfs:label>
      <rdfs:comment xml:lang='en'>contact information for the organization</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal'>
  <rdfs:label xml:lang='en'>postal</rdfs:label>
  <rdfs:comment xml:lang='en'>postal address information</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal'>
      <rdfs:label xml:lang='en'>postal</rdfs:label>
      <rdfs:comment xml:lang='en'>postal address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.name'>
  <rdfs:label xml:lang='en'>name</rdfs:label>
  <p3p:extends rdf:resource='business.contact-info.postal'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.name'>
      <rdfs:label xml:lang='en'>name</rdfs:label>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.name.prefix'>
  <rdfs:label xml:lang='en'>prefix</rdfs:label>
  <rdfs:comment xml:lang='en'>name prefix</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.name.prefix'>
      <rdfs:label xml:lang='en'>prefix</rdfs:label>
      <rdfs:comment xml:lang='en'>name prefix</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.name.given'>
  <rdfs:label xml:lang='en'>given</rdfs:label>
  <rdfs:comment xml:lang='en'>given name</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.name.given'>
      <rdfs:label xml:lang='en'>given</rdfs:label>
      <rdfs:comment xml:lang='en'>given name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.name.middle'>
  <rdfs:label xml:lang='en'>middle</rdfs:label>
  <rdfs:comment xml:lang='en'>@@@ seq? middle name</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.name.middle'>
      <rdfs:label xml:lang='en'>middle</rdfs:label>
      <rdfs:comment xml:lang='en'>@@@ seq? middle name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.name.family'>
  <rdfs:label xml:lang='en'>family</rdfs:label>
  <rdfs:comment xml:lang='en'>family name (last name)</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.name.family'>
      <rdfs:label xml:lang='en'>family</rdfs:label>
      <rdfs:comment xml:lang='en'>family name (last name)</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.name.suffix'>
  <rdfs:label xml:lang='en'>suffix</rdfs:label>
  <rdfs:comment xml:lang='en'>name suffix</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.name.suffix'>
      <rdfs:label xml:lang='en'>suffix</rdfs:label>
      <rdfs:comment xml:lang='en'>name suffix</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.name.nickname'>
  <rdfs:label xml:lang='en'>nickname</rdfs:label>
  <rdfs:comment xml:lang='en'>nickname</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal.name'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.name.nickname'>
      <rdfs:label xml:lang='en'>nickname</rdfs:label>
      <rdfs:comment xml:lang='en'>nickname</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.street'>
  <rdfs:label xml:lang='en'>street</rdfs:label>
  <rdfs:comment xml:lang='en'>street address</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.street'>
      <rdfs:label xml:lang='en'>street</rdfs:label>
      <rdfs:comment xml:lang='en'>street address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.city'>
  <rdfs:label xml:lang='en'>city</rdfs:label>
  <rdfs:comment xml:lang='en'>city</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.city'>
      <rdfs:label xml:lang='en'>city</rdfs:label>
      <rdfs:comment xml:lang='en'>city</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.stateprov'>
  <rdfs:label xml:lang='en'>stateprov</rdfs:label>
  <rdfs:comment xml:lang='en'>State or Province</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.stateprov'>
      <rdfs:label xml:lang='en'>stateprov</rdfs:label>
      <rdfs:comment xml:lang='en'>State or Province</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.postalcode'>
  <rdfs:label xml:lang='en'>postalcode</rdfs:label>
  <rdfs:comment xml:lang='en'>Postal Code</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.postalcode'>
      <rdfs:label xml:lang='en'>postalcode</rdfs:label>
      <rdfs:comment xml:lang='en'>Postal Code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.organization'>
  <rdfs:label xml:lang='en'>organization</rdfs:label>
  <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.organization'>
      <rdfs:label xml:lang='en'>organization</rdfs:label>
      <rdfs:comment xml:lang='en'>organization name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.postal.country'>
  <rdfs:label xml:lang='en'>country</rdfs:label>
  <rdfs:comment xml:lang='en'>country name</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.postal'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.postal.country'>
      <rdfs:label xml:lang='en'>country</rdfs:label>
      <rdfs:comment xml:lang='en'>country name</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-demographic'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom'>
  <rdfs:label xml:lang='en'>telecom</rdfs:label>
  <rdfs:comment xml:lang='en'>telecommunications address information</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom'>
      <rdfs:label xml:lang='en'>telecom</rdfs:label>
      <rdfs:comment xml:lang='en'>telecommunications address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.telephone'>
  <rdfs:label xml:lang='en'>telephone</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.telephone'>
      <rdfs:label xml:lang='en'>telephone</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.telephone.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.telephone.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.telephone.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.telephone.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.telephone.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.telephone.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.telephone.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.telephone.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.telephone.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.telephone'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.telephone.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.fax'>
  <rdfs:label xml:lang='en'>fax</rdfs:label>
  <rdfs:comment xml:lang='en'>fax number</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.fax'>
      <rdfs:label xml:lang='en'>fax</rdfs:label>
      <rdfs:comment xml:lang='en'>fax number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.fax.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.fax.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.fax.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.fax.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.fax.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.fax.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.fax.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.fax.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.fax.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.fax'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.fax.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.mobile'>
  <rdfs:label xml:lang='en'>mobile</rdfs:label>
  <rdfs:comment xml:lang='en'>mobile telephone number</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.mobile'>
      <rdfs:label xml:lang='en'>mobile</rdfs:label>
      <rdfs:comment xml:lang='en'>mobile telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.mobile.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.mobile.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.mobile.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.mobile.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.mobile.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.mobile.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.mobile.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.mobile.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.mobile.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.mobile'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.mobile.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.pager'>
  <rdfs:label xml:lang='en'>pager</rdfs:label>
  <rdfs:comment xml:lang='en'>pager number</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.pager'>
      <rdfs:label xml:lang='en'>pager</rdfs:label>
      <rdfs:comment xml:lang='en'>pager number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.pager.intcode'>
  <rdfs:label xml:lang='en'>intcode</rdfs:label>
  <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.pager.intcode'>
      <rdfs:label xml:lang='en'>intcode</rdfs:label>
      <rdfs:comment xml:lang='en'>international telephone code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.pager.loccode'>
  <rdfs:label xml:lang='en'>loccode</rdfs:label>
  <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.pager.loccode'>
      <rdfs:label xml:lang='en'>loccode</rdfs:label>
      <rdfs:comment xml:lang='en'>local telephone area code</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.pager.number'>
  <rdfs:label xml:lang='en'>number</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.pager.number'>
      <rdfs:label xml:lang='en'>number</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone number</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.pager.ext'>
  <rdfs:label xml:lang='en'>ext</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.pager.ext'>
      <rdfs:label xml:lang='en'>ext</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone extension</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.telecom.pager.comment'>
  <rdfs:label xml:lang='en'>comment</rdfs:label>
  <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.telecom.pager'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.telecom.pager.comment'>
      <rdfs:label xml:lang='en'>comment</rdfs:label>
      <rdfs:comment xml:lang='en'>telephone optional comments</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-physical'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.online'>
  <rdfs:label xml:lang='en'>online</rdfs:label>
  <rdfs:comment xml:lang='en'>online address information</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:range>
    <p3p:StructuredDataElementClass rdf:about='&p3pb;Business.contact-info.online'>
      <rdfs:label xml:lang='en'>online</rdfs:label>
      <rdfs:comment xml:lang='en'>online address information</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;StructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:StructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.online.email'>
  <rdfs:label xml:lang='en'>email</rdfs:label>
  <rdfs:comment xml:lang='en'>email address</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.online'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.online.email'>
      <rdfs:label xml:lang='en'>email</rdfs:label>
      <rdfs:comment xml:lang='en'>email address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>

<p3p:DataElementComponent rdf:about='&p3pb;business.contact-info.online.uri'>
  <rdfs:label xml:lang='en'>uri</rdfs:label>
  <rdfs:comment xml:lang='en'>home page address</rdfs:comment>
  <p3p:extends rdf:resource='business.contact-info.online'/>
  <rdfs:subPropertyOf rdf:resource='&p3p;dataElementComponent'/>
  <rdfs:domain rdf:resource='&p3p;StructuredDataElement'/>
  <rdfs:range>
    <p3p:UnstructuredDataElementClass rdf:about='&p3pb;Business.contact-info.online.uri'>
      <rdfs:label xml:lang='en'>uri</rdfs:label>
      <rdfs:comment xml:lang='en'>home page address</rdfs:comment>
      <rdfs:subClassOf rdf:resource='&p3p;UnstructuredDataElement'/>
      <rdfs:subClassOf rdf:resource='&p3p;Category-online'/>
    </p3p:UnstructuredDataElementClass>
  </rdfs:range>
</p3p:DataElementComponent>


</rdf:RDF>


        

Appendix C: Policy Reference Example 2.2 in RDF

An RDF representation of the policy reference in example 2.2 from the P3P specification.

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

<!--

    Example 2.2 from the P3P spec as an RDF model

    $Id: p3p-rdf-schema.html,v 1.3 2001/12/06 12:53:14 bwm Exp $
-->

<!DOCTYPE rdf:RDF [
  <!ENTITY rdf     "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <!ENTITY rdfs    "http://www.w3.org/2000/01/rdf-schema#">
  <!ENTITY p3p     "http://www.w3.org/2001/09/P3Pv1#">
]>

<rdf:RDF
  xmlns:rdf ="&rdf;" 
  xmlns:rdfs="&rdfs;"
  xmlns:p3p ="&p3p;">

  <rdf:Seq rdf:type="&p3p;PolicyRefs">
    <p3p:expiry p3p:max-age="172800"/>

    <rdf:li>
      <p3p:PolicyRef p3p:about="/P3P/Policies.xml#first">
        <p3p:include>/*</p3p:include>
        <p3p:exclude>/cgi-bin/*</p3p:exclude>
        <p3p:exclude>/servlet/*"</p3p:exclude>
      </p3p:PolicyRef>
    </rdf:li>

    <rdf:li>
      <p3p:PolicyRef p3p:about="/P3P/Policies.xml#second">
        <p3p:include>/catalog/*</p3p:include>
      </p3p:PolicyRef>
    </rdf:li>

    <rdf:li>
      <p3p:PolicyRef p3p:about="/P3P/Policies.xml#third">
        <p3p:include>/cgi-bin/*</p3p:include>
        <p3p:include>/servlet/*</p3p:include>
      </p3p:PolicyRef>
    </rdf:li>

  </rdf:Seq>
</rdf:RDF>

<!--
  $Log: p3p-rdf-schema.html,v $
  Revision 1.3  2001/12/06 12:53:14  bwm
  changes associated with flattening the data schema

  Revision 1.2  2001/12/05 01:03:26  bwm
  added more examples, corrections etc

  Revision 1.2  2001/12/04 16:28:06  bwm
  typo

  Revision 1.1  2001/12/02 20:10:46  bwm
  Initial version

-->
        

Appendix D: Policy Reference Example 2.5 in RDF

An RDF representation of the policy reference in example 2.5 from the P3P specification.

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

<!--

    Example 2.5 from the P3P spec as an RDF model

    $Id: p3p-rdf-schema.html,v 1.3 2001/12/06 12:53:14 bwm Exp $
-->

<!DOCTYPE rdf:RDF [
  <!ENTITY rdf     "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <!ENTITY rdfs    "http://www.w3.org/2000/01/rdf-schema#">
  <!ENTITY p3p     "http://www.w3.org/2001/09/P3Pv1#">
]>

<rdf:RDF
  xmlns:rdf ="&rdf;" 
  xmlns:rdfs="&rdfs;"
  xmlns:p3p ="&p3p;">

  <rdf:Seq rdf:type="&p3p;PolicyRefs">

    <rdf:li>
      <p3p:PolicyRef p3p:about="/P3P/Policies.xml#first">
        <p3p:includeCookies p3p:cookieName="*"
                            p3p:cookieValue="*"
                            p3p:cookieDomain="*"
                            p3p:cookiePath="*"/>
      </p3p:PolicyRef>
    </rdf:li>

  </rdf:Seq>
</rdf:RDF>

<!--
  $Log: p3p-rdf-schema.html,v $
  Revision 1.3  2001/12/06 12:53:14  bwm
  changes associated with flattening the data schema

  Revision 1.2  2001/12/05 01:03:26  bwm
  added more examples, corrections etc

  Revision 1.2  2001/12/02 20:18:25  bwm
  fixed typo

  Revision 1.1  2001/12/02 20:10:46  bwm
  Initial version

-->
        

Appendix E: Policy Reference Example 2.6 in RDF

An RDF representation of the policy reference in example 2.6 from the P3P specification.

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

<!--

    Example 2.6 from the P3P spec as an RDF model

    $Id: p3p-rdf-schema.html,v 1.3 2001/12/06 12:53:14 bwm Exp $
-->

<!DOCTYPE rdf:RDF [
  <!ENTITY rdf     "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <!ENTITY rdfs    "http://www.w3.org/2000/01/rdf-schema#">
  <!ENTITY p3p     "http://www.w3.org/2001/09/P3Pv1#">
]>

<rdf:RDF
  xmlns:rdf ="&rdf;" 
  xmlns:rdfs="&rdfs;"
  xmlns:p3p ="&p3p;">

  <rdf:Seq rdf:type="&p3p;PolicyRefs">

    <rdf:li>
      <p3p:PolicyRef p3p:about="/P3P/Policies.xml#first">
        <p3p:include>/docs/*</p3p:include>
        <p3p:method>GET</p3p:method>
        <p3p:method>HEAD</p3p:method>
      </p3p:PolicyRef>
    </rdf:li>

    <rdf:li>
      <p3p:PolicyRef p3p:about="/P3P/Policies.xml#second">
        <p3p:include>/docs/*</p3p:include>
        <p3p:method>PUT</p3p:method>
        <p3p:method>DELETE</p3p:method>
      </p3p:PolicyRef>
    </rdf:li>

  </rdf:Seq>
</rdf:RDF>

<!--
  $Log: p3p-rdf-schema.html,v $
  Revision 1.3  2001/12/06 12:53:14  bwm
  changes associated with flattening the data schema

  Revision 1.2  2001/12/05 01:03:26  bwm
  added more examples, corrections etc

  Revision 1.2  2001/12/02 20:18:25  bwm
  fixed typo

  Revision 1.1  2001/12/02 20:10:46  bwm
  Initial version

-->
        

Appendix F: Policy Example 3.1 in RDF/XML

An RDF representation of policy example 3.1 from the P3P specification.

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

<!--

    Example 3.1 from the P3P spec as an RDF model

    $Id: p3p-rdf-schema.html,v 1.3 2001/12/06 12:53:14 bwm Exp $
-->

<!DOCTYPE rdf:RDF [
  <!ENTITY rdf     "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <!ENTITY rdfs    "http://www.w3.org/2000/01/rdf-schema#">
  <!ENTITY p3p     "http://www.w3.org/2001/09/P3Pv1#">
]>

<rdf:RDF
  xmlns:rdf ="&rdf;" 
  xmlns:rdfs="&rdfs;"
  xmlns:p3p ="&p3p;">

  <p3p:Policy rdf:ID="forBrowsers">
    <p3p:disclosure
  rdf:resource="http://www.catalog.example.com/PrivacyPracticeBrowsing.html"/>
    <p3p:entity rdf:parseType="Resource">

      <p3p:business.name rdf:value="CatalogExample"/>

      <p3p:business.contact-info rdf:parseType="Resource">
        <p3p:contact.postal      rdf:parseType="Resource">
          <p3p:postal.street     rdf:value="4000 Lincoln Ave."/>
          <p3p:postal.city       rdf:value="Birmingham"/>
          <p3p:postal.stateprov  rdf:value="MI"/>
          <p3p:postal.country    rdf:value="USA"/>
        </p3p:contact.postal>

        <p3p:contact.online rdf:parseType="Resource">
          <p3p:online.email rdf:value="catalog@example.com"/>
        </p3p:contact.online>

        <p3p:contact.telecom rdf:parseType="Resource">
          <p3p:telephonenum.intcode rdf:value="1"/>
          <p3p:telephonenum.loccode rdf:value="248"/>
          <p3p:telephonnum.number   rdf:value="3926753"/>
        </p3p:contact.telecom>
      </p3p:business.contact-info>
    </p3p:entity>
      
    <p3p:access rdf:resource="&p3p;InfoClass-nonident"/>

    <p3p:resolutionProcedure>
      <p3p:ResolutionProcedure-independent-organization>
        <p3p:service rdf:resource="http://www.PrivacySeal.example.org"/>
        <p3p:shortDescription>PrivacySeal.example.org</p3p:shortDescription>
        <p3p:img>
          <p3p:Image rdf:about="http://www.PrivacySeal.example.org/Logo.gif">
            <p3p:imageAltText>PrivacySeal's logo</p3p:imageAltText>
          </p3p:Image>
        </p3p:img>
        <p3p:remedy rdf:resource="&p3p;Remedy-correct"/>
      </p3p:ResolutionProcedure-independent-organization>
    </p3p:resolutionProcedure>

    <p3p:statement          rdf:parseType="Resource">
      <p3p:purposeAlways    rdf:resource="&p3p;Purpose-admin"/>
      <p3p:purposeAlways    rdf:resource="&p3p;Purpose-develop"/>
      <p3p:recipientAlways  rdf:type="&p3p;Recipient-ours"/>
      <p3p:rentention       rdf:resource="&p3p;Rentention-stated-purpose"/>
      <p3p:data             rdf:type="p3p:Dynamic.clickstream"/>
      <p3p:data             rdf:type="p3p:Dynamic.http"/>
    </p3p:statement>        

  </p3p:Policy>
</rdf:RDF>

<!--
  $Log: p3p-rdf-schema.html,v $
  Revision 1.3  2001/12/06 12:53:14  bwm
  changes associated with flattening the data schema

  Revision 1.2  2001/12/05 01:03:26  bwm
  added more examples, corrections etc

  Revision 1.2  2001/12/05 00:43:46  bwm
  tidying up

  Revision 1.1  2001/12/02 20:10:46  bwm
  Initial version

-->
        

Appendix G: Policy Example 3.2 in RDF/XML

An RDF representation of policy example 3.2 from the P3P specification.

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

<!--

    Example 3.2 P3P Policy from P3P spec

    $Id: p3p-rdf-schema.html,v 1.3 2001/12/06 12:53:14 bwm Exp $
-->

<!DOCTYPE rdf:RDF [
  <!ENTITY rdf     "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <!ENTITY rdfs    "http://www.w3.org/2000/01/rdf-schema#">
  <!ENTITY p3p     "http://www.w3.org/2001/09/P3Pv1#">
]>

<rdf:RDF
  xmlns:rdf ="&rdf;" 
  xmlns:rdfs="&rdfs;"
  xmlns:p3p ="&p3p;">

  <p3p:Policy rdf:ID="forShoppers">
    <p3p:disclosure  rdf:resource=
        "http://www.catalog.example.com/Privacy/PrivacyPracticeShopping.html"/>
    <p3p:optInstructions rdf:resource=
                                "http://catalog.example.com/preferences.html"/>

    <p3p:entity rdf:parseType="Resource">

      <p3p:business.name rdf:value="CatalogExample"/>

      <p3p:business.contact-info rdf:parseType="Resource">

        <p3p:contact.online      rdf:parseType="Resource">
          <p3p:online.email      rdf:value="catalog@example.com"/>
        </p3p:contact.online>

        <p3p:contact.telecom          rdf:parseType="Resource">
          <p3p:telecom.telephone      rdf:parseType="Resource">
            <p3p:telephonenum.intcode rdf:value="1"/>
            <p3p:telephonenum.loccode rdf:value="248"/>
            <p3p:telephonenum.number  rdf:value="928-8932"/>
          </p3p:telecom.telephone>
        </p3p:contact.telecom>

        <p3p:contact.postal      rdf:parseType="Resource">
          <p3p:postal.street     rdf:value="4000 Lincoln Ave."/>
          <p3p:postal.city       rdf:value="Birmingham"/>
          <p3p:postal.stateprov  rdf:value="MI"/>
          <p3p:postal.postalcode rdf:value="48009"/>
          <p3p:postal.country    rdf:value="USA"/>
        </p3p:contact.postal>
      </p3p:business.contact-info>
    </p3p:entity>

    <p3p:access rdf:resource="&p3p;Info-contact-and-other"/>

    <p3p:resolutionProcedure>
      <p3p:ResolutionProcedure-independent-organization>
        <p3p:service rdf:resource="http://www.PrivacySeal.example.org"/>
        <p3p:shortDescription>PrivacySeal.example.org</p3p:shortDescription>
        <p3p:img>
          <p3p:Image 
             rdf:about="http://www.PrivacySeal.example.org/Logo.gif">
            <p3p:imageAltText>PrivacySeal's logo</p3p:imageAltText>
          </p3p:Image>
        </p3p:img>
        <p3p:remedy rdf:resource="&p3p;Remedy-correct"/>
      </p3p:ResolutionProcedure-independent-organization>
    </p3p:resolutionProcedure>

    <p3p:statement rdf:parseType="Resource">

      <p3p:consequence>
        We record some information in order to serve your request 
        and to secure and improve our Web site.
      </p3p:consequence>
        
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-admin"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-develop"/>

      <p3p:recipientAlways rdf:type="&p3p;Recipient-ours"/>
      <p3p:rentention    rdf:resource="&p3p;Rentention-stated-purpose"/>

      <p3p:data>
        <p3p:User>
          <p3p:user.name             rdf:parseType="Resource"/>

          <p3p:user.home-info        rdf:parseType="Resource">
            <p3p:contact.postal      rdf:parseType="Resource"/>
            <p3p:contact.telecom     rdf:parseType="Resource">
              <p3p:telecom.telephone rdf:parseType="Resource"/>
            </p3p:contact.telecom>
            <p3p:contact.online      rdf:parseType="Resource">
              <p3p:online.email      rdf:parseType="Resource"/>
            </p3p:contact.online>
          </p3p:user.home-info>

          <p3p:user.business-info    rdf:parseType="Resource">
            <p3p:contact.postal      rdf:parseType="Resource"/>
            <p3p:contact.telecom     rdf:parseType="Resource">
              <p3p:telecom.telephone rdf:parseType="Resource"/>
            </p3p:contact.telecom>
          </p3p:user.business-info>

          <p3p:login                 rdf:parseType="Resource">
            <p3p:login.id            rdf:parseType="Resource"/>
            <p3p:login.password      rdf:parseType="Resource"/>
          </p3p:login>
        </p3p:User>
      </p3p:data>
    </p3p:statement>   

    <p3p:statement rdf:parseType="Resource">

      <p3p:consequence>
        At your request, we will send you carefully selected marketing 
        solicitations that we think you will be interested in.
      </p3p:consequence>
        
      <p3p:purposeOptIn  rdf:resource="&p3p;Purpose-contact"/>
      <p3p:purposeOptIn  rdf:resource="&p3p;Purpose-individual-decision"/>
      <p3p:purposeOptIn  rdf:resource="&p3p;Purpose-tailoring"/>

      <p3p:recipientAlways rdf:type="&p3p;Recipient-ours"/>
      <p3p:recipientOptIn  rdf:type="&p3p;Recipient-same"/>
      <p3p:rentention      rdf:resource="&p3p;Rentention-stated-purpose"/>

      <p3p:data>
        <p3p:User>
          <p3p:user.name             rdf:type="&p3p;Optional"/>

          <p3p:user.home-info        rdf:parseType="Resource">
            <p3p:contact.postal      rdf:type="&p3p;Optional"/>
            <p3p:contact.telecom     rdf:parseType="Resource">
              <p3p:telecom.telephone rdf:type="&p3p;Optional"/>
            </p3p:contact.telecom>
            <p3p:contact.online      rdf:parseType="Resource">
              <p3p:online.email      rdf:type="&p3p;Optional"/>
            </p3p:contact.online>
          </p3p:user.home-info>

          <p3p:user.business-info    rdf:parseType="Resource">
            <p3p:contact.postal      rdf:type="&p3p;Optional"/>
            <p3p:contact.telecom     rdf:parseType="Resource">
              <p3p:telecom.telephone rdf:type="&p3p;Optional"/>
            </p3p:contact.telecom>
          </p3p:user.business-info>
        </p3p:User>
      </p3p:data>
    </p3p:statement>        

    <p3p:statement rdf:parseType="Resource">

      <p3p:consequence>
        We allow you to set a password so that you
        can access your own information.
      </p3p:consequence>

      <p3p:purposeOptIn rdf:resource="&p3p;Purpose-individual-decision"/>

      <p3p:recipientAlways rdf:type="&p3p;Recipient-ours"/>
      <p3p:rentention    rdf:resource="&p3p;Rentention-stated-purpose"/>

      <p3p:data>
        <p3p:Dynamic.miscdata  rdf:type="&p3p;Category-uniqueid"/>
      </p3p:data>
    </p3p:statement>             

    <p3p:statement rdf:parseType="Resource">

      <p3p:consequence>
        At your request, we will tailor our site and 
        highlight products related to your interests.   
      </p3p:consequence>

      <p3p:purposeOptIn rdf:resource="&p3p;Purpose-pseudo-decision"/>
      <p3p:purposeOptIn rdf:resource="&p3p;Purpose-tailoring"/>

      <p3p:recipientAlways rdf:type="&p3p;Recipient-ours"/>
      <p3p:rentention    rdf:resource="&p3p;Rentention-stated-purpose"/>

      <p3p:data>
        <p3p:User>
          <p3p:user.bdate         rdf:parseType="Resource">
            <p3p:date.ymd         rdf:parseType="Resource">
              <p3p:ymd.year       rdf:type="&p3p;Optional"/>
            </p3p:date.ymd>
          </p3p:user.bdate>
          <p3p:user.gender        rdf:type="&p3p;Optional"/>
        </p3p:User>
      </p3p:data>
    </p3p:statement>                

    <p3p:statement rdf:parseType="Resource">

      <p3p:consequence>
        We tailor our site based on your past visits.  
      </p3p:consequence>

      <p3p:purposeAlways rdf:resource="&p3p;Purpose-tailoring"/>
      <p3p:purposeOptIn rdf:resource="&p3p;Purpose-develop"/>

      <p3p:recipientAlways rdf:type="&p3p;Recipient-ours"/>
      <p3p:rentention    rdf:resource="&p3p;Rentention-stated-purpose"/>

      <p3p:data>
        <p3p:Dynamic>
          <p3p:dynamic.cookies    rdf:type="&p3p;Category-state"/>
        </p3p:Dynamic>
      </p3p:data>

      <p3p:data>
        <p3p:Dynamic>
          <p3p:dynamic.miscdata   rdf:type="&p3p;Category-preference"/>
        </p3p:Dynamic>
      </p3p:data>
    </p3p:statement>
  </p3p:Policy>
</rdf:RDF>

<!--
  $Log: p3p-rdf-schema.html,v $
  Revision 1.3  2001/12/06 12:53:14  bwm
  changes associated with flattening the data schema

  Revision 1.2  2001/12/05 01:03:26  bwm
  added more examples, corrections etc

  Revision 1.1  2001/12/05 00:47:20  bwm
  initial version


-->
        

Appendix H: Example att in RDF/XML

An RDF/XML representation of a P3P policy file obtained from a web site.

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

<!--

    Example of real P3P policy taken from AT&T site

    $Id: p3p-rdf-schema.html,v 1.3 2001/12/06 12:53:14 bwm Exp $
-->

<!DOCTYPE rdf:RDF [
  <!ENTITY rdf     "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <!ENTITY rdfs    "http://www.w3.org/2000/01/rdf-schema#">
  <!ENTITY p3p     "http://www.w3.org/2001/09/P3Pv1#">
]>

<rdf:RDF
  xmlns:rdf ="&rdf;" 
  xmlns:rdfs="&rdfs;"
  xmlns:p3p ="&p3p;">

  <p3p:Policy rdf:ID="general">
    <p3p:disclosure rdf:resource="http://www.att.com/privacy"/>
    <p3p:optInstructions rdf:resource="http://www.att.com/privacy/consumer/"/>

    <p3p:entity rdf:parseType="Resource">

      <p3p:business.name rdf:value="AT&amp;T"/>

      <p3p:business.contact-info rdf:parseType="Resource">

        <p3p:contact.online      rdf:parseType="Resource">
          <p3p:online.uri        rdf:value=" http://www.att.com/"/>
        </p3p:contact.online>

        <p3p:contact.telecom     rdf:parseType="Resource">
          <p3p:telecom.telephone rdf:parseType="Resource">
            <p3p:telephonenum.intcode rdf:value="1"/>
            <p3p:telephonenum.loccode rdf:value="888"/>
            <p3p:telephonenum.number  rdf:value="928-8932"/>
          </p3p:telecom.telephone>
        </p3p:contact.telecom>
      </p3p:business.contact-info>
    </p3p:entity>

    <p3p:access rdf:resource="&p3p;Info-contact-and-other"/>

    <p3p:resolutionProcedure>
      <p3p:ResolutionProcedure-independent-organization>
        <p3p:service rdf:resource="http://www.bbbonline.org"/>
        <p3p:shortDescription>BBBOnline</p3p:shortDescription>
        <p3p:longDescription>BBBOnline Privacy Program</p3p:longDescription>
        <p3p:img>
          <p3p:Image 
             rdf:about="http://www.att.com/CDA/images/privacyseal6.gif">
            <p3p:imageAltText>BBBOnline Privacy Seal</p3p:imageAltText>
          </p3p:Image>
        </p3p:img>
      </p3p:ResolutionProcedure-independent-organization>
    </p3p:resolutionProcedure>

    <p3p:resolutionProcedure>
      <p3p:ResolutionProcedure>
        <p3p:service rdf:resource="http://www.att.com/privacy/"/>
        <p3p:shortDescription>Customer service</p3p:shortDescription>
        <p3p:longDescription>
           If you are a consumer with concerns about the AT online
           privacy policy or its implementation you may contact us
           at 1-888-9-ATT-WEB. If you are a business customer, please
           call 1-877-744-4531.
        </p3p:longDescription>
        <p3p:remedy rdf:resource="&p3p;Remedy-correct"/>
      </p3p:ResolutionProcedure>
    </p3p:resolutionProcedure>

    <p3p:resolutionProcedure>
      <p3p:ResolutionProcedure-law>
        <p3p:service rdf:resource="http://www.fcc.gov/ccb/ppp/Cpni/"/>
        <p3p:shortDescription>
          Privacy of Customer Information
        </p3p:shortDescription>
        <p3p:longDescription>
           Customer Proprietary Network Information, Common Carrier 
           Regulation, Section 222 of the Telecommunications Act of
           1996, the Federal Communications Commission's Orders and Rules
        </p3p:longDescription>
        <p3p:remedy rdf:resource="&p3p;Remedy-law"/>
      </p3p:ResolutionProcedure-law>
    </p3p:resolutionProcedure>

    <p3p:resolutionProcedure>
      <p3p:ResolutionProcedure-law>
        <p3p:service rdf:resource="http://www.fcc.gov/csb/facts/csgen.html"/>
        <p3p:shortDescription>
          Protection of Subscriber Privacy (Cable Act, as amended, Sec. 631
        </p3p:shortDescription>
        <p3p:remedy rdf:resource="&p3p;Remedy-law"/>
      </p3p:ResolutionProcedure-law>
    </p3p:resolutionProcedure>

    <p3p:resolutionProcedure>
      <p3p:ResolutionProcedure-law>
        <p3p:service 
  rdf:resource="http://www.ftc.gov/bcp/conline/edcams/kidzprivacy/index.html"/>
        <p3p:shortDescription>
          Children's Online Privacy Protection Act of 1998, and Federal
          Trade Commission Rule
        </p3p:shortDescription>
        <p3p:remedy rdf:resource="&p3p;Remedy-law"/>
      </p3p:ResolutionProcedure-law>
    </p3p:resolutionProcedure>

    <p3p:statement rdf:parseType="Resource">
      
      <p3p:extOptional rdf:parseType="Resource"
        xmlns:ext="http://www.software.ibm.com/P3P/editor/extension-1.0.html">
        <ext:group>general</ext:group>
      </p3p:extOptional>

      <p3p:consequence>
        AT&amp;T uses your personally identifiable information for
        billing purposes, to provide services to you, and to
        inform you of services that may better meet your needs,
        but we do not disclose your personally identifiable
        information to third parties who want to market products to
        you, period.
      </p3p:consequence>
        
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-admin"/>
      <p3p:purposeOptOut rdf:resource="&p3p;Purpose-contact"/>
      <p3p:purposeOptOut rdf:resource="&p3p;Purpose-current"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-develop"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-pseudo-analysis"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-pseudo-decision"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-individual-analysis"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-individual-decision"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-tailoring"/>
      <p3p:purposeOptOut rdf:resource="&p3p;Purpose-telemarketing"/>

      <p3p:recipientAlways rdf:type="&p3p;Recipient-ours"/>
      <p3p:recipientOptIn rdf:type="&p3p;Recipient-other"/>
      <p3p:recipientAlways rdf:type="&p3p;Recipient-delivery"/>
      <p3p:rentention    rdf:resource="&p3p;Rentention-indefinitely"/>
      <p3p:data>
        <p3p:Dynamic.miscdata  rdf:type="p3p:Category-physical"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-purchase"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-navigation"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-interactive"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-demographic"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-content"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-online"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-computer"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-preference"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-uniqueid"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-state"/>
      </p3p:data>
      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-government"/>
      </p3p:data>
      <p3p:data               rdf:type="p3p:Dynamic.http"/>
    </p3p:statement>    

    <p3p:statement rdf:parseType="Resource">
      
      <p3p:extOptional rdf:parseType="Resource"
        xmlns:ext="http://www.software.ibm.com/P3P/editor/extension-1.0.html">
        <ext:group>Clickstream</ext:group>
      </p3p:extOptional>

      <p3p:consequence>
        We want to make the content on our sites as relevant,
        interesting and timely as possible and to do that we use
        information about which pages you visit on our site. AT&amp;T
        uses advertising companies to deliver ads on some AT&amp;T
        Web sites. The advertising companies may also receive some
        anonymous information about ad viewing by Internet users on
        AT&amp;T Web sites. This information cannot be associated with
        a name or email address without the customer's permission.
      </p3p:consequence>
        
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-admin"/>
      <p3p:purposeOptOut rdf:resource="&p3p;Purpose-current"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-develop"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-pseudo-analysis"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-pseudo-decision"/>
      <p3p:purposeAlways rdf:resource="&p3p;Purpose-tailoring"/>

      <p3p:recipientAlways rdf:type="&p3p;Recipient-ours"/>
      <p3p:recipientOptIn rdf:type="&p3p;Recipient-other"/>
      <p3p:rentention    rdf:resource="&p3p;Rentention-indefinitely"/>

      <p3p:data>
        <p3p:Dynamic.cookies>
          <p3p:Category-preference/>
          <p3p:Category-uniqueid/>
        </p3p:Dynamic.cookies>
      </p3p:data>

      <p3p:data          rdf:type="p3p:Dynamic.clickstream"/>

      <p3p:data>
        <p3p:Dynamic.http>
          <p3p:Http.useragent  rdf:type="p3p:Optional"/>
        </p3p:Dynamic.http>
      </p3p:data>

      <p3p:data>
        <p3p:Dynamic.http>
          <p3p:Http.referrer rdf:type="p3p:Optional"/>
        </p3p:Dynamic.http>
      </p3p:data>

      <p3p:data>
        <p3p:Dynamic.miscdata  rdf:type="p3p:Category-navigation"/>
      </p3p:data>

      <p3p:data>
        <p3p:Dynamic.miscdata rdf:type="p3p:Category-computer"/>
      </p3p:data>
    </p3p:statement>
  </p3p:Policy>
</rdf:RDF>
        

Appendix I: Change History

$Log: p3p-rdf-schema.html,v $
Revision 1.3  2001/12/06 12:53:14  bwm
changes associated with flattening the data schema

Revision 1.2  2001/12/05 01:03:26  bwm
added more examples, corrections etc

Revision 1.1 2001/12/04 15:29:09 bwm Inital
version