1 / 28

Open Source Semantic Web Tools

Platform Architecture. My Background. Data visualizationUser interface designVideoconferencing systemsCollaboration tools Teleimmersion. Platform Architecture. My Inspirations. Databases are the core that can drive just about anythingScientific American article (1999)?The emergence of XMLTim

hoshiko
Download Presentation

Open Source Semantic Web Tools

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. Platform Architecture Open Source Semantic Web Tools / Platform Allan Spale Kaleidoscope

    2. Platform Architecture My Background Data visualization User interface design Videoconferencing systems Collaboration tools Teleimmersion

    3. Platform Architecture My Inspirations Databases are the core that can drive just about anything Scientific American article (1999)? The emergence of XML Tim Berners-Lee's vision of the semantic web Dr. Dobb's Journal (2000)? Mismatch between relational databases and artificial intelligence systems

    4. Platform Architecture One “Moment” Friend had to collect data from people in the field He knew nothing about databases and did not particularly care about them Ended up importing data from a PDA into an Excel worksheet Solving the problem How could I abstract the complexities of the database?

    5. Platform Architecture Another “Moment” Working in a university data mining research lab Friend recommended Jeff Hawkins' book On Intelligence The brain stores a basic invariant form of information Higher level structures of meaning are built above this basic structures Connections among the structures

    6. Platform Architecture Current State of Web 2.0 Mashups (Google Maps)? Web services (Amazon Web Services)? User-generated content (Flickr, YouTube)? Social networking (MySpace, Facebook)? Rich internet applications (AIR, Silverlight)? RSS And more…

    7. Platform Architecture Shortcomings of Web 2.0 The web is still mostly document-driven End-users cannot easily remix data from different sites Seamless integration among web services and devices of any size Remote, centralized data repositories

    8. Platform Architecture Solution Separate the content data from the original application Protect data and migrate data where it is needed Provide a way for users to acquire, manipulate, and share static and live data Allow any device and any content to interoperate within this platform

    9. Platform Architecture Kaleidoscope Database abstraction Users store data without having to know about relational databases Collaboration system Messaging facility for humans and machines Programmable Symbolic language, supports Unicode names End-user environment Embrace widgets, toolbars, and canvases

    10. Platform Architecture Database Abstraction Relational database back-end Big as PostgreSQL or as small as SQLite Provide a few basic table structures Set of items, relations between items Encode data at various levels of detail Scale from individual words to documents React to changes in the data User-defined and system-level triggers

    11. Platform Architecture Collaboration System Social networks of people Processing networks of machines Gather data from people and machines Process the data Discuss the data Stream data to people and machines Repeat…

    12. Platform Architecture Programmable Sequential or event-driven Uses symbolic operators and keywords to allow for internationalization Unicode names for everything Access local and remote data stores Creates distributed pipelines that enable peer-to-peer applications

    13. Platform Architecture End-User Environment Lots of widgets that interoperate with each other (reusable parts)? Move away from large-scale applications with huge feature sets Pick and choose the functions needed Blur the distinction between internet and desktop application Move toward a toolbox and canvas metaphor

    14. Platform Architecture System Parts Databases PostgreSQL (disk), SQLite (memory)? Python Stackless, SQLAlchemy, PyXMPP Jabber / XMPP ejabberd Utilize server plug-in architecture to integrate other components XML-RPC

    15. Platform Architecture Integration of System Parts Run both database and Jabber server on the target device Database will refuse remote connections All database commands will originate from users connected to the local Jabber server Running a Jabber server allows for integration of local devices PDA / smart phone, home automation Support assistive / accessibility technologies

    16. Platform Architecture Integration of System Parts Jabber provides contact management and security Jabber contact list is imported as individual users that are also organized into user groups Content can be encrypted and checked for tampering using checksums Use of Jabber will overcome dynamic IP addressing problems

    17. Platform Architecture Managing Contacts Remote users will register on the Jabber server to gain access Remember, this differs from one’s own personal contact list. Registration will trigger a Jabber server component that will update the user list on the databases

    18. Platform Architecture Managing Devices Jabber provides the ability to add services This will allow for external programs and device drivers Through Jabber, one can manage the availability of these devices and restrict who can access them

    19. Platform Architecture Securing Data Table Access Restricted access using user ownership and group ownership Access can be further restricted by applying read, write, and execute permissions for each user and group owner Database Encryption PostgreSQL natively supports encryption SQLite will require an external encryption module

    20. Platform Architecture Importing / Exporting Data Text is the most important part of the system Word and phrase tables used by all text encoders/decoders External programs will encode and decode files and data streams of various formats and map them into user tables and system tables Use multi-level encoders Start with “mechanical encoders” (few heuristics)? Feed that encoding into the next higher-level encoder Repeat…

    21. Platform Architecture Constructing Functions Bead programming language Direct support for Stackless tasklets instead of threads Acts like a database object relational mapper Remote data access and function calls occur using XML-RPC Function code will reside in user tables External programs can be connected as Jabber server components (better performance) or through XML-RPC

    22. Platform Architecture Building Widgets Use existing widget-building models AJAX, Flash/AIR, Silverlight, etc. Make widgets Kaleidoscope-compatible Data resides Kaleidoscope containers Mapping of user actions to Bead scripting functions

    23. Platform Architecture Using Environment Desktop is just a surface for widgets Canvas widgets for displaying data Text editing, drawing, 3-D modeling Widget tools for interacting with elements on the canvas widgets Font chooser, shape chooser, paintbrush, etc. Import widgets and related functions from other users or run them remotely

    24. Platform Architecture Empowered by Kaleidoscope Separates data from application Data from a program does not become obsolete Data can be annotated with various layers of meaning Text document has formatting, sentence structure, reviewer notes, etc. Functions can be remixed from various programs without relying on a single application Pick and choose what is needed

    25. Platform Architecture Empowered by Kaleidoscope Widget environment allows the user to operate on data with a toolbox Choose a set of tools to manipulate data Data is not dependent upon the tools User can choose one’s own interface to operate on the data

    26. Platform Architecture Computational Semantic Platform Encode data with meaning Write programs that utilize both data and meaning Collaboration among communities of users Customizable and portable interfaces

    27. Platform Architecture Discussion What open-source parts can be assembled to deploy your semantic web application? How do you encode your data? How do you import / export data? How does the user interact with the semantic web application? Think beyond the “web” and think about the separation of data from an application...

    28. Platform Architecture Process data your way.

More Related