TDL&MMT CNTT NguyenVanUy TomTatLuanVan

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

Ph lc2: MU TRANG PH BA LUN VN THC S

I HC QUC GIA H NI
TRNG I HC CNG NGH

NGUYN VN UY

SUY DIN TRN M HNH BN TH HC


V NG DNG

Ngnh: Cng ngh thng tin


Chuyn ngnh: Truyn d liu v Mng my tnh

LUN VN THC S CNG NGH THNG TIN

NGI HNG DN KHOA HC: TS. L NH THANH

H NI 2016
MC LC

M U ..........................................................................................................................................1
CHNG 1. M HNH BN TH HC ....................................................................................2
1.1. GII THIU .............................................................................................................................2
1.2. BN TH HC .........................................................................................................................3
1.3. CC THNH PHN CA BN TH HC ....................................................................................5
1.4. PHNG PHP XY DNG BN TH HC ...............................................................................5
1.5. TH HIN BN TH HC BNG OWL .....................................................................................5
1.5.1.Khi qut ........................................................................................................................5
1.5.2.Cc thnh phn chnh ca ti liu OWL.........................................................................6
1.6. CNG C H TR PHT TRIN BN TH HC .........................................................................9
CHNG 2. SUY DIN TRN M HNH BN TH HC ..................................................10
2.1. QUY TC SUY DIN ..............................................................................................................10
2.2. NGN NG BIU DIN QUY TC SUY DIN ...........................................................................10
2.2.1. RuleML ........................................................................................................................10
2.2.2. SWRL ...........................................................................................................................11
2.2.3. SPARQL .......................................................................................................................13
2.3. JENA FRAMEWORK ...............................................................................................................21
2.4. MT S V D SUY DIN TRN M HNH BN TH HC ........................................................22
2.4.1. Suy din trn lp (Classes Inferences).........................................................................24
2.4.2. Suy din trn th hin (Intence Inferences)..................................................................24
2.5. S PHN PHI TRN NHNG QUY TC .................................................................................25
CHNG 3. PHT TRIN NG DNG TH NGHIM .....................................................26
3.1. T VN .........................................................................................................................26
3.2. GII PHP THC HIN ..........................................................................................................26
3.3. XY DNG NG DNG .........................................................................................................27
3.3.1. Xy dng bn th hc (Ontology) ................................................................................27
3.3.2. Suy din v pht trin h thng ...................................................................................30
3.4. NH GI KT QU NG DNG ...........................................................................................34
KT LUN ....................................................................................................................................34
TI LIU THAM KHO ............................................................................................................35
1

M U
Ngy nay, hu nh cc thng tin cn thit trong mi mt ca i sng x hi nh y t, gio dc,
kinh t, chnh tr, php lut, c th d dng tm thy trn mi trng mng Internet. Ngi s dng Web
c th tm ra thng tin ny bng cch ch ra a ch URL v theo cc lin kt tm ra cc ti nguyn
mong i.
Vi nhu cu thng tin ngy cng ln ca con ngi, kh nng p ng thng tin cng tr ln bc
thit. K thut Web hin nay vn to kh khn trong vic rt trch, bo tr v pht trin thng tin. My tnh
ch c dng nh mt thit b gi v tr thng tin. Chng khng th truy xut nhng kh nng thc s
cn thit, do chng ch h tr mc gii hn no trong vic truy xut v x l thng tin. Kt qu l
ngi s dng phi phi gnh trn vai trch nhim khng nhng truy cp v x l thng tin m cn rt
trch v thng dch mi thng tin.
khc phc nhng yu im ca Web hin ti khi nim Semantic Web ra i. Semantic
Web l s m rng ca Web hin ti m trong thng tin c x l mt cch t ng bng my tnh,
lm cho con ngi v my tnh c th hp tc vi nhau.
M hnh bn th hc v mt lnh vc chuyn mn l mt cu trc d liu c xy dng mt cch
n gin, c ng, nhng cng phi y . Mc tiu l m t r rng nht tri thc lnh vc chuyn mn
ny. Suy din trn m hnh bn th hc l thao tc gip ta khai thc hiu qu trn bn th hc ny, bi v
nu khng thc hin qu trnh suy din th bn th hc ch c chc nng nh kho cha m thi. Suy din
bng cc quy tc c th suy ra kin thc mi, kin thc tim n cn thit da trn nhng s kin c bit
n trc mang li nhng s hiu qu to ln cho th h Web ng ngha.
Lun vn nghin cu cc suy din trn m hnh bn th hc bng cch xy dng cc tp quy tc
suy din, qua cng c thm s m t m hnh bn th hc v mt lnh vc, cui cng l vic xy dng
mt ng dng trong s dng nhng nghin cu cho l thuyt ny, vi tn: Chng trnh h tr cho
ngi lm vn.
Ngoi phn m u v kt lun, ni dung ca lun vn c chia lm 3 chng, trong :
Chng 1. M hnh bn th hc: Trnh by cc khi nim chnh trong ti, nhc li cc khi
nim c bn v Semantic Web v Bn th hc. Chng ny s gii p cc cu hi nh Semantic Web l
g, li ch ca n, thnh phn ca Semantic Web. i su nghin cu v Ontology, cu trc ca n, cch
thc xy dng Ontology.
Chng 2. Suy din trn m hnh bn th hc: Trong chng ny chng ti trnh by cc ni dung
xy dng cc tp lut suy din trn m hnh ontology vi cc ngn ng RuleML, SWRL v SPARQL.
Cu trc v s h tr ca my suy din Jena Framework. V d v vic suy din trn m hnh bn th hc
c th.
Chng 3. Pht trin ng dng th nghim: Xy dng mt h thng Semantic Web trong bao
gm vic xy dng m hnh bn th hc (ontology model), Suy din trn m hnh bn th hc ny bng
cch xy dng cc tp lut suy din cho mi chc nng ca h thng.
Cui cng l vic tng kt nhng kt qu t c v nhng mt hn ch ca ti, ng thi
pht trin h thng trong tng lai.
2

CHNG 1. M HNH BN TH HC

Sau chng ny s tr li c cc cu hi sau:


- Bn th hc l g, m hnh bn th hc l g?
- Cng ngh Semantic Web l g?
- Phng php xy dng bn th hc?
- Ngn ng OWL xy dng bn th hc, v cng c h tr xy dng bn th hc nh th no?

1.1. Gii thiu


Ngy nay, hu nh cc thng tin cn thit trong mi mt ca i sng x hi nh y t, gio dc,
kinh t, chnh tr, php lut, c th d dng tm thy trn mi trng mng Internet. Ngi s dng Web
c th tm ra thng tin ny bng cch ch ra a ch URL v theo cc lin kt tm ra cc ti nguyn
mong i.
Vi nhu cu thng tin ngy cng ln ca con ngi, kh nng p ng thng tin cng tr ln bc
thit. K thut Web hin nay vn to kh khn trong vic rt trch, bo tr v pht trin thng tin. My tnh
ch c dng nh mt thit b gi v tr thng tin. Chng khng th truy xut nhng kh nng thc s
cn thit, do chng ch h tr mc gii hn no trong vic truy xut v x l thng tin. Kt qu l
ngi s dng phi phi gnh trn vai trch nhim khng nhng truy cp v x l thng tin m cn rt
trch v thng dch mi thng tin.
khc phc nhng yu im ca Web hin ti khi nim Semantic Web ra i. Semantic
Web l s m rng ca Web hin ti m trong thng tin c x l mt cch t ng bng my tnh,
lm cho con ngi v my tnh c th hp tc vi nhau.

Hnh 1-1: Cu trc ca Semantic Web [1]


Cng ngh Semantic Web gn lin vi n l s ra i v pht trin ca bn th hc (Ontology)
ngi ta m t d liu coi l ti nguyn v tng l gn mi ti nguyn ny vi mt m t gi
chung l URI, qua m nh ngha ra cc siu d liu RDF (Resource Description Framework), sau
cho php truy vn v suy din (inference), chnh iu ny to ra tnh ng ngha, thng minh p ng
nhu cu cn thit m th h web mi yu cu.
3

Vic xy dng ra bn th hc v mt lnh vc chuyn mn ca cuc sng yu cu phi thc s


n gin, c ng, nhng cng phi y . Mc tiu l m t r rng nht tri thc lnh vc, gip ngi
dng dng khai thc thng tin mt cch d dng v hiu qu nht. Suy din trn m hnh bn th hc l
thao tc gip ta khai thc hiu qu v quan trng nht cho cng vic ny, bi v nu khng c n th bn
th hc ch c chc nng nh kho cha m thi. Suy din vi cc quy tc c th suy ra kin thc mi, kin
thc tim n cn thit da trn nhng s kin c bit n trc mang li nhng s hiu qu to ln
cho th h Web ng ngha.

