swrl : a semantic web rule language

59
Комбинация от OWL и RuleML http://www.w3.org/Submission/SWRL/ Разработили: Диян Детелинов Пенков М22804 Надежда Георгиева Танева М22694

Upload: archie

Post on 12-Jan-2016

125 views

Category:

Documents


2 download

DESCRIPTION

SWRL : A Semantic Web Rule Language. Комбинация от OWL и RuleML http://www.w3.org/Submission/SWRL/ Разработили: Диян Детелинов Пенко в М22804 Надежда Георгиева Танева М22694. 1.Въведение. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SWRL : A Semantic Web Rule Language

Комбинация от OWL и RuleML

http://www.w3.org/Submission/SWRL/

Разработили:Диян Детелинов Пенков М22804

Надежда Георгиева Танева М22694

Page 2: SWRL : A Semantic Web Rule Language

1.ВъведениеSWRL представлява предложение на базата на комбинация от OWL DL и

OWL Lite подезци на OWL Web. Предложението разширява набора от OWL аксиоми за да включи horn-подобни правила. Като по този начин дава възможност на horn-подобните правила да бъдат комбинирани с базата от знания на OWL. Високото ниво на абстрактен синтаксис е предвидено, защото разширява абстрактния синтаксис на OWL, описан в семантиката и абстракцията на OWL.

Предложените правила са под формата на импликация между предпоставка(body) и заключение(head). Смисълът може да се чете така: когато условията, посочени в съдържанието на предпоставката са изпълнени, тогава условията, определени в заключението трябва също да са изпълнени. И предпоставката(body) и заключението(head) се състоят от нула или повече атоми. Една празна предпоставка се третира като тривиално вярна, тогава заключението трябва също да бъде одувлетворено от всяка интерпреация; празно заключение се третира като тривиална лъжа, значи предпоставката не трябва да бъде удовлетворена от коя да е интерпретация. Няколко атома се третират като конкатенация. Правилата с конкатенирани заключения могат лесно да бъдат трансформирани в няколко правила всяко от което с атомарно заключение.

Атомите в тези правила могат да бъдат от вида C (Х), P (X, Y), sameAs (X, Y), или differentFrom (X, Y), където C е OWL описание, P е OWL свойство, и Х , Y са променливи, OWL индивиди или OWL данни.

Page 3: SWRL : A Semantic Web Rule Language

2.Абстрактен синтаксисСинтаксисът на SWRL се абстрахира от синтаксиса на OWL и по

този начин улеснява достъпа и оценката на езика. Този синтаксис разширява абстрактния синтаксис на OWL. Дори и този абстрактен синтаксис не е особено четим за правила. Затова примерите често ще бъде давани в неформалнен синтаксис. Този неформален синтаксис няма да ни даде точен синтаксис нито съответствие с някой от напълно специфицираните синтаксиси за SWRL.

Абстрактният синтаксис се специфицира със значението на версия на разширението на BNF, което е много еднакъво до EBNF нотацията използвана за XML. Терминалите са с кавички а нетерминалите са одебелени и без кавички. Алтернативите са или отделени с | или са в различни представяния. Компонентите които могат да се срещнат поне ведъж са оградени в []. Компонентите които могат да се срещнат неопределен брой пъти (включително и нула) са оградени в {}. Интервалът се игнорира в представянето.

Имена в абстрактния синтаксис са RDF URI референции. Тези имена могат да бъдат съкратени в квалифицирани имена, като използвате едни от следните пространства от имена:

Page 4: SWRL : A Semantic Web Rule Language

...Namespace name Namespace

rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#

rdfshttp://www.w3.org/2000/01/rdf-schema#

xsd http://www.w3.org/2001/XMLSchema#

owl http://www.w3.org/2002/07/owl#

Значението на всяка конструкция в абстрктния синтаксис е не формално описана когато е представена.

Page 5: SWRL : A Semantic Web Rule Language

2.1.ПравиалаЕдна OWL онтология в абстрактния синтаксис съдържа поредица

от аксиоми и факти. Аксиомите могат да бъдат различни видове, например: подклас аксиоми и еквивалентен клас аксиоми. Предлага се да се разшири това с аксиоми-правила.

axiom ::= rule

Една аксиома-правило се състой от предпоставка и заключение, всяко от които се състой от множество от атоми (възможно и празно). Аксиома-правило също може да бъде предназначено за URI референция, която може да служи за идентифициране на правилото.

rule ::= 'Implies(' [ URIreference ] { annotation } antecedent consequent ')' antecedent ::= 'Antecedent(' { atom } ')' consequent ::= 'Consequent(' { atom } ')’

Page 6: SWRL : A Semantic Web Rule Language

...Неформално, правило може да бъде тълкувано така: ако

предпоставката е истина тогава заключението трябва също да е истина. Празна предпоставка се третира като тривиална истина и празно заключение се третира като тривиална лъжа. Правила с празни предпоставки могат да бъдат използвани да предотставят безусловни факти, обаче безусловните факти са по добре изложени в OWL например без употребата на конструкции за правила. Не празни предпоставки и заключения са истина ако всички техни съставни атоми са истина, например те се третират като конкатенация на техните атоми. Както споменахме правила с конкатенирани заключения могат лесно да бъдат трансформирани в няколко правила, всяко с атомарно заключение.

atom ::= description '(' i-object ')' | dataRange '(' d-object ')‘| individualvaluedPropertyID '(' i-object i-object ')' | datavaluedPropertyID '(' i-object d-object ')' | sameAs '(' i-object i-object ')' | differentFrom '(' i-object i-object ')' | builtIn '(' builtinID { d-object } ')'

builtinID ::= URIreference

Page 7: SWRL : A Semantic Web Rule Language

...Атомите могат да бъдат от вида C (Х), P (X, Y), sameAs

(X, Y), differentFrom (X, Y) или builtIn(r,x,...), където C е OWL описание или множество от стойности, P е OWL свойство,r е вградена релация, и Х , Y са променливи, OWL индивиди или OWL данни както е подходящо. В контекста на OWL Lite описанията в атомите от вида C (X) могат да бъдат ограничени до имена на класове.

Неофициално атома C (X) е истина ако x е инстанция от описанието на класа или множеството от стоиности C, атома P (X, Y) е истина ако X е свързан с Y чрез свойството P, атома sameAs (X, Y) е истина ако X се интерпретира с същия обект като X, атома differentFrom (X, Y) е истина, ако X и Y са интерпретирани като различни обекти и builtIn (R, X ,...) e истина ако вградената релация R е истина при интерпретацията на аргументите .

