Initial ideas on distributed reasoning
This presentation is the property of its rightful owner.
Sponsored Links
1 / 8

Initial ideas on Distributed Reasoning PowerPoint PPT Presentation


  • 125 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Initial ideas on distributed reasoning

Initial ideas on Distributed Reasoning


Expressivity

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

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.


Rdf owl datalog1

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)


Rdf owl datalog2

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


Remote join free

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


Mapreduce

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


Remote join

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?


  • Login