上一页 下一页

查询能力

客户端可以查询模型并检索与特定条件匹配的资源。在Enterprise Architect中,用于访问查询功能的基URI是:

      <protocol>://<server>/<model_name>/oslc/am/qc/

应将表示特定条件的查询字符串添加到基URI并使用HTTP GET请求发送到模型。此请求的响应将采用RDF / XML格式。目前,Enterprise Architect仅支持查询Package,element和diagram属性(而不支持查询属性,操作和方案等功能)。

Enterprise Architect支持这些Query Capability参数以指定条件:

  • oslc.where - 指定资源必须满足的条件,类似于SQL语句的WHERE子句
  • oslc.select - 指定要检索的资源属性,类似于SQL语句的SELECT子句

这些参数可以单独使用,也可以组合使用,以指定检索资源的标准。

响应XML的元素

元件

描述

oslc_am:资源

表示OSLC体系结构管理2.0资源及其属性(在资源形态中定义)。此元素上的属性“rdf:about”指定用于访问资源的URL。此URL的格式为:

<protocol>:// <server> / <model_name> / oslc / am / resource / <Resource GUID With Prefix> /

名称空间前缀为“dcterms”的元素

都柏林核心元数据元素集的标准属性。

名称空间前缀为“foaf”的元素

来自朋友的朋友(FOAF)词汇的标准属性。

名称空间前缀为'ss'的元素

自定义Enterprise Architect属性。

例子

检索模型中Actor类型的所有资源:

  • URL:http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = dcterms:type =“Actor”

响应如图所示。

 

<rdf:RDF>

     <rdf:Description rdf:about="http://mybuildvm:2480/firebird_model/oslc/am/qc/">

          <rdfs:member>

               <oslc_am:Resource rdf:about="http://localhost:480/firebird_model/oslc/am/resource/el_{9EAD1087-BC1A-4b04-804F-748713D10E42}/">

                    <rdf:type rdf:resource="http://open-services.net/ns/am#Resource"/>

                    <!--Name of the Resource-->

                    <dcterms:title>A1</dcterms:title>

                    <!--Enterprise Architect Type for the Resource-->

                    <dcterms:type>Actor</dcterms:type>

                   <!--GUID of the Resource-->

                    <dcterms:identifier>el_{9EAD1087-BC1A-4b04-804F-748713D10E42}</dcterms:identifier>

                    <!--Author of the Resource-->

                    <dcterms:creator>

                         <foaf:Person>

                              <foaf:name>Sparx</foaf:name>

                         </foaf:Person>

                    </dcterms:creator>

                    <!--Created Date of the Resource-->

                    <dcterms:created>2018-06-21 09:40:58</dcterms:created>

                    <!--Modified Date of the Resource-->

                    <dcterms:modified>2018-07-12 15:43:28</dcterms:modified>

                    <!--Status of the Resource-->

                    <ss:status>Proposed</ss:status>

                    <!--Complexity of the Resource-->

                    <ss:complexity>Easy</ss:complexity>

                    <!--Phase of the Resource-->

                    <ss:phase>1.0</ss:phase>

                    <!--Version of the Resource-->

                    <ss:version>1.0</ss:version>

                    <!--Type of the Resource-->

                    <ss:resourcetype>Element</ss:resourcetype>

                    <!--GUID of the Package that contains this Actor-->

<ss:parentresourceidentifier>pk_{56DF19B4-7035-40d2-9030-21D3383562A6}</ss:parentresourceidentifier>

                    <!--Use this link to retrieve the Features of this Actor-->

                    <ss:features rdf:resource="http://localhost:480/firebird_model/oslc/am/features/el_{9EAD1087-BC1A-4b04-804F-748713D10E42}/"/>

                    <!--Use this link to retrieve the Connectors of this Actor-->

                    <ss:nestedresources rdf:resource="http://localhost:480/firebird_model/oslc/am/nestedresources/el_{9EAD1087-BC1A-4b04-804F-748713D10E42}/"/>

               </oslc_am:Resource>

          </rdfs:member>

     </rdf:Description>

</rdf:RDF>

笔记

  • 此工具可通过Enterprise Architect版本13.5或更高版本下的Enterprise Architect Pro云服务器版本获得:Small Business Edition,Team Server Edition和Enterprise Server Edition
  • 在Security Enabled模型中,您需要在GET请求中提供用户身份验证令牌(通过URL中的'useridentifier'查询字符串)以检索资源/资源要素XML

学到更多