Page 8: SWRL : A Semantic Web Rule Language

...i-object ::= i-variable | individualIDd-object ::= d-variable | dataLiteral

Атомите могат да се отнасят към индивиди, литерали данни, променливи индивиди или променливи данни. Променливите се третират като универсално определени с техния обхват ограничен до дадено правило. Обикновенно само променливите които се срещят в предпоставките могат да се срещат в заключенията. Това безопасно условие не огараничава изразителната мощ на езика.

i-variable ::= 'I-variable(' URIreference ')' d-variable ::= 'D-variable(' URIreference ')‘

Page 9: SWRL : A Semantic Web Rule Language

2.2.Четим синтаксисДокато абстрактния EBNF синтаксис е в съответствие със

спецификацията на OWL и е полезен за дефиниране на XML и RDF сериализации, той е твърде многословен и не особенно лесен за четене. Затов нататък ще използваме относително неформален “четим” вид подобен на този използван в много публикации за правилата. В синтаксиса правилото има вида:

antecedent ⇒ consequent,където предпоставките и заключенията са съставени от атоми записани a1 ∧ ... ∧ an. Променливите са означени използвайки стандартната конвенция за префикс с въпросителен знак (e.g., ?x). Използвайки този синтаксис правилото подтвърждава че композицията на свойствата родител и брат означава че свойството чичо ще бъде написано така:

parent(?x,?y) ∧ brother(?y,?z) ⇒ uncle(?x,?z)В този синтакси вградените релации които са функционални могат да бъдат написани във функционална нотация например:

op:numeric-add(?x,3,?z) може да бъде написно вместо:

?x = op:numeric-add(3,?z)

Page 10: SWRL : A Semantic Web Rule Language

3.Пряка семантика модел-теорияТази семантика за SWRL е просто разширение на

семантиката на OWL. Главната идея е че ние определяме връзките (разширения на OWL интерпретациите) които съпостявят променливите към елементите на домейна. Правило е удовлетворено от интерпретация ако всяко свързване което удовлетворява предпоставките също удовлетворявя и закалюченията. Сементичните условия отнасящи се до аксиомите и онтологиите са непроменени, например, интерпретация удовлетворява онтология ако удовлетворява всяка аксиома (включително и правилата) и всеки факт в онтологията.

Page 11: SWRL : A Semantic Web Rule Language

3.1.Правила при интерпретиранеОт OWL сементиката и абстрактния синтаксис можем да

заключим, че имайки datatype map D, абстрактната OWL интерпретация е нторка от вида:

I = <R, EC, ER, L, S, LV>където R е множество от ресурси, LV ⊆ R е множество от литерални стойности, EC е съответствие м/у класове и типове данни към подмножества от R и LV съответно, ER е съответствие м/у свойствата и бинарните връзки на R, L е съответствие м/у типизираните литерали и елементите на LV и S е съответствие м/у отделните имена и елементите на EC.

Имайте в предвид че позволяването на datatype map-а да се променя, това позволява различни имплементации на SWRL да имплементират различни вградени релации. Предполага се че, ако имплементацията на SWRL имплементира конкретен dataype, тогава тя имплементира built-ins на datatype-a.

Page 12: SWRL : A Semantic Web Rule Language

...Като се има в предвид абстрактната OWL интерпретация I,

свързването B(Ι) е абстрактна OWL интерпретация която разширява I така че S прави мапинг м/у i-променливи и елементи на EC и L прави мапинг м/у d-променливи и елементи на LV съответно. Атом е удовлетворен от интерпретацията I при условията дадени в таблицата на условията на интерпретацията, където C е OWL DL описание, D е OWL DL множество от стойости, P е OWL DL свойиства с единична стойност, Q е OWL DL datavalue свойство, f е вградена релация, x,y са променливи или OWL индивиди, а z е променлива или OWL данна.

Interpretation Conditions TableAtom Condition on Interpretation

C(x) S(x) ∈ EC(C)

D(z) S(z) ∈ EC(D)

P(x,y) <S(x),S(y)> ∈ ER(P)

Q(x,z) <S(x),L(z)> ∈ ER(Q)

sameAs(x,y) S(x) = S(y)

differentFrom(x,y) S(x) ≠ S(y)

builtIn(r,z1,...,zn) <S(z1),...,S(zn)> ∈ D(f)

Page 13: SWRL : A Semantic Web Rule Language

...Имайте в предвид, че тази интерпретация на вграденте релациите е твърде

толерантна. Не е необходимо за вградена релация да има фиксиран брой аргументи, нито е грешка да използжаш вградена реллация с фиксиран брой аргументи със грешен брй аргументи. Например:

builtIn(op:numeric-add ?x 5) е неудовлетворена,а не е снтактична грешка.

Свързването B(Ι) удовлетворява предпоставката A ако A е празно или B(I) удовлетворява всеки атом в A. Свързването B(I) удовлетворява заключението C, ако C не е празно и B(I) удовлетворява всеки атом в C.Правило е удовлетворено от интерпретацията I ако за всяко свъзване B такова че B(I) удовлетворява предпоставката то B(I) също удовлетворява и заключението.

Иайте в предвид, че анотации на правило нямат семантични заключения и не правят URI референции асоциирани с правила. Товa е различно от ситуацията при OWL където анотациите нямат семантични заключения.

Семантичните условия отнасящисе за аксиоми и онтологии са неизменими. По-специално, интерпретация удовлетворява онтология ако удовлетворява всяка аксиома (включително правила) и всеки факт в онтологията. Онтологията е съвместима ако е удовлетворена от най-малко една интерпретация. Онтология О2 е следствие от онтологията О1 ако всяка интерпретация която удовлетворява О1 удовлетворява и О2.

Page 14: SWRL : A Semantic Web Rule Language

4. Примерни правила1)Проста употреба на тези правила, може да бъде да проверим

че комбинацията на свойствата hasParent и hasBrother предполагат свойството hasUncle. Неформално това правило може да бъде написано като:

hasParent(?x1,?x2) ∧ hasBrother(?x2,?x3) ⇒ hasUncle(?x1,?x3)

В абстрактния синтаксис правилото щеше да бъде написано като:

Implies(Antecedent(hasParent(I-variable(x1) I-variable(x2)) hasBrother(I-variable(x2) I-variable(x3)))

Consequent(hasUncle(I-variable(x1) I-variable(x3))))

От това правило ако Mary е родител на John и Bill е брат на Mary тога John има бил за чичо.

Page 15: SWRL : A Semantic Web Rule Language

