SlideShare uma empresa Scribd logo
1 de 85
Baixar para ler offline
Creating Knowledge out of Interlinked Data




          Developing Linked Data Applications
          with the LOD2 Stack
          OntoWiki Application Framework & Erfurt API




                                                          Philipp Frischmuth
                                                               AKSW, Universität Leipzig
LOD2 Presentation . 02.09.2010 . Page                                          http://lod2.eu
Creating Knowledge out of Interlinked Data




Agenda

    Semantic Wiki
    OntoWiki
          • Differences
          • Similarities
          • Demo
    Architecture
          • Erfurt
          • OntoWiki AF
    Use Cases
ISSLOD 2011 . 2011-09-14 . Leipzig . Page 2                        http://lod2.eu
Creating Knowledge out of Interlinked Data




Semantic Wiki




               • Wiki with added semantics
               • Goal: Wiki pages + background knowledge
                   base
               • Examples: Semantic MediaWiki, Rhizome,
                   IkeWiki
               • OntoWiki takes another approach

ISSLOD 2011 . 2011-09-14 . Leipzig . Page                          http://lod2.eu
Creating Knowledge out of Interlinked Data




OntoWiki




                                              Semantic (Data-)Wiki
ISSLOD 2011 . 2011-09-14 . Leipzig . Page 4                          http://lod2.eu
Creating Knowledge out of Interlinked Data




                               Conceptual Differences



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 5                        http://lod2.eu
Creating Knowledge out of Interlinked Data




Views over Articles




                          Resource views                           Wiki articles

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 6                                        http://lod2.eu
Creating Knowledge out of Interlinked Data




Forms over Markup




                                   Forms                           Wiki code

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 7                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




                      Why do you call that thing a
                               Wiki?
                                              Conceptual Similarities




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 8                             http://lod2.eu
Creating Knowledge out of Interlinked Data




WikiWikiWeb




                                                                   © Andrew Laing

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 9                                         http://lod2.eu
Creating Knowledge out of Interlinked Data




Wikiwiki Concepts




                • Everyone can edit anything
                • Content is edited in the same way as
                    structure is
                • Activity can be watched and reviewed by
                    everyone

                                                                   Ward Cunningham

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 10                                  http://lod2.eu
Creating Knowledge out of Interlinked Data




Versioning


              Everything can be undone
              Philosophy: make it easy to correct mistakes




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 11                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Vision




                    1. Generic data wiki for RDF models
                       • No data model mismatch (structured vs.
                               unstructured)
                    2. Application framework:
                       • Knowledge-intensive applications,
                       • Agile processes,
                       • Distributed user groups


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 12                       http://lod2.eu
Creating Knowledge out of Interlinked Data




                                               Demo


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 13                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Architecture




                               RDFauthor                   Extensions

                                      OntoWiki Application Framework

                                                  Erfurt API

                                               Zend Framework


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 14                            http://lod2.eu
Creating Knowledge out of Interlinked Data




Architecture




                               RDFauthor                   Extensions

                                      OntoWiki Application Framework

                                                  Erfurt API

                                               Zend Framework


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 14                            http://lod2.eu
Creating Knowledge out of Interlinked Data




Zend Framework



              • PHP Framework for web applications
              • Extensive documentation
              • Outstanding code quality
              • BSD-licensed
              • Flexibly usable

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 15                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Zend Framework contd.


              Provides MVC environment


          Model                                Controller          View




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 16                          http://lod2.eu
Creating Knowledge out of Interlinked Data




Zend Framework contd.


              Provides MVC environment


          Model                                Controller          View
  • Business logic
  • SPARQL is here!




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 16                          http://lod2.eu
Creating Knowledge out of Interlinked Data




Zend Framework contd.


              Provides MVC environment


          Model                                  Controller             View
  • Business logic                             • Components
  • SPARQL is here!                            • Controller's methods
                                                 are called actions
                                               • Accessible via URLs



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 16                               http://lod2.eu
Creating Knowledge out of Interlinked Data




Zend Framework contd.


              Provides MVC environment


          Model                                  Controller                   View
  • Business logic                             • Components             • OntoWiki_View
  • SPARQL is here!                            • Controller's methods     class
                                                 are called actions     • Templates run in
                                               • Accessible via URLs      View‘s context
                                                                        • View‘s variables
                                                                          filled within the
                                                                          controller

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 16                                         http://lod2.eu
Creating Knowledge out of Interlinked Data




Zend Framework contd.




                           Auth                 Cache              Config

                     Controller                  Feed               Log

                       OpenId                  Session              Uri

                          View                 XmlRpc               ...



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 17                               http://lod2.eu
Creating Knowledge out of Interlinked Data




Zend Framework contd.




                           Auth                 Cache              Config

                     Controller                  Feed               Log

                       OpenId                  Session              Uri

                          View                 XmlRpc               ...



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 17                               http://lod2.eu
Creating Knowledge out of Interlinked Data




Architecture




                               RDFauthor                   Extensions

                                      OntoWiki Application Framework

                                                  Erfurt API

                                               Zend Framework


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 18                            http://lod2.eu
Creating Knowledge out of Interlinked Data




Architecture




                               RDFauthor                   Extensions

                                      OntoWiki Application Framework

                                                  Erfurt API

                                               Zend Framework


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 18                            http://lod2.eu
Creating Knowledge out of Interlinked Data




Erfurt API


              • Based on ZF
              • Components:
                  •    Triple (Quad) Store abstraction
                  •    Authentication + access control
                  •    SPARQL support
                  •    Caching
                  •    Versioning
                  •    ...

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 19                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Erfurt Packages

                             Ac                   App                 Auth

                        Cache                     Event            Namespaces

                            Owl                   Plugin              Rdf

                           Rdfs                  Sparql              Store

                        Syntax                     Uri                Utils

                    Versioning                   Wrapper
