This wiki is locked. Future workgroup activity and specification development must take place at our new wiki. For more information, see this blog post about the new governance model and this post about changes to the website.

OSLC Core Specification:
RDF/XML Representation Examples

By: The OSLC Core Workgroup

Overview

In this section we introduce a fictional service with two resource types and then provide examples of representations of those resources, a Resource Shape, a Query Resource Shape, a Service Provider and query results in RDF/XML format. These example representations follow the OSLC Core Specification: Appendix B which uses a subset of RDF/XML. Note that clients should be prepared to any form of RDF/XML not just the one shown in these examples.

Also, note that we also provide JSON Examples and Turtle Examples that match the examples in this appendix.

Example Resources: fictional OSLC Blog Service

For the sole purpose of providing representation examples, we will define a fictional OSLC Blog Service with two resources: Blog Comment and Blog Entry. Each resource has a small set of required properties and each Comment is associated with an Entry. We will use these definitions in the RDF/XML examples in this appendix and in the JSON, Atom XML and Turtle examples that follow.

For example, we will define the blog entry and blog comment resources as follows:

  • Name: Entry
  • URI: http://open-services.net/ns/bogus/blogs#Entry
  • Properties:
    • dcterms:title (XML Literal, exactly-one) title of Podcast
    • dcterms:modified (DateTime, exactly-one) - date/time that comment was created
    • dcterms:creator (Local In-Line Resource of type foaf:Person, exactly-one) - name of comment author
    • dcterms:content (XML Literal, exactly-one) - content of the comment

  • Name: Comment
  • URI: http://open-services.net/ns/bogus/blogs#Comment
  • Properties:
    • dcterms:modified (DateTime, exactly-one) - date/time that comment was created
    • dcterms:creator (Resource, In-Line, range foaf:Person, exactly-one) - name of comment author
    • dcterms:content (XML Literal, exactly-one) - content of the comment
    • blog:entry (Resource, exactly-one of type blog:Entry) - link to the Blog Entry

Next, the RDF/XML examples for the key resources in our fictional OSLC Blog Service.

Resources

Below is an example RDF/XML representation of a blog entry.

URL: http://example.com/blogs/entry/1

Click HERE to see RDF/XML validation results, triples and RDF graph.

<rdf:RDF    
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dcterms="http://purl.org/dc/terms/"    
   xmlns:foaf="http://xmlns.com/foaf/0.1/"    
   xmlns:oslc_blog="http://open-services.net/ns/bogus/blogs#">

   <oslc_blog:Entry
      rdf:about="http://example.com/blogs/entry/1">

      <dcterms:title>I love trash</dcterms:title>
      <dcterms:modified>2002-10-10T12:00:00-05:00</dcterms:modified>
      <dcterms:content>
         Anything dirty or dingy or dusty. 
         Anything ragged or rotten or rusty.
      </dcterms:content>
      <dcterms:creator>
         <foaf:Person>
             <foaf:name>Oscar T. Grouch</foaf:name>
         </foaf:Person>
      </dcterms:creator>

   </oslc_blog:Entry>

</rdf:RDF>

Below is an example RDF/XML representation of a blog comment.

URL: http://example.com/comments/1

Click HERE to see RDF/XML validation results, triples and RDF graph.

<rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    
   xmlns:dcterms="http://purl.org/dc/terms/"    
   xmlns:foaf="http://xmlns.com/foaf/0.1/"    
   xmlns:oslc_blog="http://open-services.net/ns/bogus/blogs#">

<oslc_blog:Comment 
   rdf:about="http://example.com/comments/1">

   <oslc_blog:entry rdf:resource="http://example.com/blogs/entry/1" />

   <dcterms:content>LOL! Tell us how you really feel, Oscar.</dcterms:content>
   <dcterms:modified>2002-10-10T12:12:23-05:00</dcterms:modified>
   <dcterms:creator>
      <foaf:Person>
          <foaf:name>William B. Bird</foaf:name>
      </foaf:Person>
   </dcterms:creator>

