1 / 32

Foundations V: Infrastructure and Architecture, Middleware

Explore methodology and tools for semantic technology applications. Learn about controlled vocabularies, rapid prototyping, and architecture essentials such as state, grids, and services. Implementing, middleware, Jena, Protégé, rules, and ontology mapping are covered.

cleslie
Download Presentation

Foundations V: Infrastructure and Architecture, Middleware

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. Foundations V: Infrastructure and Architecture, Middleware Deborah McGuinness TA Weijing Chen Semantic eScience Week 10, November 7, 2011

  2. Contents • Review of reading, questions, comments • Technology and how to use it • Summary • Next week

  3. Semantic Web Methodology and Technology Development Process • Establish and improve a well-defined methodology vision for Semantic Technology based application development • Leverage controlled vocabularies, et c. Adopt Technology Approach Leverage Technology Infrastructure Science/Expert Review & Iteration Rapid Prototype Open World: Evolve, Iterate, Redesign, Redeploy Use Tools Evaluation Analysis Use Case Develop model/ ontology Small Team, mixed skills

  4. Architecture • Importance of state • Grids • Web • Existing infrastructure • Catalogs • Data sources • User interfaces • Services • Wrapping these syntactic interface

  5. Inventory • Refer to the Resources • Files • Databases • Catalogs • Existing UI • Services • User database/ security • Logging • Backup/ archive

  6. Limited interoperability • WSCommon • Web Coverage Service • Web Feature Service • Web Mapping Service Geo App2 App3 Geo App1 DBn DB2 DB3 … … … … DB1

  7. The Astronomy approach; data-types as a service Lightweight semantics Limited meaning, hard coded Limited extensibility Under review Limited interoperability • VOTable • Simple Image Access Protocol • Simple Spectrum Access Protocol • Simple Time Access Protocol VO App2 VO App3 VO App1 VO layer DBn DB2 DB3 … … … … DB1 Fox WHOI: Semantic Data Frameworks March 20, 2008

  8. Education, clearinghouses, other services, disciplines, etc. Semantic mediation layer - mid-upper-level Semantic interoperability Semantic query, hypothesis and inference Web Serv. API Web Portal Query, access and use of data Semantic mediation layer:Ontology - capturing concepts of Parameters, Instruments, Date/Time, Space, Event, Feature, Data Product (and associated classes, properties) and Service Classes. Maps queries to underlying data. Generates access requests for metadata, data. Allows queries, reasoning, analysis, new hypothesis generation, testing, explanation, etc. Data as Service Metadata, schema, data DB… DB2 DB3 … … … … DB1

  9. Implementing • Let’s take an example • VSTO • Representative but does not exercise all semantic web capabilities

  10. Web Service Fox RPI: Semantic Data Frameworks May 14, 2008

  11. 2

  12. Additional Middleware • Web server, Tomcat are essential (Axis) • MySQL (or similar) is very handy to have • OPeNDAP – for data access and transport

  13. Web Service Fox RPI: Semantic Data Frameworks May 14, 2008

  14. Infrastructure • Protégé-OWL-API • http://protege.stanford.edu/plugins/owl/api/index.html • http://protege.stanford.edu/plugins/owl/api/guide.html • Jena (Java API for RDF and OWL) • http://protege.stanford.edu/plugins/owl/jena-integration.html • http://jena.sourceforge.net/ • Migrate to other triple stores when needed

  15. Using Protégé • Load VSTO into Protégé 3.4 • Generate Java-OWL classes from Tool menu • Review other tools for generating code stubs • E.g. ELMO (http://www.openrdf.org/doc/elmo/1.3/user-guide/x463.html and http://www.openrdf.org/download.jsp )

  16. Examine some of the code • Java Factory class • Code stubs and ‘myclass’ • VSTO code base can be made available for browsing

  17. Jena

  18. Infrastructure • Reasoner – DIG/Pellet • http://protegewiki.stanford.edu/index.php/ProtegeReasonerAPI • SPARQL • http://www.w3.org/2001/sw/DataAccess/tests/implementations • Spring (Application Framework - optional) • http://www.springframework.org/ • Eclipse (IDE) • http://www.eclipse.org/

  19. Infrastructure • Rules • OWL-2 RL • SWRL – plug-in for Protégé • Jena rules • Jess rules • Jess rules engine - http://herzberg.ca.sandia.gov/jess/

  20. Software development • Junit (generated in Eclipse) • http://smi-protege.stanford.edu/repos/protege/owl/trunk/junit.properties.template • Faceted browsing – mspace

  21. Metadata • Migrate metadata into ontologies – instances, choose how you will populate them • Manual – okay to start with sufficient annotation • Scripted – preferred • rdfs_comment: essential • Choose what you will not, cannot move

  22. Services • If you are going to put up services, include an end-point and a link to your WSDL (or SAWSDL) • At this point, developing a full services ontology, e.g. in OWL-S may be beyond the initial implementation

  23. Semantic Web Services Fox RPI: Semantic Data Frameworks May 14, 2008

  24. Semantic Web Services OWL document returned using VSTO ontology - can be used both syntactically or semantically Fox RPI: Semantic Data Frameworks May 14, 2008

  25. Result/ outcome • Refer to the use case document • Check the expected outcome and see if the test (to verify outcome) is complete • Document all variations, note alternate flows • Document in sufficient detail that someone else could come along and re-produce your work • Include URLs for access, etc.

  26. Summary • Architectural design needs to take into account existing resources that you will leverage • Keeping it simple is also very important as you begin to implement • Take time to learn the tools and the supporting APIs; look at existing examples and working code • Being prepared to iterate is really essential

More Related