ISSLOD 2011 . 2011-09-14 . Leipzig . Page   20                                  http://lod2.eu
Creating Knowledge out of Interlinked Data




Erfurt Packages

                             Ac                   App                 Auth

                        Cache                     Event            Namespaces

                            Owl                   Plugin              Rdf

                           Rdfs                  Sparql              Store

                        Syntax                     Uri                Utils

                    Versioning                   Wrapper
ISSLOD 2011 . 2011-09-14 . Leipzig . Page   20                                  http://lod2.eu
Creating Knowledge out of Interlinked Data




App package




              • Contains only one class: Erfurt_App
              • Base for every Erfurt application
              • Singleton pattern

           $config = new Zend_Config_Ini('/path/to/config.ini', 'default', true);

           // initialize Erfurt application
           $app = Erfurt_App::start($config);




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 21                                        http://lod2.eu
Creating Knowledge out of Interlinked Data




App package contd.




            • Access Erfurt_App instance from everywhere
         $app = Erfurt_App::getInstance();




            • Contains shortcut methods
          $app->authenticate();
          $app->addUser($username, $password, $email);
          $app->isActionAllowed($actionSpec);




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 22                       http://lod2.eu
Creating Knowledge out of Interlinked Data




App package contd.


              • Grants access to required objects, e.g.:
           // access the Zend_Auth instance
           $auth = $app->getAuth();

           // access the Erfurt_Ac_Default instance
           $ac = $app getAc();

           // access the Efurt_Store instance
           $store = $app->getStore();

           // access the Erfurt_Cache object, if caching enabled
           $cache = $app->getCache();

           // access the Erfurt_Log object, if logging is enabled
           $log = $app->getLog()




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 23                        http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 24                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 24                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




Auth & Ac packages




             •    RDF based authentication and access control
             •    Model, action (and statement) based
             •    Users & groups
             •    Built-in system ontology contains vocabulary
             •    Configurable


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 25                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Auth & Ac packages contd.




           <sioc:User rdf:about="Admin" rdfs:label="Admin">
             <rdfs:comment>This is the pre-configured Admin User.</rdfs:comment>
             <foaf:accountName rdf:datatype="&xsd;string">Admin</foaf:accountName>
           </sioc:User>

           <sioc:Usergroup rdf:about="AdminGroup" rdfs:label="AdminGroup">
             <sysont:denyModelEdit rdf:resource="&SysOnt;"/>
             <sysont:grantAccess rdf:resource="&SysOnt;AnyAction"/>
             <sysont:grantModelEdit rdf:resource="&SysOnt;AnyModel"/>
             <sysont:grantModelView rdf:resource="&SysOnt;AnyModel"/>
             <rdfs:comment>The group of all admins. If not changed, they can trigger all
           actions and can edit all models but the system ontology.</rdfs:comment>
             <sioc:has_member rdf:resource="Admin"/>
           </sioc:Usergroup>




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 26                                           http://lod2.eu
Creating Knowledge out of Interlinked Data




Auth & Ac packages contd.

              • Authenticate a user
           $app->authenticate('Admin', 'secretpassword');



              • Logout
           $app->getAuth()->clearIdentity();



              • Gather user information
           $user = $app->getAuth()->getIdentity();



              • Add a new user
          $app->addUser($username, $password, $email);



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 27                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Auth & Ac packages contd.



              • Model based access control
           $app->getAc()->isModelAllowed('view', $modelUri);
           $app->getAc()->isAnyModelAllowed('view');
           $app->getAc()->getAllowedModels('view');
           $app->getAc()->getDeniedModels('edit');



              • Action based access control
           $app->getAc()->isActionAllowed('RegisterNewUser');
           $app->getAc()->isAnyActionAllowed();
           $app->getAc()->getAllowedActions();
           $app->getAc()->getDeniedActions();




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 28                       http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 29                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 29                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




Store package




                •    Developers use Erfurt_Store class
                •    Represents a triple (quad) store
                •    Abstracts different backends
                •    Adapter pattern



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 30                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Store package contd.



                                                              Erfurt_App     $app->getStore();




                                                              Erfurt_Store

                Zend_Db
                                                               Virtuoso           ...
                                  PostgreSQL
                         MS SQL
        MySQL




                                                     SQLite
                Oracle




                                               ...




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 31                                                 http://lod2.eu
Creating Knowledge out of Interlinked Data




Store package contd.


             • Obtain new and existing models
           $app->getStore()->getModel($modelUri);
           $app->getStore()->getNewModel($modelUri, $baseUri, 'owl');


             • Remove models from store
           $app->getStore()->deleteModel($modelUri);



             • Executes the tasks of Model classes, e.g.
                     SPARQL, adding and removing triples
             •     Imports and exports RDF in different
                     formats, e.g. RDF/XML, N3, RDF/JSON
ISSLOD 2011 . 2011-09-14 . Leipzig . Page 32                            http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 33                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 33                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




Rdf, Rdfs & Owl packages

                                        Erfurt_Rdf_Node




                                                                                    inheritance
             Erfurt_Rdf_Resource                      Erfurt_Rdf_Literal

            Erfurt_Rdfs_Resource

            Erfurt_Rdfs_Property                    Erfurt_Rdfs_Instance   Erfurt_Rdfs_Class

            Erfurt_Owl_Property                     Erfurt_ Owl_Instance   Erfurt_ Owl_Class


               Erfurt_Rdf_Model

              Erfurt_Rdfs_Model

              Erfurt_Owl_Model

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 34                                                      http://lod2.eu
Creating Knowledge out of Interlinked Data




