View
220
Download
0
Category
Tags:
Preview:
Citation preview
The TriQL.P BrowserFiltering Information using Context-,
Content- and Rating-Based Trust Policies
Christian Bizer, Freie Universität Berlin, GermanyRichard Cyganiak, Freie Universität Berlin, Germany
Tobias Gauss, Freie Universität Berlin, GermanyOliver Maresch, Technische Universität Berlin, Germany
Semantic Web and Policy Workshop @ ISWC 2005 Galway, Ireland, 7 November 2005
Agenda
1. Trust policies in the context of the Semantic Web
2. Demonstration of the TriQL.P browser
3. Explanation of the technologies used by the browser
Introduction
The Semantic Web is envisioned as an open, dynamic network of autonomous information providers.
They have different views of the world, different levels of knowledge, and different intentions.
Statements published on the Semantic Web have to be seen as claims rather than as facts.
Thus before Semantic Web information should be used its trustworthiness has to be evaluated according to task-specific criteria.
How do we decide what to trust in the offline world?
In everyday life, we use a wide range of trust policies.
These policies depend on the specific situation, our subjective preferences, our past experiences and the trust relevant information available. We might trust Andy on restaurants but not on computers,
trust professors on their research field,
believe foreign news only when it is reported by several independent sources and
buy only from sellers on eBay who have more than 100 positive ratings.
Trust Assessment Methods
Every trust policy employs one or more trust assessment methods.
These methods can be classified into three categories: Rating-based assessment methods
Context-based assessment methods
Content-based assessment methods
Rating-Based Assessment Methods
most proposals for the Semantic Web fall in this category.
have a general problem: they require explicit and topic-specific ratings.
high effort for information consumers.
Central question: Are the users willing to rate?
Context-Based Assessment Methods
use background information about the information provider e.g. his role in the application domain or his membership in a
specific group
example policies: “Trust professors about their research field.” or "Distrust everything a vendor says about his competitor.“
use information created in the information gathering process publishing and retrieval date and the retrieval URL
information whether a signature is verifiable or not
example policy: “Trust all information which has been signed and is not older than a month.”
Content-Based Assessment Methods
use information content itself, together related information content published by other information providers.
Example policies: “Believe information which has been stated by at least 2
independent sources.”
“Distrust product prices that are more than 50% below the average price.”
The TriQL.P Semantic Web Browser
Browse General purpose RDF browser for exploring RDF datasets containing
information from multiple sources.
Collect information together with provenance meta-information from the Web.
Filter Filter information using a wide range of user-definable reputation-, context-
and content-based trust policies.
Explain In order to facilitate the user’s understanding of the filtering decisions, the
browser creates explanations why information fulfils a selected policy.
The TriQL.P browser builds on Piggy Bank.
Demonstration ….
How does it work?
The Named Graphs Data Model
A Named Graph is an entity which consists of A name, which is an URIref
A graph, which is an RDF Graph
A Named Graph is a resource, which can be described by RDF statements within the graph or in another graph.
Pragmatic alternative to reification!
Formal definition: Jeremy Carroll, Christian Bizer, Patrick Hayes, Patrick Stickler: Named Graphs. Journal of Web Semantics, Vol. 3, Issue 4, 2005
Named Graphs in W3C SPARQL
Set of Named Graphs RDF Dataset
DefaultGraph
NG4J – Named Graphs API for Jena
Extension to the Jena semantic web toolkit
APIs for manipulating sets of Named Graphs
Memory and database backed storage
TriQL and SPARQL query languages
Serialization using TriX, TriG and collections of RDF/XML files
SWP API for signing sets of graphs
Available under BSD license
TriX
plays well with generic XML tools like XSLT or XQuery
<TriX xmlns="http://www.w3.org/2004/03/trix/trix-1/"> <graph> <uri>http://www.bizer.de/InformationAboutRichard</uri> <triple> <uri>http://richard.cyganiak.de/foaf.rdf#RichardCyganiak</uri> <uri>http://xmlns.com/foaf/0.1/mbox</uri> <uri>mailto:richard@cyganiak.de</uri> </triple> </graph> <graph> <uri>http://www.bizer.de/ProvenanceInformation</uri> <triple> <uri>http://www.bizer.de/InformationAboutRichard</uri> <uri>http://purl.org/dc/elements/1.1/author</uri> <plainLiteral>Chris Bizer</plainLiteral> </triple> </graph></TriX>
TriG
Turtle subset of N3 extended with graph naming.
@prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix ex: <http://www.example.org/vocabulary/> . @prefix : <http://www.example.org/exampleDocument/> .
:G1 { _:Monica ex:name "Monica Murphy" . _:Monica ex:email <mailto:monica@murphy.org>. :G1 ex:disallowedUsage ex:Marketing }
:G2 { :G1 ex:author :Chris . :G1 ex:date "2003-09-03"^^xsd:date }
The Semantic Web Publishing Vocabulary
Named Graphs provide the hooks on which we pin provenance information
propositional attitudes
digital signatures
The Semantic Web Publishing Vocabulary (SWP) provides the necessary terms http://www.w3.org/2004/03/trix/swp-2/
The Semantic Web Publishing Vocabulary
Graph containing provenance information about itself
<urn:uuid:8c845860-dce7-11d9-b9c0-00112ff60c7f>
{ ex:PeterSmith a foaf:Person ;
foaf:name "Peter Smith" ;
foaf:mbox <mailto:peter.smith@petersmith.com> .
<urn:uuid:8c845860-dce7-11d9-b9c0-00112ff60c7f>
swp:assertedBy
<urn:uuid:8c845860-dce7-11d9-b9c0-00112ff60c7f> ;
swp:authority <http://www.bizer.de> ;
dc:date "2005-06-14T17:18:10+02:00" ;
swp:savedFrom <http://www.bizer.de/myFriends.htm> .
}
TPL - Trust Policy Language
A Trust Policies consists of a Policy Name
Policy Description
Query Template
Explanation Templates
A Query Template consists of Graph patterns
- which are matched against the set of Named Graphs in the browser’s repository.
Constraints
- which further restrict the resulting variable bindings.
Example Policy
Trust only information that has been asserted by at least two different sources.
:Policy6 rdf:type tpl:TrustPolicy ; tpl:policyName "Two different sources" ; tpl:policyDescription "Trust only information that has been asserted by at least two different sources."; tpl:textExplanation "it was stated by at least two different sources. The sources are:" ; tpl:graphPattern [ tpl:pattern "(?GRAPH swp:assertedBy ?warrant . ?warrant swp:authority ?authority)"; tpl:textExplanation "@@?authority@@" ; ] ; tpl:constraint "COUNT(?authority) >= 2" .
Applying the Policy
:Policy6 rdf:type tpl:TrustPolicy ; tpl:policyName "Two different sources" ; tpl:policyDescription "Trust only information that has been asserted by at least two different sources."; tpl:textExplanation "it was stated by at least two different sources. The sources are:" ; tpl:graphPattern [ tpl:pattern "(?GRAPH swp:assertedBy ?warrant . ?warrant swp:authority ?authority)"; tpl:textExplanation "@@?authority@@" ; ] ; tpl:constraint "COUNT(?authority) >= 2" .
Trust Policy
SELECT ?GRAPH, ?PRED, ?OBJ, ?warrant, ?authority
WHERE ?GRAPH ( ex:Chris, ?PRED, ?OBJ )
(?GRAPH swp:assertedBy ?warrant .
?warrant swp:authority ? authority )
AND COUNT(?authority) >= 2
TriQL.P Query
ex:Chris, ANY, ANY
Query Triple
Justification Bindings
The TriQL.P query engine caches the variable bindings resulting from policy patterns.
They may be used later to generate explanations.
ex:Chris dc:name “Chris”
Triple Justification Bindings
?GRAPH = <urn:uuid:8c845860…>?warrant = <urn:uuid:8c845860…>?authority = <http://www.bizer.de>
?GRAPH = <urn:uuid:4748a58b0…>?warrant = <urn:uuid:4748a58b0…>?authority = <http://www.reynolds.org>
Generating Explanations
it was stated by at least two different sources. The
sources are:•Monica Reynolds•Chris Bizer
Explanation
ex:Chris dc:name “Chris”
Triple Justification Bindings
?GRAPH = <urn:uuid:8c845860…>?warrant = <urn:uuid:8c845860…>?authority = <http://www.bizer.de>
?GRAPH = <urn:uuid:4748a58b0…>?warrant = <urn:uuid:4748a58b0…>?authority = <http://www.reynolds.org>
The METRIC() Interface
The browser provides and open interface for integrating application domain specific assessment metrics.
Metrics currently implemented:
- eBay, TidalTrust, Appleseed- PageRank (foaf:knows, rdf:seeAlso)
Metrics generate custom explanationsabout their calculation process.
SELECT ?GRAPH, ?PRED, ?OBJ, ?warrant, ?authority
WHERE ?GRAPH ( ex:Chris, ?PRED, ?OBJ )
(?GRAPH swp:assertedBy ?warrant .
?warrant swp:authority ?authority )
AND METRIC(tpl:TidalTrustMetric, ?USER, ?authority, 0.5)
TriQL.P Query using the TidalTrust Metric
Summary
Semantic Web applications need flexible trust architectures supporting subjective, task-specific trust policies.
Context- and content-based assessment methods are applicable in situations where ratings are not available.
The Named Graphs data model proved suitable for representing information together with trust-related meta-information.
Expressing policies as query templates is an alternative to expressing them as rules.
Next step: Redesign TPL syntax to be closer to SPARQL.
Thanks :-)
TriQL.P Browser http://www.wiwiss.fu-berlin.de/suhl/bizer/TriQLP/browser
Named Graphs Paper http://www.websemanticsjournal.org/ps/pub/2005-23
NG4J - Named Graphs API for Jena http://www.wiwiss.fu-berlin.de/suhl/bizer/ng4j/
Recommended