Click to Rate and Give Feedback

  Switch on low bandwidth view
 
 
Connected Services Framework 3.0 Developers Guide Send comments on this topic.
Sample User Profile Vocabulary
See Also

The Connected Services Framework (CSF) provides a sample user profile vocabulary, which is defined in a Resource Description Framework (RDF) document, and you can use as the basis for your own implementation of the Profile Manager user profile vocabulary.

The vocabulary defines the possible predicates that you can use when you submit an RDF document that contains user profile information to the Profile Manager in a CreateProfileRequest message. This document defines a limited set of user profile properties that you could use in RDF-based user profiles for CSF. These include E-mail-Address, Employee-ID, Phone-Home-Primary, Phone-Mobile-Other, Phone-Office-Other, uid, and User-Principal-Name.

<?xml version="1.0"?>
<rdf:RDF xml:base=http://schemas.microsoft.com/connectedservices/pm# xmlns:csf="http://schemas.microsoft.com/connectedservices/pm#" xmlns:dc="http://purl.org/dc/elements/1.1#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
    <rdf:Description rdf:about="#User">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/>
        </rdf:type>
        <rdfs:label>PM main class for a user</rdfs:label>
    </rdf:Description>
    <rdf:Description rdf:about="#UserInfo">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/>
        </rdf:type>
        <rdfs:subClassOf>
            <rdf:Description rdf:about="#User"/>
        </rdfs:subClassOf>
    </rdf:Description>
    <rdf:Description rdf:about="#Organizational-Person">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/>
        </rdf:type>
        <rdfs:subClassOf>
            <rdf:Description rdf:about="#User"/>
        </rdfs:subClassOf>
    </rdf:Description>
    <rdf:Description rdf:about="#Profile">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/>
        </rdf:type>
        <rdfs:subClassOf>
            <rdf:Description rdf:about="#User"/>
        </rdfs:subClassOf>
    </rdf:Description>
    <rdf:Description rdf:about="#E-mail-Address">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
        </rdf:type>
        <rdfs:domain>
            <rdf:Description rdf:about="#UserInfo"/>
        </rdfs:domain>
        <rdfs:domain>
            <rdf:Description rdf:about="#Organizational-Person"/>
        </rdfs:domain>
        <rdfs:range>
            <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#string"/>
        </rdfs:range>
    </rdf:Description>
    <rdf:Description rdf:about="#Employee-ID">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
        </rdf:type>
        <rdfs:domain>
            <rdf:Description rdf:about="#Organizational-Person"/>
        </rdfs:domain>
        <rdfs:range>
            <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#integer"/>
        </rdfs:range>
    </rdf:Description>
    <rdf:Description rdf:about="#Phone-Home-Primary">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
        </rdf:type>
        <rdfs:domain>
            <rdf:Description rdf:about="#Organizational-Person"/>
        </rdfs:domain>
        <rdfs:domain>
            <rdf:Description rdf:about="#UserInfo"/>
        </rdfs:domain>
        <rdfs:range>
            <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#integer"/>
        </rdfs:range>
    </rdf:Description>
    <rdf:Description rdf:about="#Phone-Mobile-Other">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
        </rdf:type>
        <rdfs:domain>
            <rdf:Description rdf:about="#Organizational-Person"/>
        </rdfs:domain>
        <rdfs:range>
            <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#integer"/>
        </rdfs:range>
    </rdf:Description>
    <rdf:Description rdf:about="#Phone-Office-Other">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
        </rdf:type>
        <rdfs:domain>
            <rdf:Description rdf:about="#Organizational-Person"/>
        </rdfs:domain>
        <rdfs:range>
            <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#integer"/>
        </rdfs:range>
    </rdf:Description>
    <rdf:Description rdf:about="#uid">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
        </rdf:type>
        <rdfs:domain>
            <rdf:Description rdf:about="#UserInfo"/>
        </rdfs:domain>
        <rdfs:range>
            <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#string"/>
        </rdfs:range>
    </rdf:Description>
    <rdf:Description rdf:about="#User-Principal-Name">
        <rdf:type>
            <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
        </rdf:type>
        <rdfs:domain>
            <rdf:Description rdf:about="#UserInfo"/>
        </rdfs:domain>
        <rdfs:range>
            <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#string"/>
        </rdfs:range>
    </rdf:Description>
</rdf:RDF>

The rdf:Type elements for each predicate define the data type for the RDF object that you can assign to the predicate. These datatype assignments are based on the OWL ontology language. For more information, see http://www.w3.org/tr/owl-ref.

The other properties described in this document, User, UserInfo, and Organizational-Person, serve as parent properties to the other defined properties. They are associated with their child properties through the RDFS Domain and Range elements.

You can access the vocabulary by defining it as an XML namespace in the rdf:RDF element of the RDF document that you submit in the CreateProfileRequest message. For example, if you assigned the vocabulary in the previous example a URI of http://schemas.microsoft.com/connectedservices/pm#, you could link to an RDF document by creating an XMLNS attribute for it in the rdf:RDF element of an RDF document.

<?xml version="1.0"?>
<rdf:RDF xmlns:csf=http://schemas.microsoft.com/connectedservices/pm#
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
    <rdf:Description rdf:about="urn:upn_abc">
        <csf:E-mail-Address>syed@contoso.com</csf:E-mail-Address>
    </rdf:Description>
</rdf:RDF>

See Also

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker