230 likes | 325 Views
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.
E N D
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 • 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.
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
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
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
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
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
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
Semantics-based Language Translation Language Ls Language Lt DCG for Ls DCG for Lt Parse Trees Valuation Functions
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
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
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:
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)))), ) ) ) ) )
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
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”).
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
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:
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
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
Current Status • Developed the syntax specification part of RDQL • Working on the semantics specification part of RDQL
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