SWRL语言内置函数(自用勿喷)

一、简介

拟议的规则具有暗示形式an antecedent(body) and consequent(head)即前因(身体)和后果(头部)。预期的含义可以是读作:只要前因中规定的条件成立,那么结果中指定的条件也必须成立。

这些规则中的原子可以是C(x),P(x,y),sameAs(x,y)或differentFrom(x,y),其中C是OWL描述,P是OWL属性和x,y是OWL个体或OWL数据值等变量。请注意,连词规则使前因可以很容易地转换为多个规则,每个规则都有一个原子结果。

描述语义
C(x)OWL个体类型描述
P(x,y)sameAs(x,y)或differentFrom(x,y)OWL属性描述,x\y为变量值

二、内置函数

8.1用于比较的Built-Ins

语法句义
swrlb:equal(?x1,?x2)X1和x2相同
swrlb:notEqual(?x1,?x2)X1和x2不相同
swrlb:lessThan(?x1,?x2)X1小于x2
swrlb:lessThanOrEqual (?x1,?x2)X1小于等于x2
swrlb:greaterThan(?x1,?x2)X1大于x2
swrlb:greaterThanOrEqual(?x1,?x2)X1大于等于x2

8.2. 数学内置

以下内置是为各种数值类型定义的。 为了使关系得到满足,所有论点都必须属于某些为其定义关系的数值类型。
swrlb:add (来自 XQuery op:numeric-add)
满足第一个参数等于第二个参数到最后一个参数的算术总和。
swrlb:subtract
满足第一个参数等于第二个参数的算术差减去第三个参数。
swrlb:multiply (来自 XQuery op:numeric-multiply)
满足第一个参数等于第二个参数通过最后一个参数的算术乘积。
swrlb:divide (来自 XQuery op:numeric-divide)
满足第一个参数等于第二个参数的算术商除以第三个参数。
swrlb:integerDivide (来自 XQuery op:numeric-integer-divide)
如果第一个参数是第二个参数的算术商,则满足第三个参数。如果分子未被除数均匀除以,则商是获得的 xsd:integer 值,忽略除法产生的任何余数(即不执行舍入)。
swrlb:mod (来自 XQuery op:numeric-mod) 如果第一个参数表示将第二个参数(除以除数)得到的余数,则满足。对于 xsd:integer 或 xsd:decimal 或从它们派生的类型的操作数 a mod b 会产生这样的结果:(a idiv b)*b+(a mod b) 等于 a,并且结果的大小总是小于 b 的大小。即使在特殊情况下,此恒等式也成立,即除数是其类型的最大可能大小的负整数,除数为 -1(余数为 0)。根据这一规则,结果的符号是股息的符号
swrlb:pow
满足第一个参数等于第二个参数提高到第三个参数幂的结果。
swrlb:unaryPlus (来自XQuery op:numeric-unary-plus)
满足第一个参数等于第二个参数,其符号不变。
swrlb:unaryMinus (来自XQuery op:numeric-unary-minus)
满足第一个参数等于第二个参数,其符号颠倒。
swrlb:abs (来自 XQuery fn:abs)
满足第一个参数是第二个参数的绝对值。
swrlb:ceiling (来自XQuery fn:ceiling)
满足第一个参数是最小的数字,没有大于或等于第二个参数的小数部分。
swrlb:floor (来自 XQuery fn:floor)
满足第一个参数是最大数字,没有小于或等于第二个参数的小数部分。
swrlb:round (来自XQuery fn:round)
满足第一个参数等于最接近第二个参数的数字,没有小数部分。
swrlb:roundHalfToEven (来自XQuery fn:round-half-to-even)
满足第一个参数等于舍入到给定精度的第二个参数。如果小数部分正好是一半,则结果是最低有效数字为偶数的数字。
swrlb:sin
满足第一个参数等于第二个参数弧度值的正弦值。
swrlb:cos
满足第一个参数等于第二个参数弧度值的余弦。
swrlb:tan
满足第一个参数等于第二个参数弧度值的切线。

8.3. 布尔值的内置函数

swrlb:booleanNot (来自 XQuery fn:not)
满足第一个参数为真,第二个参数为假,反之亦然。

8.4. 字符串的内置