...2)Дори по-просто правило ще е да подтвърдим че Students са Persons,

както Student(?x1)⇒Person(?x1).

Implies(Antecedent(Student(I-variable(x1)))Consequent(Person(I-variable(x1))))

3)Често използвана употреба на правилата е да предават стойности на свойства от един индивид към сходен индивид, както в следващия пример който изразява факта че стила на artist обекта е същия като стила на creator:

Artist(?x) & artistStyle(?x,?y) & Style(?y) & creator(?z,?x) ⇒ style/period(?z,?y)

Implies(Antecedent(Artist(I-variable(x))artistStyle(I-variable(x) I-variable(y))Style(I-variable(y))creator(I-variable(z) I-variable(x)))

Consequent(style/period(I-variable(z) I-variable(y))))

Page 16: SWRL : A Semantic Web Rule Language

…4)Полезно е да се включи OWL описание в правилата

вместода се използват именовани класове. Горното правило можеше да бъде увеличено с отделно правило за да предотстави информация за единствеността на стила(имайки впредвид че стиал не е единствен).

Artist(?x) & (≤1 artistStyle)(?x) & creator(?z,?x) ⇒ (≤1 style/period)(?z)

Implies(Antecedent(Artist(I-variable(x))(restriction(artistStyle maxCardinality(1)))(I-variable(x)) Style(I-variable(y))creator(I-variable(z) I-variable(x)))

Consequent((restriction(style/period maxCardinality(1)))(I-variable(z))))

Page 17: SWRL : A Semantic Web Rule Language

Окончателният XML синтаксис е комбибация от OWL Web Ontology Language XML Presentation синтаксиса и RuleML XML синтаксиса. Това има редица предимства:

Произволни OWL класове(напр. описания) могат да бъдат използвани като предикати в правила.

Аксиомите на правила и онтологии могат да бъдат свободно смесвани.

Съществуващият XSLT модел (owlxml2rdf.xsl), може лесно да бъде разширен за да предоставя мапинг към RDF графи.

Оперативната съвместимост между OWL и RuleML е опростена, съществуващите RuleML инструменти могат да бъдат адаптирани към SWRL.

XML схема за окончателния SWRL XML синтаксис е swrlx.xsd.Окончателния SWRL XML синтаксис използва namespaces

http://www.w3.org/2003/11/swrlx,http://www.w3.org/2003/11/ruleml,http://www.w3.org/2003/05/owl-xml (owlx) иhttp://www.w3.org/2001/XMLSchema (xsd)

5. Окончателен XML синтаксис

Page 18: SWRL : A Semantic Web Rule Language

...Ontology root елемента на OWL XML Presentation синтаксиса е разширен,

за да включи "imp" (implication rule) and "var" (variable declaration)Ontology елемент<swrlx:Ontology swrlx:name = xsd:anyURI >

Content: (owlx:VersionInfo | owlx:PriorVersion | owlx:BackwardCompatibleWith | owlx:IncompatibleWith | owlx:Imports | owlx:Annotation | owlx:Class[axiom] | owlx:EnumeratedClass(D,F) | owlx:SubClassOf(D,F) | owlx:EquivalentClasses | owlx:DisjointClasses(D,F) | owlx:DatatypeProperty | owlx:ObjectProperty | owlx:SubPropertyOf | owlx:EquivalentProperties | owlx:Individual[axiom] | owlx:SameIndividual | owlx:DifferentIndividuals | ruleml:imp[axiom] | ruleml:var[axiom])*

</swrlx:Ontology>Атрибут: swrlx:name – отнася се за името на тази онтология, което е

главният URI на този елемент.Variable (var) аксиомите са формулировки за променливите, посочвайки

че даденият стринг трябва да бъде използван като променлива.Елемент ruleml:var[axiom] <ruleml:var>xsd:string</ruleml:var> Родител: swrlx:OntologyVar аксиомите просто определят съществуването на променлива. Това е

взето от RuleML namespace. Напр.Пример 5-1

<ruleml:var>x1</ruleml:var>

Page 19: SWRL : A Semantic Web Rule Language

...Rule аксиоми(imp елементи) са подобни на SubClassOf аксиоми. Те са

взети от RuleML namespace. Rule аксиомите могат да бъдат прочетени като логическа импликация между предпоставката и заключението. Като SubClassOf аксиомите, правилата могат да включват анотации. Rule аксиомите могат незадължително да бъдат именовани.

Елемент ruleml:imp[axiom] <ruleml:imp>

Content: ( _rlab?, owlx:Annotation*, _body, _head ) </ruleml:imp>

Parents: swrlx:OntologyЗабележка: Този елемент позволява да се каже, че всяко свързване,

което удовлетворява тялото на правилото, трябва да удовлетворява и заключението.

Незадължително Rule аксиоми могат да бъдат именовани, използвайки URI.

Елемент ruleml:_rlab <ruleml:_rlab ruleml:href = xsd:anyURI (required) >

Content: ( ) </ruleml:_rlab>

Parents: ruleml:impИ _body и_head са списъци от атоми и се четат като конюнкция от атоми.

Page 20: SWRL : A Semantic Web Rule Language

...Елемент ruleml:_body

<ruleml:_body> Content: ( swrlx:atom* )

</ruleml:_body>Parents: ruleml:impЕлемент ruleml:_head

<ruleml:_head> Content: ( swrlx:atom* )

</ruleml:_head>Parents: ruleml:impАтомите могат да бъдат формирани от унарни предикати

(класове), бинарни предикати(с-ва), равенства и различияModel group swrlx:atom

Content: (swrlx:classAtom | swrlx:datarangeAtom | swrlx:individualPropertyAtom | swrlx:datavaluedPropertyAtom | swrlx:sameIndividualAtom | swrlx:differentIndividualsAtom | swrlx:builtinAtom)

Parents: ruleml:_body, ruleml:_head

Page 21: SWRL : A Semantic Web Rule Language

...Клас атомите се състоят от описание и

individual name или variable name.Елемент swrlx:classAtom

<swrlx:classAtom> Content: ( owlx:description, swrlx:iObject )

</swrlx:classAtom>Parents: swrlx:atomОписанието в клас атом може да бъде клас

име, или може да бъде комплексно описание използвайки булеви комбинации, рестрикции и т.н. Например:

Page 22: SWRL : A Semantic Web Rule Language

...Пример 5-2

<swrlx:classAtom> <owlx:Class owlx:name="Person" /> <ruleml:var>x1</ruleml:var>

</swrlx:classAtom> <swrlx:classAtom>

