Www.ontoprise.de © 2005 ontoprise GmbH Home - 1 - | Menu | Partner | End Copyright ©2005 ontoprise GmbH, Karlsruhe F-Logic Forum: Results and Open Issues.

Slides:



Advertisements
Similar presentations
XML: Extensible Markup Language
Advertisements

ISO DSDL ISO – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1.
RDF Tutorial.
1 Ontology Language Comparisons doug foxvog 16 September 2004.
Introduction to C Programming
Fall Semantics Juan Carlos Guzmán CS 3123 Programming Languages Concepts Southern Polytechnic State University.
Dynamic Ontologies on the Web Jeff Heflin, James Hendler.
WPSM Programming Language A simple language that transform simple data structure into complex xML format Wai Y. Wong Peter Chen Seema Gupta Miqdad Mohammed.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
CS 330 Programming Languages 09 / 13 / 2007 Instructor: Michael Eckmann.
Crash Language1 Crash. A Graphical Animation Tool By: Mikhail Litvin Vadim Belobrovka Michael Anikin Daniel Burdeinick.
1 COS 425: Database and Information Management Systems XML and information exchange.
Tutorial 9 Working with XHTML. XP Objectives Describe the history and theory of XHTML Understand the rules for creating valid XHTML documents Apply a.
Chapter 8 . Sequence Control
Creating a Well-Formed Valid Document. 2 Objectives Introducing XHTML Creating a Well-Formed Document Creating a Valid Document Creating an XHTML Document.
Chapter 3 Program translation1 Chapt. 3 Language Translation Syntax and Semantics Translation phases Formal translation models.
CS 330 Programming Languages 09 / 16 / 2008 Instructor: Michael Eckmann.
Information Extraction from Documents for Automating Softwre Testing by Patricia Lutsky Presented by Ramiro Lopez.
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
DartGrid Browser-based mapping tool of SQL to RDF Point Template Zhejiang University & OpenLink Software.
ANTLR Andrew Pangborn & Zach Busser. ANTLR in a Nutshell ANother Tool for Language Recognition generates lexers generates parsers (and parse trees)‏ Java-based,
StringTemplate Terence Parr University of San Francisco
Javascript and the Web Whys and Hows of Javascript.
Sequence Control Chapter 6. 2 l Control structures: the basic framework within which operations and data are combined into programs. Sequence control.
XP Tutorial 9New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with XHTML Creating a Well-Formed Valid Document Tutorial 9.
XP The University of Akron Summit College Business Technology Department Computer Information Systems 2440: 140 Internet Tools Instructor: Enoch E. Damson.
1 Chapter 5 LL (1) Grammars and Parsers. 2 Naming of parsing techniques The way to parse token sequence L: Leftmost R: Righmost Top-down  LL Bottom-up.
Using CookCC.  Use *.l and *.y files.  Proprietary file format  Poor IDE support  Do not work well for some languages.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
A Little Language for Surveys: Constructing an Internal DSL in Ruby H. Conrad Cunningham Computer and Information Science University of Mississippi.
WSRP - Markup Chris Braun
Copyright © 2010 Certification Partners, LLC -- All Rights Reserved Perl Specialist.
Introduction to XML This presentation covers introductory features of XML. What XML is and what it is not? What does it do? Put different related technologies.
Semantically Processing The Semantic Web Presented by: Kunal Patel Dr. Gopal Gupta UNIVERSITY OF TEXAS AT DALLAS.
1 Using Yacc. 2 Introduction Grammar –CFG –Recursive Rules Shift/Reduce Parsing –See Figure 3-2. –LALR(1) –What Yacc Cannot Parse It cannot deal with.
The Evolution of the StringTemplate Engine Presented to the UC Berkeley Harmonia group 15 December 2004 Terence Parr University of San Francisco
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.2.
Problems with XML & XML Schemas XML falls apart on the Scalability design goal. 1.The order in which elements appear in an XML document is significant.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
Representing data with XML SE-2030 Dr. Mark L. Hornick 1.
PRACTICAL KNOWLEDGE REPRESENTATION FOR THE WEB Frank van Harmelen Dieter Fensel AIFB Kim Kangil Structural Complexity Laboratory.
Overview of Previous Lesson(s) Over View  In our compiler model, the parser obtains a string of tokens from the lexical analyzer & verifies that the.
XP Tutorial 9New Perspectives on HTML and XHTML, Comprehensive 1 Working with XHTML Creating a Well-Formed Valid Document Tutorial 9.
Chapter 5 Classes and Methods II Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Copyright © Curt Hill Other Trees Applications of the Tree Structure.
WonderWeb. Ontology Infrastructure for the Semantic Web. IST Project Review Meeting, 11 th March, WP2: Tools Raphael Volz Universität.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Tutorial 9 Working with XHTML. New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition 2 Objectives Describe the history and theory of XHTML.
Parser: CFG, BNF Backus-Naur Form is notational variant of Context Free Grammar. Invented to specify syntax of ALGOL in late 1950’s Uses ::= to indicate.
Ada, Scheme, R Emory Wingard. Ada History Department of Defense in search of high level language around Requirements drafted for the language.
Tutorial 9 Working with XHTML. XP Objectives Describe the history and theory of XHTML Understand the rules for creating valid XHTML documents Apply a.
Comp 411 Principles of Programming Languages Lecture 3 Parsing
What is a Parser? A parser is a program that analyses a piece of text to determine its syntactic structure  3 means 23+4.
Programming Languages
CS 3304 Comparative Languages
PROGRAMMING IN HASKELL
Compiler Design 22. ANTLR AST Traversal (AST as Input, AST Grammars)
Syntax Questions 6. Define a left recursive grammar rule.
JavaScript an introduction.
Built in Fairfield County: Front End Developers Meetup
Programming Languages
PROGRAMMING IN HASKELL
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
Chapter 4 Action Routines.
PROGRAMMING IN HASKELL
Information Retrieval and Web Design
PROGRAMMING IN HASKELL
Introduction to ANTLR Jin Tianxing
Faculty of Computer Science and Information System
Presentation transcript:

© 2005 ontoprise GmbH Home | Menu | Partner | End Copyright ©2005 ontoprise GmbH, Karlsruhe F-Logic Forum: Results and Open Issues left Martin Weindel,

© 2005 ontoprise GmbH Home | Menu | Partner | End Agenda  New F-Logic Specification, why?  Highlights of New F-Logic  Parser for New F-Logic  Open Issues

© 2005 ontoprise GmbH Home | Menu | Partner | End New F-Logic Specification, why?  Original paper on F-logic published 1995  Various systems based on F-logic: Flora-2, Ontobroker, Florid,...  Problem areas:  New ideas  incompatible syntax extensions  Differences in Semantics  Usability and syntax inconsistencies => Forum F-Logic to define new specification

© 2005 ontoprise GmbH Home | Menu | Partner | End Highlights Highlights of New F-Logic

© 2005 ontoprise GmbH Home | Menu | Partner | End Highlights I: Directives  Usage of directives on a per-file basis  Namespace Prefixes to simplify dealing with URIs, following the RDF construct (sQNames) :- _prefix dc="  Modules to isolate different parts of KB, only one module per file :- _module _"  More directives: _version, _encoding,...

© 2005 ontoprise GmbH Home | Menu | Partner | End Directives Example  Without directives _" _" -> "Billy Smith", _" -> "Improved  With directives :- _module _" :- _default prefix = " :- _prefix dc=" #Doc3[dc#creator -> "Billy Smith", dc#subject -> "Improved Readibility"]. No explicit module needed Default prefix

© 2005 ontoprise GmbH Home | Menu | Partner | End Highlights II: Variables  Variables are denoted as ?Var  Implicit quantification ?X[grandfather -> ?G] :- ?G = ?X.father.father. Old: forall X,G X[grandfather -> G] :- G = X.father.father.  Anonymous variables ? or ?_  Explicit quantification ( forall, exist ) still supported p(?X) :- q(?X, ?_) and exist ?Y r(?X, ?Y).

© 2005 ontoprise GmbH Home | Menu | Partner | End Highlights III: If-then-else  Support for if-then-else rules to improve readability of simple rules for laymen if ?X:Person.age >= 18 then ?X:Adult else if ?X.age >= 12 then ?X:Teenager else ?X:Child.

