上一页 下一页

oslc.where参数

'oslc.where'Query参数指定资源必须满足的条件; 它类似于SQL语句的WHERE子句。此参数必须附加到Enterprise Architect中的Query Capability的基URI,如下所示:

      <protocol>://<server>/<model_name>/oslc/am/qc/?oslc.where=<conditions>

'oslc.where'查询参数的语法(在BNF语法中定义,并在OSLC查询语法规范中指定)是:

可以查询的资源属性是:

  • dcterms:title
  • dcterms:type
  • dcterms:identifier
  • dcterms:subject
  • dcterms:creator{foaf:name} / dcterms:creator{*}
  • dcterms:created
  • dcterms:modified
  • dcterms:description
  • ss:status
  • ss:complexity
  • ss:stereotype{ss:name} / ss:stereotype{ss:fqname}
  • ss:phase
  • ss:version
  • ss:language
  • ss:parentresourceidentifier
  • ss:resourcetype
  • ss:linkedresources

例子

步骤

查询

1

HTTP://localhost:480 / firebird_model / OSLC / AM / QC / oslc.where = DCTERMS:title="Class1"

检索名为“Class1”的所有资源。

2

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = dcterms:title =“Class1”and dcterms:type =“Class”

检索名为“Class1”的所有Enterprise Architect“类”类型资源。

3

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = dcterms:type =“Activity”and dcterms:created>“2018-05-01”

     或者

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = ss:resourcetype =“Element”and dcterms:type =“Activity”和dcterms:created>“2018-05-01”

检索2018-05-01之后创建的所有Enterprise Architect活动类型资源。

4

http://localhost:480/firebird_model/oslc/am/qc/?oslc.where=dcterms:creator{foaf:name}="Sparx"

备择方案:

http://localhost:480/firebird_model/oslc/am/qc/?oslc.where=dcterms:creator{foaf:name="Sparx"}

http://localhost:480/firebird_model/oslc/am/qc/?oslc.where=dcterms:creator{*}="Sparx"

http://localhost:480/firebird_model/oslc/am/qc/?oslc.where=dcterms:creator{*="Sparx"}

检索作者'Sparx'创建的所有资源。

5

http://localhost:480/firebird_model/oslc/am/qc/?oslc.where=dcterms:creator{foaf:name} in ["Sparx",”SpxSys”]


备择方案:

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = dcterms:creator {foaf:name in [“Sparx”,“SpxSys”]}

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = dcterms:[Sparx“中的创建者{*},”SpxSys“]

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = dcterms:creator {* in [“Sparx”,“SpxSys”]}

检索由Author'Sparx'或'SpxSys'创建的所有资源。

6

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = ss:stereotype {ss:fqname} =“BPMN2.0 :: Activity”

替代方案:

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = ss:stereotype {ss:fqname =“BPMN2.0 :: Activity”}

检索所有Enterprise Architect BPMN 2.0活动资源。

7

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = ss:parentresourceidentifier =“pk_ {2DFF8796-9D6F-4381-B2DC-4C7FFEB881E2}”and ss:resourcetype =“Element”

检索直接位于包含GUID {2DFF8796-9D6F-4381-B2DC-4C7FFEB881E2}的Package下的所有Enterprise Architect元素。

8

http://localhost:480/firebird_model/oslc/am/qc/?oslc.where=ss:resourcetype in ["Package","Diagram"]

检索模型中的所有Enterprise Architect包和图表。

9

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = ss:resourcetype =“Diagram and dcterms:type =”Custom“

检索模型中Enterprise Architect“Custom”类型的所有图表。

注意:要检索与图关联的图图像和图像映射,请遵循图XML的<ss:features>元素中指定的URL。

10

http://localhost:480/firebird_model/oslc/am/qc/?oslc.where=dcterms:identifier="dg_{5147E138-1F14-4738-B721-5FCC0F882FB8}"

使用Enterprise Architect GUID {5147E138-1F14-4738-B721-5FCC0F882FB8} 检索图表的所有属性

注意:要检索与图关联的图图像和图像映射,请遵循图XML的<ss:features>元素中指定的URL。

11

http://localhost:480/firebird_model/oslc/am/qc/?oslc.where=ss:linkedresources{*=<http://localhost:480/firebird_model/oslc/am/resource/el_{B55E995C-D8EA-4fa9-9006-7932294961A9}>}

检索链接到“Class1”(具有Enterprise Architect GUID {B55E995C-D8EA-4fa9-9006-7932294961A9})的所有资源。

换句话说,这将检索具有目标端为Class1的连接器的所有包和元素。

12

http://localhost:480/firebird_model/oslc/am/qc/?oslc.where=ss:linkedresources{ss:Association=<http://localhost:480/firebird_model/oslc/am/resource/el_{B55E995C-D8EA-4fa9-9006-7932294961A9}>}

检索具有“Class1”关联链接的所有资源(具有Enterprise Architect GUID {B55E995C-D8EA-4fa9-9006-7932294961A9})。

换句话说,这将检索所有具有目标端为Class1的关联连接器的包和元素。

13

http:// localhost:480 / firebird_model / oslc / am / qc /?oslc.where = name =“Class1”and dcterms:type =“Class”

返回错误响应,因为'name'不是有效的Resource Property

笔记

  • 此工具可通过Enterprise Architect版本13.5或更高版本下的Enterprise Architect Pro云服务器版本获得:Small Business Edition,Team Server Edition和Enterprise Server Edition
  • 复合术语如'dcterms:creator'和'ss:linkedresources'仅支持比较运算符'='和'in'
  • 日期必须以YYYY-MM-DD格式指定
  • 在Security Enabled模型中,您需要在GET请求中提供用户身份验证令牌(通过URL中的'useridentifier'查询字符串)以检索资源/资源要素XML

学到更多