1.2. Bn th hc
Bn th hc (ontology) l tp t vng m hnh ha th gii bn ngoi [11]. N a ra cc khi
nim c bn v nh ngha quan h gia cc khi nim trong mt min lnh vc. ng thi ontology
cn cung cp cc rng buc, l cc gi nh c s v ngha mong mun ca b t vng.
Ontology c xy dng nhm cc mc ch sau:
- Chia s hiu bit chung v cu trc thng tin gia con ngi v phn mm agent
- S dng li tri thc v mt min lnh vc c xy dng t trc

Hnh 1-2: Chia s bn th hc cho cc ng dng [2].


Trong hnh trn ta thy cc ng dng khc nhau, mun trao i thng tin vi nhau th cn phi c
mt tri thc chung, v vy cc ng dng ny u s dng mt ontology c th chia s tri thc cho nhau.
Ontology c s dng rng ri trong cng ngh tri thc, tr tu nhn to, v khoa hc my tnh
trong cc ng dng lin quan n qun l tri thc, x l ngn ng t nhin, thng mi in t, tch hp
thng tin, tm kim thng tin, thit k c s d liu
Mt hnh nh v m hnh Ontology:
4

Hnh 1-3:Mt m hnh bn th hc [3].


Ngn ng ontology cho php ngi s dng vit r rng, cc khi nim hnh thc ca m hnh
min. Cc yu cu chnh:
- Cu trc r rng: y l iu kin cn cho my c th x l thng tin
- Ng ngha hnh thc miu t ngha tri thc mt cch chnh xc: ngha ca ng ngha hnh thc
tn ti trong mt thi gian di trong min ton logic. Vic s dng ng ngha hnh thc cho php con
ngi suy din tri thc. Vi tri thc trong ontology chng ta c th suy din v:
+ Thnh vin ca lp: Nu x l mt th hin ca lp C v C l lp con ca lp D th chng ta suy
ra x l th hin ca lp D.
+ Cc lp tng ng: Nu lp A tng ng vi lp B v lp B tng ng vi lp C, th
lp A cng tng ng vi lp C.
+ Tinh nht qun: Gi s chng ta khai bo x l th hin ca lp A v A l lp con ca B C, A
l lp con ca lp D, Lp B v lp D khng c quan h vi nhau (disjoint). Th chng ta khng nht qun
bi v A nn l rng nhng li c th hin l x. y l mt du hiu ca mt li trong ontology.
+ Phn loi: Nu chng ta khai bo cc cp thuc tnh gi tr bit l iu kin cho thnh
vin trong mt lp A, th nu mt c th x tha mn cc iu kin, chng ta c th kt lun x phi l mt
th hin ca A.
+ Ng ngha l iu kin tin quyt cho vic h tr suy din: H tr suy din rt quan trng bi v
n cho php kim tra tnh nht qun ca ontology v tri thc, kim tra cc quan h tha gia cc lp, t
ng phn loi cc th hin trong lp.
Ng ngha hnh thc v h tr suy din thng c cung cp bi vic nh x mt ngn ng
ontology n hnh thc logic v s dng suy din t ng bi cc hnh thc lun tn ti. OWL c nh
x logic miu t v s dng cc suy din ang tn ti nh FaCT v RACER. Cc logic m t l tp con
ca logic v t nhm h tr suy din hiu qu.
5

1.3. Cc thnh phn ca bn th hc


Ontology c s dng nh l mt biu mu trnh by tri thc v th gii hay mt phn ca n.
Ontology thng miu t:
- C th (Individual): Cc i tng c bn ca Ontology, nn tng; Cc c th trong mt Ontology
c th bao gm cc i tng ri rc nh: tn ca mt ngi, tn mt ci cy, mt chic xe t,
- Lp (Class): Cc tp hp, hay kiu ca cc i tng. Lp l nhng nhm, b hoc mt tp hp
cc i tng. Mt lp c th gp nhiu lp hoc c gp vo lp khc. Mt lp gp vo lp khc c
gi l lp con (subclass) ca lp gp. iu quan trng ca quan h xp gp l tnh k tha.
- Thuc tnh (Property): l cc tnh nng, c im, tnh cch, hay cc thng s m cc i
tng c v c th em ra chia s.
- Mi lin h (Relationships): Cch m cc i tng c th lin h ti mt i tng khc. Tp
hp cc quan h cng nhau m t ng ngha ca lnh vc (domain). Tp cc dng quan h c s dng
v cy phn loi th bc ca chng th hin sc mnh din t ca ngn ng dng biu din ontology.
Ontology thng phn bit cc nhm quan h khc nhau. V d:
+ Quan h gia cc lp
+ Quan h gia cc thc th
+ Quan h gia mt thc th v mt lp
+ Quan h gia mt i tng n v mt tp hp
+ Quan h gia cc tp hp
B t vng Ontology c xy dng trn c s tng RDF, RDFS, cung cp kh nng biu din
ng ngha mm do cho ti nguyn Web v c kh nng h tr lp lun.

1.4. Phng php xy dng bn th hc


Quy trnh pht trin Ontology l mt quy trnh gm nhiu bc, tuy nhin vn cha c mt
phng php chun ha no pht trin cc ontology. Quy trnh pht trin gm by bc do Stanford
Center for Biomedical Informatics Research a ra (y l nhm pht trin phn mm Protg trnh
din v son tho Ontology).
- Bc 1: Xc nh lnh vc v phm vi ca Ontology
- Bc 2: Xem xt vic s dng li cc Ontology c sn
- Bc 3: Lit k cc thut ng quan trng
- Bc 4: Xc nh cc lp v phn cp ca cc lp
- Bc 5: Xc nh cc thuc tnh
- Bc 6: Xc nh rng buc ca cc thuc tnh
- Bc 7: To cc th hin / thc th.

1.5. Th hin bn th hc bng OWL


1.5.1. Khi qut
OWL (The Web Ontology Language) [8] l mt ngn ng gn nh XML dng m t cc h c
s tri thc. OWL l mt ngn ng nh du dng xut bn v chia s d liu trn Internet thng qua
6

nhng m hnh d liu gi l ontology. Ontology m t mt lnh vc (domain) v din t nhng i


tng trong lnh vc cng nhng mi quan h gia cc i tng ny. OWL l phn m rng v t
vng ca RDF v c k tha t ngn ng DAML+OIL Web ontology mt d n c h tr bi
W3C. OWL biu din ngha ca cc thut ng trong cc t vng v mi lin h gia cc thut ng ny
m bo ph hp vi qu trnh x l bi cc phn mm.
OWL c xem nh l mt k thut trng yu ci t cho Semantic Web trong tng lai.
OWL c thit k c bit cung cp mt cch thc thng dng trong vic x l ni dung thng tin ca
Web. Ngn ng ny c k vng rng s cho php cc h thng my tnh c th c c thay th cho
con ngi. OWL c pht trin bi n c nhiu tin li biu din ngha v ng ngha hn so vi
XML, RDF v RDFS, v v OWL ra i sau cc ngn ng ny, n c khc phc c nhng thiu st v
tn dng c nhiu tnh u vit, kh nng biu din cc ni dung m my c th biu din c trn
Web.
Cc phin bn ca OWL: Hin nay c ba loi OWL: OWL Lite, OWL DL (description logic), v
OWL Full.
1.5.2. Cc thnh phn chnh ca ti liu OWL
Cc tiu (titles):
Ti liu OWL thng c gi l OWL ontologies n l mt ti liu RDF. V th, yu t gc ca
Ontology l mt th rdf:RDF cha mt s lng ln cc khng gian tn (namespace)
<rdf:RDF
xmlns:owl =http://www.w3.org/2002/07/owl#
xmlns:rdf =http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:rdfs=http://www.w3.org/2000/01/rdf-schema#
xmlns:xsd =http://www.w3.org/2001/XMLSchema#
/>
Mt Ontology cn c th bt u vi mt tp hp cc m t v phin bn, ti nguyn c thm
vo di cp th:
<owl:Ontology >
<owl:Ontology rdf:about="">
<rdfs:comment>V d v owl Ontology </rdfs:comment>
<owl:priorVersion rdf:resource="http://www.mydomain.org/uni-ns-old"/>
<owl:imports rdf:resource="http://www.mydomain.org/persons"/>
<rdfs:label>University Ontology</rdfs:label>
</owl:Ontology>
Th owl:imports dng thm vo Ontology hin ti mt Ontology khc c ch nh bn trong
th rdf:resource. Owl:imports chnh l mt thuc tnh bc cu (transitive) m ta s ni n phn sau.
7