© 2005 ontoprise GmbH Home | Menu | Partner | End Highlights IV: Syntax changes  Various syntax changes, most important:  Set value attributes only, i.e. dropping double arrows operators ->>, =>>, *->>, *=>>,.., !!  Usage of comma, or and instead of semicolon to separate parts in Flogic-molecules  Hi-Log syntax for method arguments dropped) New Syntax Man[son(Woman) {0:*} => Man]. Adam:Man[son(Alibama) -> {Jaus,Jalomus,Coreus}, son(Ada) -> Aliphaz]. Old Syntax =>> Man]. - >> {Jaus,Jalomus,Coreus}; ->> Aliphaz].

© 2005 ontoprise GmbH Home | Menu | Partner | End Highlights V: Aggregate  Syntax for aggregates as proposed in FLORA-2 : ?Var = Aggregate {?Var [GroupingVarList] | Query} ?- ?Z = min {?S | john[salary(?Year)->?S]}. ?- ?Z = count{?Year | john.salary(?Year) ?S], ?Y < Year}}.

© 2005 ontoprise GmbH Home | Menu | Partner | End Parser A Parser for the new F-Logic

© 2005 ontoprise GmbH Home | Menu | Partner | End From Spec To Code  Parser implemented from scratch using 1. Specification web pages of Forum Flogic 2. Discussions and results in Forum Flogic mailing list 3. Some „gap filling“ with parts from  FLORA-2  Ontobroker

© 2005 ontoprise GmbH Home | Menu | Partner | End Parser: Technical Details  Implemented in Java using parser generator ANTLR 3.0 (see )  LL(*) parser => more powerful => more natural grammar  Error recovery  Code generation possible for other languages (needs rewrite of actions and model classes)  C++  C#  Python

© 2005 ontoprise GmbH Home | Menu | Partner | End Parser Workflow Lexer Parser Path Expression Expansion Flogic Text Internal Parse Tree with Path Expr. and F-Molecules Expanded Parse Tree only containing F-Atoms

© 2005 ontoprise GmbH Home | Menu | Partner | End Demo  Parser demonstration at demoparser/ForumFlogicParser.html

© 2005 ontoprise GmbH Home | Menu | Partner | End Unsupported Syntax Features  Reification  Introspection  Syntax for forcing evaluation of evaluable functions  File loading syntax  Meta unification (part of spec?)  User defined equality :=: (part of spec?)

© 2005 ontoprise GmbH Home | Menu | Partner | End Open Issues

© 2005 ontoprise GmbH Home | Menu | Partner | End Open Issue: Strings, Symbols, and URIs  Unification of Strings, symbols, URIs?  Difference between symbol and string not easy for normal users "BMW Z4" => String (double quote) 'BMW Z4' => Symbol (single quote) _" => URI ( = ' ???)  Inconsistent notation for symbols with prefix: String + Symbol = URI :- _prefix a = " a#'bar' == _"

© 2005 ontoprise GmbH Home | Menu | Partner | End Open Issue: Namespaces  RDF sQNames are not sufficient:  GUIs will show only local part => Heuristics needed to separate namespace  Query for all objects of a given namespace ?- "  Query for namespaces for given local name ?- ?X#bar  Is # an operator? If yes, then strings should be allowed before # ?- ' -> ?X]. ?- " -> ?X].

© 2005 ontoprise GmbH Home | Menu | Partner | End Open Issue: Modules in Rule Head  Spec suggests to disallow module specification in rule head to enforce encapsulation  But module specs in rule head are currently used in some cases:  Axioms  Modelling of processes  Predefined rule sets working on modules with similar structure :-

© 2005 ontoprise GmbH Home | Menu | Partner | End Open Issue: Embedded modules  Need to import concepts and attributes from upper ontology  Need to make instances visible to upper ontology rules Upper Ontology Domain Ontology 1 Domain Ontology 2 Inherits concepts & attributes

© 2005 ontoprise GmbH Home | Menu | Partner | End Other Open Issues  Rule & query syntax Only head :- body. Or is <- allowed alternatively?  Old style rules and queries starting with forall?  Ontobroker query extensions sortedby, orderedby?  Documentation of rules and queries?  Unicode escape sequences in strings and symbols?  Syntax for rule labels?  Allowed encoding specifications  Readability of BooleanMethod specifications? ... => Discussion in Forum mailing list

© 2005 ontoprise GmbH Home | Menu | Partner | End Open Source Reference Parser  Next Steps:  Refine this parser to become the reference parser  Release as Open Source