</oslc_blog:Comment>

</rdf:RDF>

Service Provider Resource

Below is an RDF/XML representation of a Service Provider resource for the fictional Blog Service.

Click HERE to see RDF/XML validation results, triples and RDF graph.

<rdf:RDF
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dcterms="http://purl.org/dc/terms/" 
   xmlns:oslc="http://open-services.net/ns/core#">

<oslc:ServiceProvider 
   rdf:about="http://example.com/service-provider">

   <dcterms:title>Blogging Service</dcterms:title>  
   <dcterms:description>Example OSLC Blog Service</dcterms:description>

   <dcterms:publisher>
      <oslc:Publisher>
         <dcterms:title>OSLC Core Workgroup documentation department</dcterms:title>
         <dcterms:identifier>com.example.oslc.blogservice</dcterms:identifier>
         <oslc:icon rdf:resource="http://example.com/icons/blogservice.ico" />
      </oslc:Publisher>
   </dcterms:publisher>
   
   <oslc:prefixDefinition>
      < oslc:PrefixDefinition >
         <oslc:prefix>rdf</oslc:prefix>
         <oslc:prefixBase rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#" />
      </oslc:PrefixDefinition >
   </oslc:prefixDefinition >

   < oslc:prefixDefinition >
      < oslc:PrefixDefinition >
         <oslc:prefix>dcterms</oslc:prefix>
         <oslc:prefixBase rdf:resource="http://purl.org/dc/terms/" />
      </oslc:PrefixDefinition >
   </oslc:prefixDefinition >

   < oslc:prefixDefinition >
      < oslc:PrefixDefinition >
         <oslc:prefix>oslc</oslc:prefix>
         <oslc:prefixBase rdf:resource="http://open-services.net/ns/core#" />
      </oslc:PrefixDefinition >
   </oslc:prefixDefinition >

   < oslc:prefixDefinition >
      < oslc:PrefixDefinition >
         <oslc:prefix>oslc_blog</oslc:prefix>
         <oslc:prefixBase rdf:resource="http://open-services.net/ns/bogus/blogs#" />
      </oslc:PrefixDefinition >
   </oslc:prefixDefinition >

   <oslc:service>
      <oslc:Service>
         <oslc:domain rdf:resource="http://example.com/xmlns/example-cm#" />

         <oslc:creationFactory>
            <oslc:CreationFactory>
               <dcterms:title>Location for creation of Blog Entries</dcterms:title>
               <oslc:label>Blog Entries</oslc:label>
               <oslc:creation rdf:resource="http://example.com/creation/entries" />
               <oslc:resourceShape rdf:resource="http://example.com/shapes/blogentry" />
               <oslc:resourceType rdf:resource="http://open-services.net/ns/bogus/blogs#Entry" />
               <oslc:usage rdf:resource="http://open-services.net/ns/core#default" />
            </oslc:CreationFactory>
         </oslc:creationFactory>

         <oslc:creationFactory>
            <oslc:CreationFactory>
               <dcterms:title>Location for creation of Blog Comments</dcterms:title>
               <oslc:label>Blog Comments</oslc:label>
               <oslc:creation rdf:resource="http://example.com/creation/comments" />
               <oslc:resourceShape rdf:resource="http://example.com/shapes/blogcomment" />
            </oslc:CreationFactory>
         </oslc:creationFactory>

         <oslc:queryCapability>
            <oslc:QueryCapability>
               <dcterms:title>Blog Entry and Comment Query</dcterms:title>
               <oslc:label>blogquery</oslc:label>
               <oslc:queryBase rdf:resource="http://example.com/query" />
               <oslc:resourceShape rdf:resource="http://example.com/shapes/blogquery" />
            </oslc:QueryCapability>
         </oslc:queryCapability>

      </oslc:Service>
   </oslc:service>

</oslc:ServiceProvider>
</rdf:RDF>

