儲存的查詢
當根據參照應用程式的物件結構定義 OSLC 資源時,會透過服務提供者,讓應用程式中所有已儲存的公用查詢可用。那些查詢會顯示為該 OSLC 資源的服務提供者文件中的 OSLC 查詢功能。
物件結構可以選擇性地連接至應用程式。當物件結構連接至應用程式時,該應用程式會對與此物件結構關聯的資源提供安全授權和公用已儲存查詢。您可以在應用程式中建立自訂查詢,並使它們成為公用查詢,然後在查詢資源時可以使用這些查詢。若要針對資源執行已儲存的查詢,您可以在查詢基本 URI 上執行 HTTP GET 要求,該 URI 在已儲存查詢的查詢功能中提供。會傳回符合已存查詢的 OSLC 資源清單。
每一個查詢功能內容都會顯示一個稱為 oslc:queryBase 內容的 URI,該內容可讓消費者搜尋服務提供者所管理的資源。每一個查詢功能僅支援一個稱為 oslc:resourceType 的資源類型。OSLC 規格容許查詢功能支援多種資源類型。查詢功能列出已向實作 OSLC 資源的物件結構登錄的應用程式的所有公用儲存查詢。 如果已登錄應用程式沒有任何公用已儲存查詢,或未登錄任何應用程式,則只有一個查詢功能會提供一般查詢集合 URI。對於服務提供者支援的每個資源類型,一律至少有一個查詢功能。
範例:工作單應用程式中的已儲存查詢
您在「工作單」應用程式中建立查詢,以搜尋您所擁有的工作單。
您讓查詢為公用查詢,因此查詢會在服務提供者文件中顯示為 savedQuery=OWNER+IS+ME。
OSLC 最上層物件結構也必須是工作單。
<oslc:service>
<oslc:Service>
<oslc:queryCapability>
<oslc:QueryCapability>
<oslc:resourceType rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_
infrastructure#WorkOrder"/>
<oslc:queryBase rdf:resource="http://host/maximo/oslc/os/oslcwodetail?
savedQuery=OWNER+IS+ME"/>
<oslc:label>Query OWNER IS ME</oslc:label>
<dcterms:title>OSLC query capability for My Work Orders</dcterms:title>
</oslc:QueryCapability>
</oslc:queryCapability>
<oslc:queryCapability>
<oslc:QueryCapability>
<oslc:resourceType rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_
infrastructure#WorkOrder"/>
<oslc:queryBase rdf:resource="http://host/maximo/oslc/os/oslcwodetail"/>
<oslc:label>Query WorkOrder</oslc:label>
<dcterms:title>OSLC query capability for WorkOrder</dcterms:title>
</oslc:QueryCapability>
</oslc:queryCapability>
......
