It's all about the answers!

Ask a question

How can I get DNG resourceShape with its resourceType URI using OSLC?


Davyd Norris (8367) | asked Jan 06, 6:27 p.m.
edited Jan 06, 6:35 p.m.
I posted a comment on this related forum post but thought I should break my question out separately.

I'm working on a huge program of work with 30+ Project Areas that all need to be consistent with each other, and I've built a JavaScript app that walks through all the project areas service catalogs, extracting the metadata for Artefacts, Attributes, Data Types, Links, Workflows, etc., and compares them with a master schema and each other and displays any inconsistencies.

The problem I'm facing is that there seems to be no way to relate resourceType (which contains the Artefact URIs we have assigned) with resourceShape (which contains the actual definition and metadata, but not the URI)

resourceShape is the only one that seems to not have the URI anywhere - Properties and their enumerated values, link types etc all have the propertyDefinition containing the URI, and resourceType only contains the URI we have assigned with no link to the shape that defines it. As an example, here's an excerpt from one of the project creationFactory entries:

<oslc:creationFactory>
   <oslc:CreationFactory>
     <oslc:resourceType rdf:resource="http://myuri.com/rm/types/SSRSRequirement" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_JBeNIS8WEemd2MLGjr29ew" />
     <oslc:usage rdf:resource="http://open-services.net/ns/core#default" />
     <oslc:creation rdf:resource="https://xxxxxxxxxx.com/rm/requirementFactory?projectURL=https%3A%2F%2Fxxxxxxxxxx.com%2Frm%2Fprocess%2Fproject-areas%2F_8KqSwC8VEemd2MLGjr29ew" />
     <oslc:resourceType rdf:resource="http://open-services.net/ns/rm#Requirement" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_4SvfEYjzEemKgdH8OULn_A" />
     <oslc:resourceType rdf:resource="http://myuri.com/rm/types/Issue" />
     <oslc:resourceType rdf:resource="http://myuri.com/rm/types/Requirement" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_JBfbQS8WEemd2MLGjr29ew" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_JBe0MS8WEemd2MLGjr29ew" />
     <dcterms:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Requirement Creation Factory</dcterms:title>
     <oslc:resourceType rdf:resource="http://www.ibm.com/xmlns/rdm/types/Heading" />
     <oslc:resourceType rdf:resource="http://myuri.com/rm/types/Standard" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_JBwhAS8WEemd2MLGjr29ew" />
     <oslc:resourceType rdf:resource="http://myuri.com/rm/types/ProjectRequirement" />
     <oslc:resourceType rdf:resource="http://myuri.com/rm/types/SubsystemRequirement" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_wxhuYwzfEequVbBjSH_nPg" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_wxhuYAzfEequVbBjSH_nPg" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_JBKrIS8WEemd2MLGjr29ew" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_JBxIES8WEemd2MLGjr29ew" />
     <oslc:resourceType rdf:resource="http://www.ibm.com/xmlns/rdm/types/Information" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_JBLSMi8WEemd2MLGjr29ew" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_u4qe0XdvEemu-cvPrJP3Dg" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_JBdmES8WEemd2MLGjr29ew" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_u4rF43dvEemu-cvPrJP3Dg" />
     <oslc:resourceShape rdf:resource="https://xxxxxxxxxx.com/rm/types/_JBeNJS8WEemd2MLGjr29ew" />
     <oslc:resourceType rdf:resource="http://www.ibm.com/xmlns/rdm/types/Image" />
   </oslc:CreationFactory>
</oslc:creationFactory>

You can see the different oslc:resourceType entries with our URI, and also the oslc:resourceShape entries. The resourceShape entry for https://xxxxxxxxxx.com/rm/types/_wxhuYwzfEequVbBjSH_nPg is actually the shape that defines the resourceType "http://myuri.com/rm/types/ProjectRequirement" but if I go to that shape definition, there's nowhere that actually links the shape to the type.

Any help much appreciated!

Be the first one to answer this question!


Register or to post your answer.