以下内置是为字符串(仅)定义的,即非类型化带有语言标记的文本。
swrlb:stringEqualIgnoreCase
满足第一个参数与第二个参数相同(忽略大写/小写)
swrlb:stringConcat (来自 XQuery fn:concat)
满足第一个参数等于字符串从第二个参数到最后一个参数串联产生的字符串。
swrlb:substring (来自 XQuery fn:substring)
满足第一个参数等于可选长度的子字符串,从字符开始的第四个参数偏移字符串中的第三个参数第二个参数。
swrlb:stringLength (来自 XQuery fn:string-length)
满足第一个参数等于第二个参数的长度。
swrlb:normalizeSpace (来自 XQuery fn:normalize-space)
满足第一个参数等于第二个参数的空格规范化值。
swrlb:upperLetter(来自XQuery fn:high-case)
满足第一个参数等于第二个参数的大写值。
swrlb:lowerCase (来自 XQuery fn:小写)
满足第一个参数等于第二个参数的小写值。
swrlb:translate(来自XQuery fn:translate)
满足第一个参数等于第二个参数,第三个参数中包含的字符被字符串中相应位置的字符替换为第四个参数中的字符。
swrlb:contains(来自XQuery fn:contains)
满足第一个参数包含第二个参数(区分大小写)。
swrlb:containsIgnoreCase
满足如果第一个参数包含第二个参数(忽略大小写)。
swrlb:startsWith (来自 XQuery fn:starts-with)
满足第一个参数以第二个参数开头。
swrlb:endsWith (来自 XQuery fn:ends-with)
满足第一个参数以第二个参数结尾。
swrlb:substringBefore (来自 XQuery fn:substring-before)
满足第一个参数是第三个参数字符前面的第二个参数的字符。
swrlb:substringAfter (来自 XQuery fn:substring-after)
满足第一个参数是第二个参数的字符,跟在第三个参数的字符后面。
swrlb:matchs(来自XQuery fn:matches)
满足第一个参数与正则表达式第二个参数匹配。
swrlb:replace (来自 XQuery fn:replace)
满足第一个参数等于第二个参数的值,每个子字符串都与正则表达式匹配,第三个参数被替换字符串替换 第四个参数。
swrlb:tokenize (来自 XQuery fn:tokenize)
满足第一个参数是一个或多个字符串的序列,其值是第二个参数的子字符串,由与正则表达式匹配的子字符串分隔。

8.5. 内置日期、时间和持续时间

