Upload
adriano-melo
View
244
Download
0
Embed Size (px)
DESCRIPTION
The Semantic Web Rule Language (SWRL) is a proposed language for the Semantic Web that can be used to express rules as well as logic, combining OWL DL or OWL Lite with a subset of the Rule Markup Language (itself a subset of Datalog).
Citation preview
swrlAdriano Melo
ontologias
definição
Corpo de conhecimento declarativo sobre um dado domínio, assunto ou área do conhecimentoNa prática, hierarquias de conceitos (classes) com suas relações, restrições, axiomas e terminologia associada
http://www.cin.ufpe.br/~in1122/081/slides/tutONTO-mProf.PPT
classes, indivíduos e relações entre objetos
axiomas em OWL 2Regras do domínio em questãoclasses: equivalentes, disjuntas ou subclasses;propriedades: domínio, ser reflexiva, ser funcional, subpropriedades...indivíduos: iguais, diferentes, asserção de classes e propriedades...
http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Axioms
propriedades
funcionalfuncional inversa
transitivasimétrica
anti-simétricareflexiva
anti-reflexiva
funcionalum dado indivíduo só pode se relacionar a apenas um outro indivíduo por esta propriedade
funcional inversasó pode ser relacionado apenas com um outro através da propriedade
transitivase A se relaciona com B e B se relaciona com C, então A se relaciona com C.
simétricase A se relaciona com B, então B se relaciona com A
anti-simétricase A se relaciona com B, então B não se relaciona com A
reflexivauma propriedade é dita reflexiva quando um individuo se relaciona com ele mesmo através dela
anti-reflexivauma propriedade é dita anti-reflexiva quando um individuo não pode se relacionar com ele mesmo através dela
swrl
o que é...Sigla para Semantic Web Rule LanguageBaseada em OWL: as regras são expressas a partir de conceitos de OWL
classespropriedadesindivíduosliterais...
exemplo: hasBrother
Person(?p),hasSibling(?p, ?s),Man(?s) ->
hasBrother(?p, ?s)
exemplo: com instância..
Person(Adriano), hasSibling(Adriano, ?s), Man(?s) ->
hasBrother(Adriano, ?s)
exemplo: com literal...
Person(Adriano),hasSibling(Adriano, ?s),Man(?s),hasAge(?s, 40) ->
has40YearOldBrother(Adriano, ?s)
exemplo: buit-in
hasBrother(?x1,?x2),hasAge(?x1,?age1),hasAge(?x2,?age2),greaterThan(?age2,?age1) ->
hasOlderBrother(?x1,?x2)
exemplo
hasBrother(?x1, ?x2),hasAge(?x1, ?age1),hasAge(?x2, ?age2),subtract(10, ?age2, ?age1) ->
hasDecadeOlderBrother(?x1, ?x2)
the simpsons!
indivíduos
na prática..
baixar a ontologia dos simpsonsbaixar o protégé 4
ontologia: http://goo.gl/i6TEYOprotégé: http://goo.gl/75X6FF
no protégé...
criar nova aba
no protégé...
adicionar uma view “Rules” na aba criada
como criar regras...
definir a propriedade “hasSibling” com uma regra
prática #1
prática #2definir propriedade “hasNephew” usando regras
referências
http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQhttp://protegewiki.stanford.edu/wiki/SWRLTab