Initial ideas on Distributed Reasoning

1 / 8

# Initial ideas on Distributed Reasoning - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Initial ideas on Distributed Reasoning' - nantai

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

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
• 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 -> 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 -> 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
• 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

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
• 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?