How can I get DNG resourceShape with its resourceType URI using OSLC?
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)
<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!
|
3 answers
I have to same issue. Any answer? Lots of resourceShapes and resourceTypes in the same list and no apparent way to associate them. The examples just pick the first shape listed which seems to result in a type other than the one I've specified being created. |
I found a way to do it but it's not officially documented.
You can use: https://<server>/rm/types?accept=*&private=true&resourceContext=<project URI>
where the project URI is the full URI with ID for the project area you're interested in. This allows you to get the entire schema with all URIs related correctly |
|
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.