Prefix(SWRLexample:=<http://www.semanticweb.org/ontologies/2014/1/SWRLexample#>)
Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)
Prefix(swrlb:=<http://www.w3.org/2003/11/swrlb#>)
Prefix(owl:=<http://www.w3.org/2002/07/owl#>)
Prefix(:=<http://www.semanticweb.org/ontologies/2014/1/untitled-ontology-101#>)
Prefix(time:=<http://www.w3.org/2006/time#>)
Prefix(xml:=<http://www.w3.org/XML/1998/namespace>)
Prefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(swrl:=<http://www.w3.org/2003/11/swrl#>)
Prefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)
Ontology(<http://www.semanticweb.org/ontologies/2014/1/SWRLexample>
Import(<http://www.w3.org/2006/time>)
Declaration(Class(SWRLexample:BirthYear))
SubClassOf(SWRLexample:BirthYear time:Instant)
Declaration(Class(SWRLexample:Person))
Declaration(ObjectProperty(SWRLexample:bornInYear))
ObjectPropertyDomain(SWRLexample:bornInYear SWRLexample:Person)
ObjectPropertyRange(SWRLexample:bornInYear SWRLexample:BirthYear)
Declaration(DataProperty(SWRLexample:age))
AnnotationAssertion(rdfs:comment SWRLexample:age "Age of a person in years")
DataPropertyDomain(SWRLexample:age SWRLexample:Person)
DataPropertyRange(SWRLexample:age xsd:int)
Declaration(NamedIndividual(SWRLexample:birthYear1))
ClassAssertion(SWRLexample:BirthYear SWRLexample:birthYear1)
DataPropertyAssertion(time:year SWRLexample:birthYear1 "1977"^^xsd:gYear)
Declaration(NamedIndividual(SWRLexample:p1))
ClassAssertion(SWRLexample:Person SWRLexample:p1)
ObjectPropertyAssertion(SWRLexample:bornInYear SWRLexample:p1 SWRLexample:birthYear1)
DLSafeRule(Body(ClassAtom(SWRLexample:Person Variable(<urn:swrl#p>)) ObjectPropertyAtom(SWRLexample:bornInYear Variable(<urn:swrl#p>) Variable(<urn:swrl#birthYear>)) BuiltInAtom(swrlb:subtract Variable(<urn:swrl#age>) "2014"^^xsd:integer Variable(<urn:swrl#birthYear>)))Head(DataPropertyAtom(SWRLexample:age Variable(<urn:swrl#p>) Variable(<urn:swrl#age>))))
)
下面是后续的步骤:
编写规则如下:
Person(?x) ^ hasDOB(?x, ?dob) ^ temporal:duration(?age, "now", ?dob, temporal:Years) -> hasAge(?x, ?age)
我刚开始用Protegé做本体论方面的工作,我正在尝试理解如何使用SWRL规则。我恐怕我不知道如何正确地对待它们,因为我不能产生任何输出。我将更多地解释我创建的一个简单的案例来测试这一点: 我创建了三个个体,称为A、B和C,每个个体都有一个测试属性,具有一个布尔范围。在每个属性断言选项卡上,我都初始化了它们的值,因此它们是、和。为了测试规则是如何工作的,我创建了这样一个规则:。我的理解是,如果A和
假设OWL本体论包含以下SWRL规则: 和以下对象属性断言: 当我运行的隐士推理器中的蛋白质,我得到以下推断对象属性断言: 然而,当我用owlready2加载同一个本体并运行它的hermitreasoner时,我没有得到任何推断的对象属性断言。例如: 不返回任何属性。 我确实以RDFXML格式保存了本体,并且可以使用owlready2检索SWRL规则。 owlready2推理器不支持这种推论吗?
我创建了这个本体,它包含两个类:血糖和服务。血糖有两个数据属性:范围为xsd:int的hasValu和范围为xsd:string的hasStatut。对象属性triggerService将血糖作为域,将服务作为范围。 我想用以下规则推断数据属性断言: Blood_Sugar(?x)hasValue(?X,?y)/swlb:比(?Y,126)的大小:小于(?y,500)→hasStatut(?X,高
我正在尝试创建一个受密码保护的聊天室,并以用户为例回答: Firebase:存储房间密码的方法 问题是,鉴于答案中的规则集,我不知道如何推送新数据。我的规则是这样的: 所以现在我需要一个新的聊天室。但如果我称之为: 它失败了,因为我没有写入规则来推送到聊天室/$uid。如果我这么做。 用这样的规则推送新数据的正确方法是什么?
用户和首选项由objectProperty链接。 objectProperty断言需要通过SWRL规则从其他用户方面推断。例如,如果用户有听力困难,则需要将设置为,因此: 这很好用。但是,由于我有其他SWRL规则,这些规则也为相同的用户推断,例如: 我需要的是一个规则,不知怎么的,只有在没有更高的级别已经断言的情况下才会断言偏好。在给定的示例中,即使为true,唯一断言的级别也应该是,因为是其他规
阿姆斯特朗的公理是基本的推理规则。 阿姆斯特朗的公理用于结束关系数据库的函数依赖。 推理规则是一种断言。 它可以应用于一组FD(函数依赖)以导出其他FD(函数依赖)。 使用推理规则,可以从初始集中导出额外的函数依赖。 函数依赖有种类型的推理规则: 1. 自反规则(IR1) 在反身规则中,如果是的子集,则确定。 示例 2. 增强规则(IR2) 增强也称为部分依赖。在增强中,如果确定,则确定任何。 示