Lp (Class)
Lp l mt nhn t quan trng v c bn ca mt Ontology. Lp l tp hp cc c th thuc v
nhau bi v chng cng chia s nhng thuc tnh chung. Ngoi ra, n cn c t chc thnh cc cp bc
s dng subClassOf. Ch rng: lp Thing l mt lp tng qut v c th coi l cha ca mi lp trong
OWL cn Nothing th ngc li.
nh ngha mt lp ta s dng th owl:Class nh trong v d sau:
<owl:Class rdf:ID= sinh_vien />
trn ta nh ngha ra mt lp c tn (id) l sinh_vien. T by gi, lp sinh_vien ny c th
c tham chiu ti bng cch dng k hiu #sinh_vien.
Mt lp c th c ch ra l hon ton phn bit vi lp khc (disjointWith) hay bng vi lp
khc (equivalentClass).
V d:
<owl:Class rdf:ID= associateProfessor >
<owl:disjointWith rdf:resource= #Professor />
<owl:disjointWith rdf:resource= #assitantProfessor />
</owl:Class>
DisjointWith m bo rng mt thnh vin ca lp ny khng th ng thi l thnh vin ca lp
khc.
EquivalentClass th ch ra hai lp c chnh xc nhng th hin ging nhau:
<owl:Class rdf:ID= faculty >
<owl:equivalentClass rdf:resource= academicStaffMember />
</owl:Class>
Lp con (subClass)
to s phn cp trong Ontology, ta c th nh ngha mt lp l lp con ca lp khc. S nh
ngha ny cng mang tnh bc cu: nu A l lp con ca B v B l lp con ca C th A l lp con ca C.
<owl:Class rdf:ID= sinh_vien >
<rdfs:subClassOf rdf:resource= #con_nguoi />
</owl:Class>
y th lp sinh_vien c nh ngha l lp con ca lp con_nguoi. Cn phn bit mt cht
gia lp bng nhau (equivalentClass) v lp con (subClassOf ). Vi lp bng nhau th nhng th hin ca
lp ny cng chnh l nhng th hin ca lp kia, cn vi lp con th nhng th hin ca lp cha khng
nht thit phi l nhng th hin ca lp con.
Thuc tnh (properties)
- V d v ObjectProperty:
<owl:ObjectProperty rdf:ID=madefromGrape >
8

<rdfs:domain rdf:resource=#Wine />


<rdfs:range rdf:resource= #WineGrape />
</owl:ObjectProperty>
- V d v DataTypeProperty
<owl:DatatypeProperty rdf:ID="age">
<rdfs:rangerdf:resource="http://www.w3.org/2001/XLMSchema#nonNegativeInteger"/>
</owl:DatatypeProperty>
Thuc tnh c bit
Ta c th nh ngha trc tip cc c trng ca thuc tnh nh sau:
owl:TransitiveProperty: hai thuc tnh gi l bc cu nu vi mi cp (x,y) l mt th hin ca
thuc tnh P v cp (y,z) l th hin ca thuc tnh P th (x,z) cng l th hin ca thuc tnh P.
owl:SymmetricProperty: dng ch ra rng mt thuc tnh l thuc tnh i xng. Vi mi cp
(x,y) l th hin ca thuc tnh P th (y,x) cng l th hin ca thuc tnh P.
owl:FunctionalProperty: thuc tnh c ch ra l c gi tr duy nht. N c nhiu nht l mt gi
tr cho mi c th.
owl: InverseFunctionalProperty: ngc li vi FunctionalProperty.
Mt v d v c php cho cc c trng trn:
<owl:ObjectProperty rdf:ID="hasSameGradeAs">
<rdf:type rdf:resource="&owl;TransitiveProperty" />
<rdf:type rdf:resource="&owl;SymmetricProperty" />
<rdfs:domain rdf:resource="#student" />
</owl:ObjectProperty>
Ngoi ra, mt thuc tnh c th nh ngha l thuc tnh con ca thuc tnh khc s dng:
<owl:ObjectProperty rdf:ID= hasColor >
<rdfs:subPropertyOf rdf:resource= #hasWineDescriptor/ >
<rdfs:range rdf:resource= #WineColor />
</owl: ObjectProperty>
Th hin
Th hin ca mt lp c khai bo bng th <rdf:Description>.
<rdf:Description rdf:ID="949352" >
<rdf:type rdf:resource="#academicStaffMember"/>
</rdf:Description>
Hay tng ng:
9

<academicStaffMember rdf:ID="949352"/>
Ngha l mt th hin ca lp academicStaffMember l 949352.
Chng ta cn c th cung cp thm thng tin chi tit nh sau:
<academicStaffMember rdf:ID="949352">
<uni:age rdf:datatype="&xsd;integer">39<uni:age>
</academicStaffMember>
Kiu d liu
Mc d XML Schema cung cp mt k thut cho php ngi dng nh ngha kiu d liu cho
ring mnh. Nhng tht s, nhiu kiu d liu khng th s dng trong OWL.
Sau y l lit k mt s kiu d liu c th c dng :

Bng 1-1: Cc kiu d liu trong OWL

1.6. Cng c h tr pht trin bn th hc


Mt s cng c pht trin v hiu chnh c gi tr trong vic lm gim phc tp v thi gian
dng cho nhim v xy dng ontology. Cc cng c nh Kaon, OileEd v Protg [8][10] cung cp cc
giao din nhm gip ngi s dng thc hin cc hot ng chnh yu trong trong qu trnh pht trin
mt ontology
Protg h tr OWL, l cng c c s dng rng ri v lu nht hin nay. N cho php ngi
s dng nh ngha v chnh sa cc lp ontology, cc thuc tnh v quan h v cc th hin s dng cu
trc cy. Cc ontology c th c a ra theo cc nh dng RDF(S), XML Schema. Platform protg
cung cp hai cch chnh m hnh ha ontology thng qua Protg - Frame v Protg OWL, ngoi ra c
th c nhiu plugin. Chng ta c th quan st mt cch trc quan thng qua OWL Viz, n cho php quan
st ontology di dng ha v a file nh JPEG. Ngoi ra cn h tr truy vn SPARQL.
10

CHNG 2. SUY DIN TRN M HNH BN TH HC

Sau chng ny s tr li c nhng cu hi nh sau:


- Suy din trn bn th hc vi cc quy tc suy din nh th no?
- Cc ngn ng biu din quy tc suy din trn m hnh bn th hc?
- My suy din v s h tr ca Jena Framework?
- Phn tch s suy din trn bn th hc vi v d c th?

2.1. Quy tc suy din


Hin ti ngn ng OWL khng h tr cho vic kt hp cc thuc tnh (Property Composition).
Ly mt v d v mt Ontology lnh vc v mi quan h trong mt gia nh ca con ngi. Cc logic m
t (Description Logic) khng th xc nh mt c th A c quan h c ch (hasUncle) vi c th B v n
cn n hai thnh phn thng tin. Th nht, liu A c quan h c cha m (hasParents) vi c th no
khng? V liu c th (c th m A c quan h hasParent) liu c quan h anh em trai hasBrother vi
c th B hay khng? Tp lut h tr cho cc khi nim cho vic to ra quan h hasUncle thng qua hai
thnh phn thng tin ny.
Vic xy dng cc tp lut suy din (inference rules) l rt quan trng, l yu t cng ngh
cng nh l cc chun cho Web ng ngha. Bi v cc tp lut lm m rng c s d liu v Ontology vi
dng tri thc c cu trc (Structured Knowledge), qua n th hin c s mnh m, mm do, v
nng ng cho th h Web ng ngha.
Nhng quy tc ng ngha (Semantic rules) l cng c gip suy din hiu qu trn m hnh bn th
hc. Bao gm quy tc suy din (inference rules) l mt dng c bit ca Derivation Rule (cha mt hay
nhiu iu kin v mt kt lun) dnh cho Web ng ngha. Tp lut ny c dng l cc pht biu iu kin
(Condition Statement) c trng l dng mnh if then m Antecedent (phn theo trc then) v
Consequent (phn theo sau then).

2.2. Ngn ng biu din quy tc suy din


Mc ch ca ngn ng nh du quy tc l cho php s dng li, trao i v xut bn cc tp
lut. Cc ngn ng nh du quy tc khc nhau l thnh phn cho vic s dng cc tp lut trn Web v
trong nhng h thng phn tn khc. Chng cho php thc thi, xut bn, v giao tip cc tp lut trn mt
mng. Ni cch khc, ngn ng nh du lut cho php chng ta xc nh nhng lut nghip v
(Bussiness Rule) nh cc modun n v c lp (Stand alone unit) trong cc bo co, v cho php chng
ta xut bn v trao i chng gia cc h thng hay cc cng c khc. Mt s ngn ng nh du lut l:
RuleML, SWRL.

