首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RDFS类似于owl:等价类?

RDFS类似于owl:等价类?
EN

Stack Overflow用户
提问于 2018-04-12 14:41:47
回答 2查看 120关注 0票数 1

我有三倍说,病人P参与医疗保健遭遇E,它有输出M,一种药物处方。处方可以从药物本体论( mention Ontology,简称DrOn )中提取药物。

在这个例子中,假设M1提到了降低胆固醇的药物阿托伐他汀,它是从ChEBI进口到DrOn中的39548

prefix obo: <http://purl.obolibrary.org/obo/> :M1 obo:IAO_0000142 obo:CHEBI_39548 .

ChEBI有一个公理,即obo:CHEBI_39548具有35821的作用,即“抗胆固醇药物”。这使得人们很容易找到那些服用过阿托伐他汀或其他具有同样作用的药物的病人。

不幸的是,DrOn为某些药物制定了自己的条款,而不是从ChEBI进口它们。例如,另一种降低胆固醇的药物,罗舒伐他汀,被建模为00018679而不是38545。ChEBI对罗伐他汀的术语也加上了角色obo:CHEBI_39548,但obo:DRON_00018679没有注释。因此,在我的数据集中,使用罗舒伐他汀处方的患者不会出现在我现有的基于角色的查询中。

我将这些数据放在一个GraphDB RDFS+存储库中,并且我现在不想更改推理级别。如果是猫头鹰仓库,我只想说

obo:CHEBI_38545 owl:equivalentClass obo:DRON_00018679

是否可以使用RDFS或GraphDB自定义规则集做类似的事情?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-12 16:56:41

如果是猫头鹰仓库,我只想说 obo:CHEBI_38545 owl:equivalentClass obo:DRON_00018679 我是否可以使用RDFS或GraphDB自定义规则集做类似的事情?

First

显然,您可以用两个倒数owl:equivalentClass替换rdfs:subClassOf。至于这些提法的等价性,我认为这是相关的:

第二

owl:equivalentClass已经在RDFS中了.

第一版“工作本体学家语义网”第7章首次介绍了RDFS:

RDFS使用构造owl:equivalentClass提供了一个更直观的类等价表达式。

在GraphDB中,RDFS和RDFS(优化的)规则集支持owl:equivalentClassbuiltin_rdfsPlus-optimized.pie文件中有以下规则:

代码语言:javascript
复制
Id: owl_EquivClassBySubClass

  a <rdfs:subClassOf> b [Constraint b != a]
  b <rdfs:subClassOf> a [Cut]
------------------------------------
  a <owl:equivalentClass> b

以及下列公理:

代码语言:javascript
复制
<owl:equivalentClass> <rdf:type> <owl:TransitiveProperty>
<owl:equivalentClass> <rdf:type> <owl:SymmetricProperty>
<owl:equivalentClass> <rdfs:subPropertyOf> <rdfs:subClassOf>

在高级配置文件中,使用了两条规则:

代码语言:javascript
复制
Id: scm_eqc1
  c1 <owl:equivalentClass> c2            [Constraint c1 != c2 ]
  -------------------------------
  c1 <rdfs:subClassOf> c2
  c2 <rdfs:subClassOf> c1

Id: scm_eqc2
  c1 <rdfs:subClassOf> c2                [Constraint c1 != c2 ]
  c2 <rdfs:subClassOf> c1                
  -------------------------------
  c1 <owl:equivalentClass> c2
票数 4
EN

Stack Overflow用户

发布于 2018-04-12 18:34:50

当我在RDFS+ GraphDB回购中使用@StanislavKralin的对等GraphDB名称时.

  • 插入一些关于类:x:y的三元组,例如类:x:z
  • 断言:x:y是彼此的子类

PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix : <http://localhost/> insert data { :x a owl:Class . :y a owl:Class . :z a :x . :x rdfs:subClassOf :y . :y rdfs:subClassOf :x . }

然后查询有关:x:y:z的所有三元组

select * where { ?s ?p ?o . filter(regex(str(?s), "localhost")) } order by ?s ?p ?o

我免费得到owl:equivalentClass

+----+---------------------+-----------+ | s | p | o | +----+---------------------+-----------+ | :x | rdf:type | owl:Class | | :x | rdfs:subClassOf | :x | | :x | rdfs:subClassOf | :y | | :x | owl:equivalentClass | :x | | :x | owl:equivalentClass | :y | | :y | rdf:type | owl:Class | | :y | rdfs:subClassOf | :x | | :y | rdfs:subClassOf | :y | | :y | owl:equivalentClass | :x | | :y | owl:equivalentClass | :y | | :z | rdf:type | :x | | :z | rdf:type | :y | +----+---------------------+-----------+

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49799492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档