What is this project about?
- In one sentence, we develope methods for putting proofs on Web and viewing them.
- We want to make links from triples to triples.
- Why? Because people sometimes want to ask 'why' and 'how' but not 'what'. (SPARQL basically allows you to ask 'what'. There is not yet a language that allows you to ask why).
- I called this 'The Time Dimension on Linked Data'.
What have we made?
- An agent that crawls for data and makes deductions and sends the result, along with the proof(trait of computation), back to the Web. (cwm-based, it runs N3 rules).
- An implementation of a server that accepts SPARQL Update + proof.
- A user interface for viewing proofs, as a Tabulator extension. We encourage ODE people to implement this feature.
Introduction to the User Interface
- indicates that there is a proof associated with this triple corresponding to the cell. You can click on it.
- × N indicates there are N proofs, namely N evidences, for that triple
Clicking on The Question Mark
- A new tab is opened and explanations are displayed
Back to the RDFa case
- All the triples for the rss:item are generated by the following rule:
@forAll :subject3, :predicate3, :object3 .
{ ?document dc:creator ?person .
?document log:uri ?uri.
() time:currentTime ?time_string.
:subject3 :predicate3 :object3 .
?document log:semanticsIncludes { :subject3 :predicate3 [] . } .
?document log:notSemanticsIncludes { :subject3 :predicate3 :object3 .} .
}
=>
{
[ a rss:item;
rss:title "TODO: You should update the document";
rss:description ?uri;
dc:date ?time_string;
doape:handler ?person;
doape:relatedSource ?document
] .
}.
- Writing pure RDF is easy for machine, while it's hard for human to read.
- Writing RDFa is hard for machines, but machines can find missing parts in RDFa if other sources are given.
How to Generate Proofs for This Interface
- In Turtle + formula
@prefix tms: <http://dig.csail.mit.edu/TAMI/2007/amord/tms#> .
{ ken:I doac:skill "Javascript" . } tms:justification
[
:antecedent-expr [ a :And-justification;
:sub-expr <ruleURI> ,
{
<http://dig.csail.mit.edu/2005/ajar/ajaw/data#Tabulator> doap:developer ken:I;
doap:programming-language "Javascript" .
} ] ] .
Other examples (contraversial)
- Is this grading fair? How do we make is fair?
Other examples (contraversial)
Imagine the Future
- You use an agent to filter information coming to you. The agent does proof-validating and so on. The filtering process is rule-based and proof-based, maybe not machine-learning-based. You have a white list of rules.
- You write your opinion in a machine readable format such as N3. The machine(s) would do the politics for you.
For doing things like sending bug reports:
Let's deprecate email + natural language
in favor of
SPARQL Update + RDF
which is machine readable (hence filterable), tracable and multilingual.