Rdf, Rdfs & Owl packages contd.




          • Add and delete statements through model class
           $model->addStatement($s, $p, $o, $options);
           $model->deleteStatement($s, $p, $o, $options);
           $model->deleteMatchingStatements($s, null, null, $options);



          • Simple way to execute SPARQL queries
                      through model class



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 35                             http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 36                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 36                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




Sparql package




            •     Derived from rdfapi-php (RAP)
            •     Transforms SPARQL Queries to SQL Queries
            •     Result renderers
            •     Improvements and bug fixes



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 37                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Sparql package contd.




               • Execute a SPARQL Query
           $model->sparqlQueryWithPlainResult('SELECT ?s ?p ?o WHERE {?s ?p ?o}');




               • Result is an array containing s, p and o as
                       keys
               •     Values are strings


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 38                                         http://lod2.eu
Creating Knowledge out of Interlinked Data




Sparql package contd.




              • More flexible way through store class
         $queryObj = Erfurt_Sparql_SimpleQuery::initWithString('SELECT...{ ?s ?p ?o }');

         $app->getStore()->sparqlQuery($queryObj, 'xml');




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 39                                           http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 40                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 40                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




Event & Plugin packages




              • Event dispatcher
              • Plugin manager
              • Base for Erfurt and OntoWiki plugins



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 41                       http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 42                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




                             Ac                   App                 Auth

                        Cache                    Event             Namespaces

                            Owl                 Plugin                Rdf

                           Rdfs                 Sparql               Store

                        Syntax                     Uri                Utils

                    Versioning                 Wrapper

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 42                                    http://lod2.eu
Creating Knowledge out of Interlinked Data




Cache package




              • Caching of exspensive SPARQL queries
              • Uses triple patterns for invalidation
              • Object cache for complex/expensive results



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 43                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Erfurt on Github




               • Erfurt is open source
               • Github: https://github.com/AKSW/Erfurt



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 44                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Architecture




                               RDFauthor                   Extensions

                                      OntoWiki Application Framework

                                                  Erfurt API

                                               Zend Framework


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 45                            http://lod2.eu
Creating Knowledge out of Interlinked Data




Architecture




                               RDFauthor                   Extensions

                                      OntoWiki Application Framework

                                                  Erfurt API

                                               Zend Framework


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 45                            http://lod2.eu
Creating Knowledge out of Interlinked Data




Interfaces




              •    SPARQL Endpoint
              •    Linked Data Endpoint
              •    WebDAV
              •    REST API
              •    Command Line Interface
              •    LDAP

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 46                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Extensibility




               •     Components, Plugins, Modules, Wrapper
               •     Views/Templates
               •     Themes
               •     Localizations



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 47                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Access Control




               • Model-based
               • Action-based
               • (Statement-based)



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 48                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Architecture




                               RDFauthor                   Extensions

                                      OntoWiki Application Framework

                                                  Erfurt API

                                               Zend Framework


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 49                            http://lod2.eu
Creating Knowledge out of Interlinked Data




Architecture




                               RDFauthor                   Extensions

                                      OntoWiki Application Framework

                                                  Erfurt API

                                               Zend Framework


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 49                            http://lod2.eu
Creating Knowledge out of Interlinked Data




RDFauthor




               • Automatically generates forms from RDFa
                        annoated content
               •     JavaScript library
               •     Used within OntoWiki but independent          RDFa

               •     „Save to OntoWiki“ functionality


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 50                         http://lod2.eu
Creating Knowledge out of Interlinked Data




Architecture




                               RDFauthor                   Extensions

                                      OntoWiki Application Framework

                                                  Erfurt API

                                               Zend Framework


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 51                            http://lod2.eu
Creating Knowledge out of Interlinked Data




Architecture




                               RDFauthor                   Extensions

                                      OntoWiki Application Framework

                                                  Erfurt API

                                               Zend Framework


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 51                            http://lod2.eu
Creating Knowledge out of Interlinked Data




Components




               • Provide controller
               • Access via URL
               • Custom views
                      (optional)
               •     Map, OpenId,
                      Community


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 52                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Modules




            • „Little Boxes“
            • Provide additional GUI-
                  elements
            •    Navigation, Login



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 53                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Plugins




             • Register for events
             • Execution of arbitrary
                     code
             •     Manipulation of input
                     data
             •     Versioning, image links


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 54                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Wrapper




             • Generate RDF data for arbitrary resources
             • Examples:
              • Linked Data
              • Exif
              • Geodata
              • Twitter

ISSLOD 2011 . 2011-09-14 . Leipzig . Page 55                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Extension mechanisms




               •     Components
               •     Modules
               •     Plugins
               •     Wrapper
               •     Additional: Themes, Localizations


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 56                       http://lod2.eu
Creating Knowledge out of Interlinked Data




                                               Use Cases



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 57                       http://lod2.eu
Creating Knowledge out of Interlinked Data




SoftWiki Platform




               • Collaborative requirements engineering
               • OntoWiki base system
               • Custom views



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 58                       http://lod2.eu
Creating Knowledge out of Interlinked Data




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 59                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Caucasian Spiders




               • Faunistic database on spiders of the
                       Caucasus
               •     Taxonomy
               •     Localities
               •     240k triples


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 60                       http://lod2.eu
Creating Knowledge out of Interlinked Data




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 61                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Vakantieland.nl




               • Dutch tourism portal
               • Independent application based on Erfurt
               • OntoWiki for data management



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 62                       http://lod2.eu
Creating Knowledge out of Interlinked Data




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 63                       http://lod2.eu
Creating Knowledge out of Interlinked Data




