Chris Bizer, Freie Universität Berlin
Richard Cyganiak, Freie Universität Berlin
Oliver Maresch, Technische Universität Berlin
Tobias Gauss, Freie Universität Berlin
TriQL.P - Trust Architecture
The TriQL.P - Trust Architecture aims at supporting users in their decision whether to trust or to distrust information found on the Semantic Web. The main objective of the architecture is to support a wide range of different context-, content- or reputation-based trust policies. Beside of the actual data, the architecture can also return explanation trees which explain why data should be trusted.
The architecture is based on the Named Graphs data model. The architecture consists of a query language and RDF vocabularies for defining trust policies, for representing explanation trees and for publishing information using digital signatures. It is currently being implemented on top of NG4J.
Note: This page is outdated as the TriQL.P Architecture has been replaced by the WIQA Framework.
-
-
-
-
- References
One of the main goals of the Semantic Web initiative is to build an infrastructure which allows applications to use data provided by large networks of independent data sources. Aggregating data from different sources always raises questions about data quality and data trustworthiness. Before the gathered information can be used, its quality and trustworthiness has to be evaluated according to the application-specific trust requirements. This trust decision can be based on:
- the information context, e.g. who claimed what, where, when and why [Marchiori04] [BuSaKh01].
- the information content itself, together with axioms and related information from different sources.
- reputational metainformation in the form of information- or information source ratings [GoHePa03][RiAgDo03].
The main objective of the TriQL.P Trust Architecture is to support a wide range of different, subjective and task-specific trust-policies based on information from all three
categories.
The key factor in a user's trust decision is her understanding why given information is fulfilling her trust requirements. Explanation trees try to facilitate this understanding. Explanation trees contain information why query results are matching a given trust policy. Using this information, it is possible to implement something like Tim Berners-Lee's "Oh, yeah?"-button [BernersLee97], meaning that a user can click on every piece of information within an application and get an explanation why she should trust the information.
The TriQL.P architecture has the following four layers:
- A Information Integration Layer which handles the aggregation of information from different sources and adds provenance metadata to the information.
- A Repository Layer which stores the aggregated information. Graphs are stored in the knowledge base without evaluating their trustworthiness. Thus, the knowledge base will contain contradictionary information and different opinions on the same topic.
- The Query and Trust Evaluation Layer which handles the actual trust decisions using TriQL.P.
- The Application and Explanation Layer on which the retrieved information is used within an application context and which provides functionality to browse through explanation trees.
|
 |