<owlx:IntersectionOf> <owlx:Class owlx:name="Person" /> <owlx:ObjectRestriction owlx:property="hasParent">

<owlx:someValuesFrom owlx:class="Physician" /> </owlx:ObjectRestriction>

</owlx:IntersectionOf> <ruleml:var>x2</ruleml:var>

</swrlx:classAtom>Datarange атомите се състоят от м-во с-ти и име на литерал или променлива.Елемент swrlx:datarangeAtom

<swrlx:datarangeAtom> Content: ( owlx:datarange, swrlx:dObject )

</swrlx:datarangeAtom>Parents: swrlx:atom

Page 23: SWRL : A Semantic Web Rule Language

...Описанието в datarangе атом може да бъде datatype ID или м-

во от литерали. Например:Пример 5-3 <swrlx:datarangeAtom>

<owlx:Datatype owlx:name="&xsd;int" /> <ruleml:var>x1</ruleml:var> </swrlx:datarangeAtom> <swrlx:datarangeAtom>

<owlx:OneOf> <owlx:DataValue

owlx:datatype="&xsd;int">5</owlx:DataValue> <owlx:DataValue

owlx:datatype="&xsd;int">10</owlx:DataValue> </owlx:OneOf> <ruleml:var>x2</ruleml:var>

</swrlx:datarangeAtom>

Page 24: SWRL : A Semantic Web Rule Language

...Property атомите се състоят от property име и два

елемента, които могат да бъдат individual names, variable names или data values.

Елемент swrlx:individualPropertyAtom <swrlx:individualPropertyAtom swrlx:property = xsd:anyURI

{required} > Content: ( swrlx:iObject, swrlx:iObject ) </swrlx:individualPropertyAtom>Атрибут: swrlx:property – референция към individual

property name Parents: swrlx:atom

Page 25: SWRL : A Semantic Web Rule Language

...Елемент swrlx:datavaluedPropertyAtom

<swrlx:datavaluedPropertyAtom swrlx:property = xsd:anyURI {required} >

Content: ( swrlx:iObject, swrlx:dObject ) </swrlx:datavaluedPropertyAtom>

Атриут: swrlx:property – референция към datavalued property name

Parents: swrlx:atomПример 5-4 <swrlx:individualPropertyAtom swrlx:property="hasParent">

<ruleml:var>x1</ruleml:var> <owlx:Individual owlx:name="John" />

</swrlx:individualPropertyAtom> <swrlx:datavaluedPropertyAtom swrlx:property="grade">

<ruleml:var>x1</ruleml:var> <owlx:DataValue owlx:datatype="&xsd;int">4</owlx:DataValue>

</swrlx:datavaluedPropertyAtom>

Page 26: SWRL : A Semantic Web Rule Language

...Елемент swrlx:sameIndividualAtom

<swrlx:sameIndividualAtom> Content: ( swrlx:iObject* )

</swrlx:sameIndividualAtom>Parents: swrlx:atomЕлемент swrlx:differentIndividualsAtom

<swrlx:differentIndividualsAtom> Content: ( swrlx:iObject* )

</swrlx:differentIndividualsAtom>Parents: swrlx:atomИмайте предвид, че сходството(различието) може да бъде

потвърдено между произволна комбинация от variable names и individual names. Например:

Пример 5-5 <swrlx:sameIndividualAtom>

<ruleml:var>x1</ruleml:var> <ruleml:var>x2</ruleml:var> <owlx:Individual owlx:name="Clinton" /> <owlx:Individual owlx:name="Bill_Clinton" />

</swrlx:sameIndividualAtom>

Page 27: SWRL : A Semantic Web Rule Language

...Вградените атоми предоставят интерфейс към

built-ins.Елемент swrlx:builtinAtom

<swrlx:builtinAtom swrlx:builtin = xsd:anyURI {required} >

Content: ( swrlx:dObject* ) </swrlx:builtinAtom>

Атрибут: swrlx:builtin – референция към built-inParents: swrlx:atom

Page 28: SWRL : A Semantic Web Rule Language

...Model group swrlx:iObject Content: ( owlx:Individual[ID] | ruleml:var[ID] )Parents: swrlx:classAtom,

swrlx:individualPropertyAtom, swrlx:sameIndividualAtom, swrlx:differentIndividualsAtom

Model group swrlx:dObject Content: ( owlx:DataValue | ruleml:var[ID] )Parents: swrlx:datavaluedPropertyAtom Елемент ruleml:var[ID] <ruleml:var>xsd:string</ruleml:var> Parents: swrlx:iObject, swrlx:dObject

Page 29: SWRL : A Semantic Web Rule Language

5.1. Примери за правилаМожем да използваме SWRL, за да потвърдим, че комбинацията от от с-вата hasParent и

hasBrother следва с-вото hasUncle .Пример 5.1-1 <ruleml:imp>

<ruleml:_rlab ruleml:href="#example1"/> <ruleml:_body>

<swrlx:individualPropertyAtom swrlx:property="hasParent"> <ruleml:var>x1</ruleml:var>

<ruleml:var>x2</ruleml:var> </swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property="hasBrother">

<ruleml:var>x2</ruleml:var> <ruleml:var>x3</ruleml:var>

</swrlx:individualPropertyAtom> </ruleml:_body>

<ruleml:_head> <swrlx:individualPropertyAtom swrlx:property="hasUncle">

<ruleml:var>x1</ruleml:var> <ruleml:var>x3</ruleml:var>

</swrlx:individualPropertyAtom> </ruleml:_head> </ruleml:imp>

Page 30: SWRL : A Semantic Web Rule Language

Пример 5.1-2 Алтернативна формулировка на правилото от оредния пример, може да бъде да

проверим, че ако x1 hasParent x2, x2 hasSibling x3, и x3 hasSex male, тогава x1 hasUncle x3:

<ruleml:imp> <ruleml:_rlab ruleml:href="#example2"/>

<ruleml:_body> <swrlx:individualPropertyAtom swrlx:property="hasParent">

<ruleml:var>x1</ruleml:var> <ruleml:var>x2</ruleml:var>

</swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property="hasSibling">

<ruleml:var>x2</ruleml:var> <ruleml:var>x3</ruleml:var>

</swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property="hasSex">

<ruleml:var>x3</ruleml:var> <owlx:Individual owlx:name="#male" />

</swrlx:individualPropertyAtom> </ruleml:_body> <ruleml:_head> <swrlx:individualPropertyAtom swrlx:property="hasUncle"> <ruleml:var>x1</ruleml:var

<ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom>

</ruleml:_head> </ruleml:imp>

Page 31: SWRL : A Semantic Web Rule Language

Пример 5.1-3 Следното правило описва факта, че знаейки AAT стила на определен ULAN артист

(напр. van Gogh е художник-импресионист), можем да получим стила на art обякта(описан с VRA element "style/period")от с-та на създателя на art обекта. (представен с VRA елемента "creator", подсвойство на dc:creator):

<ruleml:imp> <ruleml:_body>

<swrlx:classAtom> <owlx:Class owlx:name="&ulan;Artist" /> <ruleml:var>x</ruleml:var>

</swrlx:classAtom> <swrlx:classAtom>

<owlx:Class owlx:name="&aat;Style" /> <ruleml:var>y</ruleml:var>

</swrlx:classAtom> <swrlx:individualPropertyAtom swrlx:property="&aatulan;artistStyle">

<ruleml:var>x</ruleml:var> <ruleml:var>y</ruleml:var>

</swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property="&vra;creator">

<ruleml:var>x</ruleml:var> <ruleml:var>z</ruleml:var>

</swrlx:individualPropertyAtom> </ruleml:_body>

<ruleml:_head> <swrlx:individualPropertyAtom swrlx:property="&vra;style/period">

<ruleml:var>z</ruleml:var> <ruleml:var>y</ruleml:var>

</swrlx:individualPropertyAtom</ruleml:_head>

</ruleml:imp>

Page 32: SWRL : A Semantic Web Rule Language

6. Окончателен RDF синтаксисВ този раздел ще представим окончателния

RDF синтаксис за правилата.RDF схемата за SWRL е swrl.rdf. OWL ontology

за SWRL е swrl.owl. Всяко от тях предоставя само частично описание на синтаксиса за SWRL. OWL онологията е по-пълна от RDF схемата.

Преминаването от окончателния XML синтаксис към RDF/XML е постигнато чрез разширяване на XSLT трансформацията за OWL XML Presentation синтакиса.

Page 33: SWRL : A Semantic Web Rule Language

6.1 Примери за правила в Окончателения RDF синтаксисПримерите илюстрират удобното разшиение за правила на OWL RDF/XML синтаксиса. Първият

пример е повторение на примера 5.1-2 използвайки RDF/XML синтаксис.Пимер 6.1-1

<swrl:Variable rdf:ID="x1"/> <swrl:Variable rdf:ID="x2"/> <swrl:Variable rdf:ID="x3"/> <ruleml:Imp>

<ruleml:body rdf:parseType="Collection"><swrl:IndividualPropertyAtom>

<swrl:propertyPredicate rdf:resource="&eg;hasParent"/> <swrl:argument1 rdf:resource="#x1" /> <swrl:argument2 rdf:resource="#x2" />

</swrl:IndividualPropertyAtom> <swrl:IndividualPropertyAtom>

<swrl:propertyPredicate rdf:resource="&eg;hasSibling"/> <swrl:argument1 rdf:resource="#x2" />

<swrl:argument2 rdf:resource="#x3" /> </swrl:IndividualPropertyAtom> <swrl:IndividualPropertyAtom>

<swrl:propertyPredicate rdf:resource="&eg;hasSex"/> <swrl:argument1 rdf:resource="#x3" />

<swrl:argument2 rdf:resource="#male" /> </swrl:IndividualPropertyAtom>

</ruleml:body> <ruleml:head rdf:parseType="Collection">

<swrl:IndividualPropertyAtom> <swrl:propertyPredicate rdf:resource="&eg;hasUncle"/><swrl:argument1 rdf:resource="#x1" /> <swrl:argument2 rdf:resource="#x3" />

</swrl:IndividualPropertyAtom> </ruleml:head>

</ruleml:Imp>

Page 34: SWRL : A Semantic Web Rule Language

Пример 6.1-2Този пример е повторение на примера 5.1-3 използвайки RDF/XML синтаксис.

<swrl:Variable rdf:ID="x"/> <swrl:Variable rdf:ID="y"/> <swrl:Variable rdf:ID="z"/> <ruleml:Imp>

<ruleml:body rdf:parseType="Collection"> <swrl:ClassAtom>

<swrl:classPredicate rdf:resource="&ulan;Artist"/> <swrl:argument1 rdf:resource="#x" />

</swrl:ClassAtom> <swrl:ClassAtom>

<swrl:classPredicate rdf:resource="&aat;Style"/> <swrl:argument1 rdf:resource="#y" />

</swrl:ClassAtom> <swrl:IndividualPropertyAtom>

<swrl:propertyPredicate rdf:resource="&aatulan;artistStyle"/> <swrl:argument1 rdf:resource="#x" />

<swrl:argument2 rdf:resource="#y" /> </swrl:IndividualPropertyAtom>

<swrl:IndividualPropertyAtom> <swrl:propertyPredicate rdf:resource="&vra;creator"/>

<swrl:argument1 rdf:resource="#x" /> <swrl:argument2 rdf:resource="#z" />

</swrl:IndividualPropertyAtom> </ruleml:body> <ruleml:head rdf:parseType="Collection">

<swrl:IndividualPropertyAtom> <swrl:propertyPredicate rdf:resource="&vra;style/period"/> <swrl:argument1 rdf:resource="#z" /> <swrl:argument2 rdf:resource="#y" />

</swrl:IndividualPropertyAtom> </ruleml:head>

</ruleml:Imp>

Page 35: SWRL : A Semantic Web Rule Language

7. Built-InsМножеството от built-ins за SWRL е мотивирано от модулен

подход, който ще позволи допълнителни разширения в бъдещите версии в рамките на (йерархична) таксономия. В същото време, това ще осигури гъвкавост за различни реализации, да изберат модули, които да бъдат подържани с всяка версия на SWRL.

Подхода на SWRL за built-ins също се основава на повторната употреба на съществуващи built-ins в XQuery и Xpath.

SWRL built-ins се използват в builtin атоми. Например swrlx:builtinAtom идентифицира built-in

използвайки swrlx:builtin атрибут и изброява неговите атоми като поделементи.

SWRL built-ins са идентифицирани използвайки http://www.w3.org/2003/11/swrlb namespace.

Page 36: SWRL : A Semantic Web Rule Language

7.1. Built-Ins за сравнения swrlb:equal (from XQuery op:numeric-equal, op:compare,

op:boolean-equal op:yearMonthDuration-equal, op:dayTimeDuration-equal, op:dateTime-equal, op:date-equal, op:time-equal, op:gYearMonth-equal, op:gYear-equal, op:gMonthDay-equal, op:gMonth-equal, op:gDay-equal, op:anyURI-equal) Удовлетворена, ако 1-я и 2-я аргумент са еднакви.

