Swrl a semantic web rule language
This presentation is the property of its rightful owner.
Sponsored Links
1 / 59

SWRL : A Semantic Web Rule Language PowerPoint PPT Presentation


  • 117 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

SWRL : A Semantic Web Rule Language

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Swrl a semantic web rule language

SWRL:A Semantic Web Rule Language

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

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

Разработили:

Диян Детелинов Пенков М22804

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


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 данни.


Swrl a semantic web rule language

2.Абстрактен синтаксис

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

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

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


Swrl a semantic web rule language

...

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


Swrl a semantic web rule language

2.1.Правиала

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

axiom ::= rule

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

rule ::= 'Implies(' [ URIreference ] { annotation } antecedent consequent ')'

antecedent ::= 'Antecedent(' { atom } ')'

consequent ::= 'Consequent(' { atom } ')’


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


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 е истина при интерпретацията на аргументите .


Swrl a semantic web rule language

...

i-object ::= i-variable | individualID

d-object ::= d-variable | dataLiteral

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

i-variable ::= 'I-variable(' URIreference ')'

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


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)


Swrl a semantic web rule language

3.Пряка семантика модел-теория

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


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.


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 DLdatavalueсвойство, f е вградена релация, x,y са променливи или OWL индивиди, а z е променлива или OWL данна.

Interpretation Conditions Table


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.


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 има бил за чичо.


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))))


Swrl a semantic web rule language

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

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

Implies(Antecedent(Artist(I-variable(x))

(restriction(artistStylemaxCardinality(1)))(I-variable(x))

Style(I-variable(y))

creator(I-variable(z) I-variable(x)))

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


Swrl a semantic web rule language

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

Окончателният 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)


Swrl a semantic web rule language

...

Ontology root елемента на OWL XML Presentation синтаксиса е разширен, за да включи "imp" (implication rule) and "var" (variable declaration)

Ontologyелемент

<swrlx:Ontologyswrlx: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:Ontology

Var аксиомите просто определят съществуването на променлива. Това е взето от RuleMLnamespace. Напр.

Пример 5-1

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


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:_rlabruleml:href = xsd:anyURI (required) >

Content: ( )

</ruleml:_rlab>

Parents: ruleml:imp

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


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


Swrl a semantic web rule language

...

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

Елемент swrlx:classAtom

<swrlx:classAtom>

Content: ( owlx:description, swrlx:iObject )

</swrlx:classAtom>

Parents: swrlx:atom

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


Swrl a semantic web rule language

...

Пример 5-2

<swrlx:classAtom>

<owlx:Classowlx:name="Person" />

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

</swrlx:classAtom>

<swrlx:classAtom>

<owlx:IntersectionOf>

<owlx:Classowlx:name="Person" />

<owlx:ObjectRestrictionowlx:property="hasParent">

<owlx:someValuesFromowlx: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


Swrl a semantic web rule language

...

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

Пример 5-3

<swrlx:datarangeAtom>

<owlx:Datatypeowlx:name="&xsd;int" />

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

</swrlx:datarangeAtom>

<swrlx:datarangeAtom>

<owlx:OneOf>

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

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

</owlx:OneOf>

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

</swrlx:datarangeAtom>


Swrl a semantic web rule language

...

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

Елемент swrlx:individualPropertyAtom

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

Content: ( swrlx:iObject, swrlx:iObject )

</swrlx:individualPropertyAtom>

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

Parents: swrlx:atom


Swrl a semantic web rule language

...

Елемент swrlx:datavaluedPropertyAtom

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

Content: ( swrlx:iObject, swrlx:dObject )

</swrlx:datavaluedPropertyAtom>

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

Parents: swrlx:atom

Пример 5-4

<swrlx:individualPropertyAtomswrlx:property="hasParent">

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

<owlx:Individualowlx:name="John" />

</swrlx:individualPropertyAtom>

<swrlx:datavaluedPropertyAtomswrlx:property="grade">

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

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

</swrlx:datavaluedPropertyAtom>


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:Individualowlx:name="Clinton" />