More information about the ideas behind TriQL.P is found in [BiOl04].
The TriQL.P Trust Architecture consists of the following building blocks:
- TriQL.P Query Language. TriQL.P extends TriQL. The basic idea of TriQL is using graph patterns for querying sets of Named Graphs. TriQL.P extends TriQL with two language constructs which are useful for expressing trust policies:
- COUNT() for formulating quantity conditions.
- METRIC() as an open interface to different rating algorithms.
- TPL Vocabulary. The Trust Policy Language (TPL) Vocabulary is used to specify trust policies. A trust policy consists of graph patterns, conditions and explanation templates. When a TPL trust policy is used by an application, the policy's graph patterns and conditions are combined with an application-specific find(SPO) query resulting into a complete TriQL.P query. The explanation templates are used by the TriQL.P Trust Engine to generate explanation trees.
- EXPL Vocabulary. The Explanation (EXPL) Vocabulary is used for representing explanations trees generated by the TriQL.P Trust Engine.
- SWP Vocabulary. The Semantic Web Publishing Vocabulary (SWP) is used for publishing Named Graphs on the Web. It allows authorities to indicate whether they assert or quote a graph and to sign graphs using digital signatures.
More information about publishing information on the Semantic Web using Named Graphs and digital signatures is found in [CaBiHaSt04].
- NG4J.
The Named Graphs API for Jena (NG4J) is an extension to the Jena Semantic Web framework for parsing, manipulating and serializing sets of Named Graphs. NG4J is used by the TriQL.P architecture as graph repository and for serializing graph sets.
- TriQL.P Trust Engine. The TriQL.P Trust Engine evaluates queries using TPL trust policies. The engine expects a find(SPO) query and a policy URI as input parameters. It returns a set of triples fulfilling the query pattern and the trust policy. In addition, an application can ask the trust engine for an EXPL explanations why triples in the result set should be trusted.
The TriQL.P Trust Architecture is currently being implemented on top of NG4J.
- The first prototype of the trust engine has been implemented by Richard Cyganiak.
- Oliver Maresch is working on the integration of reputation-based trust metrics.
- Tobias Gauss is working on a prototypical integration into Piggy Bank.
The current version of the code is found in the NG4J CVS repository http://cvs.sourceforge.net/viewcvs.py/ng4j/ng4j/src/de/fuberlin/wiwiss/trust/
- The engine is designed to work with Jena 2.2. Expect problems when using it with older versions of Jena.
- The TriQL.P engine is
licensed
under the terms of the GNU GPL license.
| Version |
Comment |
Release Date |
| V0.01 |
Initial version submitted to CVS.
The engine understands TPL policies and returns query results and explanations for policies that are only using graph patterns. It doesn't support COUNT() and METRIC() yet. |
2005-02-16 |
3.2 Using the TriQL.P Trust Engine
The following code uses a graph set about financial institutions and financial news as example data.
The TPL policy suite below contains several trust policies that applications might want to use in a financial scenario.
The following code loads the example data and policy suite. Afterwards, it queries the data about all rdf:type triples using fin:Policy1 "Trust only information published by rating agencies". The query results are displayed together with their explanations.
....
// Load Trust Policy Suite
Model tplFile = ModelFactory.createDefaultModel();
tplFile.read("file:examples/finPolicies.n3", "N3");
PolicySuite suite = new PolicySuiteFromRDFBuilder(tplFile.getGraph()).buildPolicySuite();
// Load Example Data
NamedGraphSet source = new NamedGraphSetImpl();
source.read("file:examples/finData2.trig", "TRIG");
// Select Trust Policy
TrustPolicy policy = suite.getTrustPolicy("http://www.fu-berlin/suhl/bizer/financialscenario/policies/Policy1");
// Run a Query against the Example Data using the Policy
TrustEngine trusted = new TrustEngine(source);
QueryResult result = trusted.find(
new Triple(Node.ANY, RDF.Nodes.type, Node.ANY), policy);
// Output Query Results
Iterator it = result.tripleIterator();
while (it.hasNext()) {
System.out.println(it.next());
}
// Output Explanations for all Triples
it = result.tripleIterator();
while (it.hasNext()) {
System.out.println("# ===============================================");
Triple triple = (Triple) it.next();
Explanation explanation = result.explain(triple);
Model m = ModelFactory.createDefaultModel();
m.getGraph().getBulkUpdateHandler().add(explanation.toRDF());
m.setNsPrefixes(PrefixMapping.Standard);
m.setNsPrefix("exp", EXP.getURI());
m.write(System.out, "N3");
}
....
When run, the example code will write this output to System.out.
We are very interested in hearing your opinion about
the TriQL.P Trust Architecture. Please send comments to:
Chris Bizer
chris@bizer.de
www.bizer.de
- [Named-Graphs]
- Named Graphs, http://www.w3.org/2004/03/trix/
- [RDQL]
- RDQL - A Query Language for RDF, Andy Seaborne, W3C Member Submission 9 January 2004. http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/
-
- [TriG]
- The TriG Syntax, Christian Bizer, 2004. http://www.wiwiss.fu-berlin.de/suhl/bizer/TriG/
-
-
- [TriQL]
- The TriQL - A Query Language for Named Graphs, Christian Bizer, 2004. http://www.wiwiss.fu-berlin.de/suhl/bizer/TriQL/
- [RDF-SYNTAX]
- RDF/XML Syntax Specification (Revised), Beckett D. (Editor), W3C Recommendation, 10 February 2004. This version is http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/. The latest version is http://www.w3.org/TR/rdf-syntax-grammar/.
- [BuSaKh01]
- Peter Buneman, Sanjeev Khanna, Wang-Chiew Tan: Why and Where: A Characterization of Data Provenance. http://db.cis.upenn.edu/DL/whywhere.pdf
- [GoHePa03]
- J. Golbeck, J. Hendler, B. Parsia: Trust Networks on the Semantic Web. http://mindswap.org/papers/Trust.pdf
- [RiAgDo03]
- M. Richardson, R. Agrawal, P. Domingos: Trust Management for the Semantic Web. http://www.cs.washington.edu/homes/mattr/doc/iswc2003/iswc2003.pdf
- [Berners-Lee97]
- Tim Berners-Lee: Cleaning up the User Interface, Section - The "Oh, yeah?"-Button. http://www.w3.org/DesignIssues/UI.html
- [BiOl04]
- Christian Bizer, Radoslaw Oldakowski: Using Context- and Content-Based Trust Policies on the Semantic Web. WWW2004, New York, May 2004. http://www.wiwiss.fu-berlin.de/suhl/bizer/SWTSGuide/p747-bizer.pdf
- [CaBiHaSt04]
- J. Carroll, C. Bizer, P. Hayes, P. Strickler: Named Graphs, Provenance and Trust. http://www.wiwiss.fu-berlin.de/suhl/bizer/SWTSGuide/carroll-ISWC2004.pdf
- [Marchiori04]
- Massimo Marchiori: W5: The Five W's of the World Wide Web. http://www.w3.org/People/Massimo/papers/2004/w5_04.pdf
- [CuWi99]
- Yingwei Cui, Jennifer Widom: Practical Lineage Tracing in Data Warehouses. http://citeseer.nj.nec.com/cache/papers/cs/1704/http:zSzzSzwww-db.stanford.eduzSzpubzSzpaperszSztrace.pdf/cui99practical.pdf
- [McGuinnessDaSilva03]
- L. McGuinness, P. da Silva: Infrastructure for Web Explanations - ISWC 2003. http://www.cs.toronto.edu/semanticweb/resource/reference/iswc03bestpapers/iswc03-infrastructure-web-explanations.pdf
More references to resources about the trust and security issues arising from the Semantic Web are found in the
Semantic Web Trust and Security Resource Guide.
-
-
$Date: 2005/01/15 18:34:00 $
$Id: index.html,v 1.1 2005/01/15 18:34:00 bizer Exp $