Shape Resources

Below is an example RDF/XML representation of a Resource Shape for the Blog Comment resource defined above.

URL: http://example.com/shapes/commentshape

Click HERE to see RDF/XML validation results, triples and RDF graph.

<rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    
   xmlns:dcterms="http://purl.org/dc/terms/"    
   xmlns:foaf="http://xmlns.com/foaf/0.1/"    
   xmlns:oslc="http://open-services.net/ns/core#" >

<oslc:ResourceShape
   rdf:about="http://example.com/shapes/commentshape">

     <dcterms:title>Blog Comment Shape</dcterms:title>

     <oslc:name>Comment</oslc:name>
     <oslc:describes rdf:resource="http://open-services.net/ns/bogus/blogs#Comment" />

     <oslc:property>
         <oslc:Property>
             <oslc:name>modified</oslc:name>
             <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
             <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/modified" />
             <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime" />
         </oslc:Property>
     </oslc:property>

     <oslc:property>
         <oslc:Property>
             <oslc:name>creator</oslc:name>
             <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
             <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/creator" />
             <oslc:valueType rdf:resource="http://open-services.net/ns/core#LocalResource" />
             <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
             <oslc:shape rdf:resource="http://example.com/blogs/personshape" />
         </oslc:Property>
     </oslc:property>

     <oslc:property>
         <oslc:Property>
             <oslc:name>content</oslc:name>
             <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/content" />
             <oslc:valueType rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" />
             <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
         </oslc:Property>
     </oslc:property>

     <oslc:property>
         <oslc:Property>
             <oslc:name>entry</oslc:name>
             <oslc:propertyDefinition rdf:resource="http://open-services.net/ns/bogus/blogs#Entry" />
             <oslc:valueType rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" />
             <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
         </oslc:Property>
     </oslc:property>

</oslc:ResourceShape>

</rdf:RDF>

Specifying the shape of a query result

Assuming that the OSLC Core Query Syntax is being used, the query expression itself can determine the shape of the query result. Still there are reasons to provide more information to consumers so that they can understand what fields can be queried and understand the format of the data that is returned. There are several approaches that an OSLC specification can take. Here are three possibilities that we will explore further:

  1. Specify no resource or property types. Specify the fields that are available for query in the text of the specification, so that people know how to write query expressions, and return the default as property-values about resources using rdf:Description and rdfs:member. The drawback to this approach is that an automated query build will not be able to discover how to create a query expression.
  2. Specify a resource type but no property type. In the Service resource in the definition of the Query Capability, add an oslc:resourceType property-value to specify the resource type to be used for the query result. This will enable people and query builders, to a limited extent, to discover the properties that can be queried. You can then return the query results using the defined resource type and rdfs:member to hold each query result.
  3. Specify both via Query Resource Shape. In the Service resource in the definition of the Query Capability, add an oslc:resourceShape property-value to specify a complete Resource Shape that defines the shape of the query. The shape should specify both a resource type to be used for the results, and a member property to be used to represent individual query results. This will enable people and query builders to discover query-able fields and the shape specifies the form that will be returned.

Specify no resource or property types

This is option #1 above. Instead of specifying a full Resource Shape, we do not specify result types and simply return property-values about the query result URIs in a standard RDF/XML form. Because there is no resource-type, we can use an RDF-standard rdf:Description to contain the query results and we can use RDFS standard rdfs:member for each result.

Example query response based on resource type alone

