320 likes | 344 Views
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.
E N D
Foundations V: Infrastructure and Architecture, Middleware Deborah McGuinness TA Weijing Chen Semantic eScience Week 10, November 7, 2011
Contents • Review of reading, questions, comments • Technology and how to use it • Summary • Next week
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
Architecture • Importance of state • Grids • Web • Existing infrastructure • Catalogs • Data sources • User interfaces • Services • Wrapping these syntactic interface
Inventory • Refer to the Resources • Files • Databases • Catalogs • Existing UI • Services • User database/ security • Logging • Backup/ archive
Limited interoperability • WSCommon • Web Coverage Service • Web Feature Service • Web Mapping Service Geo App2 App3 Geo App1 DBn DB2 DB3 … … … … DB1
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
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
Implementing • Let’s take an example • VSTO • Representative but does not exercise all semantic web capabilities
Web Service Fox RPI: Semantic Data Frameworks May 14, 2008
Additional Middleware • Web server, Tomcat are essential (Axis) • MySQL (or similar) is very handy to have • OPeNDAP – for data access and transport
Web Service Fox RPI: Semantic Data Frameworks May 14, 2008
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
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 )
Examine some of the code • Java Factory class • Code stubs and ‘myclass’ • VSTO code base can be made available for browsing
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/
Infrastructure • Rules • OWL-2 RL • SWRL – plug-in for Protégé • Jena rules • Jess rules • Jess rules engine - http://herzberg.ca.sandia.gov/jess/
Software development • Junit (generated in Eclipse) • http://smi-protege.stanford.edu/repos/protege/owl/trunk/junit.properties.template • Faceted browsing – mspace
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
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
Semantic Web Services Fox RPI: Semantic Data Frameworks May 14, 2008
Semantic Web Services OWL document returned using VSTO ontology - can be used both syntactically or semantically Fox RPI: Semantic Data Frameworks May 14, 2008
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.
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