Page 253 - 《软件学报》2020年第9期
P. 253

2874                                 Journal of Software  软件学报 Vol.31, No.9,  September 2020

               Table 5    Conventions followed by the definitions of the data security and privacy protection model
                                  表 5   数据安全和隐私保护模型定义遵循的约定
            遵循约定                                        说明
                    在本应用场景中,将个体的年龄、患病情况、残疾情况、损伤情况、经济条件等识别为个体的敏感和隐私数据,
             约定 8
                      为实现对这些数据的访问控制,将个体与这些数据间的关系实例(即三元组)识别为被保护对象,即访问客体.
             约定 9       为在访问控制策略规则中引用这些三元组,采用 RDF 具体化的方法将这些三元组具体化为陈述对象.
                              基于本体模型建立授权和许可访问控制原语,使用 SWRL 作为访问控制策略规范,
            约定 10
                             基于领域安全专家、信息拥有者或信息来源者的访问控制需求建立授权和许可规则.
             最终形成的领域语义知识库 SKB healthcare 定义如下:
                           SKB healthcare =(OB healthcare ,IB healthcare ,F healthcare ,O access_control ,F access_control ).

         3.4   案例实现
             Protégé 和 Jena 都提供了对本体标准描述语言很好的支持,应用中的本体视图采用 Protégé 4.3 进行构建,
         将每个本体和实例数据分别存储到不同的文件中,并以 Turtle 语法格式进行表示,文件扩展名为.ttl.
             原型系统基于 Jena 2.12.0 语义 Web 编程框架实现,使用 Jena 提供的命令行工具 tdbloader 将领域本体库和
         实例库加载到名为 healthcare 的 TDB     [41] 存储中,TDB 版本为 TDB 1.1.0.
             Jena TDB 是一个高性能的 RDF 专用存储.
             使用 Jena 通用规则引擎      [42] 提供的规则语法格式来描述领域规则集,并存储到扩展名为.rules 的规则文件
         中,运动处方推荐模型包含 51 条规则,部分规则如下.
             @prefix medicine:〈http://www.neusoft.com/ontologies/2017/6/medicine.owl#〉.
             @prefix location:〈http://www.neusoft.com/ontologies/2017/6/location.owl#〉.
             @prefix measurement_unit:〈http://www.neusoft.com/ontologies/2017/6/measurement_unit.owl#〉.
             @prefix exercise:〈http://www.neusoft.com/ontologies/2017/8/exercise.owl#〉.
             @prefix food:〈http://www.neusoft.com/ontologies/2017/12/food.owl#〉.
             @prefix people:〈http://www.neusoft.com/ontologies/2017/12/people.owl#〉.
             @prefix xsd:〈http://www.w3.org/2001/XMLSchema#〉.
             @include 〈RDFS〉
             ...
             #1 型糖尿病患者,如果存在高血糖和酮症,应当避免运动.
             [r9:(?person people:people.person.has_diseases medicine:m.0849qj),
                (?person people:people.person.has_symptoms medicine:高血糖),
                (?person people:people.person.has_symptoms medicine:酮症)→
                (?person people:people.person.can_do_exercise “false”∧∧xsd:boolean)]
             #空腹血糖在 13.9mmol/L(250mg/dl)以上且尿酮体阳性,或尿酮体虽阴性但空腹血糖在 16.7mmol/L
             #(300mg/dl)以上的病人,运动不仅不能促进肌肉对糖的利用,而且能促进肝脏对葡萄糖的输出,使脂肪分解
             #增加,易诱发酮症酸中毒.
             [r10:(?person people:people.person.has_diseases medicine:m.0849qj),
                (?person people:空腹血糖?value),
             ge(?value,13.9),
                 (?person people:尿酮体 medicine:阳性)→
                 (?person people:people.person.can_do_exercise “false”∧∧xsd:boolean)]
             [r11:(?person people:people.person.has_diseases medicine:m.0849qj),
                (?person people:空腹血糖?value),
             ge(?value,16.7),
   248   249   250   251   252   253   254   255   256   257   258