Click HERE to see RDF/XML validation results, triples and RDF graph.

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:dcterms="http://purl.org/dc/terms/"
    xmlns:oslc="http://open-services.net/ns/core#"
    xmlns:oslc_blog="http://open-services.net/ns/bogus/blogs#">

    <oslc:ResponseInfo
        rdf:about="http://example.com/query?oslc.where=rdf:type=oslc_blog:Comment&amp;oslc.select=dcterms:title">
        <dcterms:title>Blog Service Query Results</dcterms:title>
    </oslc:ResponseInfo>

    <rdf:Description rdf:about="http://example.com/query">

        <rdfs:member>
            <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/5">
                <!-- Comment property values, etc. -->
                <dcterms:title>Comment #5</dcterms:title>
            </oslc_blog:Comment>
        </rdfs:member>

        <rdfs:member>
            <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/4">
                <!-- Comment property values, etc. -->
                <dcterms:title>Comment #4</dcterms:title>
            </oslc_blog:Comment>
        </rdfs:member>

        <rdfs:member>
            <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/2">
                <!-- Comment property values, etc. -->
                <dcterms:title>Comment #2</dcterms:title>
            </oslc_blog:Comment>
        </rdfs:member>

        <rdfs:member>
            <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/1">
                <!-- Comment property values, etc. -->
                <dcterms:title>Comment #1</dcterms:title>
            </oslc_blog:Comment>
        </rdfs:member>

        <rdfs:member>
            <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/3">
                <!-- Comment property values, etc. -->
                <dcterms:title>Comment #3</dcterms:title>
            </oslc_blog:Comment>
        </rdfs:member>

        <!-- etc. etc. -->

    </rdf:Description>

</rdf:RDF>

Specify a query resource type

This is option #2 above. Instead of specifying a full Resource Shape, here we simply specify the result resource type of http://open-services.net/ns/bogus/blogs#BlogQuery and use RFDS standard property rdfs:member as the member property.

Example query response based on resource type alone

Click HERE to see RDF/XML validation results, triples and RDF graph.

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:dcterms="http://purl.org/dc/terms/"
    xmlns:oslc="http://open-services.net/ns/core#"
    xmlns:oslc_blog="http://open-services.net/ns/bogus/blogs#">

    <oslc:ResponseInfo
        rdf:about="http://example.com/query?oslc.where=rdf:type=oslc_blog:Comment&amp;oslc.select=dcterms:title">
        <dcterms:title>Blog Service Query Results</dcterms:title>
    </oslc:ResponseInfo>

    <oslc_blog:BlogQuery rdf:about="http://example.com/query">

        <rdfs:member>
            <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/5">
                <!-- Comment property values, etc. -->
                <dcterms:title>Comment #5</dcterms:title>
            </oslc_blog:Comment>
        </rdfs:member>

        <rdfs:member>
            <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/4">
                <!-- Comment property values, etc. -->
                <dcterms:title>Comment #4</dcterms:title>
            </oslc_blog:Comment>
        </rdfs:member>

        <rdfs:member>
            <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/2">
                <!-- Comment property values, etc. -->
                <dcterms:title>Comment #2</dcterms:title>
            </oslc_blog:Comment>
        </rdfs:member>

        <rdfs:member>
            <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/1">
                <!-- Comment property values, etc. -->
                <dcterms:title>Comment #1</dcterms:title>
            </oslc_blog:Comment>
        </rdfs:member>

        <rdfs:member>
            <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/3">
                <!-- Comment property values, etc. -->
                <dcterms:title>Comment #3</dcterms:title>
            </oslc_blog:Comment>
        </rdfs:member>

        <!-- etc. etc. -->

    </oslc_blog:BlogQuery>

</rdf:RDF>

Specify a query resource shape

This is option #3 above. Here we specify a Resource Shape that specifies a Query Resource with resource type http://open-services.net/ns/bogus/blogs#BlogQuery and a member property of type http://open-services.net/ns/bogus/blogs#comment via a full Resource Shape:

Click HERE to see RDF/XML validation results, triples and RDF graph.

<rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dcterms="http://purl.org/dc/terms/"
   xmlns:oslc="http://open-services.net/ns/core#">

