Download presentation

Presentation is loading. Please wait.

Published byJordon Bracher Modified over 4 years ago

2
RDF triple store Ontology Curator Harvester Departmental Web sites Research grants databases Query system Web interface Harvester

4
OpenKnowledge plugin supplier request interaction model request plugin interpret interaction model

5
share interaction model routing

6
Peer p1 Peer p2 Peer p3 query_from(p(Y), p2) query_from(q(Z), p3) know(p(a)) know(q(b)) ask(p(Y)) tell(p(a)) ask(q(Z)) tell(q(b)) 1 2 3 4

7
a(requester([q(ask(p(X)),p2),q(ask(q(Y)),p3)]), p1) ask(p(X)) => a(informer, p2) tell(p(a)) <= a(informer, p2) a(requester([q(ask(q(Y)),p3)]), A) ask(q(Y)) => a(informer, p3) tell(q(b)) <= a(informer, p3) a(informer, p2) ask(p(X)) <= a(requester(([q(ask(p(X)),p2),q(ask(q(Y)),p3)]), p1) tell(p(a)) <= a(requester(([q(ask(p(X)),p2),q(ask(q(Y)),p3)]), p1) a(informer, p3) ask(q(Y)) <= a(requester(([q(ask(q(Y)),p3)]), p1) tell(q(b)) <= a(requester(([q(ask(q(Y)),p3)]), p1)

8
a(r(A), X) ::= ( R(A, Ar) a(r(Ar), X) ) or ( P(A) ) a(r(A), X) ::= ( R(A, Ar) a(r(Ar), X) ) or ( P(A) ) a(r(A), X) ::= ( M => a(r2, p2) <-- A = [M|Ar] then a(r(Ar), X) ) or ( null <-- A = [] ) a(r(A), X) ::= ( M => a(r2, p2) <-- A = [M|Ar] then a(r(Ar), X) ) or ( null <-- A = [] )

9
a(r(A), X) ::= ( M => a(r2, p2) <-- A = [M|Ar] then R <= a(r2, p2) then a(r(Ar), X) ) or ( null <-- A = [] ) a(r(A), X) ::= ( M => a(r2, p2) <-- A = [M|Ar] then R <= a(r2, p2) then a(r(Ar), X) ) or ( null <-- A = [] )

10
a(r(A, B), X) ::= ( M => a(r2, p2) <-- A = [M|Ar] then B = [R|Br] <-- R <= a(r2, p2) then a(r(Ar, Br), X) ) or ( null <-- A = [] and B = [] ) a(r(A, B), X) ::= ( M => a(r2, p2) <-- A = [M|Ar] then B = [R|Br] <-- R <= a(r2, p2) then a(r(Ar, Br), X) ) or ( null <-- A = [] and B = [] )

11
Curated database services Scientists Service invocation

12
sharing Proxies (no need for database curators to know) data collating

13
LCC Interaction Specification: Data Collator a(data_collator(Seq,Best), C) :: filter_results(Seq,Results,Best) a(poller(Seq,Peers,Results), C) sources(Peers) a(poller(Seq,Peers,Results), C) :: ( a(data_seeker(Seq,D,Matches), C) Peers = [D|RestPeers] and Results = [r(D,Matches)|RestResults] then a(poller(Seq,RestPeers,RestResults), C) ) or null Peers = [] and Results = []. a(data_seeker(Seq,D,Matches), S) :: query(Seq) => a(data_source, D) then filter_matches(Seq,Results,Matches) matched(Results) <= a(data_source, D). data_source You can be a data collator for a sequence, seeking the best matches of you can filter the results from polling your peers for their best matches You can poll a set of your peers for their best results if you become a data seeker for the first of these peers and the matches from that peer are merged with the matches you get from polling the rest of the set of peers; or if the set of peers is empty you have no matches You can be a data seeker asking a peer for a set of matches if you send a message to that peer asking it to be a data source then filter the matches it sends back to you in its response

14
LCC Interaction Specification: Data Sharing sharing a(data_source, D) :: query(Seq) <= a(data_seeker(Seq,D,Matches), S) then ( matched(Results) => a(data_seeker(Seq,D,Matches), S) matching_sequences(Seq,Results) or ( a(data_collator(Seq,Results), D) not(matching_sequences(Seq,_)) then matched(Results) => a(data_seeker(Seq,D,Matches), S) ) ). You can be a data source if you get a query from a data seeker and then you send out the matching sequences to the data seeker if these matching sequences can be obtained locally; or you become a data collator, seeking results from others if there are no local matching sequences and then you send out these matching sequences to the data seeker.

15
Example: Yeast Protein Data sharing consistency checking SWISSSAMModBase

16
Environment simulator Simulated agents Interaction model Coordinating peer

Similar presentations

OK

Peer to Peer Discovery Nate Thrasher. Peer to Peer Discovery ● 2 Basic Categories – Hardware Discovery – Information Discovery ● JXTA (http://www.jxta.org)

Peer to Peer Discovery Nate Thrasher. Peer to Peer Discovery ● 2 Basic Categories – Hardware Discovery – Information Discovery ● JXTA (http://www.jxta.org)

© 2019 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google