Catalogus Professorum




               • Knowledge base with historical data
               • Teaching staff of Universität Leipzig
               • Generic OntoWiki with Virtuoso backend
                      for data management
               •     Generation of HTML pages from RDF
                      content


ISSLOD 2011 . 2011-09-14 . Leipzig . Page 64                       http://lod2.eu
Creating Knowledge out of Interlinked Data




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 65                       http://lod2.eu
Creating Knowledge out of Interlinked Data




ISSLOD 2011 . 2011-09-14 . Leipzig . Page 66                       http://lod2.eu
Creating Knowledge out of Interlinked Data




OntoWiki on Google Code




              • OntoWiki is open source
              • Google Code:
              • http://code.google.com/p/ontowiki/



ISSLOD 2011 . 2011-09-14 . Leipzig . Page 67                       http://lod2.eu
Creating Knowledge out of Interlinked Data




          Thank you for your attention!




LOD2 Presentation . 02.09.2010 . Page                     http://lod2.eu
Creating Knowledge out of Interlinked Data




          Thank you for your attention!




LOD2 Presentation . 02.09.2010 . Page                     Questions?
                                                                 http://lod2.eu

Mais conteúdo relacionado

Semelhante a OntoWiki Application Framework & Erfurt API

Introduction to the Data Web, DBpedia and the Life-cycle of Linked Data
Introduction to the Data Web, DBpedia and the Life-cycle of Linked DataIntroduction to the Data Web, DBpedia and the Life-cycle of Linked Data
Introduction to the Data Web, DBpedia and the Life-cycle of Linked DataSören Auer
 
Lecture semantic dataaccess_presentation
Lecture semantic dataaccess_presentationLecture semantic dataaccess_presentation
Lecture semantic dataaccess_presentationIKS - Project
 
Ontotext Overview Winter 2012
Ontotext Overview Winter 2012Ontotext Overview Winter 2012
Ontotext Overview Winter 2012Matthew Petrillo
 
Rethinking Microblogging: Open Distributed Semantic
Rethinking Microblogging: Open Distributed SemanticRethinking Microblogging: Open Distributed Semantic
Rethinking Microblogging: Open Distributed SemanticAlexandre Passant
 

Semelhante a OntoWiki Application Framework & Erfurt API (20)

LOD2 Webinar Series: LIMES
LOD2 Webinar Series: LIMESLOD2 Webinar Series: LIMES
LOD2 Webinar Series: LIMES
 
Limes webinar
Limes webinarLimes webinar
Limes webinar
 
LOD2 Webinar Series: D2R and Sparqlify
LOD2 Webinar Series: D2R and SparqlifyLOD2 Webinar Series: D2R and Sparqlify
LOD2 Webinar Series: D2R and Sparqlify
 
Lod2
Lod2Lod2
Lod2
 
LOD2 Webinar Series: Zemanta / Open refine
LOD2 Webinar Series: Zemanta / Open refine LOD2 Webinar Series: Zemanta / Open refine
LOD2 Webinar Series: Zemanta / Open refine
 
LOD2 Webinar Series: OntoWiki
LOD2 Webinar Series: OntoWikiLOD2 Webinar Series: OntoWiki
LOD2 Webinar Series: OntoWiki
 
LOD2 Webinar Series: CubeViz
LOD2 Webinar Series: CubeViz LOD2 Webinar Series: CubeViz
LOD2 Webinar Series: CubeViz
 
LOD2: State of Play WP1: Requirements, Design & LOD2 Stack Prototype
LOD2: State of Play WP1: Requirements, Design & LOD2 Stack PrototypeLOD2: State of Play WP1: Requirements, Design & LOD2 Stack Prototype
LOD2: State of Play WP1: Requirements, Design & LOD2 Stack Prototype
 
LOD2 Webinar: UnifiedViews
LOD2 Webinar: UnifiedViewsLOD2 Webinar: UnifiedViews
LOD2 Webinar: UnifiedViews
 
LOD2: State of Play WP3A - Knowledge Base Creation, Enrichment and Repair
LOD2: State of Play WP3A - Knowledge Base Creation, Enrichment and RepairLOD2: State of Play WP3A - Knowledge Base Creation, Enrichment and Repair
LOD2: State of Play WP3A - Knowledge Base Creation, Enrichment and Repair
 
NIF - NLP Interchange Format
NIF - NLP Interchange FormatNIF - NLP Interchange Format
NIF - NLP Interchange Format
 
Lod2
Lod2Lod2
Lod2
 
Introduction to the Data Web, DBpedia and the Life-cycle of Linked Data
Introduction to the Data Web, DBpedia and the Life-cycle of Linked DataIntroduction to the Data Web, DBpedia and the Life-cycle of Linked Data
Introduction to the Data Web, DBpedia and the Life-cycle of Linked Data
 
LOD2 Webinar Series: 3rd relase of the Stack
LOD2 Webinar Series: 3rd relase of the StackLOD2 Webinar Series: 3rd relase of the Stack
LOD2 Webinar Series: 3rd relase of the Stack
 
Free Webinar: LOD2 Stack - 1st release
Free Webinar: LOD2 Stack - 1st releaseFree Webinar: LOD2 Stack - 1st release
Free Webinar: LOD2 Stack - 1st release
 
Lecture semantic dataaccess_presentation
Lecture semantic dataaccess_presentationLecture semantic dataaccess_presentation
Lecture semantic dataaccess_presentation
 
LOD2 Plenary Vienna 2012: WP2 - Storing and Querying Very Large Knowledge Bases
LOD2 Plenary Vienna 2012: WP2 - Storing and Querying Very Large Knowledge BasesLOD2 Plenary Vienna 2012: WP2 - Storing and Querying Very Large Knowledge Bases
LOD2 Plenary Vienna 2012: WP2 - Storing and Querying Very Large Knowledge Bases
 