<oslc:ResourceShape
     rdf:about="http://example.com/shapes/blogquery">

     <dcterms:title>Blog Comment Query Shape</dcterms:title>
     <rdf:type rdf:resource="http://open-services.net/ns/core#ResourceShape" />

     <oslc:name>BlogQuery</oslc:name>
     <oslc:describes rdf:resource="http://open-services.net/ns/bogus/blogs#BlogQuery" />

     <oslc:property>
          <oslc:Property>
             <oslc:name>comment</oslc:name>
             <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
             <oslc:valueShape rdf:resource="http://example.com/blogs/commentshape" />
             <oslc:propertyDefinition rdf:resource="http://open-services.net/ns/bogus/blogs#comment" />
             <oslc:range rdf:resource="http://open-services.net/ns/bogus/blogs#Comment" />
             <oslc:isMemberProperty>true</oslc:isMemberProperty>
          </oslc:Property>
     </oslc:property>
 
  </oslc:ResourceShape>

</rdf:RDF>

Example query response based on shape

Below is an example query resource, one which would be returned by the below query on the query capability defined above.

Click HERE to see RDF/XML validation results, triples and RDF graph.

<rdf:RDF      
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dcterms="http://purl.org/dc/terms/"
   xmlns:oslc="http://open-services.net/ns/core#"      
   xmlns:oslc_blog="http://open-services.net/ns/bogus/blogs#">

     <oslc:ResponseInfo rdf:about="http://example.com/query?oslc.select [...] entry/1&gt;">
         <dcterms:title>Blog Service Query Results for term [remote]</dcterms:title>
     </oslc:ResponseInfo>
     
     <oslc_blog:BlogQuery rdf:about="http://example.com/query">
   
        <oslc_blog:comment>
           <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/5">
              <!-- Comment propery values, etc. -->
              <dcterms:title>Comment #5</dcterms:title>
           </oslc_blog:Comment>
        </oslc_blog:comment>
   
        <oslc_blog:comment>
           <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/4">
              <!-- Comment propery values, etc. -->
              <dcterms:title>Comment #4</dcterms:title>
           </oslc_blog:Comment>
        </oslc_blog:comment>
   
        <oslc_blog:comment>
           <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/2">
              <!-- Comment propery values, etc. -->
              <dcterms:title>Comment #2</dcterms:title>
           </oslc_blog:Comment>
        </oslc_blog:comment>
   
        <oslc_blog:comment>
           <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/1">
              <!-- Comment propery values, etc. -->
              <dcterms:title>Comment #1</dcterms:title>
           </oslc_blog:Comment>
        </oslc_blog:comment>
   
        <oslc_blog:comment>
           <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/3">
              <!-- Comment propery values, etc. -->
              <dcterms:title>Comment #3</dcterms:title>
           </oslc_blog:Comment>
        </oslc_blog:comment>
   
       <!-- etc. etc. -->
       
     </oslc_blog:BlogQuery>

</rdf:RDF>


Resource Shapes for Core resource definitions

This section provides some common resource definitions utilizing the OSLC Core Shape Resource definition. Implementations may use these shapes to as a basis for their work, providing their own property additions and additional constraints on OSLC defined properties.

foaf:Person

<rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    
   xmlns:dcterms="http://purl.org/dc/terms/"    
   xmlns:foaf="http://http://xmlns.com/foaf/0.1/"    
   xmlns:oslc="http://open-services.net/ns/core#" >

<oslc:ResourceShape
   rdf:about="http://example.com/oslc/shapes/Person">

     <dcterms:title>FOAF Person Shape</dcterms:title>
     <rdf:type rdf:resource="http://open-services.net/ns/core#ResourceShape" />

     <oslc:name>Person</oslc:name>
     <oslc:describes rdf:resource="http://http://xmlns.com/foaf/0.1/Person" />

     <oslc:property>
         <oslc:Property>
             <oslc:name>name</oslc:name>
             <oslc:propertyDefinition rdf:resource="http://http://xmlns.com/foaf/0.1/name" />
             <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
             <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         </oslc:Property>
     </oslc:property>

     <oslc:property>
         <oslc:Property>
             <oslc:name>givenName</oslc:name>
             <oslc:propertyDefinition rdf:resource="http://http://xmlns.com/foaf/0.1/givenName" />
             <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
             <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         </oslc:Property>
     </oslc:property>

     <oslc:property>
         <oslc:Property>
             <oslc:name>familyName</oslc:name>
             <oslc:propertyDefinition rdf:resource="http://http://xmlns.com/foaf/0.1/familyName" />
             <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
             <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         </oslc:Property>
     </oslc:property>