2.2.1. RuleML
RuleML (Rule Markup Language) [9] l mt s khi u cho vic to ra cc ngn ng nh du
lut h tr nhiu dng lut khc nhau v ng ngha khc nhau. Tuy nhin phin bn 0.91 ca RuleML vn
cn cha ng mt vi gii hn cho mt s dng lut. C th, RuleML vn cha c c php tng qut cho
11

tp lut dng Integrity v Reaction nh gii thiu trn. RuleML c xy dng trn m hnh lp trnh
logic (Logic Programming Paradigm) ca logic v t (Predicate Logic)
Mt v d c th din t vic khai bo thuc tnh hasParent v thuc tnh hasBrother ci t
thuc tnh hasUncle
<Implies>
<head>
<Atom>
<Rel>hasParent</Rel>
<Var>x1</Var>
<Var>x2</Var>
</Atom>
<Atom>
<Rel>hasBrothe</Rel>
<Var>x2</Var>
<Var>x3</Var>
</Atom>
</head>
<body>
<Atom>
<Rel>hasUncle</Rel>
<Var>x1</Var>
<Var>x3</Var>
</Atom>
</body>
</Implies>
Mt s th c bn ca RuleML:
+ <Implies>: l th dng ci t mt lut c th. Cha hai phn con l <Head> v <Body>
+ <Head>: tng ng vi phn then trong pht biu if then
+ <Body>: tng ng vi phn then trong pht biu if then
+ <Atom>: l mt mnh cha quan h (Relation) c p ln cc bin logic (Logic
Argument) ca n
+ <Rel>: khai bo mt quan h (thuc tnh)
+ <Var>: khai bo cc bin logic, nh trong lp trnh logic
+ <Ind>: khai bo hng c th (Individual Constant) ging nh ti nguyn RDF

2.2.2. SWRL
Da trn nn tng ca RuleML kt hp vi hai ngn ng thnh phn ca OWL l OWL Lite v
OWL DL, SWRL [9] l s kt hp gia Antecedent (Body) v consequent (head) cha tp hp (c th
12

rng) cc atom. Mi lut SWRL l mt s ko theo (Implication), c ngha l nu tt c cc atom ca


antecedent l ng th consequent l ng.
Cc atom thng xut hin cc dng:
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
Trong :
i-object: tng ng vi bin c th hoc l c th trong OWL
d-object: tng ng vi bin d liu hoc l gi tr d liu trong OWL
individualvaluedPropertyID (i-object d-object ) : tng ng vi ObjectProperty trong OWL
datavaluedPropertyID (i-object d-object ) : tng ng vi DataTypeProperty trong OWL
sameAs (i-object i-object ) : nu c hai i-object th hin cho cng mt c th, hay cng mt
bin c th.
differentFrom (i-object i-object ): nu c hai i-object th hin cho hai c th, hai bin c th
khc nhau
builtIn(r, x, ): l cc php ton v ton hc (Mathematics), chui (Strings), thi gian (Date,
Time), c xy dng sn.
V d sau m t trng hp ci t thuc tnh hasUncle bng cch ci t lut thng qua hai thuc
tnh khc l hasParent v hasBrother. Lut trn c m hnh trc quan trong mi trng son tho
Protg nh sau:
hasParent(?x1, ?x2)^ hasBrother(?x2, ?x3) hasUncle(?x1, ?x3)
c ci t bng SWRL nh sau:
<ruleml:imp>
<ruleml:_rlab ruleml:href = #example1 />
<ruleml:_body>
<swrlx:individualPropertyAtom swrlx:property = hasParent>
<ruleml:var>x1</ruleml:var>
<ruleml:var>x2</ruleml:var>
13

</swrlx:individualPropertyAtom>
<swrlx:individualPropertyAtom swrlx:property = hasBrother>
<ruleml:var>x2</ruleml:var>
<ruleml:var>x3</ruleml:var>
</swrlx:individualPropertyAtom>
</ruleml:_body>
<ruleml:_head>
<swrl:individualPropertyAtom swrlx:property = hasUncle>
<ruleml:var>x1</ruleml:var>
<ruleml:var>x3</ruleml:var>
</swrl:indivudualPropertyAtom>
</ruleml:_head>
</ruleml:imp>

