1 / 26

PARENTAL ADVISORY: Neither formulas nor inference rules in this presentation

PARENTAL ADVISORY: Neither formulas nor inference rules in this presentation. Who the FOAF knows Alice? Towards Semantic Web Pipes. Axel Polleres, DERI Galway Christian Morbidoni, SEMEDIA – University of Ancona, Italy Joint work with: Giovanni Tummarello, DERI Galway. Outline .

taber
Download Presentation

PARENTAL ADVISORY: Neither formulas nor inference rules in this presentation

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. PARENTAL ADVISORY: Neither formulas nor inference rules in this presentation

  2. Who the FOAF knows Alice? Towards Semantic Web Pipes Axel Polleres, DERI Galway Christian Morbidoni, SEMEDIA – University of Ancona, Italy Joint work with: Giovanni Tummarello, DERI Galway

  3. Outline • Web Pipes, Web 2.0 + Semantic Web Pipes • Revocations in RDF • MSG Theory • DBin 2.0: a Semantic Web Client implementing RDF revocations • Conclusions

  4. Semantic Web as a “quad space” • A semantic model (RDF) can be published on the web, at a specific web location (URL): Resolve(http://polleres.net/foaf.rdf)  RDF/XML • The collection of all the RDF graphs published on the web is today referred to by some as being the “Semantic Web” • The Semantic Web can be therefore see as a huge quad store where: • Any graph is readable (in general, but HTTP access control possible) • It is possible to write, but only in controlled web spaces (e.g. one’s own homepage) A big plus: it ties to the URL/DNS name ownership mechanism, ie. One could say: “I own my RDF statements” in some sense.

  5. Additionally, plenty of RDF data on the Semantic Web already • Personal FOAF, SIOC… etc. • Databases : DBpedia, DBLP, Geonames, etc. • Most of these use the “Linked Open Data” approach, e.g. http://dbpedia.org/resource/Berlin “Building the Semantic Web is about integrating data, that is already out there.” (found on a blog)

  6. Now how do I aggregate/process this RDF data? Available “ingredients” • Services: SWSE (for full queries), Sindice (find the sources, query yourself) • Browsers: Tabulator, Disco (browsers) etc.. • Clients: Protégé (read/local edit), DBin 2.0 (read/write) • Missing: Data processors for the Web a la Pipes!

  7. An Example: Aggregating & Patching RDF data 3 FOAF files, which contain the personal information stored by Alice, Bob, and Charles: • Charles doesn’t trust Alice’s information, • He wants to provide a common view over his and Bob’s information. • But: He also want’s to counter some of Bob’s statements though, ie. Charles wants to say: I don’t know Alice! • Additionaly, he might want to do other stuff, like RDFS materialiation, a SPARQL query over this joint view,etc.

  8. Outline • Web Pipes, Web 2.0 + Semantic Web Pipes • Revocations in RDF • MSG Theory • DBin 2.0: a Semantic Web Client implementing RDF revocations (Demo) • Conclusions & Outlook!

  9. How to revoke statements? • How can Bob state I don’t know Alice! • Such that others know he revokes that statement? • Without ending up in overall inconsistency (“explosive” semantics of negation in classical logic?) • Let’s see what means current Semantic Web languages provide…

  10. How to state “I don’t know Alice?” - Attempt 1: • In RDF, using a new “counter”-property, extending the FOAF vocabulary + : Easy to write down, no overall inconsistency -: No semantics: • How would someone else know that doesntknow is the opposite of knows? • For any revocation, one would need to extend the vocabulary.

  11. How to state “I don’t know Alice?” - Attempt 2: • In RDF, making revoked statements in a separate file, e.g., badstatements.rdf + : Easy to write down, no overall inconsistency -: No semantics: • how would a crawler be able to disambiguate “good” and “bad” graphs? • for actual revocation, one would need some pretty ugly SPARQL query:

  12. How to state “I don’t know Alice?” - Attempt 3: • In OWL/RDF, I can express “I don’t know Alice” !! + : clear semantics, W3C standard language -: Not necessarily what was intended: • Global inconsistency when combined with Bob’s file. • We wanted to “patch” only thus only remove the single statement. • BTW, the RDF triples for this in OWL/RDF are quite verbose • One could use para-consistent reasoning with OWL though, see [Z. Huang, F. van Harmelen, and A. ten Teije., 2005] • Still, needs full OWL DL reasoning, with nominals!

  13. How to state “I don’t know Alice?” - Attempt 4: • In RDF, using reification and a special property a la N3: + : Easy to write down in N3 • Maybe still verbose though (by RDF reification vocabulary), but alternative forms of writing down reficied statements, e.g. as XMLLiteral possible (which has other nasty side effects.) -: Again, undesired semantics: • overall inconsistency • semantics only defined in terms of cwm, non-standard, not really written down properly

  14. Outline • Web Pipes, Web 2.0 + Semantic Web Pipes • Revocations in RDF • MSG Theory • DBin 2.0: a Semantic Web Client implementing RDF revocations (Demo) • Conclusions & Outlook!

  15. Our solution: Describe revocations based on MSG theory! • Practical approach • Concise to write down • Non (yet) standard semantics, admittedly • Implemented in the Dbin 2.0 system for collaborative management and patching of RDF graphs

  16. KEY CONCEPT:Minimum Self-contained Graph (MSG) MSG (Def). Given an RDF statement s and a graph G, the Minimum Self-contained Graph (MSG) containing that statement, written MSG(s,G), is the set of RDF statements comprised of the following: • The statement in question • Recursively, for all the blank nodes involved by statements included in the description so far, the MSG of all the statements involving such blank nodes Important Properties: • Each RDF Graph can be decomposed in a canonical set of MSGs • Each MSG has a unique (blank-node agnostic) hash sum For a deeper discussion see: G. Tummarello, C. Morbidoni, R. Bachmann-Gmur, O. Erling, "RDFSync: efficient remote synchronization of RDF models", Proceedings of the 6th International Semantic Web Conference 2007, Busan, Korea --> Idea: We use exactly this hash sum to revoke MSGs

  17. RDF graph decomposition and identifiers Graph ID list = [MSG ID 1 , MSG ID 2, ..] MSG ID = Base64(MD5(Canonical(MSG))) = 45FA76B61FC0

  18. RDF modeling of MSG based revocations • So, if Charles wants to revoke <http://ex.org/ charles#me> foaf:knows <http://alice.example.org/i> (stated in Bob’s FOAF file) • …he computes a base64 of the MSG hash • “123JHG…” • …then adds to his own FOAF a triple: _:x pipes:revokesMSGHash "“123JHG…"^^xsd:string. • … plus optionally additional metadata about the revocation: _:x pipes:statedBy :me . _:x pipes:date "2007-11-11T16:20:00+9:00"^^xsd:dateTime. _:x pipes:revocationDescription "Who the FOAF said that I know Alice? I don’t know her."^^xsd:string. _:x pipes:involvedResource :me. * In the paper, we called this slightly different, _:a <http://sw.deri.org/09/2007/states_not> “123JHG…” but in between, we have refined our revocation vocabulary under the namespacehttp://pipes.deri.org/2007/10/ns#.

  19. RDF revocation based on MSG hashes summary: • In RDF, using our revocation vocabulary: _:x pipes:revokesMSGHash "“123JHG…"^^xsd:string. + : • Concise to write down, • no overall inconsistency, specific revocations possible. • revocations on the level of MSGs • We have defined a well-defined semantics what “revocation” means, • allows revocation as a modular operator in a pipe. -: • not visible WHAT was revoked, before revocations are applied, but this may be viewed a a feature • MSG hashes need to be computed every time (in Dbin we do this anyway, and we suggest to avoid unnecessary computations by using additional metadata in the paper) • Theoretically hash-collision possible (proved not to be the case in current use case examples, can again be minimized by additional metadata)

  20. Revocation in Dbin 2.0 “Pipes” • In DBin, a pipe is currently a simple ordered sequence of RDF graphs, where the revocation operator is subsequently applied: • Applying revocation in the order of the files, allows “preferential views” on RDF. • A non-naïve version, allows additionally “revocations of revocations”, and arbitrary pipes, see: Christian Morbidoni, Axel Polleres, Giovanni Tummarello, Danh Le Phuoc. Semantic Web Pipes. Tech. Report. DERI-TR-2007-11-07, 2007.

  21. Outline • Web Pipes, Web 2.0 + Semantic Web Pipes • Revocations in RDF • MSG Theory • DBin 2.0: a Semantic Web Client implementing RDF revocations (Demo) • Conclusions & Outlook!

  22. DBin 2.0 overview • Is a desktop client • Provides a rich user interfaces which can be customized for specific domains (Brainlet model) • As a basis, it Reads and Writes from/to the Semantic Web • Implements “Semantic Web Pipes”: workflows which combine Semantic Web sources in specific ways 2.0

  23. DBin 2.0, the Pipe Engine and the User Interface

  24. …Let’s show it as a Semantic Web Pipe RDF Sources and operators piped togheter for processing RDF data in a specific way RDF Source 1 Revocation operator RDF RDF Source 2 Revocation operator RDF RDF Source 3 RDFS inference RDF User Interface

  25. Outline • Web Pipes, Web 2.0 + Semantic Web Pipes • Revocations in RDF • MSG Theory • DBin 2.0: a Semantic Web Client implementing RDF revocations (Demo) • Conclusions & Outlook!

  26. Conclusions and Outlook: 2.0 • Novel concept of “revocations” in RDF takes into account that data on the web may be conflicting, but without introducing overall inconsistency • Allows targeted application of revocations in any sep of a pipe. DBin 2.0 makes use of it for common views of RDF collaboratively maintained graphs. pipes.deri.org is the next step which will allow you to store, execute and save pipes involving operators like: RDF materialize, revoke, SPARQL, XSLT, merge, etc. • Discussion points for specifically this workshop: • We believe that small, practical, small reasoning components such as provided by the revocations operator, work, for certain (not all) applications to get the Semantic Web going more quickly. Do we really need full OWL DL machinery for the aggregation and patching task? • BTW: In our experiments so far, we experience that a large part of the aggregation time for pipes is taken for fetching data… distribution!

More Related