</oslc:ResourceShape>

</rdf:RDF>

oslc:Discussion

<rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    
   xmlns:dcterms="http://purl.org/dc/terms/"    
   xmlns:foaf="http://http://xmlns.com/foaf/0.1/"    
   xmlns:oslc="http://open-services.net/ns/core#" >

<oslc:ResourceShape
   rdf:about="http://example.com/oslc/shapes/Discussion">

     <dcterms:title>OSLC Core Discussion Shape</dcterms:title>
     <rdf:type rdf:resource="http://open-services.net/ns/core#ResourceShape" />

     <oslc:name>Discussion</oslc:name>
     <oslc:describes rdf:resource="http://open-services.net/ns/core#Discussion" />

     <oslc:property>
         <oslc:Property>
             <oslc:name>discussionAbout</oslc:name>
             <oslc:propertyDefinition rdf:resource="http://open-services.net/ns/core#discussionAbout" />
             <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
             <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
         </oslc:Property>
     </oslc:property>

     <oslc:property>
         <oslc:Property>
             <oslc:name>comment</oslc:name>
             <oslc:propertyDefinition rdf:resource="http://open-services.net/ns/core#comment" />
             <oslc:valueType rdf:resource="http://open-services.net/ns/core#AnyResource" />
             <oslc:range rdf:resource="http://open-services.net/ns/core#Comment" />
             <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
             <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         </oslc:Property>
     </oslc:property>

</oslc:ResourceShape>

</rdf:RDF>

oslc:Comment

<rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    
   xmlns:dcterms="http://purl.org/dc/terms/"    
   xmlns:foaf="http://http://xmlns.com/foaf/0.1/"    
   xmlns:oslc="http://open-services.net/ns/core#" >

<oslc:ResourceShape
   rdf:about="http://example.com/oslc/shapes/Comment">

     <dcterms:title>OSLC Core Comment Shape</dcterms:title>
     <rdf:type rdf:resource="http://open-services.net/ns/core#ResourceShape" />

     <oslc:name>Comment</oslc:name>
     <oslc:describes rdf:resource="http://open-services.net/ns/core#Comment" />

   <oslc:property>
      <oslc:Property>
         <oslc:name>identifier</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/identifier" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
      </oslc:Property>
   </oslc:property>
   
   <oslc:property>
      <oslc:Property>
         <oslc:name>creator</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/creator" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#AnyResource" />
         <oslc:range rdf:resource="http://http://xmlns.com/foaf/0.1/Person" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
         <oslc:valueShape rdf:resource="http://example.com/oslc/shapes/Person" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>title</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/title" />
         <oslc:valueType
            rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>created</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/created" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>description</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/description" />
         <oslc:valueType
            rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>partOfDiscussion</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/core#partOfDiscussion" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/core#Discussion" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>inReplyTo</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/core#inReplyTo" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Reference" />
         <oslc:range rdf:resource="http://open-services.net/ns/core#Comment" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
      </oslc:Property>
   </oslc:property>


</oslc:ResourceShape>

</rdf:RDF>

