Daniel Weitzner
Decentralized Information Group
MIT Computer Science and Artificial Intelligence Laboratory
|
|
Ontologies
Reasoning Engine
|
Policy Network Ontology
Request Ontology
|
|
|
|
Rein Ontologies
Supported rule language : N3Logic
Reasoning engine
Example 1
Joe believes
{ mit:Peter a GraduateStudent }.
|
Example 2
@forAll X.
{ X homePage H.
H log:semantics S.
S log:includes { X a Vegetarian }.
}=> { X a Vegetarian}.
|
|
|
Flickr, Zoomr, etc
Flickr + Rein
Girl scout troop use Flickr + Rein
|
Policy Language
|
Troop ontology
|
|
Partial FOAF ontology
|
Example Request
|
<rdf:Description rdf:about="">
<rein:policy-language rdf:resource="http://gscout.example.org/pol-lang.rdf"/>
</rdf:Description>
<pol:PermittedToView rdf:about="http://example.org/policy#BobPerm">
<pol:picture rdf:resource="http://example.org/group.jpg"/>
<pol:user rdf:parseType="Resource">
<maker rdf:resource="http://example.org/bob-foaf.rdf"/>
</pol:user>
</pol:PermittedToView>
<pol:PermittedToView rdf:about="http://example.org/policy#AlicePerm">
<pol:picture rdf:resource="http://example.org/pic123.jpg"/>
<pol:user rdf:parseType="Resource">
<maker rdf:resource="http://example.org/foaf.rdf"/>
</pol:user>
</pol:PermittedToView>
<rdf:Description rdf:about="">
<rein:policy-language rdf:resource="http://gscout.example.org/pol-lang.rdf"/>
</rdf:Description>
<owl:Class rdf:ID="ViewingMeetingPhotos">
<rdfs:subClassOf rdf:resource="http://gscout.example.org/pol-lang#PermittedToView" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="http://gscout.example.org/pol-lang#picture"/>
<owl:allValuesFrom
rdf:resource="http://gscout.example.org/troop42#JamboreePhoto" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="http://gscout.example.org/pol-lang#user" />
<owl:allValuesFrom
rdf:resource="http://gscout.example.org/troop42#JamboreeAttendee" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<> rein:policy-language <http://gscout.example.org/pol-lang.rdf>
{ REQ a rein:Request.
REQ rein:resource PHOTO.
?F a TroopStuff; log:includes
{ PHOTO a t:Photo; t:location LOC.
LOC a t:Jamboree.
LOC t:attendee [ is foaf:maker of PG ]. }.
REQ rein:requester WHO.
WHO session:secret ?S.
?S crypto:md5 TXT.
PG log:semantics [ log:includes
{ PG foaf:maker [ session:hexdigest TXT ] }
].
} => { [ ] a pol:PermittedToView; pol:user WHO; pol:picture PHOTO }.