swrlb:notEqual (from swrlb:equal) Обратна на swrlb:equal.

swrlb:lessThan (from XQuery op:numeric-less-than, op:compare, op:yearMonthDuration-less-than, op:dayTimeDuration-less-than, op:dateTime-less-than, op:date-less-than, op:time-less-than)

Удовлетворена, ако ако 1-я и 2-я аргумент са от един тип и 1-я е по-малък от 2-я аргумент според наредбата на типа, ако има определена за типа. Ф-ята за наредба за типа на нетипизираните литерали е частична наредба определена като стрингова наредба, когато language tags са еднакви и несравними в противен случай.

Page 37: SWRL : A Semantic Web Rule Language

...swrlb:lessThanOrEqual (from swrlb:lessThan, swrlb:equal)

Или по-малко( swrlb:lessThan), или равно(swrlb:equal).

swrlb:greaterThan (from XQuery op:numeric-greater-than, op:compare, op:yearMonthDuration-greater-than, op:dayTimeDuration-greater-than, op:dateTime-greater-than, op:date-greater-than, op:time-greater-than) Подобно на swrlb:lessThan.

swrlb:greaterThanOrEqual (from swrlb:greaterThan, swrlb:equal) Подобно на swrlb:lessThanOrEqual.

Page 38: SWRL : A Semantic Web Rule Language

7.2. Math Built-InsСледните built-ins са определени за различни числови типове. За да

е удовлетворена релацията, всички аргументи трябжа да са от един и същи числов тип, за който релацията е определена.

swrlb:add (from XQuery op:numeric-add) Удовлетворена, ако първият аргумент е еднакъв с аритметичната сума на втория аргумент с останалите агументи.

swrlb:subtract (from XQuery op:numeric-subtract) Удовлетворена, ако първият аргумент е еднакъв с аритметичната разлика на втория аргумент с останалите агументи.

swrlb:multiply (from XQuery op:numeric-multiply) Удовлетворена, ако първият аргумент е еднакъв с аритметичното умножение на втория аргумент с останалите агументи.

swrlb:divide (from XQuery op:numeric-divide) Удовлетворена, ако първият аргумент е еднакъв с аритметичното делене на втория аргумент с останалите агументи.

Page 39: SWRL : A Semantic Web Rule Language

...

swrlb:integerDivide (from XQuery op:numeric-integer-divide) Удовлетворена, ако първият аргумент e частно на 2-я аргумент с 3-я аргумент . Ако числителя не е точно разделен от делителя, тогава частното e xsd:integer с-та получена при игнориране на остатъка, който се получава при деленето(това е без закръгляне).

swrlb:mod (from XQuery op:numeric-mod) Удовлетворена, ако първият аргумент представя остатъка получен при деленето на 2-я аргумент (делимо) с 3-я аргумент (делител).Операцията а MOD b за операнди които са xsd:integer или xsd:decimal или типове произлезли от тях извежда резултата като (a idiv b)*b+(a mod b) което е еквивалентно на а и големината на резултата e винаги по-малка от големината на b. Това тъждество е изпълнено дори при специфични операции, когато делимото e най-голямото отрицателно число от неговия тип и делителя е -1(остатъка е 0).От това правило следва, че знака на резултата е знака на делимото.

swrlb:powУдовлетворена, ако първият аргумент e равен на 2-я аргумент повдигнат на степен 3-я аргумент.

Page 40: SWRL : A Semantic Web Rule Language

...swrlb:unaryPlus (from XQuery op:numeric-unary-plus)

Удовлетворена, ако първият аргумент е еднакъв с втория аргумент без промяна на знака.

swrlb:unaryMinus (from XQuery op:numeric-unary-minus) Удовлетворена, ако първият аргумент е еднакъв с втория аргумент с обърнат знак.

swrlb:abs (from XQuery fn:abs) Удовлетворена, ако първият аргумент е абсолютната с-т на втория аргумент.

swrlb:ceiling (from XQuery fn:ceiling) Удовлетворена, ако първият аргумент е аргумент е най-малкото цяло число, което е по-голямо или равно от втория аргумент.

swrlb:floor (from XQuery fn:floor) Удовлетворена, ако първият аргумент е най-голямото цяло число, което е по-малко или равно от втория аргумент.

Page 41: SWRL : A Semantic Web Rule Language

... swrlb:round (from XQuery fn:round)

Удовлетворена, ако първият аргумент е еднакъв с най-близкото цяло число до втроя аргумент.

swrlb:roundHalfToEven (from XQuery fn:round-half-to-even) Удовлетворена, ако първият аргумент е еднакъв с втория закръглен до дадена точност. Ако частта след десетичната запетая е точно половината, резултата е число, където последната значеща цифра е четна.

swrlb:sin Удовлетворена, ако първият аргумент е еднакъв с синуса в радиани на втрория аргумент.

swrlb:cos Удовлетворена, ако първият аргумент е еднакъв с косинуса в радиани на втрория аргумент.

swrlb:tan Удовлетворена, ако първият аргумент е еднакъв с тангенса в радиани на втрория аргумент.

Page 42: SWRL : A Semantic Web Rule Language

7.3. Built-Ins за булеви стойностиswrlb:booleanNot (from XQuery fn:not)

Удовлетворена, ако първият аргумент е истина и втория е лъжа, или обратното.

Page 43: SWRL : A Semantic Web Rule Language

7.4. Built-Ins за стринговеСледните built-ins са определени за стрингове. swrlb:stringEqualIgnoreCase

Удовлетворена, ако първият аргумент еднакъв с вторият(малки/главни букви се игнорират)

swrlb:stringConcat (from XQuery fn:concat) Удовлетворена, ако първият аргумент е равен на стринга получен от конкатенацията на 2-я аргумент с останалите.

swrlb:substring (from XQuery fn:substring) Удовлетворена, ако първият аргумент е равен на подстринга с незадължителна дължина 4-я аргумент, започвайки от отместването, което е 3-я аргумент в стринга, който е 2-я аргумент.

swrlb:stringLength (from XQuery fn:string-length) Удовлетворена, ако първият аргумент е равен на дължината на 2-я арг.

Page 44: SWRL : A Semantic Web Rule Language

...swrlb:normalizeSpace (from XQuery

fn:normalize-space) Удовлетворена, ако първият аргумент е равен на 2-я аргумент без whitespacе.

