swrl
Adriano Melo
ontologias
definição
Corpo de conhecimento declarativo
sobre um dado domínio, assunto ou área
do conhecimento
Na 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 2
Regras do domínio em questão
classes: 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
funcional
funcional inversa
transitiva
simétrica
anti-simétrica
reflexiva
anti-reflexiva
funcional
um dado indivíduo só pode se relacionar a
apenas um outro indivíduo por esta
propriedade
funcional inversa
só pode ser relacionado apenas com um
outro através da propriedade
transitiva
se A se relaciona com B e B se relaciona
com C, então A se relaciona com C.
simétrica
se A se relaciona com B, então B se
relaciona com A
anti-simétrica
se A se relaciona com B, então B não se
relaciona com A
reflexiva
uma propriedade é dita reflexiva quando
um individuo se relaciona com ele mesmo
através dela
anti-reflexiva
uma 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 Language
Baseada em OWL: as regras são expressas a
partir de conceitos de OWL
classes
propriedades
indivíduos
literais...
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 simpsons
baixar o protégé 4
ontologia: http://goo.gl/i6TEYO
proté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 #2
definir propriedade “hasNephew” usando regras
referências
http://protege.cim3.net/cgi-bin/wiki.pl?
SWRLLanguageFAQ
http://protegewiki.stanford.edu/wiki/
SWRLTab

Aula sobre SWRL