270 likes | 481 Views
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
E N D
Semantic Web and Policy Workshop @ ISWC 2005 Galway, Ireland, 7 November 2005 The TriQL.P BrowserFiltering Information using Context-, Content- and Rating-Based Trust Policies Christian Bizer, Freie Universität Berlin, Germany Richard Cyganiak, Freie Universität Berlin, Germany Tobias Gauss, Freie Universität Berlin, Germany Oliver Maresch, Technische Universität Berlin, Germany
Agenda • Trust policies in the context of the Semantic Web • Demonstration of the TriQL.P browser • 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.
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
RDF Dataset DefaultGraph Named Graphs in W3C SPARQL Set of Named Graphs
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/
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" .
TriQL.P Query Query Triple TrustPolicy :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" . SELECT ?GRAPH, ?PRED, ?OBJ, ?warrant, ?authorityWHERE ?GRAPH ( ex:Chris, ?PRED, ?OBJ ) (?GRAPH swp:assertedBy ?warrant . ?warrant swp:authority ? authority ) AND COUNT(?authority) >= 2 ex:Chris, ANY, ANY Applying the Policy
Justification Bindings • The TriQL.P query engine caches the variable bindings resulting from policy patterns. • They may be used later to generate explanations. Triple Justification Bindings ex:Chris dc:name “Chris”
Explanation • it was stated by at least two different sources. The sources are: • Monica Reynolds • Chris Bizer Generating Explanations Triple Justification Bindings ex:Chris dc:name “Chris”
TriQL.P Query using the TidalTrust Metric SELECT ?GRAPH, ?PRED, ?OBJ, ?warrant, ?authorityWHERE ?GRAPH ( ex:Chris, ?PRED, ?OBJ ) (?GRAPH swp:assertedBy ?warrant . ?warrant swp:authority ?authority ) AND METRIC(tpl:TidalTrustMetric, ?USER, ?authority, 0.5) 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.
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/