Topic attachments
I Attachment Action Size Date Who Comment
xmlxml blog-comment-rdf.xml manage 0.7 K 09 Aug 2010 - 13:50 DaveJohnson  
xmlxml blog-comment-shape-rdf.xml manage 2.4 K 09 Aug 2010 - 13:50 DaveJohnson  
xmlxml blog-entry-rdf.xml manage 0.8 K 09 Aug 2010 - 13:50 DaveJohnson  
xmlxml foaf-person-shape.xml manage 1.9 K 10 Jan 2011 - 13:46 SteveSpeicher FOAF Person Resource Shape
xmlxml oslc-AllowedValues-shape.xml manage 1.0 K 15 Feb 2011 - 16:59 SteveSpeicher OSLC Core AllowedValues? Resource Shape
xmlxml oslc-CreationFactory-shape.xml manage 3.1 K 15 Feb 2011 - 17:03 SteveSpeicher OSLC Core CreationFactory? Resource Shape
xmlxml oslc-Dialog-shape.xml manage 3.4 K 15 Feb 2011 - 17:04 SteveSpeicher OSLC Core Dialog Resource Shape
xmlxml oslc-Error-shape.xml manage 1.9 K 15 Feb 2011 - 17:04 SteveSpeicher OSLC Core Error Resource Shape
xmlxml oslc-ExtendedError-shape.xml manage 2.2 K 15 Feb 2011 - 17:06 SteveSpeicher OSLC Core ExtendedError? Resource Shape
xmlxml oslc-OAuthConfiguration-shape.xml manage 1.9 K 15 Feb 2011 - 17:06 SteveSpeicher OSLC Core OAuthConfiguration? Resource Shape
xmlxml oslc-PrefixDefinition-shape.xml manage 1.4 K 15 Feb 2011 - 17:06 SteveSpeicher OSLC Core PrefixDefinition? Resource Shape
xmlxml oslc-Property-shape.xml manage 8.7 K 15 Feb 2011 - 17:08 SteveSpeicher OSLC Core Property Resource Shape
xmlxml oslc-Publisher-shape.xml manage 2.2 K 15 Feb 2011 - 17:09 SteveSpeicher OSLC Core Publisher Resource Shape
xmlxml oslc-QueryCapability-shape.xml manage 3.1 K 15 Feb 2011 - 17:09 SteveSpeicher OSLC Core QueryCapability? Resource Shape
xmlxml oslc-ResourceShape-shape.xml manage 1.9 K 15 Feb 2011 - 17:10 SteveSpeicher OSLC Core ResourceShape? Resource Shape
xmlxml oslc-ServiceProviderCatalog-shape.xml manage 4.1 K 15 Feb 2011 - 17:10 SteveSpeicher OSLC Core ServiceProviderCatalog? Resource Shape
xmlxml oslc-comment-shape.xml manage 3.7 K 15 Feb 2011 - 16:58 SteveSpeicher OSLC Core Comment Resource Shape
xmlxml oslc-discussion-shape.xml manage 1.7 K 15 Feb 2011 - 16:59 SteveSpeicher OSLC Core Discussion Resource Shape
xmlxml query-result-rdf.xml manage 2.0 K 09 Aug 2010 - 13:50 DaveJohnson  
xmlxml query-result-shapeless-rdf.xml manage 1.4 K 09 Aug 2010 - 14:47 DaveJohnson  
xmlxml query-result-shapeless1-rdf.xml manage 1.9 K 10 Aug 2010 - 15:09 DaveJohnson  
xmlxml query-result-shapeless2-rdf.xml manage 1.9 K 10 Aug 2010 - 15:09 DaveJohnson  
xmlxml query-shape-rdf.xml manage 1.1 K 09 Aug 2010 - 13:50 DaveJohnson  
xmlxml service-provider-rdf.xml manage 3.7 K 09 Aug 2010 - 13:51 DaveJohnson  
Topic revision: r21 - 31 May 2012 - 13:13:42 - SteveSpeicher
Main.OSLCCoreSpecRDFXMLExamples moved from Main.OSLCCoreSpecAppendixB on 22 Oct 2010 - 18:32 by DaveJohnson - put it back
 
This site is powered by the TWiki collaboration platform Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use
Ideas, requests, problems regarding this site? Send feedback