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

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.

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

Property Required on Read Required on Write Read-only Represents
rdf:subject Yes Yes Yes The source of the link
rdf:object Yes Yes Yes The target of the link
rdf:predicate Yes Yes Yes The type of the link
dc:description No No No Some description of the link
dc:creator No No Yes Who created 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 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 No Yes Who last modified 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 No Yes When the link was last modified. MAY be expressed as free form text, or in a standard form. When in a form that can be automated, the rdf:datatype property 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).

Example

Example 1. All Optional Information Specified

In this example the link resource describes an "elaborates" relation from an AM resource to a requirement, indicating that the AM resource (subject) is an elaboration (predicate) of the requirement (object). All the optional fields are specified. The creator and contributor elements use the FOAF Person vocabulary.

GET http://am.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:foaf="http://xmlns.com/foaf/0.1/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

   <oslc:Link rdf:about="http://am.example.com/resources/links/link1">
     <rdf:subject rdf:resource="http://am.example.com/resources/amresource55"/>
     <rdf:object rdf:resource="http://req.example.com/resources/requirement24"/>
     <rdf:predicate rdf:resource="http://example.com/types/elaborates"/>
     <dc:description>This is a full elaboration of the requirement.</dc:description>
     <dc:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">
         2009-10-20T19:49:47-04:00
     </dc:created>
     <dc:creator rdf:resource="https://example.com/users/dan">
          <foaf:Person>
              <foaf:name>Dan Designer</foaf:name>
              <foaf:mbox rdf:resource="mailto:dan@example.com" />
              <foaf:img rdf:resource="https://example.com/users/photo/dan"/>
          </foaf:Person>
     </dc:creator>
     <dc:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">
         2009-11-03T08:53:00-04:00
     </dc:modified>
     <dc:contributor rdf:resource="https://example.com/users/ana">
          <foaf:Person>
              <foaf:name>Ana Analyst</foaf:name>
              <foaf:mbox rdf:resource="mailto:ana@example.com" />
              <foaf:img rdf:resource="https://example.com/users/photo/ana"/>
          </foaf:Person>
     </dc:contributor>

   </oslc:Link>
</rdf:RDF>

Example 2. Minimal Information Specified

In this example the link resource describes an "elaborates" relation from an AM resource to a requirement, indicating that the AM resource (subject) is an elaboration (predicate) of the requirement (object). No optional fields are specified.

GET http://am.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:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

   <oslc:Link rdf:about="http://am.example.com/resources/links/link1">
     <rdf:subject rdf:resource="http://am.example.com/resources/amresource55"/>
     <rdf:object rdf:resource="http://req.example.com/resources/requirement24"/>
     <rdf:predicate rdf:resource="http://example.com/types/elaborates"/>
   </oslc:Link>
</rdf:RDF>

Example 2. Creator specified as simple string

In this example the link resource describes an "elaborates" relation from an AM resource to a requirement, indicating that the AM resource (subject) is an elaboration (predicate) of the requirement (object). The creator and created elements are returned, with the creator specified as a simple string.

GET http://am.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:foaf="http://xmlns.com/foaf/0.1/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

   <oslc:Link rdf:about="http://am.example.com/resources/links/link1">
     <rdf:subject rdf:resource="http://am.example.com/resources/amresource55"/>
     <rdf:object rdf:resource="http://req.example.com/resources/requirement24"/>
     <rdf:predicate rdf:resource="http://example.com/types/elaborates"/>
     <dc:description>This is a full elaboration of the requirement.</dc:description>
     <dc:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">
         2009-10-20T19:49:47-04:00
     </dc:created>
     <dc:creator>Dan Developer</dc:creator>
   </oslc:Link>
</rdf:RDF>

Example 4. Creator specified as URI

In this example the link resource describes an "elaborates" relation from an AM resource to a requirement, indicating that the AM resource (subject) is an elaboration (predicate) of the requirement (object). The creator is specified only with a URI. The URI may be used to get more information about the identity from some other service.

GET http://am.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:foaf="http://xmlns.com/foaf/0.1/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

   <oslc:Link rdf:about="http://am.example.com/resources/links/link1">
     <rdf:subject rdf:resource="http://am.example.com/resources/amresource55"/>
     <rdf:object rdf:resource="http://req.example.com/resources/requirement24"/>
     <rdf:predicate rdf:resource="http://example.com/types/elaborates"/>
     <dc:description>This is a full elaboration of the requirement.</dc:description>
     <dc:creator rdf:resource="http://example.com/users/dan"/>
   </oslc:Link>
</rdf:RDF>

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.





























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































Back to Architecture Management Resource Definitions

Comments

Enter your comments here.

 
Topic revision: r13 - 13 Nov 2009 - 15:58:28 - 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