<owlx:Individualowlx:name="Bill_Clinton" />

</swrlx:sameIndividualAtom>


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-in

Parents: swrlx:atom


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


Swrl a semantic web rule language

5.1. Примери за правила

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

Пример 5.1-1

<ruleml:imp>

<ruleml:_rlabruleml:href="#example1"/>

<ruleml:_body>

<swrlx:individualPropertyAtomswrlx:property="hasParent">

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

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

</swrlx:individualPropertyAtom>

<swrlx:individualPropertyAtomswrlx:property="hasBrother">

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

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

</swrlx:individualPropertyAtom>

</ruleml:_body>

<ruleml:_head>

<swrlx:individualPropertyAtomswrlx:property="hasUncle">

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

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

</swrlx:individualPropertyAtom>

</ruleml:_head>

</ruleml:imp>


5 1 2

Пример 5.1-2

Алтернативна формулировка на правилото от оредния пример, може да бъде да проверим, че ако x1 hasParent x2, x2 hasSibling x3, и x3 hasSex male, тогава x1 hasUncle x3:

<ruleml:imp>

<ruleml:_rlabruleml:href="#example2"/>

<ruleml:_body>

<swrlx:individualPropertyAtomswrlx:property="hasParent">

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

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

</swrlx:individualPropertyAtom>

<swrlx:individualPropertyAtomswrlx:property="hasSibling">

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

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

</swrlx:individualPropertyAtom>

<swrlx:individualPropertyAtomswrlx:property="hasSex">

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

<owlx:Individualowlx:name="#male" />

</swrlx:individualPropertyAtom>

</ruleml:_body>

<ruleml:_head>

<swrlx:individualPropertyAtomswrlx:property="hasUncle">

<ruleml:var>x1</ruleml:var

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

</swrlx:individualPropertyAtom>

</ruleml:_head>

</ruleml:imp>


5 1 3

Пример 5.1-3

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

<ruleml:imp>

<ruleml:_body>

<swrlx:classAtom>

<owlx:Classowlx:name="&ulan;Artist" />

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

</swrlx:classAtom>

<swrlx:classAtom>

<owlx:Classowlx:name="&aat;Style" />

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

</swrlx:classAtom>

<swrlx:individualPropertyAtomswrlx:property="&aatulan;artistStyle">

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

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

</swrlx:individualPropertyAtom>

<swrlx:individualPropertyAtomswrlx:property="&vra;creator">

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

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

</swrlx:individualPropertyAtom>

</ruleml:_body>

<ruleml:_head>

<swrlx:individualPropertyAtomswrlx:property="&vra;style/period">

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

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

</swrlx:individualPropertyAtom

</ruleml:_head>

</ruleml:imp>


6 rdf

6. Окончателен RDF синтаксис

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

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

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


6 1 rdf

6.1 Примери за правила в Окончателения RDF синтаксис

Примерите илюстрират удобното разшиение за правила на OWL RDF/XML синтаксиса. Първият пример е повторение на примера 5.1-2 използвайки RDF/XML синтаксис.

Пимер 6.1-1

<swrl:Variablerdf:ID="x1"/>

<swrl:Variablerdf:ID="x2"/>

<swrl:Variablerdf:ID="x3"/>

<ruleml:Imp>

<ruleml:bodyrdf:parseType="Collection">

<swrl:IndividualPropertyAtom>

<swrl:propertyPredicaterdf:resource="&eg;hasParent"/>

<swrl:argument1 rdf:resource="#x1" />

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

<swrl:IndividualPropertyAtom>

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

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

<swrl:IndividualPropertyAtom>

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

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

</ruleml:body>

<ruleml:headrdf:parseType="Collection">

<swrl:IndividualPropertyAtom>

<swrl:propertyPredicaterdf:resource="&eg;hasUncle"/>

<swrl:argument1 rdf:resource="#x1" />

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

</swrl:IndividualPropertyAtom>

</ruleml:head>

</ruleml:Imp>