swrlb:upperCase (from XQuery fn:upper-case) Удовлетворена, ако първият аргумент е равен на upper-cased с-та на 2-я

swrlb:lowerCase (from XQuery fn:lower-case) Удовлетворена, ако първият аргумент е равен на lower-cased с-та на 2-я

Page 45: SWRL : A Semantic Web Rule Language

...swrlb:translate (from XQuery fn:translate)

Удовлетворена, ако първият аргумент е равен на 2-я аргумент, в който срещащите се занаци в 3-я арг. са заменен с знака на съответната позиция в стринга на 4-я арг.

swrlb:contains (from XQuery fn:contains) Удовлетворена, ако първият аргумент съдържа 2-я аргумент (case sensitive).

swrlb:containsIgnoreCase Удовлетворена, ако първият аргумент съдържа 2-я аргумент (case ignored).

Page 46: SWRL : A Semantic Web Rule Language

...swrlb:startsWith (from XQuery fn:starts-with)

Удовлетворена, ако първият аргумент започва с 2-я аргумент .

swrlb:endsWith (from XQuery fn:ends-with) Удовлетворена, ако първият аргумент завършва с 2-я аргумент .

swrlb:substringBefore (from XQuery fn:substring-before) Удовлетворена, ако първият аргумент е знаците от 2-я аргумент, които предхождат знаците от третия аргумент .

swrlb:substringAfter (from XQuery fn:substring-after) Удовлетворена, ако първият аргумент е знаците от 2-я аргумент, които следват след знаците от третия аргумент .

Page 47: SWRL : A Semantic Web Rule Language

..swrlb:matches (from XQuery fn:matches)

Удовлетворена, ако първият аргумент, отговарея на регулярния израз, който е 2-я аргумент.

swrlb:replace (from XQuery fn:replace) Удовлетворена, ако първият аргумент е равен на с-та на 2-я аргумент, като е заменено всяко срещане на подстринг, който удовлетворява рег. Израз, който е 3-я аргумент с стринга, който е като 4-ти аргумент.

swrlb:tokenize (from XQuery fn:tokenize) Удовлетворена, ако първият аргумент е поредица от един или повече стрингове, които са подстрингове на 2-я аргумент, разделен на подстрингове, които отговарят на регулярния израз, който е 3-я арг.

Page 48: SWRL : A Semantic Web Rule Language

7.5. Built-Ins за дата, време и времетраене

Следните built-ins са дефинирани за the XML Schema date, time, and duration datatypes.

swrlb:yearMonthDuration (from Xquery xdt:yearMonthDuration) Удовлетворена, ако първият аргумент е xsd:duration репрезентация съставена от година, който е 2-я аргумент и месец, който е 3-я аргумент.

swrlb:dayTimeDuration (from XQuery xdt:dayTimeDuration) Удовлетворена, ако първият аргумент е xsd:duration репрезентация съставена от дните, които са 2-я аргумент, часовете, които са 3-я аргумент, минути-4 аргумент и секунди-5 аргумент.

Page 49: SWRL : A Semantic Web Rule Language

...swrlb:dateTime

Удовлетворена, ако първият аргумент е xsd:dateTime репрезентацията съставена от годината, която е 2-я аргумент, месеца, който е 3-я аргумент, ден-4 аргумент, часовете-5 аргумент, минути-6 аргумент, секунди-7 аргумент и времева зона като 8 аргумент.

swrlb:date Удовлетворена, ако първият аргумент е xsd:date репрезентацията съставена от годината, която е 2-я аргумент, месеца, който е 3-я аргумент, ден-4 аргумент и часова зона като 5-ти аргумент

swrlb:time Удовлетворена, ако първият аргумент е xsd:time репрезентация съставена от часовете, които са 2-я аргумент, минутите, които са 3-я аргумент, секундите-4 аргумент и времева зона като 5-ти аргумент.

Page 50: SWRL : A Semantic Web Rule Language

... swrlb:addYearMonthDurations (from XQuery

op:add-yearMonthDurations) Удовлетворена, ако yearMonthDuration(1-ви арг.) е равен на аритметичната сума от yearMonthDuration (2-ри арг.) с останалите yearMonthDuration (останалите арг.).

swrlb:subtractYearMonthDurations (from XQuery op:subtract-yearMonthDurations) Удовлетворена, ако yearMonthDuration(1-ви арг.) е равен на аритметичната разлика от yearMonthDuration (2-ри арг.) с yearMonthDuration (3-ти арг.).

swrlb:multiplyYearMonthDuration (from XQuery op:multiply-yearMonthDuration) Удовлетворена, ако yearMonthDuration(1-ви арг.) е равен на аритметичното произведение от yearMonthDuration (2-ри арг.) с yearMonthDuration (3-ти арг.).

swrlb:divideYearMonthDurations (from XQuery op:divide-yearMonthDuration) Удовлетворена, ако yearMonthDuration(1-ви арг.) е равен на аритметичното частно от yearMonthDuration (2-ри арг.) с yearMonthDuration (3-ти арг.).

Page 51: SWRL : A Semantic Web Rule Language

... swrlb:addDayTimeDurations (from XQuery op:add-dayTimeDurations)

Удовлетворена, ако dayTimeDuration (1-ви арг.) е равен на аритметичната сума от dayTimeDuration (2-ри арг.) с останалите dayTimeDuration (останалите арг.).

swrlb:subtractDayTimeDurations (from XQuery op:subtract-dayTimeDurations) Удовлетворена, ако dayTimeDuration (1-ви арг.) е равен на аритметичната разлика от dayTimeDuration (2-ри арг.) с dayTimeDuration Duration (3-ти арг.).

swrlb:multiplyDayTimeDurations (from XQuery op:multiply-dayTimeDuration) Удовлетворена, ако dayTimeDuration (1-ви арг.) е равен на аритметичното произведение от dayTimeDuration (2-ри арг.) с dayTimeDuration Duration (3-ти арг.).

swrlb:divideDayTimeDuration (from XQuery op:divide-dayTimeDuration) Удовлетворена, ако dayTimeDuration (1-ви арг.) е равен на аритметичното частно от dayTimeDuration (2-ри арг.) с dayTimeDuration Duration (3-ти арг.).

Page 52: SWRL : A Semantic Web Rule Language

...swrlb:subtractDates (from XQuery

op:subtract-dates) Удовлетворена, ако dayTimeDuration (1-ви арг.) е равен на аритметичната разлика от xsd:date (2-ри арг.) с xsd:date(3-ти арг.).

