3 research outputs found
Zhi# - Programming Language Inherent Support for Ontologies
XML Schema Definition (XSD) and the Web Ontology Language (OWL) have been widely used to define programming language independent data types and to conceptualize knowledge. However, writing software that operates on XML instance documents and on ontological knowledge bases still suffers from a lack of compile time support for XSD and OWL. In this paper, a novel compiler framework is presented that facilitates the cooperative usage of external type systems with C#. For the resulting programming language Zhi#, XSD and OWL compiler plug-ins were implemented in order to provide static type checking for constrained atomic value types and ontologies. XSD constraining facets and ontological inference rules could be integrated with host language features such as method overwriting. Zhi# programs are compiled to conventional C# and are interoperable with .NET assemblies
Verfahren zur Verarbeitung von XML-Werten in SQL-Anfrageergebnissen
Gemäß der aktuellen Version der SQL-Norm kann ein Anfrageergebnis
beliebige XQuery-Sequenzen als Spaltenwerte enthalten. Dies schließt
insbesondere auch aus mehreren Sequenzeinträgen bestehende
XQuery-Sequenzen ein, deren Knoten mit Typinformationen angereichert sind.
Auf die Frage, wie sich derartige (in einem SQL-Anfrageergebnis
enthaltene) XQuery-Sequenzen adäquat mit Hilfe eines Anwendungsprogramms
verarbeiten lassen, liefert bisher allerdings weder die SQL-Norm noch ein
RDBMS-Produkt eine zufriedenstellende Antwort. Zum Schließen dieser Lücke
wird in der vorliegenden Arbeit das Verfahren der Sequenzcursor-basierten
Verarbeitung eingeführt.
Die Grundidee dieses Verfahrens (welches eine angemessene und komfortable
Verarbeitung der in einem SQL-Anfrageergebnis enthaltenen XQuery-Sequenzen
ermöglicht) besteht darin, mit Hilfe einer neuen Cursorart, den so
genannten Sequenzcursorn, in die XQuery-Sequenzen des aktuellen
Ergebnistupels einzutauchen, um Sequenzausschnitte zu definieren. Diese
Sequenzausschnitte werden dann ins Anwendungsprogramm übertragen und dort
lokal verarbeitet. Sofern dabei Änderungen an den Sequenzausschnitten
vorgenommen werden, kann das Anwendungsprogramm entscheiden, ob diese
Änderungen in die Datenbank (wieder)eingebracht werden sollen
Valid updates for persistent XML objects
Abstract: XML has emerged as the industry standard for representing and exchanging data and is already predominant in several applications today. Business, analytic and structered data will be exchanged as XML between applications and web services. XQuery is a language designed and developed for querying, filtering and generating XML structured data and is currently being standardized by the World Wide Web Consortium(W3C). XQuery seems to become the query language in context of (native) XML databases. Moreover in the context of document management XQuery seems suitable for querying large collections of documents with more irregular and deeply nested data structures. Despite these promising features XQuery or more precisely its FLWOR expression lacks of any update capability. In this paper we present important results concerning the development of XOBEDBPL (XML OBjEcts DataBase Programming Language). XOBEDBPL is the successor of the XOBE project. XOBE integrates XML and XPath into the Java programming language. In XOBEDBPL XML objects can become persistent. Moreover, a new feature in XOBEDBPL is the integration of xFLWOR(extended FLWOR) expressions for updating and querying XML objects. XML updates and queries in XOBEDBPL are statically typechecked. Finally we perform experiments with the XOBEDBPL prototype showing that the performance of low level API-based interfaces can be improved, as well as the performance of related approaches.