以下内置是为 XML 架构日期、时间和 持续时间数据类型,仅视情况而定。
swrlb:yearMonthDuration (来自 XQuery xdt:yearMonthDuration)
满足第一个参数是 xsd:duration 表示形式,包括 年是第二个参数,月是第三个参数。
swrlb:dayTimeDuration (来自 XQuery xdt:dayTimeDuration)
满足第一个参数是 xsd:duration 表示,包括 天是第二个参数,小时是第三个参数,分钟是第四个参数,秒是第五个参数。
swrlb:dateTime
满足第一个参数是 xsd:dateTime表示形式,包括年是第二个参数,月是第三个参数,天是第四个参数,小时是第五个参数,分钟是第六个参数,秒是第七个参数,时区是第八个参数。
swrlb:date
满足第一个参数是 xsd:date表示形式,包括年份是第二个参数,月份是第三个参数,天是第四个参数,时区是第五个参数。
swrlb:time 满足 iff 第一个参数是 xsd:time
表示,包括 小时数为第二个参数,分钟为第三个参数,秒为第四个参数,时区为第五个参数。
swrlb:addYearMonthDurations (来自 XQuery op:add-yearMonthDurations)
满足the yearMonthDuration 第一个参数等于 yearMonthDuration 的算术总和,第二个参数通过 yearMonthDuration 最后一个参数。
swrlb:substractYearMonthDurations (来自XQuery op:subtract-yearMonthDurations)
满足yearMonthDuration 第一个参数等于 yearMonthDuration 的算术差 第二个参数减去 yearMonthDuration 第三个参数。
swrlb:multiplyYearMonthDuration (来自 XQuery op:multiply-yearMonthDuration)
满足yearMonthDuration 第一个参数等于 yearMonthDuration 的算术乘积,第二个参数乘以第三个参数。
swrlb:divideYearMonthDurations (来自 XQuery op:divide-yearMonthDuration)
满足 the yearMonthDuration 第一个参数等于 yearMonthDuration 的算术余数,第二个参数除以第三个参数。
swrlb:addDayTimeDurations (来自 XQuery op:add-dayTimeDurations)
满足dayTimeDuration 第一个参数等于 dayTimeDuration 的算术总和 第二个参数通过 dayTimeDuration 最后一个参数。
swrlb:减去DayTimeDurations (来自 XQuery op:subless-dayTimeDurations)
满足 dayTimeDuration 第一个参数等于 dayTimeDuration 的算术差,第二个参数减去第三个参数的 dayTimeDuration。
swrlb:multiplyDayTimeDurations (来自 XQuery op:multiply-dayTimeDuration)
满足如果 dayTimeDuration 第一个参数等于 dayTimeDuration 的算术乘积,第二个参数乘以第三个参数。
swrlb:divideDayTimeDuration (来自 XQuery op:divide-dayTimeDuration)
满足 ifthe dayTimeDuration 第一个参数等于 dayTimeDuration 的算术余数,第二个参数除以第三个参数。
swrlb:subtractDates (来自XQuery op:subless-dates)
满足 iff the dayTimeDuration 第一个参数等于 xsd:date 的算术差,第二个参数减去 xsd:date 第三个参数。
swrlb:减去时间(来自 XQuery op:subtract-times)
满足 iff the dayTimeDuration 第一个参数等于 xsd:time 的算术差,第二个参数减去 xsd:time 第三个参数。
Swrlb: addYearMonthDurationToDateTime
满足xsd:dateTime 第一个参数等于 xsd:dateTime 第二个参数加上第三个参数的 yearMonthDuration 的算术总和。
swrlb:addDayTimeDurationToDateTime (来自 XQuery op:add-dayTimeDuration-to-dateTime)
满足 xsd:dateTime 的第一个参数等于 xsd:dateTime 第二个参数加上第三个参数的 dayTimeDuration 的算术总和。
swrlb:减去YearMonthDurationFromDateTime
满足 xsd:dateTime,第一个参数等于 xsd:dateTime 的算术差,第二个参数减去第三个参数的年份月持续时间。
swrlb:减去DayTimeDurationFromDateTime
满足xsd:dateTime 第一个参数等于 xsd:dateTime 的算术差,第二个参数减去 dayTimeDuration 第三个参数。
swrlb:addYearMonthDurationToDate
满足xsd:date 的第一个参数等于 xsd:date 第二个参数加上第三个参数的 yearMonthDuration 的算术总和。
swrlb:addDayTimeDurationToDate
满足 xsd:date 的第一个参数等于 xsd:date 第二个参数加上第三个参数的 dayTimeDuration 的算术总和。
swrlb:减去YearMonthDurationFromDate
满足 xsd:date 的第一个参数等于 xsd:date 的算术差,第二个参数减去第三个参数的 yearMonthDuration 。
swrlb:减去DayTimeDurationFromDate (来自XQuery op:sub减-dayTimeDuration-from-date)
满足 xsd:date 的第一个参数等于 xsd:date 的算术差,第二个参数减去第三个参数的年份月持续时间。
swrlb:addDayTimeDurationToTime (来自 XQuery op:add-dayTimeDuration-to-time)
满足 xsd:time 的第一个参数等于 xsd:time 第二个参数加上第三个参数的 dayTimeDuration 的算术总和。
swrlb:减去DayTimeDurationFromTime (来自XQuery op:sub减-dayTimeDuration-from-time)
满足 xsd:time 第一个参数等于 xsd:time 第二个参数减去第三个参数的 dayTimeDuration 的算术差。
swrlb:减去日期时间生成年份月持续时间(来自 XQuery fn:减去日期时间生成年份月持续时间)
满足 iff 年月持续时间 第一个参数等于 xsd:dateTime 的算术差,第二个参数减去第三个参数的 xsd:dateTime。
swrlb:减去日期时间生成日时间持续时间(来自 XQuery fn:减去日期时间生成日时间持续时间)
满足 iff dayTimeDuration 第一个参数等于 xsd:dateTime 的算术差,第二个参数减去 xsd:dateTime 第三个参数。

8.6. URI 的内置

swrlb:resolveURI(来自 XQuery op:resolve-uri)
满足 URI 引用的第一个参数等于 URI 引用的值,第二个参数相对于基 URI 解析第三个参数。
swrlb:anyURI 满足 iff 第一个参数是一个 URI
引用,由 方案第二个参数, 宿主第三个参数, 移植第四个参数, 路径第五个参数, 查询第六个参数,以及 分解第七个参数。

8.7. 列表的内置

以下内置是为 RDF 样式列表定义的。 (请注意,这些内置功能在OWL DL或OWL Lite中不可用,因为 RDF 样式的列表只能用作 OWL Full 中的 OWL 数据。
swrlb:listConcat (来自 Common Lisp append)
满足第一个参数是一个列表,表示列表从第二个参数到最后一个参数的串联。
swrlb:listIntersection
满足第一个参数是一个列表,其中包含在列表第二个参数和列表中找到的元素 第三个参数。
swrlb:list减法
满足第一个参数是一个列表,其中包含列表的元素,第二个参数不是列表的成员,第三个参数。
swrlb:member
满足第一个参数是列表的成员 第二个参数。
swrlb:length (来自 Common Lisp list-length)
满足第一个参数是列表的长度 第二个参数(列表的成员数)。
swrlb:first (来自 rdf:first)
满足第一个参数是列表的第一个成员第二个参数。
swrlb:REST (来自 rdf:REST)
满足第一个参数是一个列表,包含列表的所有成员,第二个参数除了第一个成员(头部)。
swrlb:sublist 满足列表
第一个参数包含列表 第二个参数。
swrlb:empty (来自 rdf:nil)
满足列表的第一个参数是空列表。

参考SWRL语言说明官网

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值