swrlb:subtractTimes (from XQuery op:subtract-times) Удовлетворена, ако dayTimeDuration (1-ви арг.) е равен на аритметичната разлика от xsd:time (2-ри арг.) с xsd:time (3-ти арг.).

Page 53: SWRL : A Semantic Web Rule Language

... swrlb:addYearMonthDurationToDateTime (from XQuery

op:add-yearMonthDuration-to-dateTime) Удовлетворена, ако xsd:dateTime (1-ви аргумент) е равен на аритметичната сума на xsd:dateTime (2-рия аргумент) и yearMonthDuration (3-я арг.)

swrlb:addDayTimeDurationToDateTime (from XQuery op:add-dayTimeDuration-to-dateTime) Удовлетворена, ако xsd:dateTime (1-ви аргумент) е равен на аритметичната сума на xsd:dateTime (2-рия аргумент) и dayTimeDuration (3-я арг.)

swrlb:subtractYearMonthDurationFromDateTime (from XQuery op:subtract-yearMonthDuration-from-dateTime) Удовлетворена, ако xsd:dateTime (1-ви аргумент) е равен на аритметичната разлика на xsd:dateTime (2-рия аргумент) и yearMonthDuration (3-я арг.)

swrlb:subtractDayTimeDurationFromDateTime (from XQuery op:subtract-dayTimeDuration-from-dateTime) Удовлетворена, ако xsd:dateTime (1-ви аргумент) е равен на аритметичната разлика на xsd:dateTime (2-рия аргумент) и dayTimeDuration (3-я арг.)

Page 54: SWRL : A Semantic Web Rule Language

... swrlb:addYearMonthDurationToDate (from XQuery

op:add-yearMonthDuration-to-date) Удовлетворена, ако xsd:date (1-ви аргумент) е равен на аритметичната сума на xsd:date (2-рия аргумент) и yearMonthDuration (3-я арг.)

swrlb:addDayTimeDurationToDate (from XQuery op:add-dayTimeDuration-to-date) Удовлетворена, ако xsd:date (1-ви аргумент) е равен на аритметичната сума на xsd:date (2-рия аргумент) и dayTimeDuration (3-я арг.)

swrlb:subtractYearMonthDurationFromDate (from XQuery op:subtract-yearMonthDuration-from-date) Удовлетворена, ако xsd:date (1-ви аргумент) е равен на аритметичната разлика на xsd:date (2-рия аргумент) и yearMonthDuration (3-я арг.)

swrlb:subtractDayTimeDurationFromDate (from XQuery op:subtract-dayTimeDuration-from-date) Удовлетворена, ако xsd:date (1-ви аргумент) е равен на аритметичната разлика на xsd:date (2-рия аргумент) и dayTimeDuration (3-я арг.)

Page 55: SWRL : A Semantic Web Rule Language

... swrlb:addDayTimeDurationToTime (from XQuery

op:add-dayTimeDuration-to-time) Удовлетворена, ако xsd:time (1-ви аргумент) е равен на аритметичната сума на xsd:time (2-рия аргумент) и dayTimeDuration (3-я арг.)

swrlb:subtractDayTimeDurationFromTime (from XQuery op:subtract-dayTimeDuration-from-time) Удовлетворена, ако xsd:time (1-ви аргумент) е равен на аритметичната разлика на xsd:time (2-рия аргумент) и dayTimeDuration (3-я арг.)

swrlb:subtractDateTimesYieldingYearMonthDuration (from XQuery fn:subtract-dateTimes-yielding-yearMonthDuration) Удовлетворена, ако yearMonthDuration (1-ви аргумент) е равен на аритметичната разлика на xsd:dateTime (2-рия аргумент) и xsd:dateTime (3-я арг.)

swrlb:subtractDateTimesYieldingDayTimeDuration (from XQuery fn:subtract-dateTimes-yielding-dayTimeDuration) Удовлетворена, ако dayTimeDuration (1-ви аргумент) е равен на аритметичната разлика на xsd:dateTime (2-рия аргумент) и xsd:dateTime (3-я арг.)

Page 56: SWRL : A Semantic Web Rule Language

7.6. Built-Ins for URIs

Следните built-ins са определени за XML Schema типовете данни отнасящи се до URIs.

swrlb:resolveURI (from XQuery op:resolve-uri) Удовлетворена, ако URI рефернцията(1-я арг.) е равна на стойността на URI рефернцията(2-я арг.) решена спрямо базовата URI(3-я арг.).

swrlb:anyURI Удовлетворена, ако URI рефернцията(1-я арг.) се състои от схемата, коята е като втори аргумент, хоста, като 3-тия, порта като 4-тия, пътя като 5-я, query като 6-я и фрагмент като 7-я.

Page 57: SWRL : A Semantic Web Rule Language

7.7. Built-Ins for Lists

Следните built-ins са дефинирани за RDF-style списъци. (Имайте впредвид, че тези built-ins не са използваеми в OWL DL или OWL Lite като RDF-style списъци могат само да бъдат използвани като OWL data в OWL Full.)

swrlb:listConcat (from Common Lisp append) Удовлетворена, ако 1-я аргумент е списък, който представлява конкатенация на 2-я аргумент с останалите.

swrlb:listIntersection Удовлетворена, ако 1-я аргумент е списък съдържащ елементи съдържащи се и в списъка, който е 2-я аргумент и в списъка, който е 3-я арг.

swrlb:listSubtraction Удовлетворена, ако 1-я аргумент е списък съдържащ елементи съдържащи се в списъка, който е 2-я аргумент и не се съдържат в списъка, който е 3-я арг.

Page 58: SWRL : A Semantic Web Rule Language

...swrlb:member

Удовлетворена, ако 1-я аргумент е член от списъка, който е като 2-ри арг.

swrlb:length (from Common Lisp list-length) Удовлетворена, ако 1-я аргумент е дължината на списъка, който е като 2-ри арг.(броя на членовете на списъка)

swrlb:first (from rdf:first) Удовлетворена, ако 1-я аргумент е първия член на списъка, който е като 2-ри арг.

Page 59: SWRL : A Semantic Web Rule Language

...swrlb:rest (from rdf:rest)

Удовлетворена, ако 1-я аргумент е списък, съдържащ всички елементи на списъка, който е като 2-ри арг. с изключение на последния.

swrlb:sublist Удовлетворена, ако 1-я аргумент съдържа списъка, който е като 2-ри арг.

swrlb:empty (from rdf:nil) Удовлетворена, ако 1-я аргумент е празен списък.