2.2.3. SPARQL
SPARQL [14] l mt ngn ng truy vn d liu theo nh dnh RDF: SPARQL c thit k
phc v cho cc use case v requirement ca RDF. Vi d liu c thit k di dng TURTLE, ta s
thc hin mt s truy vn n gin sau:
- Truy vn vi dng d liu:
D liu:
<http://example.org/book/book1><http://purl.org/dc/elements/1.1/title> SPARQL Tutorial .
Truy vn:
SELECT ?title
WHERE { <http://example.org/book/book1><http://purl.org/dc/elements/1.1/title>SPARQL Tutorial .}
Kt qu:

Title

SPARQL Tutorial

Gii thch: truy vn ny c dng tm tiu ca mt quyn sch. Truy vn gm hai phn:
SELECT ch nh tn bin s hin th trong phn kt qu, mnh WHERE dng tm ra ng d liu.
Trong mnh WHERE li l mt s RDF m object ca n l mt bin (iu ny khng th c trong
d liu RDF thng)
- Truy vn c nhiu kt qu:
D liu:
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
14

_:a foaf:name Johnny Lee Outlaw .


_:a foaf:mbox <mailto:jlow@example.com> .
_:b foaf:name Peter Goodguy .
_:b foaf:mbox <mailto:peter@example.com> .
_:c foaf:mbox <mailto:carol@example.com> .
Truy vn:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
WHERE{?x foaf:name ?name .
?x foaf:mbox ?mbox}
Kt qu:

name mbox

Johnny Lee Outlaw <mailto:jlow@example.com>


Peter Goodguy <mailto:peter@example.com>

Gii thch: kt qu ca mt truy vn SPARQL l mt chui cc gii php (solution) ty vo s


ph hp (match) m mnh WHERE thc hin, c th khng c hay c t mt kt qu cho mi truy vn.
Trong truy vn ny, ta chn ra tn (name) v a ch email (mbox) ca ngi no c c name v mbox
(c xc nh vi cng bin x trong mnh WHERE)
- Vi truy vn d liu dng s integer.
S integer c s dng trc tip trong SPARQL v coi nh l mt gi tr, do vi truy vn:
SELECT ?v WHERE {?v ?p 42} s vn thc hin c:
Kt qu:

<http://example.org/ns#y>

- Truy vn vi dng d liu tru tng


B x l truy vn khng hiu v gi tr trong khng gian d liu, do c th truy vn chnh xc
cn t c IRI ca d liu vo trong mnh WHERE. V d:
SELECT ?v
WHERE {?v ?p abc^^<http://example.org/datatype#specialDatatype>}
Kt qu:

<http://example.org/ns#z>

- truy vn CONSTRUCT tr v mt m hnh RDF


D liu:
15

@prefix org: <http://example.com/ns#> .


_:a org:employeeName Alice .
_:a org:employeeId 12345 .
_:b org:employeeName Bob .
_:b org:employeeId 67890 .
Truy vn CONSTRUCT
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX org: <http://example.com/ns#>
CONSTRUCT {?x foaf:name ?name}
WHERE {?x org:employeeName ?name }
Kt qu:
@prefix org: <http://example.com/ns#> .
_:x foaf:name Alice .
_:y foaf:name Bob .
C th sp xp theo nh dng RDF/XML nh sau:
<rdf:RDF
xmlns:rdf = http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:foaf = http://xmlns.com/foaf/0.1/>
<rdf:Description>
<foaf:name>Alice</foaf:name>
</rdf:Description>
<rdf:Description>
<foaf:name>Bob</foaf:name>
</rdf:Description>
</rdf:RDF>
- Lc ly kt qu truy vn
Khi s dng SPARQL truy vn c th s tr ra nhiu kt qu ph hp vi m hnh RDF trong
mnh WHERE. Vn t ra l ta ch mun ly mt s kt qu tha mn mt tiu chun no thi.
SPARQL s dng FILTER lm iu , xem trnh by sau:
D liu:
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix : <http://example.org/book/> .
16

@prefix ns: <http://example.org/ns#> .


:book1 dc:title SPARQL Tutorial .
:book1 ns:price 42 .
:book2 dc:title The Semantic Web .
:book2 ns:price 23 .
Lc gi tr chui:
SPARQL FILTER s dng regex kim tra cc nguyn t RDF. Hm regex ch c th kim tra
cc chui text bnh thng (plain text khng c km th language)
Truy vn:
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?title
WHERE {?x dc:title ?title FILTER regex( ?title, ^SPARQL)}
Kt qu:

Title

SPARQL Tutorial

Lc gi tr s:
SPARQL c th lc ra gi tr ca cc biu thc s hc
Truy vn:
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX ns: <http://example.org/ns#>
SELECT ?title ?price
WHERE {?x ns:price ?price .
FILTER (?price <30.5)
?x dc:title ?title .
}
Kt qu:

title Price

The Semantic Web 23

Gii thch: truy vn dng lc ra tiu v gi ca quyn sch vi iu kin l gi phi nh hn 30.5
17

Mu th
SPARQL da trn s ph hp ca m hnh th, nhiu m hnh th phc tp c th c thc
hin bng cch kt ni cc m hnh vi nhau theo nhiu cch no . y chng ta s tm hiu hai m
hnh l m hnh th n gin (basic graph pattern) v m hnh th nhm (group graph pattern)
Basic Graph Pattern (BGP)
BGP l mt tp hp ca cc m hnh b ba. M hnh th trong SPARQL c nh ngha l s
kt ni cc kt qu t cc BGP
Khi s dng nt rng vi hnh thc _:abc, nhn ca nt nm trong phm vi ca BGP. Mt nhn
ch c th s dng trong mt BGP trong bt c truy vn no
Group Graph Pattern (GGP)
Trong mt chui truy vn ca SPARQL mt GGP c phn nh bng du {}. V d, truy vn l
mt GGP ca mt BGP:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
WHERE {?x foaf:name ?name .
?x foaf:mbox ?mbox .
}
Hay:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
WHERE { {?x foaf:name ?name . }
{?x foaf:mbox ?mbox .}
}
L mt GGP c cha hai BGP
- Empty group pattern
M hnh nhm {} ph hp vi bt c th no k c th rng
- Phm vi ca Filter:
Mt rng buc c ch nh bi t kha Filter l mt gii hn cho tt c group ni m Filter
xut hin
- V d v GGP
{
?x foaf:name ?name .
?x foaf:mbox ?mbox .
}
L mt nhm ca mt BGP v BGP c cha hai m hnh b ba. Trong khi:
18

{
?x foaf:name ?name . Filter regex(?name, Smith)
?x foaf:mbox ?mbox .
}
L mt nhm ca mt BGP v mt Filter. Filter khng tch BGP thnh hai BGP
{
?x foaf:name ?name .
{}
?x foaf:mbox ?mbox .
}
L mt nhm ca ba nhn t: mt BGP vi mt m hnh b ba, mt nhm rng, v mt BGP khc vi
mt m hnh b ba.
Gi tr ty chn
BGP cho php ng dng thc hin truy vn vi kt qu phi y , tc l cc bin phi c xc
nh gi tr nu khng kt qu s khng chp nhn. c th thm thng tin vo nu thng tin c sn
nhng kt qu khng b loi b (do phn khng ph hp) ta s s dng OPTIONAL
V d:
D liu:
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
_:a rdf:type foaf:Person .
_:a foaf:name Alice .
_:a foaf:mbox <mailto:alice@example.com> .
_:a foaf:mbox <mailto:alice@work.example> .
_:b rdf:type foaf:Person .
_:b foaf:name Bob .
Truy vn:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
WHERE {?x foaf:name ?name .
OPTIONAL {?x foaf:mbox ?mbox}
}
Kt qu:

Name mbox
19

Alice <mailto:alice@example.com>
Alice <mailto:alice@work.example>
Bob

Khng c cha gi tr cho mbox i vi tn Bob. Truy vn ny tm kim tn ngi trong d


liu, nu c mt b ba vi Predicate mbox v Subject ging th kt qu s cha Object ca b ba trong
OPTIONAL.
Ta cng c th rng buc gi tr trong OPTIONAL. V d:
D liu:
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix : <http://example.org/book/> .
@prefix ns: <http://example.org/ns#> .
:book1 dc:title SPARQL Tutorial .
:book1 ns:price 42 .
:book2 dc:title The Semantic Web .
:book2 ns:price 23 .
Truy vn:
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX ns: <http://example.org/ns#>
SELECT ?title ?price
WHERE{?x dc:title ?title .
OPTIONAL {?x ns:price ?price . FILTER {?price <30}}
}
Kt qu:

Title Price

SPARQL Tutorial
The Semantic Web 23

Khng c price cho title SPARQL Tutorial bi v m hnh OPTIONAL c gii hn a ra


price l < 30
Ta c th s dng nhiu m hnh OPTIONAL trong mt truy vn, khi kt qu c th cha
nhiu rng vi tng m hnh OPTIONAL
Php hp kt qu
20

SPARQL cung cp mt phng tin kt ni cc m hnh th m mt hay vi th thay th c


th ph hp, tt c nhng kt qu c th s c tm thy.
D liu:
@prefix dc10: <http://purl.org/dc/elements/1.0/> .
@prefix dc11: <http://purl.org/dc/elements/1.1/> .
_:a dc10:title SPARQL Query Language Tutorial .
_:a dc10:creator Alice .
_:b dc11:title SPARQL Protocol Tutorial .
_:b dc11:creator Bob .
_:c dc10:title SPARQL .
_:c dc11:title SPARQL (updated) .
Truy vn:
PREFIX dc10: <http://purl.org/dc/elements/1.0/>
PREFIX dc11: <http://purl.org/dc/elements/1.1/>
SELECT ?title
WHERE {{?book dc10:title ?title}
ONION {?book dc11:title ?title}
}
Kt qu:

title

SPARQL Protocol Tutorial


SPARQL
SPARQL (Update)
SPARQL Query Language Tutorial

API s dng SPARQL trong Jena l gi com.hp.hpl.jena.query. Cc lp chnh trong gi ny l:


- Query: Mt lp biu din cho chnh cu truy vn. i tng ca Query thng thng c to
ra bng cch gi mt trong cc phng thc ca QueryFactory m chng cung cp s truy nhp n cc
b phn tch cu truy vn.
- QueryExecution: biu din cho mt s thc hin cu truy vn
- QueryExecutionFactory: Mt ni ly v th hin ca QueryExecution
- DatasetFactory: Mt ni to ra Dataset, bao gm to ra DataSource (mt Dataset c th cp
nht)
21

- Cho cu truy vn SELECT:


+ QuerySolution: Mt kt qu n ca truy vn
+ ResultSet: Tt c QuerySolution l mt b lp
+ ResultSetFormatter: Chuyn mt ResultSet v nhiu dng, text, RDF Graph hay XML
V d xy dng v thc hin cu lnh truy vn trn mt model:
import com.hp.hpl.jena.query.* ;
Model model = ... ;
String queryString = " .... " ;
Query query = QueryFactory.create(queryString) ;
QueryExecution qexec = QueryExecutionFactory.create(query, model) ;
try {
ResultSet results = qexec.execSelect() ;
for ( ; results.hasNext() ; )
{
QuerySolution soln = results.nextSolution() ;
RDFNode x = soln.get("varName") ; // Get a result variable by name.
Resource r = soln.getResource("VarR"); // Get a result variable - must be a resource
Literal l = soln.getLiteral("VarL") ; // Get a result variable - must be a literal
}
} finally { qexec.close() ; }
V d xy dng v thc hin cu truy vn CONSTRUCT:
Query query = QueryFactory.create(queryString) ;
QueryExecution qexec = QueryExecutionFactory.create(query, model) ;
Model resultModel = qexec.execConstruct() ;
qexec.close() ;

2.3. Jena framework


Jena [13][20] l mt Framework Java xy dng cc ng dng Web c ng ngha. N cung cp
mt mi trng lp trnh cho cc RDF, RDFS, OWL v SPARQL v bao gm mt ng c suy din
(inference engine) da trn quy tc. Cc tnh nng chnh ca Jena 2 l:
- RDF API mt API cho cc thao tc vi m hnh RDF l mt tp hp ca RDF triples, phn tch
c php tch hp v l thuyt cho RDF/XML, N3 v N TripleS, v cng h tr cho cc kiu
literals.
- ARP mt RDF/XML Parser. Jena phin bn 2 l ph hp vi cc khuyn ngh Core RDF . ARP
thng c gi bng cc hot ng c Jena, nhng cng c th s dng c lp.
- Persistence mt m rng ca lowpss Model Jena cung cp s bn vng cho m hnh thng qua
vic s dng mt c s d liu back end
- Reasoning subsystem m suy din da trn ng c quy tc cu hnh cho RDFS v cho cc tp
hp con ca OWL Lite ca OWL Full.
- Ontology subsystem mt API lm vic vi OWL, DAML + OIL v RDFS
22

- ARQ mt b cng c truy vn, m thc hin c hai ngn ng truy vn SPARQL v RDQL.
SPARQL l mt ngn ng truy vn RDF v giao thc c pht trin ca W3C (m ta gii
thiu phn trn).
Cc cu trc ca b my suy din c minh ha di y:

Hnh 2-1: Cu trc b my suy din ca Jena


Cc ng dng thng truy cp cc my suy din bng cch s dng cc ModelFactory lin kt
mt tp d liu vi mt s suy lun to ra mt m hnh mi. Truy vn n cc m hnh (model) s tr
li nhng bo co (statements) m c trong cc d liu ban u, nhng cng c bo co thm b sung
c th bt ngun t cc d liu ban u bng cch s dng quy tc hoc cc c ch suy din khc c
thc hin bi suy lun.
Nh minh ha cc my suy din (inference machinery) c thc s thc hin cp Graph
SPI, v vy m bt k giao din m hnh (Model interfaces) khc nhau c th c xy dng xung quanh
mt mt inference Graph. c bit cc Ontology API cung cp cc phng tin lin kt nhng suy lun
thch hp vo OntModel S m n c xy dng. L mt phn m rng chung ca RDF API, Jena cung
cp InfModel. y l mt phn m rng ca giao din Model bnh thng m cung cp iu khin b
sung v truy cp vo mt inference graph c bn.
gi cho cc thit kt nh l kt thc m cng tt Jena cng bao gm mt ReasonerRegistry.
y l mt lp tnh mc d tp cc reasoners hin c kim tra. C th ng k cc loi suy lun mi
v t ng tm kim suy lun ca mt kiu nht nh. Vic ReasonerRegistry ny cng cung cp truy cp
thun tin cc trng hp dng sn ca reasoners cung cp chnh.

2.4. Mt s v d suy din trn m hnh bn th hc


Phn ny s trnh by mt s v d n gin cc Ontology OWL v tho lun mt s suy din m
c th c thc hin v cc lp (class) v nhng c th (individuals) trong nhng bn th hc.
Phn ny ta s lm vic vi Ontology n gin mc tiu minh ha qu trnh suy din lm th
no c th c rt ra trong m hnh bn th hc ca chng.
M bn th hc v people c c cung cp sn di dng RDF/XML [1]. N c th c th
hin trong c php tru tng dng:
23

Hnh 2-2: Hnh nh minh ha cc lp ca bn th hc


Hnh nh nhng thnh phn khc ca bn th hc ny nh th hin cc hnh di:

Hnh 2-3: Nhng thuc tnh i tng (Object property)


M t nhng c th:
24

Hnh 2-4: M t nhng c th


Hai mc nh di y trnh by mt vi v d v suy din trn m hnh bn th hc c m t
trn.

2.4.1. Suy din trn lp (Classes Inferences)


Mt trong nhng tnh nng chnh ca bn th hc c m t bng OWL DL l chng c th
c x l bi mt suy din. Mt trong nhng dch v chnh c cung cp bi mt suy din l suy ra
c c hay khng mt lp (Class) l mt lp con (subClass) ca mt lp khc [10 trang 48,86] bng
cch thc hin cc kim tra h thng tnh ton xem c th c s phn cp trn lp khng?. Xt v d
n gin nh sau:
V d 1: Suy din ra kt qu: Ch ca con mo l ngi yu thch mo
Ta c ba lut sau:
1) Class(a:cat_owner complete intersectionOf(a:person restriction(a:has_pet someValuesFrom
(a:cat))))

2) SubPropertyOf(a:has_pet a:likes)

