Christian Bizer , Freie Universität Berlin, Germany

Post on 01-Feb-2016

51 views 0 download

Tags:

description

Semantic Web and Policy Workshop @ ISWC 2005 Galway, Ireland, 7 November 2005. The TriQL.P Browser Filtering Information using Context-, Content- and Rating-Based Trust Policies. Christian Bizer , Freie Universität Berlin, Germany Richard Cyganiak, Freie Universität Berlin, Germany - PowerPoint PPT Presentation

Transcript of Christian Bizer , Freie Universität Berlin, Germany

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/