조회 마이그레이션

IBM® Rational® Engineering Lifecycle Manager 4.0.3 이상에서 라이프사이클 색인의 일부 데이터 표시가 변경되었습니다. 이러한 변경으로 인해 보기에서 사용되는 조회를 포함하여 SPARQL 조회를 업데이트해야 합니다. 이 주제에서는 변경사항에 대해 설명하고 모든 버전에서 작동하는 조회를 작성하는 방법을 설명합니다.

제품 표시 변경사항

버전 4.0.3에서는 데이터 표시가 발전하는 링크된 데이터 플랫폼과 더 잘 호환될 수 있도록 다음과 같은 방식으로 변경되었습니다.
  • 이제 제품과 해당 보기 간의 링크가 보기에서 제품으로의 pd_ext:isViewOf 링크 대신 제품에서 보기로의 pd:view 링크를 사용합니다.
  • 제품의 제목 문자열(pd:Item) 및 파트(pd:Part)가 단순 문자열 리터럴에서 rdf:XMLLiteral 유형으로 변경되었습니다.
  • 이제 제품의 이전 버전이 dcterms:replaces 대신 prov:wasRevisionOf 링크를 사용하여 표시됩니다.

두 가지 양식의 링크를 모두 사용하고 제목을 사용하거나 검색하기 전에 제목을 문자열에 캐스트하도록 조회를 업데이트하십시오. SPARQL 특성 경로를 사용하여 여러 대체를 일치시킬 수 있습니다. 따라서 두 대체의 UNION 또는 특성 경로(예: prov:wasRevisionOf|dcterms:replaces)를 사용하여 1.x와 4.0.3 이상의 표시를 둘 다 일치시킬 수 있습니다.

버전 정보를 확인하려면 사용자가 특정 그래프를 식별해야 하는 제품 정의에서는 두 대체가 서로 다른 그래프에 있기 때문에 pd:view|^pd:isViewOf와 같은 특성 경로가 작동하지 않습니다. 이 경우 UNION을 사용해야 합니다.

따옴표, 앰퍼샌드 또는 미만 기호를 포함하는 제목으로 제품을 조회하는 경우, 해당 문자는 4.0.3 이상의 XMLLiteral 표시에서 XML 인코딩되어야 합니다.

예를 들어 다음 조회에서는 제목에 "auto&boat" 문자, 이전 버전, 각 해당 제품의 직계 하위 제품이 포함된 제품을 표시합니다.

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX pd: <http://jazz.net/ns/pd#>
PREFIX pd_ext: <http://jazz.net/ns/pd/extensions#>

SELECT ?parentVersion ?predecessor ?childVersion
WHERE
{
   GRAPH ?parentVersion
   {
      ?parent a pd:Item ;
         dcterms:title ?title .
      OPTIONAL { ?parent prov:wasRevisionOf|dcterms:replaces ?predecessor }
   }
   FILTER regex(str(?title),".*auto(&|&)boat.*","","i")
   {
      { GRAPH ?parentVersion { ?parent pd:view ?view } }
      UNION
      { ?view pd:isViewOf ?parentVersion }
   }
   OPTIONAL { ?view dcterms:hasPart/pd_ext:binding ?childVersion }
}

제품의 변경된 ID

제품의 dcterms:identifier는 긴 고유 문자열입니다. 가능한 경우 조회에는 제품의 알려진 다른 특성을 사용하십시오. 그렇지 않으면 dcterms:identifier를 사용하는 조회를 새 ID를 사용하도록 업데이트하십시오.

제품 분기의 새 차원 특성

버전 4.0.3은 제품 분기의 차원 특성에 대한 데이터의 색인을 작성합니다. 예를 들어, 이전 조회를 기능 보강하여 상위 제품의 차원(분기) 정보를 표시할 수 있습니다.

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX pd: <http://jazz.net/ns/pd#>
PREFIX pd_ext: <http://jazz.net/ns/pd/extensions#>

SELECT ?parentVersion ?dtitle ?dvalue ?predecessor ?childVersion
WHERE
{
   GRAPH ?parentVersion
   {
      ?parent a pd:Item ;
         dcterms:title ?title .
      OPTIONAL { ?parent prov:wasRevisionOf|dcterms:replaces ?predecessor }
      OPTIONAL { ?parent pd_ext:dimensions ?bn }
   }
   FILTER regex(str(?title),".*auto(&|&)boat.*","i")
   {
      { GRAPH ?parentVersion { ?parent pd:view ?view } }
      UNION
      { ?view pd:isViewOf ?parentVersion }
   }
   OPTIONAL { ?view dcterms:hasPart/pd_ext:binding ?childVersion }
   ?bn ?dimension ?dvalue .
   ?dimension dcterms:title ?dtitle .
}

사용자 데이터 변경사항

모든 이전 릴리스에서 색인은 사용자의 이메일 주소를 올바르지 않은 URL 인코딩을 사용하여 표시했습니다. 예를 들어, 이메일 주소 URI mailto:susan@example.commailto:susan%40example.com으로 색인에 표시되었습니다. Jazz™ 4.0.3에서는 이 결함이 수정되었지만 DOORS® 9 릴리스에서는 수정되지 않았습니다. 따라서 조회는 두 양식의 이메일 주소를 모두 허용해야 합니다.

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX oslc_cm: <http://open-services.net/ns/cm#>

SELECT ?cr ?title ?contribMbox
WHERE {
  	?cr a oslc_cm:ChangeRequest ;
    		dcterms:type "Task"^^xsd:string ;
    		dcterms:title ?title ;
    dcterms:contributor/foaf:mbox ?contribMbox .
  FILTER regex(str(?contribMbox),"susan(@|%40)example.com")
}

피드백