1 / 8

Initial ideas on Distributed Reasoning

Initial ideas on Distributed Reasoning. 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, …. RDF/OWL -> Datalog. Subproperty

nantai
Télécharger la présentation

Initial ideas on Distributed Reasoning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 Negation and cardinality queries can be distributed by MapReduce (counting) 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, IteratorpartialCounts): // word: a word // partialCounts: a list of aggregated partial counts int result = 0; for each pc in partialCounts: result += ParseInt(pc); Emit(AsString(result)); 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?

More Related