Upload
lucas-russell
View
219
Download
0
Embed Size (px)
Citation preview
Semantic Context Specification
April 28, 2004Amit Nanda, Reiman Rabbani, Maciej Janik
Introduction
• Context – What is it?
• Semantic context.
• Benefits from having a context ?
Example – Hotel check-in
• David– business trip– has to get up at 7am– does not like AC– has to watch CNN
finance news– teetotaller
• Robert– leisure trip– can sleep till 9am– likes to have cool room– watches Sports– likes to drink champaign
default room settings
Example – Hotel check-in
alarm set at 7am
AC turned off
TV starts with CNN
non-alcoholic drinks in fridge
default room settings
alarm set at 9am
AC turned to 70 F
TV starts with Sport channel
champaign in fridge
default room settings
David
Robert
Context = f( task, ontology, data )
The context circle
TASK
Execution context
UserApplication
WebApplication
Additionalinformation
Additionalinformation
UserContext
UserContext
WebApp
Context
WebApp
Context
TaskContext
Our Proposed Model
Context: TASK
• Operation that has to be performed.
• Goal to accomplish.• Assumption : Task has to be application
specific for best results.• Example : Task = travel. On expedia.com
and on amazon.com, results differ.
Context: DATA
• Vast store of information, covering different domains, a part of which constitutes the end result for user task.
• In semantic web, all data corresponds to real world objects and objects have different types of relations between each other
• Denoted in the form of triples, encoded as graphs in RDF files.
Context: ONTOLOGY
• “Specification of a conceptualization.”*• Can be visualized as skeleton or
framework for the data.
• Specified by OWL or DAML-OIL.• Assumption : a task that needs to be
executed, should have a well defined ontology.
*Gruber, T.R. A Translation Approach to Portable Ontology Specifications. 1993.
Profile Ontology Dynamic Profile Update
• ‘Profile’ as an ontology• Assumption: Everything in the ontology is a
universally defined object• When new object are required the ontology and
relationships of that object can be downloaded• User profile may or may not be updated.• If task is executed using the user’s context, profile is
updated based on rules & settings.• If user’s profile has no information regarding task and
if it’s still executed, profile is updated using current results.
• Profile is not updated if task is not executed
Profile Ontology
Profile Ontology
<?xml version="1.0"?>
<rdf:RDF
xmlns="http://a.com/ontology#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xml:base="http://a.com/ontology">
<owl:Ontology rdf:about=""/>
<owl:Class rdf:ID="Historical_data">
<rdfs:subClassOf>
<owl:Class rdf:about="#Temporal_data"/>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Address">
<rdfs:subClassOf>
<owl:Class rdf:about="#Spatial_Enviroment"/>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Private_address">
<rdfs:subClassOf rdf:resource="#Address"/>
</owl:Class>
<owl:Class rdf:ID="Interests">
<rdfs:subClassOf>
<owl:Class rdf:about="#Preferences"/>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Business_address">
<rdfs:subClassOf rdf:resource="#Address"/>
</owl:Class>
<owl:Class rdf:ID="Privacy_rules">
<rdfs:subClassOf>
<owl:Class rdf:about="#Rules"/>
</rdfs:subClassOf>
Task Ontology
InventoryDB
Ontology
KnowledgeBase
Task Application
User Application
Other Stored/
Inferred Data
RulesTemporalSpatialStaticAbstractPrivate …
Profile Ontology
TaskAnswers {….}
Questions {….}
Profile Data
Context ContextContext sensitive
results
Camera Ontology
Camera Ontology - sample
<rdf:RDF> <owl:Ontology>.... <Money rdf:ID="Eos_body_price"> <currency>550</currency> </Money> <Body rdf:ID="Canon_Eos"> <cost rdf:resource="#Eos_body_price"/> </Body> <Digital
rdf:ID="Olympus_Camedia_C2040"> <cost> <Money rdf:ID="Olympus_price"> <currency>500</currency> </Money> </cost> </Digital> <Money rdf:ID="Zeiss_price"> <currency>450</currency> </Money><SLR rdf:ID="Canon_Eos_10"> <body rdf:resource="#Canon_Eos"/> </SLR> . . .
P
R O
F I L
E
KnowledgeBase
Example of camera context ...
<Money rdf:ID="Eos_body_price"> <currency>550</currency> </Money> <Body rdf:ID="Canon_Eos"> <cost rdf:resource="#Eos_body_price"/> </Body> <Digital rdf:ID="Olympus_Camedia_C2040"> <cost> <Money rdf:ID="Olympus_price"> <currency>500</currency> </Money> </cost> </Digital> <Money rdf:ID="Zeiss_price"> <currency>450</currency> </Money> <SLR rdf:ID="Canon_Eos_10"> <body rdf:resource="#Canon_Eos"/> </SLR> <Lens rdf:ID="Zeiss"> <compatibleWith rdf:resource="#Canon_Eos"/> <cost rdf:resource="#Zeiss_price"/> </Lens>
<Money rdf:ID="Eos_body_price"> <currency>550</currency> </Money> <Body rdf:ID="Canon_Eos"> <cost rdf:resource="#Eos_body_price"/> </Body> <Digital rdf:ID="Olympus_Camedia_C2040"> <cost> <Money rdf:ID="Olympus_price"> <currency>500</currency> </Money> </cost> </Digital> <Money rdf:ID="Zeiss_price"> <currency>450</currency> </Money> <SLR rdf:ID="Canon_Eos_10"> <body rdf:resource="#Canon_Eos"/> </SLR> <Lens rdf:ID="Zeiss"> <compatibleWith rdf:resource="#Canon_Eos"/> <cost rdf:resource="#Zeiss_price"/> </Lens>
User App Merchant App
CameraOntology
InventoryDB
buy camera
cameras to offerpersonalized viewprofile query:what cameras do you have ?
my cameras ...
what is a „camera” ?
ContextContext
Security Issues
• Greater the details provided by user application from user’s profile, better the result.
• But the user application is required not to provide user details regarding salary, SSN, bank account etc
• This is a constraint or drawback.
Conclusions
• In our model, context is created on application side, using information provided by user or profile.
• Specialized application is able to create a better context, than general user application.
Conclusions
• Because of the vastness of application areas, difficult to categorize them into definite types.
• Generalization of context is difficult and not always feasible.
• It is not possible to create a unified context that suits every need.
Conclusions
• Profile may grow to enormous proportions (including vast amount of information) and become hard to manage.
• Security issues may arise, because of complexity of data.
• Excessive transparency of profile will lead to abuse by malicious applications
• Sensitive information can be inferred and rules can be bypassed by use of circular logic by dishonest programmers
• Future work: apply this model of context to different applications.
Questions?
• Thank you !