Ontotext Overview Winter 2012
Ontotext Overview Winter 2012Ontotext Overview Winter 2012
Ontotext Overview Winter 2012
 
LOD2: State of Play WP3B - Knowledge Extraction, NLP2RDF + NIF
LOD2: State of Play WP3B - Knowledge Extraction, NLP2RDF + NIFLOD2: State of Play WP3B - Knowledge Extraction, NLP2RDF + NIF
LOD2: State of Play WP3B - Knowledge Extraction, NLP2RDF + NIF
 
Rethinking Microblogging: Open Distributed Semantic
Rethinking Microblogging: Open Distributed SemanticRethinking Microblogging: Open Distributed Semantic
Rethinking Microblogging: Open Distributed Semantic
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Último (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

OntoWiki Application Framework & Erfurt API

  • 1. Creating Knowledge out of Interlinked Data Developing Linked Data Applications with the LOD2 Stack OntoWiki Application Framework & Erfurt API Philipp Frischmuth AKSW, Universität Leipzig LOD2 Presentation . 02.09.2010 . Page http://lod2.eu
  • 2. Creating Knowledge out of Interlinked Data Agenda Semantic Wiki OntoWiki • Differences • Similarities • Demo Architecture • Erfurt • OntoWiki AF Use Cases ISSLOD 2011 . 2011-09-14 . Leipzig . Page 2 http://lod2.eu
  • 3. Creating Knowledge out of Interlinked Data Semantic Wiki • Wiki with added semantics • Goal: Wiki pages + background knowledge base • Examples: Semantic MediaWiki, Rhizome, IkeWiki • OntoWiki takes another approach ISSLOD 2011 . 2011-09-14 . Leipzig . Page http://lod2.eu
  • 4. Creating Knowledge out of Interlinked Data OntoWiki Semantic (Data-)Wiki ISSLOD 2011 . 2011-09-14 . Leipzig . Page 4 http://lod2.eu
  • 5. Creating Knowledge out of Interlinked Data Conceptual Differences ISSLOD 2011 . 2011-09-14 . Leipzig . Page 5 http://lod2.eu
  • 6. Creating Knowledge out of Interlinked Data Views over Articles Resource views Wiki articles ISSLOD 2011 . 2011-09-14 . Leipzig . Page 6 http://lod2.eu
  • 7. Creating Knowledge out of Interlinked Data Forms over Markup Forms Wiki code ISSLOD 2011 . 2011-09-14 . Leipzig . Page 7 http://lod2.eu
  • 8. Creating Knowledge out of Interlinked Data Why do you call that thing a Wiki? Conceptual Similarities ISSLOD 2011 . 2011-09-14 . Leipzig . Page 8 http://lod2.eu
  • 9. Creating Knowledge out of Interlinked Data WikiWikiWeb © Andrew Laing ISSLOD 2011 . 2011-09-14 . Leipzig . Page 9 http://lod2.eu
  • 10. Creating Knowledge out of Interlinked Data Wikiwiki Concepts • Everyone can edit anything • Content is edited in the same way as structure is • Activity can be watched and reviewed by everyone Ward Cunningham ISSLOD 2011 . 2011-09-14 . Leipzig . Page 10 http://lod2.eu
  • 11. Creating Knowledge out of Interlinked Data Versioning Everything can be undone Philosophy: make it easy to correct mistakes ISSLOD 2011 . 2011-09-14 . Leipzig . Page 11 http://lod2.eu
  • 12. Creating Knowledge out of Interlinked Data Vision 1. Generic data wiki for RDF models • No data model mismatch (structured vs. unstructured) 2. Application framework: • Knowledge-intensive applications, • Agile processes, • Distributed user groups ISSLOD 2011 . 2011-09-14 . Leipzig . Page 12 http://lod2.eu
  • 13. Creating Knowledge out of Interlinked Data Demo ISSLOD 2011 . 2011-09-14 . Leipzig . Page 13 http://lod2.eu
  • 14. Creating Knowledge out of Interlinked Data Architecture RDFauthor Extensions OntoWiki Application Framework Erfurt API Zend Framework ISSLOD 2011 . 2011-09-14 . Leipzig . Page 14 http://lod2.eu
  • 15. Creating Knowledge out of Interlinked Data Architecture RDFauthor Extensions OntoWiki Application Framework Erfurt API Zend Framework ISSLOD 2011 . 2011-09-14 . Leipzig . Page 14 http://lod2.eu
  • 16. Creating Knowledge out of Interlinked Data Zend Framework • PHP Framework for web applications • Extensive documentation • Outstanding code quality • BSD-licensed • Flexibly usable ISSLOD 2011 . 2011-09-14 . Leipzig . Page 15 http://lod2.eu
  • 17. Creating Knowledge out of Interlinked Data Zend Framework contd. Provides MVC environment Model Controller View ISSLOD 2011 . 2011-09-14 . Leipzig . Page 16 http://lod2.eu
  • 18. Creating Knowledge out of Interlinked Data Zend Framework contd. Provides MVC environment Model Controller View • Business logic • SPARQL is here! ISSLOD 2011 . 2011-09-14 . Leipzig . Page 16 http://lod2.eu
  • 19. Creating Knowledge out of Interlinked Data Zend Framework contd. Provides MVC environment Model Controller View • Business logic • Components • SPARQL is here! • Controller's methods are called actions • Accessible via URLs ISSLOD 2011 . 2011-09-14 . Leipzig . Page 16 http://lod2.eu
  • 20. Creating Knowledge out of Interlinked Data Zend Framework contd. Provides MVC environment Model Controller View • Business logic • Components • OntoWiki_View • SPARQL is here! • Controller's methods class are called actions • Templates run in • Accessible via URLs View‘s context • View‘s variables filled within the controller ISSLOD 2011 . 2011-09-14 . Leipzig . Page 16 http://lod2.eu
  • 21. Creating Knowledge out of Interlinked Data Zend Framework contd. Auth Cache Config Controller Feed Log OpenId Session Uri View XmlRpc ... ISSLOD 2011 . 2011-09-14 . Leipzig . Page 17 http://lod2.eu
  • 22. Creating Knowledge out of Interlinked Data Zend Framework contd. Auth Cache Config Controller Feed Log OpenId Session Uri View XmlRpc ... ISSLOD 2011 . 2011-09-14 . Leipzig . Page 17 http://lod2.eu
  • 23. Creating Knowledge out of Interlinked Data Architecture RDFauthor Extensions OntoWiki Application Framework Erfurt API Zend Framework ISSLOD 2011 . 2011-09-14 . Leipzig . Page 18 http://lod2.eu
  • 24. Creating Knowledge out of Interlinked Data Architecture RDFauthor Extensions OntoWiki Application Framework Erfurt API Zend Framework ISSLOD 2011 . 2011-09-14 . Leipzig . Page 18 http://lod2.eu
  • 25. Creating Knowledge out of Interlinked Data Erfurt API • Based on ZF • Components: • Triple (Quad) Store abstraction • Authentication + access control • SPARQL support • Caching • Versioning • ... ISSLOD 2011 . 2011-09-14 . Leipzig . Page 19 http://lod2.eu
  • 26. Creating Knowledge out of Interlinked Data Erfurt Packages Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 20 http://lod2.eu
  • 27. Creating Knowledge out of Interlinked Data Erfurt Packages Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 20 http://lod2.eu
  • 28. Creating Knowledge out of Interlinked Data App package • Contains only one class: Erfurt_App • Base for every Erfurt application • Singleton pattern $config = new Zend_Config_Ini('/path/to/config.ini', 'default', true); // initialize Erfurt application $app = Erfurt_App::start($config); ISSLOD 2011 . 2011-09-14 . Leipzig . Page 21 http://lod2.eu
  • 29. Creating Knowledge out of Interlinked Data App package contd. • Access Erfurt_App instance from everywhere $app = Erfurt_App::getInstance(); • Contains shortcut methods $app->authenticate(); $app->addUser($username, $password, $email); $app->isActionAllowed($actionSpec); ISSLOD 2011 . 2011-09-14 . Leipzig . Page 22 http://lod2.eu
  • 30. Creating Knowledge out of Interlinked Data App package contd. • Grants access to required objects, e.g.: // access the Zend_Auth instance $auth = $app->getAuth(); // access the Erfurt_Ac_Default instance $ac = $app getAc(); // access the Efurt_Store instance $store = $app->getStore(); // access the Erfurt_Cache object, if caching enabled $cache = $app->getCache(); // access the Erfurt_Log object, if logging is enabled $log = $app->getLog() ISSLOD 2011 . 2011-09-14 . Leipzig . Page 23 http://lod2.eu
  • 31. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 24 http://lod2.eu
  • 32. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 24 http://lod2.eu
  • 33. Creating Knowledge out of Interlinked Data Auth & Ac packages • RDF based authentication and access control • Model, action (and statement) based • Users & groups • Built-in system ontology contains vocabulary • Configurable ISSLOD 2011 . 2011-09-14 . Leipzig . Page 25 http://lod2.eu
  • 34. Creating Knowledge out of Interlinked Data Auth & Ac packages contd. <sioc:User rdf:about="Admin" rdfs:label="Admin"> <rdfs:comment>This is the pre-configured Admin User.</rdfs:comment> <foaf:accountName rdf:datatype="&xsd;string">Admin</foaf:accountName> </sioc:User> <sioc:Usergroup rdf:about="AdminGroup" rdfs:label="AdminGroup"> <sysont:denyModelEdit rdf:resource="&SysOnt;"/> <sysont:grantAccess rdf:resource="&SysOnt;AnyAction"/> <sysont:grantModelEdit rdf:resource="&SysOnt;AnyModel"/> <sysont:grantModelView rdf:resource="&SysOnt;AnyModel"/> <rdfs:comment>The group of all admins. If not changed, they can trigger all actions and can edit all models but the system ontology.</rdfs:comment> <sioc:has_member rdf:resource="Admin"/> </sioc:Usergroup> ISSLOD 2011 . 2011-09-14 . Leipzig . Page 26 http://lod2.eu
  • 35. Creating Knowledge out of Interlinked Data Auth & Ac packages contd. • Authenticate a user $app->authenticate('Admin', 'secretpassword'); • Logout $app->getAuth()->clearIdentity(); • Gather user information $user = $app->getAuth()->getIdentity(); • Add a new user $app->addUser($username, $password, $email); ISSLOD 2011 . 2011-09-14 . Leipzig . Page 27 http://lod2.eu
  • 36. Creating Knowledge out of Interlinked Data Auth & Ac packages contd. • Model based access control $app->getAc()->isModelAllowed('view', $modelUri); $app->getAc()->isAnyModelAllowed('view'); $app->getAc()->getAllowedModels('view'); $app->getAc()->getDeniedModels('edit'); • Action based access control $app->getAc()->isActionAllowed('RegisterNewUser'); $app->getAc()->isAnyActionAllowed(); $app->getAc()->getAllowedActions(); $app->getAc()->getDeniedActions(); ISSLOD 2011 . 2011-09-14 . Leipzig . Page 28 http://lod2.eu
  • 37. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 29 http://lod2.eu
  • 38. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 29 http://lod2.eu
  • 39. Creating Knowledge out of Interlinked Data Store package • Developers use Erfurt_Store class • Represents a triple (quad) store • Abstracts different backends • Adapter pattern ISSLOD 2011 . 2011-09-14 . Leipzig . Page 30 http://lod2.eu
  • 40. Creating Knowledge out of Interlinked Data Store package contd. Erfurt_App $app->getStore(); Erfurt_Store Zend_Db Virtuoso ... PostgreSQL MS SQL MySQL SQLite Oracle ... ISSLOD 2011 . 2011-09-14 . Leipzig . Page 31 http://lod2.eu
  • 41. Creating Knowledge out of Interlinked Data Store package contd. • Obtain new and existing models $app->getStore()->getModel($modelUri); $app->getStore()->getNewModel($modelUri, $baseUri, 'owl'); • Remove models from store $app->getStore()->deleteModel($modelUri); • Executes the tasks of Model classes, e.g. SPARQL, adding and removing triples • Imports and exports RDF in different formats, e.g. RDF/XML, N3, RDF/JSON ISSLOD 2011 . 2011-09-14 . Leipzig . Page 32 http://lod2.eu
  • 42. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 33 http://lod2.eu
  • 43. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 33 http://lod2.eu
  • 44. Creating Knowledge out of Interlinked Data Rdf, Rdfs & Owl packages Erfurt_Rdf_Node inheritance Erfurt_Rdf_Resource Erfurt_Rdf_Literal Erfurt_Rdfs_Resource Erfurt_Rdfs_Property Erfurt_Rdfs_Instance Erfurt_Rdfs_Class Erfurt_Owl_Property Erfurt_ Owl_Instance Erfurt_ Owl_Class Erfurt_Rdf_Model Erfurt_Rdfs_Model Erfurt_Owl_Model ISSLOD 2011 . 2011-09-14 . Leipzig . Page 34 http://lod2.eu
  • 45. Creating Knowledge out of Interlinked Data Rdf, Rdfs & Owl packages contd. • Add and delete statements through model class $model->addStatement($s, $p, $o, $options); $model->deleteStatement($s, $p, $o, $options); $model->deleteMatchingStatements($s, null, null, $options); • Simple way to execute SPARQL queries through model class ISSLOD 2011 . 2011-09-14 . Leipzig . Page 35 http://lod2.eu
  • 46. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 36 http://lod2.eu
  • 47. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 36 http://lod2.eu
  • 48. Creating Knowledge out of Interlinked Data Sparql package • Derived from rdfapi-php (RAP) • Transforms SPARQL Queries to SQL Queries • Result renderers • Improvements and bug fixes ISSLOD 2011 . 2011-09-14 . Leipzig . Page 37 http://lod2.eu
  • 49. Creating Knowledge out of Interlinked Data Sparql package contd. • Execute a SPARQL Query $model->sparqlQueryWithPlainResult('SELECT ?s ?p ?o WHERE {?s ?p ?o}'); • Result is an array containing s, p and o as keys • Values are strings ISSLOD 2011 . 2011-09-14 . Leipzig . Page 38 http://lod2.eu
  • 50. Creating Knowledge out of Interlinked Data Sparql package contd. • More flexible way through store class $queryObj = Erfurt_Sparql_SimpleQuery::initWithString('SELECT...{ ?s ?p ?o }'); $app->getStore()->sparqlQuery($queryObj, 'xml'); ISSLOD 2011 . 2011-09-14 . Leipzig . Page 39 http://lod2.eu
  • 51. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 40 http://lod2.eu
  • 52. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 40 http://lod2.eu
  • 53. Creating Knowledge out of Interlinked Data Event & Plugin packages • Event dispatcher • Plugin manager • Base for Erfurt and OntoWiki plugins ISSLOD 2011 . 2011-09-14 . Leipzig . Page 41 http://lod2.eu
  • 54. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 42 http://lod2.eu
  • 55. Creating Knowledge out of Interlinked Data Ac App Auth Cache Event Namespaces Owl Plugin Rdf Rdfs Sparql Store Syntax Uri Utils Versioning Wrapper ISSLOD 2011 . 2011-09-14 . Leipzig . Page 42 http://lod2.eu
  • 56. Creating Knowledge out of Interlinked Data Cache package • Caching of exspensive SPARQL queries • Uses triple patterns for invalidation • Object cache for complex/expensive results ISSLOD 2011 . 2011-09-14 . Leipzig . Page 43 http://lod2.eu
  • 57. Creating Knowledge out of Interlinked Data Erfurt on Github • Erfurt is open source • Github: https://github.com/AKSW/Erfurt ISSLOD 2011 . 2011-09-14 . Leipzig . Page 44 http://lod2.eu
  • 58. Creating Knowledge out of Interlinked Data Architecture RDFauthor Extensions OntoWiki Application Framework Erfurt API Zend Framework ISSLOD 2011 . 2011-09-14 . Leipzig . Page 45 http://lod2.eu
  • 59. Creating Knowledge out of Interlinked Data Architecture RDFauthor Extensions OntoWiki Application Framework Erfurt API Zend Framework ISSLOD 2011 . 2011-09-14 . Leipzig . Page 45 http://lod2.eu
  • 60. Creating Knowledge out of Interlinked Data Interfaces • SPARQL Endpoint • Linked Data Endpoint • WebDAV • REST API • Command Line Interface • LDAP ISSLOD 2011 . 2011-09-14 . Leipzig . Page 46 http://lod2.eu
  • 61. Creating Knowledge out of Interlinked Data Extensibility • Components, Plugins, Modules, Wrapper • Views/Templates • Themes • Localizations ISSLOD 2011 . 2011-09-14 . Leipzig . Page 47 http://lod2.eu
  • 62. Creating Knowledge out of Interlinked Data Access Control • Model-based • Action-based • (Statement-based) ISSLOD 2011 . 2011-09-14 . Leipzig . Page 48 http://lod2.eu
  • 63. Creating Knowledge out of Interlinked Data Architecture RDFauthor Extensions OntoWiki Application Framework Erfurt API Zend Framework ISSLOD 2011 . 2011-09-14 . Leipzig . Page 49 http://lod2.eu
  • 64. Creating Knowledge out of Interlinked Data Architecture RDFauthor Extensions OntoWiki Application Framework Erfurt API Zend Framework ISSLOD 2011 . 2011-09-14 . Leipzig . Page 49 http://lod2.eu
  • 65. Creating Knowledge out of Interlinked Data RDFauthor • Automatically generates forms from RDFa annoated content • JavaScript library • Used within OntoWiki but independent RDFa • „Save to OntoWiki“ functionality ISSLOD 2011 . 2011-09-14 . Leipzig . Page 50 http://lod2.eu
  • 66. Creating Knowledge out of Interlinked Data Architecture RDFauthor Extensions OntoWiki Application Framework Erfurt API Zend Framework ISSLOD 2011 . 2011-09-14 . Leipzig . Page 51 http://lod2.eu
  • 67. Creating Knowledge out of Interlinked Data Architecture RDFauthor Extensions OntoWiki Application Framework Erfurt API Zend Framework ISSLOD 2011 . 2011-09-14 . Leipzig . Page 51 http://lod2.eu
  • 68. Creating Knowledge out of Interlinked Data Components • Provide controller • Access via URL • Custom views (optional) • Map, OpenId, Community ISSLOD 2011 . 2011-09-14 . Leipzig . Page 52 http://lod2.eu
  • 69. Creating Knowledge out of Interlinked Data Modules • „Little Boxes“ • Provide additional GUI- elements • Navigation, Login ISSLOD 2011 . 2011-09-14 . Leipzig . Page 53 http://lod2.eu
  • 70. Creating Knowledge out of Interlinked Data Plugins • Register for events • Execution of arbitrary code • Manipulation of input data • Versioning, image links ISSLOD 2011 . 2011-09-14 . Leipzig . Page 54 http://lod2.eu
  • 71. Creating Knowledge out of Interlinked Data Wrapper • Generate RDF data for arbitrary resources • Examples: • Linked Data • Exif • Geodata • Twitter ISSLOD 2011 . 2011-09-14 . Leipzig . Page 55 http://lod2.eu
  • 72. Creating Knowledge out of Interlinked Data Extension mechanisms • Components • Modules • Plugins • Wrapper • Additional: Themes, Localizations ISSLOD 2011 . 2011-09-14 . Leipzig . Page 56 http://lod2.eu
  • 73. Creating Knowledge out of Interlinked Data Use Cases ISSLOD 2011 . 2011-09-14 . Leipzig . Page 57 http://lod2.eu
  • 74. Creating Knowledge out of Interlinked Data SoftWiki Platform • Collaborative requirements engineering • OntoWiki base system • Custom views ISSLOD 2011 . 2011-09-14 . Leipzig . Page 58 http://lod2.eu
  • 75. Creating Knowledge out of Interlinked Data ISSLOD 2011 . 2011-09-14 . Leipzig . Page 59 http://lod2.eu
  • 76. Creating Knowledge out of Interlinked Data Caucasian Spiders • Faunistic database on spiders of the Caucasus • Taxonomy • Localities • 240k triples ISSLOD 2011 . 2011-09-14 . Leipzig . Page 60 http://lod2.eu
  • 77. Creating Knowledge out of Interlinked Data ISSLOD 2011 . 2011-09-14 . Leipzig . Page 61 http://lod2.eu
  • 78. Creating Knowledge out of Interlinked Data Vakantieland.nl • Dutch tourism portal • Independent application based on Erfurt • OntoWiki for data management ISSLOD 2011 . 2011-09-14 . Leipzig . Page 62 http://lod2.eu
  • 79. Creating Knowledge out of Interlinked Data ISSLOD 2011 . 2011-09-14 . Leipzig . Page 63 http://lod2.eu
  • 80. Creating Knowledge out of Interlinked Data Catalogus Professorum • Knowledge base with historical data • Teaching staff of Universität Leipzig • Generic OntoWiki with Virtuoso backend for data management • Generation of HTML pages from RDF content ISSLOD 2011 . 2011-09-14 . Leipzig . Page 64 http://lod2.eu
  • 81. Creating Knowledge out of Interlinked Data ISSLOD 2011 . 2011-09-14 . Leipzig . Page 65 http://lod2.eu
  • 82. Creating Knowledge out of Interlinked Data ISSLOD 2011 . 2011-09-14 . Leipzig . Page 66 http://lod2.eu
  • 83. Creating Knowledge out of Interlinked Data OntoWiki on Google Code • OntoWiki is open source • Google Code: • http://code.google.com/p/ontowiki/ ISSLOD 2011 . 2011-09-14 . Leipzig . Page 67 http://lod2.eu
  • 84. Creating Knowledge out of Interlinked Data Thank you for your attention! LOD2 Presentation . 02.09.2010 . Page http://lod2.eu
  • 85. Creating Knowledge out of Interlinked Data Thank you for your attention! LOD2 Presentation . 02.09.2010 . Page Questions? http://lod2.eu