1 / 23

Semantically Processing The Semantic Web

Semantically Processing The Semantic Web. Presented by: Kunal Patel Dr. Gopal Gupta. UNIVERSITY OF TEXAS AT DALLAS. Agenda. Introduction Problem & Solution Proposed Framework Denotational Semantics Horn Logic Application of Framework Current Status Conclusion. Introduction.

wray
Télécharger la présentation

Semantically Processing The Semantic Web

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. Semantically Processing The Semantic Web Presented by: Kunal Patel Dr. Gopal Gupta UNIVERSITY OF TEXAS AT DALLAS

  2. Agenda • Introduction • Problem & Solution • Proposed Framework • Denotational Semantics • Horn Logic • Application of Framework • Current Status • Conclusion

  3. Introduction • With the advent of Semantic Web, web communities have started publishing their formal data • Different description formats are being used for representation of this data • Example: RDF, RDF Schema, DAML+OIL, etc. • Various query languages have also been developed to query this data • Example: RDQL, RQL, SQUISH, etc.

  4. Problem RDF • Different Design Methodologies • Different Design Goals RDFS DAML Difficult to Query Data Difficult to Integrate Data Difficult to Infer New Data No single query language that can handle the multiple semantics represented by these heterogeneous data models

  5. Main Requirement RAPID Solution DAML Translate Description Formats and Query Languages into Executable Notations RDFS RDF Executable Notations RQL RDQL SQUISH Making a language executable means mapping the language into a notation whose semantics is mathematical Information that is implied can then be inferred automatically from this mathematical semantics

  6. Translate L1 L2 Denotational Semantics of L1 Language Constructs of L2 terms of Proposed Framework A framework based on Denotational Semantics & Horn Logic All components of this semantics are coded in Horn Logic rendering it executable

  7. Denotational Semantics • A well established methodology for design, description and analysis of programming languages • The denotational semantics of language L has three components: • Syntax Specification: Map sentences of Language L into syntax trees • Semantic Algebra: Represents the Mathematical objects and associated operations • Valuation Functions: Functions to map syntax tree to elements of semantic algebra

  8. Horn Logical Semantics Traditional Denotational Definitions: Syntax BNF Grammars Semantic Algebra Lambda Calculus Valuation Functions Horn Logical Semantics: Syntax Semantic Algebra Horn Logic Valuation Functions

  9. Advantage of using Horn Logical Semantics • Parser can be easily obtained: BNF specification of language L Definite Clause Grammar PARSER Prolog System • Semantic Algebra and Valuation Functions can also be coded in Horn Logic

  10. Semantics-based Language Translation Language Ls Language Lt DCG for Ls DCG for Lt Parse Trees Valuation Functions

  11. Application to the web • Current Web: • Translate one XML to another • Convert HTML to voiceXML • Semantic Web: • RDF, RDFS, DAML+OIL and other query languages like RDQL, RQL, etc. can be rapidly translated into executable notations • This paper mainly focuses on RDF and RDQL

  12. Denotational Semantics of RDF The statements of the RDF data model (triples) can be thought of as the equivalent of ground facts in a logic based language RDF Statements property(S, P, O) S has property P with value O DCG for RDF Semantic Specification

  13. propAttr ::= propName ‘=“’ string ‘”’ • propAttr(propAttr(PN,S))  propname(PN),[‘=“’],string(S),[‘”’]. DCG for RDF(Syntax Specification) Automatically yields a parser DCG rules for RDF can easily be obtained from the BNF specification of the RDF grammar BNF rule: DCG rule:

  14. Example Output RDF STATEMENT: <rdf:RDF> <rdf:Description about="http://www.w3.org"> <s:Publisher>World Wide Web Consortium</s:Publisher> <s:Title>W3C Home Page</s:Title> </rdf:Description> </rdf:RDF> PARSE TREE: r(o (description(idaboutattr(aboutattr(uriref(string(“http://www.w3.org”)))), (propertyel(propname(qname(nsprefix(s), name(publisher))), value(string(“World Wide Web Consortium”)), propname(qname(nsprefix(s), name(publisher)))), propertyelt(propname(qname(nsprefix(s), name(title))), value(string(“W3C Home Page”)), propname(qname(nsprefix(s), name(publisher)))), ) ) ) ) )

  15. propertyelts((PE,PEs),PSTR,VSTR,IASTR) :- propertyelt(PE,IASTR,PSTR,VSTR), assemble(IASTR,PSTR,VSTR), propertyelts(PEs,PSTR1,VSTR1,IASTR). Semantic Specification for RDF The semantic function maps the parse tree to a database of ground facts (property relations) Property(S,P,O) Property(S,P,O) … … … … … … … … … … The output parse tree is semantically processed to identify the subject, predicate and object which in turn are used to generate the ground facts

  16. Example Output PARSE TREE: r(o (description(idaboutattr(aboutattr(uriref(string(“http://www.w3.org”)))), (propertyelt(propname(qname(nsprefix(s), name(publisher))), value(string(“World Wide Web Consortium”)), propname(qname(nsprefix(s), name(publisher)))), propertyelt(propname(qname(nsprefix(s), name(title))), value(string(“W3C Home Page”)), propname(qname(nsprefix(s), name(publisher)))), ) ) ) ) ) DENOTATION: property(“http://www/w3.org”, publisher, “World Wide Web Consortium”). property(“http://www/w3.org”, title, “W3C Home Page”).

  17. Syntax and Semantic specification of RDQL • SQL like query language for RDF developed by HP labs • Query of the form SELECT vars FROM documents WHERE expressions AND filters USING Namespace declarations • Syntax and semantics can be specified in the same way as that of RDF

  18. SELECT ?a ?b • WHERE(?a, pred, ?b) • AND ?b > 250 :-property(X, pred, Y), Y > 250. Example Output RDQL Query: Parse Tree: r(query(slctclause(scvar(ridentifier(x)), commascvar(scvar(ridentifier(y)))), trptnclause(trpattern(varOruri(var(ridentifier(x))), varOruri(uri(uri2)), varOrliteral(var(ridentifier(y))))), constraintclause(expr(condOrexpr(condXorexpr(condAndexpr(valuelogical(streqexpr(numlogical(inclOrexpr(exclOrexpr(andexpr(aritcond(eqexpr(ltrelationalexpr(numericexpr(shiftexpr(addexpr(multexpr(unaryexpr(unaryexprntplmi(primaryexpr(var(ridentifier(y))))))))), numericexpr(shiftexpr(addexpr(multexpr(unaryexpr(unaryexprntplmi(primaryexpr(literal(numliteral(2))))))))))))))))))))))))) Denotation:

  19. Querying the Data RDF DATA RDQL QUERIES property(S,P,O) property(S,P,O) … … … … property(S,P,O) property(S,P,O) … … … … PROLOG RESULTS

  20. Current Status • Developed a complete Horn Logic denotational executable semantics for RDF • This took less than 2 weeks of work • Tested the semantics on almost all the test cases present in RDF Test Cases working draft • Change in syntax and semantics can be made with negligible effort

  21. Current Status • Developed the syntax specification part of RDQL • Working on the semantics specification part of RDQL

  22. Conclusion • This approach of querying RDF documents illustrates the power of logic • Not only is the executable notation based on logic, but the means of semantically translating RDF and Query Languages into logic also relies on logic • The main advantage of this is that semantic translators can be rapidly developed • As a result as the markup languages rapidly evolve as they have from HTML to XML to RDF and DAML, they can be processed and queried with the same rapidity

  23. THANK YOU

More Related