6 1 2

Пример 6.1-2

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

<swrl:Variablerdf:ID="x"/>

<swrl:Variablerdf:ID="y"/>

<swrl:Variablerdf:ID="z"/>

<ruleml:Imp>

<ruleml:bodyrdf:parseType="Collection">

<swrl:ClassAtom>

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

<swrl:ClassAtom>

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

</swrl:ClassAtom>

<swrl:IndividualPropertyAtom>

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

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

<swrl:IndividualPropertyAtom>

<swrl:propertyPredicaterdf:resource="&vra;creator"/> <swrl:argument1 rdf:resource="#x" />

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

</swrl:IndividualPropertyAtom>

</ruleml:body>

<ruleml:headrdf:parseType="Collection">

<swrl:IndividualPropertyAtom>

<swrl:propertyPredicaterdf:resource="&vra;style/period"/>

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

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

</swrl:IndividualPropertyAtom>

</ruleml:head>

</ruleml:Imp>


7 built ins

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.


7 1 built ins

7.1. Built-Ins за сравнения

  • swrlb:equal (from XQueryop:numeric-equal, op:compare, op:boolean-equalop: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 XQueryop: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 са еднакви и несравними в противен случай.


Swrl a semantic web rule language

...

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

  • swrlb:greaterThan (from XQueryop: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.


7 2 math built ins

7.2. Math Built-Ins

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

  • swrlb:add (from XQueryop:numeric-add)

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

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

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

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


Swrl a semantic web rule language

...

  • swrlb:integerDivide (from XQueryop:numeric-integer-divide)

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

  • swrlb:mod (from XQueryop: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-я аргумент.


Swrl a semantic web rule language

...

  • swrlb:unaryPlus (from XQueryop:numeric-unary-plus) Удовлетворена, ако първият аргумент е еднакъв с втория аргумент без промяна на знака.

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

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

  • swrlb:ceiling (from XQueryfn:ceiling)

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

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


Swrl a semantic web rule language

...

  • swrlb:round (from XQueryfn:round)

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

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

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

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

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


7 3 built ins

7.3. Built-Ins за булеви стойности

  • swrlb:booleanNot (from XQuery fn:not)

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


7 4 built ins

7.4. Built-Ins за стрингове

Следните built-ins са определени за стрингове.

  • swrlb:stringEqualIgnoreCase

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

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

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

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


Swrl a semantic web rule language

...

  • swrlb:normalizeSpace (from XQueryfn:normalize-space)

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

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

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


Swrl a semantic web rule language

...

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

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

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


Swrl a semantic web rule language

...

  • swrlb:startsWith (from XQueryfn:starts-with) Удовлетворена, ако първият аргумент започва с 2-я аргумент .

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

  • swrlb:substringBefore (from XQueryfn:substring-before)

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

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


Swrl a semantic web rule language

..

  • swrlb:matches (from XQueryfn:matches) Удовлетворена, ако първият аргумент, отговарея на регулярния израз, който е 2-я аргумент.

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

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


7 5 built ins

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

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

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

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


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-ти аргумент.


Swrl a semantic web rule language

...

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

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

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

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


Swrl a semantic web rule language

...

  • swrlb:addDayTimeDurations (from XQueryop:add-dayTimeDurations) Удовлетворена, ако dayTimeDuration(1-ви арг.) е равен на аритметичната сума от dayTimeDuration(2-ри арг.) с останалите dayTimeDuration(останалите арг.).

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

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

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


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-ти арг.).


Swrl a semantic web rule language

...

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

  • swrlb:addDayTimeDurationToDateTime (from XQueryop:add-dayTimeDuration-to-dateTime)

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

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

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


Swrl a semantic web rule language

...

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

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

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

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


Swrl a semantic web rule language

...

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

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

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

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


7 6 built ins for uris

7.6. Built-Ins for URIs

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

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

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


7 7 built ins for lists

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-я арг.


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-ри арг.


Swrl a semantic web rule language

...

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

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

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


  • Login