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

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

• Subproperty

• Subclass

• Class instance

• Property instance

• Redirection

• P(x,y) :- Q(x,y) .

• C(x) :- D(x) .

• C(a) .

• P(a,b) .

• a=b.

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

• 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

• 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

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

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