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.

Architecture Management - Link Resource Format

1.0 SPECIFICATION DRAFT

Introduction

A resource link represents a connection from a resource managed by the Architecture Management Service Provider and another resource, given only by a URI.

The OSLC RM workgroup has defined a very generic link resource format that can be used to satisfy the AM workgroups need. We propose this format for use in the AM specification.

Namespaces

RDF/XML Representation of Link Resource

The source, target and type of a link are described by the URIs of those resources using an RDF resource of type "oslc:Link" having the properties described in the table below.

The media type used for this RDF/XML representation MUST be application/x-oslc-common-link+xml.

Some of the properties returned on a GET of a link resource are provided by the server, and are not editable by clients.

The following properties are defined on an OSLC RM link resource:

Property Required Read-only Represents
rdf:subject Yes No The source of the link
rdf:object Yes No The target of the link
rdf:predicate Yes No The type of the link
dc:description No No Some description of the link
dc:creator No Yes The creator of the link. The value of this element is free form text, or may a FOAF Person element. If the user has a URI it should be represented as a rdf:resource attribute of this element.
dc:created No Yes When the link was created. Can be expressed as free form text, or in a standard form. When in a form that can be automated, the rdf:datatype attribute with a public date time URI should be present to assist the client in parsing the value (i.e. http://www.w3.org/2001/XMLSchema#dateTime).
dc:contributor No Yes The last modifier of the link. The value of this element is free form text, or may a FOAF Person element. If the user has a URI it should be represented as a rdf:resource attribute of this element.
dc:modified No Yes When the link was last modified. Can be expressed as free form text, or in a standard form. When in a form that can be automated, the rdf:datatype attribute with a public date time URI should be present to assist the client in parsing the value (i.e. http://www.w3.org/2001/XMLSchema#dateTime).

OSLC Common.rdfs

This is the RDF Schema for the OSLC Common classes and properties.

?xml version="1.0"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns="http://open-services.net/xmlns/common/1.0/common#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xml:base="http://open-services.net/xmlns/common/1.0/common">
  <owl:Ontology rdf:about="">
    <owl:imports rdf:resource="http://xmlns.com/foaf/0.1/"/>
    <owl:imports rdf:resource="http://purl.org/dc/elements/1.1/"/>
    <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Created with TopBraid Composer</owl:versionInfo>
  </owl:Ontology>
  <rdfs:Class rdf:ID="Link">
    <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
  </rdfs:Class>
  <rdf:Description rdf:about="http://purl.org/dc/elements/1.1/creator">
    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <rdfs:domain rdf:resource="#Link"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.org/dc/elements/1.1/modified">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
    <rdfs:domain rdf:resource="#Link"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.org/dc/elements/1.1/description">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#Link"/>
  </rdf:Description>
</rdf:RDF> 

Notes:

  • Link is an rdf:Statement that specifies and asserts the statement. That is, it reifies the statement in order to enable properties to be asserted on the statement itself.

Example

In this example the link resource describes an "models" relation to a workitem (which is the target of the link) from an AM Resource (the source).

GET http://www.example.com/resources/links/link1
Accept: application/x-oslc-common-link+xml

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
   xmlns:oslc="http://open-services.net/xmlns/common/1.0/"
   xmlns:dc="http://purl.org/dc/terms/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   <oslc:Link rdf:about="http://www.example.com/links/link1">
     <rdf:subject rdf:resource="http://www.example.com/resources/amresource15"/>
     <rdf:object rdf:resource="http://www.example2.com/resources/workitem24"/>
     <rdf:predicate rdf:resource="http://www.example.com/types/models"/>
     <dc:modified>29 August 2009</dc:modified>
     <dc:creator>Dan Developer</dc:creator>
   </oslc:Link>
</rdf:RDF>

RDF/XML Representation of Link Collection Resource

A link collection resource describes a multiplicity (a number of) of links that are in some way related. A common usage of a link collection resource is to describe the link resources which are associated with an architecture management resource. A link collection is described by a resource of rdf:type "oslc:LinkCollection" which providers must be able to represent as RDF/XML document having media type application/x-oslc-common-link-collection+xml. The special case of a link collection which does not contain any links is represented as an RDF/XML document containing only a single "rdf:RDF" element.

The representation of a link collection is the aggregation of the representations of each of the links in that collection.

Example

This example shows the two links that are associated with a resource "amresource15".

GET http://example.com/resources/resource1/links
Accept: application/x-oslc-common-link-collection+xml

<?xml version="1.0" encoding="UTF-8"?>
<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:oslc="http://open-services.net/xmlns/common/1.0/"
    xmlns:dc="http://purl.org/dc/terms/"
    xmlns:foaf="http://xmlns.com/foaf/0.1/">

   <oslc:Link rdf:about="http://example.com/links/link1">
     <rdf:subject rdf:resource="http://example.com/resources/amresource15"/>
     <rdf:object rdf:resource="http://example2.com/resources/workitem24"/>
     <rdf:predicate rdf:resource="http://example.com/types/models"/>
     <dc:created>29 August 2009</dc:created>
     <dc:creator>Dan Developer</dc:creator>
   </oslc:Link>

   <oslc:Link rdf:about="http://example.com/links/link2">
     <rdf:subject rdf:resource="http://example.com/resources/amresource15"/>
     <rdf:object rdf:resource="http://example3.com/resources/requirement55"/>
     <rdf:predicate rdf:resource="http://example.com/types/satisfies"/>
     <dc:creator rdf:resource="http://example.com/users/developer1" />
     <dc:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">
         2009-10-20T19:49:47-04:00
     </dc:created>
   </oslc:Link>

   <oslc:Link rdf:about="http://example.com/links/link3">
     <rdf:subject rdf:resource="http://example.com/resources/amresource15"/>
     <rdf:object rdf:resource="http://example3.com/resources/test10"/>
     <rdf:predicate rdf:resource="http://example.com/types/models"/>
     <dc:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">
         2009-10-20T19:49:47-04:00
     </dc:created>
     <dc:creator rdf:resource="http://example.com/users/admin1">
          <foaf:Person>
              <foaf:name>Adam Administrator</foaf:name>
              <foaf:mbox rdf:resource="mailto:admin1@example.com" />
              <foaf:img rdf:resource="https://example.com/users/admin1/photo"/>
          </foaf:Person>
     </dc:creator>

   </oslc:Link>


</rdf:RDF>
































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































Back to Architecture Management Resource Definitions

Comments

Enter your comments here.

 
Edit | Attach | Print version | History: r13 < r12 < r11 < r10 < r9 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r12 - 28 Oct 2009 - 13:46:59 - JimConallen
 
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