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 Asset Management 2.0 Appendix B: Resource Shapes

An appendix of the OSLC Asset Management 2.0 Specification

Overview

This defines the definitions of the OSLC Asset Management 2.0 defined resources 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.

Asset

<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#"
   xmlns:oslc_cm="http://open-services.net/ns/asset#">

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

   <dcterms:title>Asset Management V2 Asset</dcterms:title>
   <oslc:describes rdf:resource="http://open-services.net/ns/asset#Asset" />
   <rdf:type rdf:resource="http://open-services.net/ns/core#ResourceShape" />   

   <!-- OSLC Core Common Properties -->
   <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#Zero-or-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>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#Zero-or-one" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>abstract</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/abstract" />
         <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>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:valueShape rdf:resource="http://example.com/oslc/shapes/Person" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
      </oslc:Property>
   </oslc:property>
   
   <oslc:property>
      <oslc:Property>
         <oslc:name>contributor</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/contributor" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#AnyResource" />
         <oslc:range rdf:resource="http://http://xmlns.com/foaf/0.1/Person" />
         <oslc:valueShape rdf:resource="http://example.com/oslc/shapes/Person" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
      </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#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>modified</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/modified" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>
   
   <oslc:property>
      <oslc:Property>
         <oslc:name>type</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#One-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>
   
   <oslc:property>
      <oslc:Property>
         <oslc:name>serviceProvider</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/core#serviceProvider" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/core#ServiceProvider" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>instanceShape</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/core#instanceShape" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/core#ResourceShape" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>
   
   <!-- OSLC Asset additional properties -->   
   <oslc:property>
      <oslc:Property>
         <oslc:name>guid</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#guid" />
         <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>version</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#version" />
         <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>type</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/type" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#AnyResource" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
      </oslc:Property>
   </oslc:property>
   
   <oslc:property>
      <oslc:Property>
         <oslc:name>state</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#state" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#AnyResource" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>categorization</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#state" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#AnyResource" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
      </oslc:Property>
   </oslc:property>
   
   <oslc:property>
      <oslc:Property>
         <oslc:name>manufacturer</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#manufacturer" />
         <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>model</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#model" />
         <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>serialNumber</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#serialNumber" />
         <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>artifact</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#artifact" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Inline" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
      </oslc:Property>
   </oslc:property>
   
   <oslc:property>
      <oslc:Property>
         <oslc:name>artifactFactory</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#artifactFactory" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
      </oslc:Property>
   </oslc:property>
   
   <!-- OSLC Artifact additional properties -->
   <oslc:property>
      <oslc:Property>
         <oslc:name>label</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/core#label" />
         <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>content</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#content" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <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:property>
      <oslc:Property>
         <oslc:name>format</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/format" />
         <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>size</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#size" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#integer" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <!-- Relationship properties -->
   <oslc:property>
      <oslc:Property>
         <oslc:name>relation</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/relation" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
      </oslc:Property>
   </oslc:property>

   <!-- Related resource reified statement properties -->
   <oslc:property>
      <oslc:Property>
         <oslc:name>relationshipType</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/asset#relationshipType" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#AnyResource" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
      </oslc:Property>
   </oslc:property>

</oslc:ResourceShape>

</rdf:RDF>

foaf:Person

See OSLCCoreSpecRDFXMLExamples

Topic attachments
I Attachment Action Size Date Who Comment
xmlxml oslcasset-Asset-shape.xml manage 11.9 K 12 Mar 2012 - 21:04 SheehanAnderson OSLC Asset Resource Shape
Edit | Attach | Print version | History: r10 < r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r7 - 12 Mar 2012 - 21:04:48 - SheehanAnderson
 
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