Presentation is loading. Please wait.

Presentation is loading. Please wait.

Initial ideas on Distributed Reasoning. Expressivity The subset of RDF/OWL and that has rule- based inference – OWL –RL In general, datalog Example: –

Similar presentations


Presentation on theme: "Initial ideas on Distributed Reasoning. Expressivity The subset of RDF/OWL and that has rule- based inference – OWL –RL In general, datalog Example: –"— Presentation transcript:

1 Initial ideas on Distributed Reasoning

2 Expressivity The subset of RDF/OWL and that has rule- based inference – OWL –RL In general, datalog Example: – rdfs:domain, range, subClassof, subPropertyof – Inverseof, transitive property, symmetic property, – …

3 RDF/OWL -> Datalog Subproperty Subclass Class instance Property instance Redirection P(x,y) :- Q(x,y). C(x) :- D(x). C(a). P(a,b). a=b.

4 RDF/OWL -> Datalog Domain Range Transitive P Symmetric P Functional P InverseFunctional P Inverse of C(x) :- P(x,y) C(y) :- P(x,y) P(x,y) :- P(x,z), P(z,y) P(x,y) :- P(y,x) SameAs(x,y) :- P(z,x),P(z,y) SameAs(x,y) :- P(x,z),P(y,z) Q(x,y) :- P(y,x)

5 RDF/OWL -> Datalog Conjunction Disjunction Property Chain Negation Has Value Cardinality C(x) :- A(x), B(x). C(x) :- A(x). C(x):- B(x). R (x,y):- P(x,z), Q(z,y). C(x):- not D(x). C(x): - #count{x, P(x,y)}<=0. C(x) :- P(x,a). C(x) : #count{x, P(x,y)}>=3. This is also query language

6 Remote Join Free Assumption: data are distributed; rule set is relatively small, every node has the full rule set – Data can be duplicated in GIDS manner If there is no join, the result set can be a simple union – Domain, range, subC, subP, inverseOf, symmetric, disjunction, has value Each node compute a local answer, the whole answer set is their union

7 MapReduce void map(String name, String document): // name: document name // document: document contents for each word w in document: EmitIntermediate(w, "1"); void reduce(String word, Iterator partialCounts): // word: a word // partialCounts: a list of aggregated partial counts int result = 0; for each pc in partialCounts: result += ParseInt(pc); Emit(AsString(result)); Negation and cardinality queries can be distributed by MapReduce (counting) Also see: http://ayende.com/Blog/archive/2010/03/14/map-reduce-ndash-a-visual-explanation.aspx

8 Remote Join E.g. C(x) :- D(x), E(x) – Node 1: { D(a) } – Node 2: { E(a) } One solution: in query answering, do dependency check, and copy partial result to one place E.,g. C1(x) : - D(X) C2(x) :-E(X) – Copy instances of C1 and C2 to one node – On that node, add rule C(x) :-C1(x), C2(x) Optimization: hashing or indexing?


Download ppt "Initial ideas on Distributed Reasoning. Expressivity The subset of RDF/OWL and that has rule- based inference – OWL –RL In general, datalog Example: –"

Similar presentations


Ads by Google