3) Class(a:cat_liker complete intersectionOf(a:person restriction(a:likes someValuesFrom


(a:cat))))
Trong v d ny, lut th nht pht biu rng: Ch ca con mo c th cng l mo, lut th ba
ni rng: Ngi yu thch mo chc chn s yu thch mt vi c im no ca mo, lut th hai ch
ra rng th cng (has_pet) l thuc tnh con ca thuc tnh likes. Do vy nh lut th hai ny m ta c th
suy ra c ch ca con mo s l ngi yu thch mo. Ni cch khc lp nhng ngi nui mo
(cat_owner) l mt lp con ca lp nhng ngi yu mo (cat_liker)

2.4.2. Suy din trn th hin (Intence Inferences)


Suy din trn cc th hin l vic s dng cc th hin c th no v cc mi quan h gia cc
th hin m ta c th suy ra c cc th hin tng ng ny thuc v lp no. Ni cch khc t nhng
chi tit ta c th suy ra s tng qut. Xt v d sau:
25

V d 2: Ch ra rng: Pete l ngi, Spike l ng vt thng qua bn lut sau:


1) Individual(a:Spike type(owl:Thing) value(a:is_pet_of a:Pete))

2) Individual(a:Pete type(owl:Thing))

3) ObjectProperty(a:has_pet domain(a:person) range(a:animal))

4) ObjectProperty(a:is_pet_of inverseOf(a:has_pet))
Lut th nht ni rng Spike l mt i tng v l mt th cng ca Pete. Lut th hai ni rng:
Pete cng l mt i tng, tip theo lut th ba ch ra rng c_th_cng (has_pet) l mt mi quan h
gia hai i tng c chiu t ngi (person) ti ng vt (animal). Lut th bn ch ra mi quan h
l_th_cng_ca (is_pet_of) chiu ngc li vi quan h trong lut ba. T bn lut trn c th suy lun ra
rng Pete l mt th hin ca lp ngi (people) v Spike l mt th hin ca lp ng vt (animal). Hay
ni cch khc Pete l ngi, cn Spkike l ng vt.

2.5. S phn phi trn nhng quy tc


Quy tc phn phi nh lng hin sinh (existentials) tng t nh trong logic mnh cho kt
hp v phn ly, v d nh:
Cc hin sinh (existials)

A (B C) (A B) (A C)

p.(A B) (p.A) (p.B)


Trong terms ca ngn ng OWL, phin dch ra s nh sau:
restriction(some p unionOf(A B))

