Specification of OSLC resources

OSLC resources are based on integration object structures that include the primary business object and any child business objects that are used by an application. Attributes of the objects in the object structure are mapped to the RDF types and predicates for the resource and specify the namespaces for the resource types.

Each OSLC resource type has properties that are RDF predicates that can belong to a vocabulary specification that corresponds to the namespace for the properties. The attributes can map to the properties that are defined in vocabulary specifications such as the Dublin Core Metadata Initiative.

Each resource has a name, an associated object structure that is consumed by OSLC, and the default namespace URI for the resource. Each attribute to be integrated is mapped from an object structure with the following values:
  • The value type and namespace serve as the RDF type for the resource.
  • The name and namespace values serve as the predicate for the RDF predicate for the resource.

A resource shape document is an RDF/XML document that describes a resource, including all of its properties, attributes, and dependencies. A shape document in OSLC is an electronic way to see what a resource looks like including all of its dependencies, attributes, and properties. For example, a work order shape document includes properties that describe supporting resources such as asset, task, labor, and work log. Shape documents can cover a wide variety of areas such as assets, companies, purchase orders, and work orders. A shape document also shows what is required. A resource shape document can include links to the shape documents for child objects.

Example: Work order resource shape document

A work order resource shape document lists all of the properties, attributes, and dependencies of a work order. The following code shows an excerpt from a work order shape document called oslcwodetail. Three properties are included in this portion of the resource shape document but the document can have many more properties listed. The three properties in this portion of the shape document represent three types of nodes that are found in RDF documents. The first property, genforporevision, is a local node. The second property, multiassetlocci, is a blank node which means that no URI or literal is listed for this property in the RDF. The third property, asset, is a URI node.
 <rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:oslc="http://open-services.net/ns/core#"
    xmlns:dcterms="http://purl.org/dc/terms/>"
  <oslc:ResourceShape rdf:about="http://host/maximo/oslc/shapes/oslcwodetail">
   <oslc:describes rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_
     infrastructure#WorkOrder"/> 
    <oslc:property>
     <oslc:Property>
        <oslc:name>genforporevision</oslc:name>
        <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one"/>
        <oslc:propertyDefinition rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_
          infrastructure#genforporevision"/>
        <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
        <dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">
          PO Revision</dcterms:title>
      </oslc:Property>
    </oslc:property>
    <oslc:property>
      <oslc:Property>
        <oslc:name>multiassetlocci</oslc:name>
        <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many"/>
        <oslc:propertyDefinition rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_
          infrastructure#multiassetlocci"/>
        <oslc:valueType rdf:resource="http://open-services.net/ns/core#LocalResource"/>
        <oslc:representation rdf:resource="http://open-services.net/ns/core#Inline"/>
        <oslc:valueShape rdf:resource="http://host/maximo/oslc/shapes/oslcwodetail/multiassetlocci"/>
        <oslc:range rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_
          infrastructure#MultuAssetLocationCI"/>
      </oslc:Property>
    </oslc:property>
    <oslc:property>
      <oslc:Property>
        <oslc:name>asset</oslc:name>
        <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one"/>
        <oslc:propertyDefinition rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_
          infrastructure#asset"/>
        <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource"/>
        <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference"/>
        <oslc:valueShape rdf:resource="http://host/maximo/oslc/shapes/oslcasset"/>
        <oslc:range rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#asset"/>
        <dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">
          Asset</dcterms:title>
      </oslc:Property>
    </oslc:property>