조회는 SPARQL 조회 언어로 쓰여집니다. (SPARQL은 링크된 라이프사이클 데이터에 대한 조회 언어입니다.) 따라서, 처음부터 조회를 작성하려면 SPARQL 조회 언어를 알아야 합니다.
다음 단계에는 세 가지 사용자 정의 조회를 작성하고 실행하는 방법이 표시됩니다. 각 조회는 사용 목적으로 사용자 정의할 수 있도록 어노테이션이 지정되어 있습니다.
다음 예에는 Susan에게 지정된 열린 엔지니어링 변경 요청을 모두 조회하는 방법이 표시됩니다.
Susan에 지정된 ECR 열기
# 이름: Susan에 지정된 ECR 열기
# 설명: Susan에 지정된 열린 ECR 모두 표시
# 이 조회에 사용된 접두부
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX oslc_cm: <http://open-services.net/ns/cm#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?cr ?title ?contrib
WHERE
{
# 모든 ECR 찾기 - 이 예에서, 유형 "Task"의 작업 항목을 찾습니다. 그리고 사용하는 작업 항목의 유형으로 변경합니다.
?cr rdf:type oslc_cm:ChangeRequest ;
dcterms:type "Task"^^xsd:string ;
dcterms:title ?title ;
dcterms:contributor ?contrib .
# 원하는 사용자 이름과 일치하도록 이름 문자열을 변경합니다.
FILTER regex(str(?contrib),"susan")
# 열린 CR 찾기(닫힘, 수정됨 또는 확인됨 중 어떤 상태도 아닌 CR)
# OSLC CM 상태 술어의 조합을 사용하도록 이를 조정할 수 있습니다.
# oslc_cm:closed, oslc_cm:inprogress, oslc_cm:fixed, oslc_cm:approved, oslc_cm:reviewed, and oslc_cm:verified
{
?cr oslc_cm:closed "false"^^xsd:boolean ;
oslc_cm:fixed "false"^^xsd:boolean .
}
# 예를 들어, 위 절에 대한 다음 대체 절이 진행 중이거나 닫히지 않은 CR을 찾습니다.
# {
# { ?cr oslc_cm:inprogress "true"^^xsd:boolean } UNION { ?cr oslc_cm:closed "false"^^xsd:boolean }
# }
}
다음 예에는 실패하고 나에게 지정된 테스트 케이스를 조회하는 방법이 표시됩니다.
실패한 테스트
# 이름: 실패한 테스트
# 설명: 실패하고 나에게 지정된 테스트 케이스
# 이 조회에 사용된 접두부
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX oslc_qm: <http://open-services.net/ns/qm#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?testcase ?title
WHERE
{
# 실패한 테스트 결과와 해당 테스트 케이스를 찾습니다.
?testResult rdf:type oslc_qm:TestResult ;
oslc_qm:status "com.ibm.rqm.execution.common.state.failed"^^xsd:string ;
oslc_qm:reportsOnTestCase ?testcase .
# 나에게 지정된 테스트 케이스만 선택합니다.
# 원하는 사용자 이름과 일치하도록 이름 문자열을 변경합니다.
?testcase dcterms:contributor ?user.
FILTER regex(str(?user), "tony")
# 일치하는 테스트 케이스 제목을 찾습니다.
?testcase dcterms:title ?title .
}
다음 예에는 변경 요청 변경에 의해 영향을 받은 아티팩트를 조회하는 방법이 표시됩니다.
CR 변경에 의해 영향을 받은 아티팩트
# 설명: 변경 요청 변경에 의해 영향을 받은 아티팩트를 찾습니다.
# CR->tracks->REQ->[elaboratedBy->REQ | specifiedBy->REQ]->[verifiedBy->TC | elaboratedBy->ME]와 같은 링크에 연결합니다.
# 이 조회에 사용된 접두부
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX oslc_cm: <http://open-services.net/ns/cm#>
PREFIX oslc_rm: <http://open-services.net/ns/rm#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?cr ?type ?title ?owner
WHERE
{
?cr a oslc_cm:ChangeRequest ;
dcterms:identifier ?id ;
(oslc_cm:tracksRequirement|oslc_rm:trackedBy|oslc_rm:elaboratedBy|oslc_rm:specifiedBy|oslc_rm:validatedBy)* ?uri .
?uri dcterms:title ?title
OPTIONAL
{
?uri rdf:type/rdfs:label ?type ;
}
OPTIONAL
{
# 이 조회 파트에서는 JTS 사용자 URI 또는 DOORS FOAF 항목에서 사용자 이름을 선택하고,
# DOORS 사용자 URI 및 해당 FOAF 항목을 가져오지 않습니다.
{
?uri dcterms:contributor/foaf:name ?owner
}
UNION
{
?uri dcterms:contributor ?owner
FILTER NOT EXISTS { ?owner foaf:name ?x }
}
}
}
# 여기에 하나 이상의 작업 항목 ID 번호를 제공하거나,
# 전체 VALUES 섹션을 제거하거나 주석 처리하여 모든 작업 항목을 확인합니다.
VALUES ?id
{
"626"^^xsd:string
"627"^^xsd:string
}