unionOf(restriction(some (p A))
restriction(some (p B)))
Ngoi ra cn c mt s suy lun l yu hn so vi s tng ng, xt cc php ton m t sau:
p.(A B) (p.A) (p.B)
(p.A) (p.B) (p.A) (p.B)
(p.A) (p.B) p.(A B)
Nhng php ton ny s tng ng c m t bi ngn ng OWL tng ng nh sau:
restriction(some p intersectionOf(A B)

intersectionOf(restriction(some (p A))
restriction(some (p B)))

intersectionOf(restriction(some (p A))
restriction(some (p B)))

unionOf(restriction(some (p A))
restriction(some (p B)))

intersectionOf(restriction(some (p A)) restriction(some (p B)))


26


restriction(some p unionOf(A B)

Ta cng suy ra rng php ton Union l phn phi trong existentials, trong khi intersection th khng.

CHNG 3. PHT TRIN NG DNG TH NGHIM


Ni dung chnh ca chng ny bao gm:
- ng dng nghin cu vn g?, gii php thc hin nh th no?
- Phn tch m hnh bn th hc lnh vc chuyn ngnh cy trng.
- Phn tch nhng chc nng v xy dng nhng tp lut suy din cho h thng.

3.1. t vn
Nhng kh khn vt v ca ngi lm nng nghip trng trt, mt trong nhng yu t l vic
tip nhn thng tin hu ch trong khoa hc quy trnh ca cy trng nh cc c tnh: ma v, loi cy
trng, thi gian d kin c thu hoch
Trn tinh thn mun h tr ngi trng trt khai thc thng tin hu ch v nhng vn trn,
chng ti xy dng mt ng dng nh nhm khai thc mt s chc nng cn thit cho ngi trng trt cy
trng trong vn nh.
Chng trnh ng dng c p dng s suy din trn m hnh bn th hc, trong c bao gm
vic xy dng mt Ontology v lnh vc cy trng, v vic xy dng cc tp lut suy din nhm a ra
cc chc nng thng minh ca h thng.

3.2. Gii php thc hin


thc hin vic xy dng chng trnh ng dng, chng ti trin khai hng mt ng dng
Semantic Web, tc l ng dng c kh nng khai thc trn Internet da trn vic ch ra cc ng dn
URL. Nhng cng vic thc hin bao gm: Xy dng mt bn th hc (Ontology) t tn l:
ontology_caytrong.owl ; tip theo nghin cu xy dng cc tp lut h tr vic suy din to cc
chc nng cho h thng.
Trong chng ti s dng cc cng c h tr nh: Protg 5.0 xy dng Ontology, cng c
Eclipse phin bn neo son tho chng trnh, my ch Apache Tomcat chy ng dng web; s
dng ngn ng lp trnh Java, JSP, Servlet, CSS
27

Hnh 3-1: Project Application_Theis v Application_SemanticWeb


S dng Jena Framework ng vai tr my suy lun, vi giao din hot ng ca ngi dng v
h thng nh hnh sau:

Hnh 3-1-1: Cu trc m hnh giao tip ca ngi dng vi h thng

3.3. Xy dng ng dng

3.3.1. Xy dng bn th hc (Ontology)


Di y l hnh nh thu gn ca bn th hc:
28

Hnh 3-2: Hnh nh m hnh bn th hc ontology_caytrong.owl


Bng nhng loi cy trng v ma v (nhng th hin individuals ) ca ontology bao gm:

Loi cy trng v ma v Cc th hin (individuals) Ghi ch

Cay_cho_cu Dau_lac, Gieng, Gung, Hanh, Khoai_lang, Cy cho c


Khoai_tay, San_day, San_tau, Toi,

Cay_cho_qua Bau, Bi, Cam, Buoi, Ngo, Tao, Xoai, Dau_xanh, Cy cho qu
Dau_tuong, Ot,

Cay_gia_vi Gieng, Gung, Hat_tieu, La_lot, Ot, Hanh, Toi, Cy lm gia v

Cay_thao_duoc Ac_ti_so, Ngai_cuu, Ngot, Tia_to, Toi, Cy lm tho dc

Hoa Cuc, Hong, Nhai, Cy hoa

Ngu_coc Dau_den, Dau_tuong, Dau_lac, Dau_xanh, Ngo, Ng cc

Rau Bau, Bi, Cai_bap, Xu_hao, Muop, Ngai_cuu, Cy rau


Muong, Ngot,

Mua_vu Mua_xuan, Mua_ha, Mua_thu, Mua_dong Cc ma trong nm

Bng 3-1: Nhng th hin (individuals) ca ontology


Nhng lp (Classes) ca Ontology c th hin phn cp nh sau:
29

Hnh 3-3: M t s phn cp lp trong ontology


Trong ch m t lp nhng cy_gia_vi v lp nhng cy_tho_dc
Cc Individuals v cc thuc tnh c bit ca mi loi cy trng v ma v c th hin nh hnh sau:

Hnh 3-4: Individual Ma v v nhng thuc tnh m t cho n

Hnh 3-5: Individual cy trng v nhng thuc tnh m t cho n

Cc thuc tnh Object Property v Data Property bao gm:


- coThanhvien: c thnh vin, dng m t mt loi cy trng c cc cy trng no.
- laThanhvienCua: l thnh vin ca, dng m t mt cy trng c th thuc mt loi cy
trng no.
30

- tieptheo: tip theo, dng m t ma v tip theo sau mt ma v, v d tieptheo ca


Mua_xuan l Mua_ha,

Hnh 3-6: Cc thuc tnh i tng

Cc thuc tnh Data Property bao gm:


Cc thuc tnh ca ma v:
- anhsang: m t nh sng ca ma v
- cap_do_gio: m t cp gi ca ma v
- do_am: m t m trung bnh ca ma v
- nhiet_do: m t nhit trung bnh ca ma v
Cc thuc tnh ca cy trng:
- anh_sang_ua_thich: m t nh sng trung bnh m cy trng a thch
- do_am_ua_thich: m t m trung bnh m cy trng a thch
- kha_nang_chiu_gio: m t kh nng chu gi ca cy trng
- nhiet_do_ua_thich: m t nhit a thch ca cy trng
- suc_de_khang: m t sc khng ca cy trng
- thoi_gian_sinh_truong: m t thi gian sinh trng ca cy trng.
Di y l hnh nh cho cc thuc tnh Data Property:

Hnh 3-7: Thuc tnh Data Property

3.3.2. Suy din v pht trin h thng


suy din ra cc chc nng ca h thng ta i xy dng cc tp lut suy din, nhng tp lut suy
din c xy dng nhm mc ch truy vn v suy lun trn m hnh bn th hc nhm a ra kt qu
31

ph hp vi yu cu. Mt lut suy din c th bao gm nhiu lut con trong n. y ta s dng ngn
ng truy vn SPARQL ( c gii thiu chng trc).
Hnh nh giao din chnh ca h thng, thc hin chc nng gi nhng cy trng m ngi
dng mun trng theo cc tiu ch ph hp

Hnh 3-8: Chc nng gi nhng cy trng theo tiu ch ca ngi lm vn

Nhng c tnh quan trng ca cy trng l lng nh sng a thch, iu ny c suy din
vi quy tc ng ngha sau:
String queryString = "PREFIX garden: <" + rel + "> "
+ "SELECT ?x ?z "

+ " WHERE {

+ "?x garden:sun_preference ?z "

+ "}";
32

Hnh 3-9: Suy din ra chc nng yu t nh sng a thch ca loi cy trng

Nhng cy d trng l nhng cy m c Sc khng tt v thi gian thu hoch ngn. iu ny


c suy din nh lut sau:
String queryString = "PREFIX garden: <" + rel + "> "
+ "SELECT ?x ?z "
+ "WHERE {"
+ "{?x garden:hardiness_zone ?z . "
+ " ?x garden:hardiness_zone \"" + "Tot" + "\" ."
+ " ?x garden:harvest_duration \"" + "it_hon_3" + "\" . "
+ "}"

+ "UNION"
+ "{?x garden:hardiness_zone ?z . "
+ " ?x garden:hardiness_zone \"" + "Tot" + "\" ."
+ " ?x garden:harvest_duration \"" + "it_hon_6" + "\" . "
+ "}"
+ "}";

Hnh 3-10: Suy din ra chc nng a ra nhng cy d gieo, trng

Nhng cy kh gieo trng l nhng cy c Sc khng km v thi gian thu hoch di. iu
ny c th c suy din nh lut sau:
String queryString = "PREFIX garden: <" + rel + "> "
+ "SELECT ?x ?z "
+ "WHERE {"
+ "{?x garden:hardiness_zone ?z . "
+ " ?x garden:hardiness_zone \"" + "Yeu" + "\" ."
+ " ?x garden:harvest_duration \"" + "it_hon_24" + "\" . "
+ "}"

+ "UNION"
+ "{?x garden:hardiness_zone ?z . "
+ " ?x garden:hardiness_zone \"" + "Yeu" + "\" ."
+ " ?x garden:harvest_duration \"" + "it_hon_12" + "\" . "
+ "}"
+ "}";
33

Hnh 3-11: Suy lun ra nhng cy kh gieo trng


Nhng cy trng m ph hp vi mt ma v c th cng c suy din ra nh vo lut suy din
sau:
String queryString = "PREFIX caytrong: <" + rel + "> "
+"SELECT ?x ?as ?da ?gio ?nd ?sdk ?tgst "
+"WHERE {"
+ "?x caytrong:anh_sang_ua_thich ?as . "
+ "?x caytrong:do_am_ua_thich ?da . "
+ "?x caytrong:kha_nang_chiu_gio ?gio . "
+ "?x caytrong:nhiet_do_ua_thich ?nd . "
+ "?x caytrong:suc_de_khang ?sdk . "
+ "?x caytrong:thoi_gian_sinh_truong ?tgst . "
+ "} " ;

Sau lc theo lut ma v ph hp:


String queryString = "PREFIX muavu: <" + rel + "> "
+ "SELECT ?mua ?as ?cdgio ?da ?nd "
+ "WHERE {"
+ "?mua muavu:anh_sang ?as ."
+ "?mua muavu:cap_do_gio ?cdgio ."
+ "?mua muavu:do_am ?da ."
+ "?mua muavu:nhiet_do ?nd ."
+ "} ";

V d vi ma xun ta i so snh cc thuc tnh ca cy trng v thuc tnh ca mua v:


if (anh_sang_ut_new.equals(as_mx) && do_am_ut_new.equals(da_mx) &&
nhiet_do_ut_new.equals(nd_mx)
&& kn_chiu_gio_new.equals(cd_gio_mx)) {
// hin th kt qu
System.out.print(i + ", " + mua + " ---> ");
System.out.print(caytrong_new + " ---> ");
System.out.print(as + " |");
System.out.print(da + " |");
System.out.print(gio + " |");
System.out.print(nd + " |");
System.out.print(sdk + " |");
System.out.println(tgst);
}
34

V kt qu nhn c l:

Hnh 3-12: Suy din ra nhng cy trng ph hp vi ma xun

3.4. nh gi kt qu ng dng
ng dng Semantic Web c xy dng trong gm hai thnh phn c bn l: Xy dng
mt Ontology lnh vc cy trng v cc c tnh ca n, v vic xy dng nhiu tp lut suy din trn m
hnh ontology ny. Vic xy dng Ontology m t kh y , chi tit v nhng ni dung yu t quan
trng nht ca cy trng l cc c tnh quan trng ca cy trng, nhng c tnh ma v ring bit.
Nhng iu ny l gii ti sao mt s cy trng li trng ma v ny, cn mt s cy trng khc li
trng ma v khc.
Vic xy dng ng dng Semantic Web trong c s dng vic suy din trn m hnh bn th
hc cy trng kh hiu qu. Mt rt mnh ca ng dng loi ny l kh nng khai thc cc chc nng cn
thit rt hiu qu v thng minh, mm do nh vo vic xy dng ra rt nhiu cc tp lut suy din mt
cch d dng.
H thng c bn tr gip cho ngi dng khai thc chc nng trn giao din Web trn Internet d
dng bng cch ch ra cc ng dn URL mi ni, nn kh d dng v hiu qu.

KT LUN
Suy din trn m hnh bn th hc l thao tc gip ta khai thc hiu qu trn bn th hc, bi v
nu khng thc hin qu trnh suy din th bn th hc ch c chc nng nh kho cha m thi. Suy din
bng cc quy tc c th suy ra kin thc mi, kin thc tim n cn thit da trn nhng s kin c bit
n trc mang li nhng s hiu qu to ln cho th h Web ng ngha.
Nhng iu m lun vn lm c l: lun vn nghin cu cc suy din trn m hnh bn
th hc bng cch xy dng cc tp quy tc suy din, qua cng c thm s m t m hnh bn th hc
v mt lnh vc, cui cng l vic xy dng mt ng dng trong s dng nhng nghin cu cho l
thuyt ny, tm t tn: Chng trnh h tr cho ngi lm vn.
Trong vic nghin cu l thuyt lm r mt s cng ngh nh:
- Nghin cu tm hiu cng ngh Semantic Web
- Nghin cu cc thnh phn cu thnh ca m hnh bn th hc, t ch ng xy dng bn
th hc.
- Nghin cu ngn ng m t d liu OWL (Ontology Web Language)
35

- Nghin cu cc phng php suy lun trn m hnh bn th hc. Xy dng cc quy tc suy
din, truy vn khai thc thng tin trn bn th hc.
- Nghin cu Framework Jena, v vic h tr b my suy lun (Inference engine)
Vic xy dng ng dng m t bao gm cc cng vic nh sau:
- Xy dng hon chnh mt bn th hc t tn l: ontology_caytrong.owl; trong lm r c
bn cht ca tri thc v cy trng v cc thuc tnh ma v ca mi loi cy trng.
- Phn tch cc thnh phn chc nng ca cy trng, v c tnh ma v ca cy trng.
- Xy dng mt s tp lut suy din nhm mc ch suy din ra cc chc nng mong mun ca
h thng nh: a ra cy trng ph hp vi mi ma v: ma xun, ma h, ma thu, ma ng;
khai thc cc c tnh ca mi loi cy trng; khai thc cc c tnh ca mi ma v; Tm nhng
cy trng theo tiu ch ca ngi trng cy,.
Lun vn c bn t c mt s kt qu mong mun, thy c s u vit ca th h Semantic
Web th h Web 3.0, ngn ng truy vn, v kh nng suy din m sinh ra thng tin mi da trn
ontology, gip ci thin ng k kh nng khai thc thng tin trn mi trng web.
V thc s bn th hc(ontology) gn lin vi mt lnh vc c th ca thc tin chuyn mn, n
thc s l mt h chuyn gia, do vy vic xy dng n tt p ng cho ng dng l mt vic i hi
nhiu cng sc nghin cu chuyn ngnh
Nhng mt hn ch ca lun vn:
- Xy dng bn th hc v lnh vc cha hon chnh, cha tt phc v ng dng.
- Xy dng tp lut h tr suy din cha hiu qu trong vic sinh ra thng tin mi, thng tin
hu ch.
Cng vic nghin cu tip theo: Tm hiu v lnh vc chuyn mn, su hn ca ng dng thc
tin v qua xy dng ln cc bn th hc v nhng lnh vc . Sau xy dng cc suy din trn n,
phc v mc ch ca cuc sng nh: y t, gio dc, kinh doanh, mi trng,

TI LIU THAM KHO


Ting Vit:

[27] Hon Nguyn Tun Minh, Hong Hu Hnh (2011). Tp ch khoa hc - i hc Hu. Cc ngn ng truy vn RDF: nh gi
tng quan v So snh cc c tnh ngn ng.

[29] V Bi Hng (2005), Pht hin quan h ng ngha Nguyn nhn kt qu t


cc vn bn, Lun vn cao hc, Trng i hc Cng ngh.

Ting Anh:

[1] https://www.w3.org/2000/Talks/1206-xml2k-tbl/slide10-0.html

[2] Vagan Terziyan (2010) AI Department, Kharkov National University of Radioelectronics /MIT Department, University of
Jyvaskyla. Advanced It from multiagents to Semantic Web http://www.cs.jyu.fi/ai/Advanced_IT-2010.pdf

[3] Christian Bizer, Freie Universitt Berlin, Germany Tom Heath, Talis Information Ltd, United Kingdom Tim Berners-Lee,
Massachusetts Institute of Technology, USA. Special Issue on Linked Data, International Journal on Semantic Web and
Information Systems (IJSWIS). http://linkeddata.org/docs/ijswis-special-issue
36

[4] D. Lenat and R. Guha (1990) Building Large Knowledge Based Systems: Representation and Inference in the Cyc Project.
Addison-Wesley Publishing. http://www.jimdavies.org/summaries/lenat1990-1.html

[5] Jean Vincent Fonou-Dombeu and Magda Huisman (2011) Semantic-Driven e-Government: Application of Uschold and King
Ontology Building Methodology for Semantic Ontology Models Development

[6] Fox, M.S. and Gruninger, M. (1994). Ontologies for enterprise integration, Proceedings of the Second International
Conference on Cooperative Information Systems, pages 82-89.

[7] http://owl.man.ac.uk/2003/why/latest/

[8] Seongwook Youn, Dennis McLeod (2006) University of Southern California, Los Angeles, USA Dennis McLeod University
of Southern California, Los Angeles, USA. Ontology Development Tools for Ontology based Knowledge Management.

[9] SWRL: A Semantic Web Rule Language Combining OWL and RuleML. W3C Member Submission 21 May 2004.
http://www.w3.org/Submission/SWRL/

[10] Matthew Horridge (2011) A Practical Guide To Building OWL Ontologies


Using Protg4 and CO-ODE Tools Edition 1.3 The University Of Manchester

[20] Jena - A Semantic Web Framework for Java. Project homepage. http://jena.sourceforge.net.

[21] Dave Beckett, R.V. Guha (2004), RDF Vocabulary Description Language 1.0: RDF
Schema, W3C Recommendation 10 February 2004,
http://www.w3.org/TR/rdf-schema/

[22] Frank Manola, Eric Miller(2004), RDF Primer, W3C Recommendation 10 February2004, http://www.w3.org/TR/rdf-primer/

[23] Harold Boley, Said Tabet, and Gerd Wagner. Design Rationale of RuleML(2001): A Markup Language for Semantic Web
Rules. In Proc. Semantic Web Working Symposium
(SWWS01). Stanford University, July/August 2001.

[24] OWL 2: Proflles, http://www.w3.org/TR/owl2-profiles (2009)

[25] G. Meditskos, N. Bassiliades (2009), Rule-based OWL Reasoning Systems: Implementations, Strengths and Weaknesses,
Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches, IGI Global,
ISBN Number 978-1-60566-402-6, 2009.

[26] G. Meditskos, N. Bassiliades(2008), Combining a DL Reasoner and a Rule Engine for Improving Entailment-Based OWL
Reasoning, in: 7th International Semantic
Web Conference (ISWC 2008), Karlsruhe, Germany, 2008.

Website:

[11] http://www.w3.org/People/Berners-Lee/Weaving/Overview.html

[12] http://www.semanticweb.org

[13] https://jena.apache.org/index.html

[14] https://www.w3.org/TR/rdf-sparql-query/

[15] http://dior.ics.muni.cz/~makub/owl/

[16] https://docs.marklogic.com/guide/semantics/inferencing

[17] http://owl.man.ac.uk/2003/why/latest/

[18] http://webprotege.stanford.edu/#List:coll=Home;

[19] http://protegewiki.stanford.edu/wiki/Protege_Ontology_Library

You might also like