1 Practical aspects of creating semantic web applications Peter Fox (RPI) ESIP Summer Meeting Knoxville, TN, July 21, 2010, 15:30pm Slides at:
2 Semantic Web Methodology and Technology Development Process Establish and improve a well-defined methodology vision for Semantic Technology based application development Leverage controlled vocabularies, etc. Use Case Small Team, mixed skills Analysis Adopt Technology Approach Leverage Technology Infrastructure Rapid Prototype Open World: Evolve, Iterate, Redesign, Redeploy Use Tools Science/Expert Review & Iteration Develop model/ ontology
Later, see last year: Introductory and intermediate – 3
What can ~4 students do in ~3 weeks? Hot Vent use case Science_%282009_Fall%29http://tw.rpi.edu/wiki/Semantic_e- Science_%282009_Fall%29 HOI_CSCI _2009http://tw.rpi.edu/portal/SeS_project_team_W HOI_CSCI _2009 4
Tetherless World Constellation 5
6
7
8
9
Tools Omni Graffle – Creation of Faceted-Browse Mockups CmapTools COE – Creation of Ontology Models, Causality graphs for provenance Protégé – Creation of Ongology and Individuals Skype (IM and VOIP), Dimdim (Web Conferencing), MediaWiki – Collaboration tools Google Web Toolkit + SmartGWT – Rapid UI Prototyping Jena/TDB and Joseki – triple store and SPARQL endpoint server – can be extended to perform reasoning and the execution of semantic rules. Tetherless World Constellation 10
Use cases 1.Do you have any data online from Hutchins from award number OCE ? 2.I want to download (temperature, biological,...) data in the following areas (N. Atlantic, bounding box, where JGOFs survey was done,...) 3.What new data has been added since last year (and organize it by project) 4.Show me all the places where the surface temperature in the North Atlantic is 25 degrees during June. Tetherless World Constellation 11
Quick prototype of use case 1 Tetherless World Constellation 12
Evolving the ontology model Tetherless World Constellation 13
To… Example where the iterative process helped to develop an understanding by WHOI domain experts ontologies and translating their concepts into an ontology and the ontology developers to understand the specific domain vocabulary. Successive iterations helped to expand and simplify concepts and incorporate already existing ontologies. Similar in instrument, platform, parameter ontology development. Tetherless World Constellation 14 Includes all of the foaf concepts for name, contact information, interests
Current version Tetherless World Constellation 15
Current version Tetherless World Constellation 16
Practical semantics Will almost always balance: –Query –Reasoning –Rules Choose representations that: –Balances expressivity, implementability and maintainability –Recognizes the way of the world … (ask me) Use cases are the key to guide you and scope each of these balances 17
Semantics eb_Tutorialshttp://wiki.esipfed.org/index.php/Semantic_W eb_Tutorials –See Semantic Query, Rules and Knowledge Encoding Covers a lot on query Rules are making a comeback with OWL 2- RL and RIF now W3 recommendations so don’t be afraid of them (or similar, Jena, Jess, SWRL), e.g. 18
RuleSet Development [DiffNEQCT: (?s rdf:type gio:RequestedService), (?s gio:input ?a), (?a rdf:type gio:DataSelection), (?s gio:input ?b), (?b rdf:type gio:DataSelection), (?a gio:sourceDataset ?a.ds), (?b gio:sourceDataset ?b.ds), (?a.ds gio:fromDeployment ?a.dply), (?b.ds gio:fromDeployment ?b.dply), (?a.dply rdf:type gio:SunSynchronousOrbitalDeployment), (?b.dply rdf:type gio:SunSynchronousOrbitalDeployment), (?a.dply gio:hasNominalEquatorialCrossingTime ?a.neqct), (?b.dply gio:hasNominalEquatorialCrossingTime ?b.neqct), notEqual(?a.neqct, ?b.neqct) -> (?s gio:issueAdvisory giodata:DifferentNEQCTAdvisory)] MDSA project: (with GSFC)
20 And see OWL 2 references from last year
Knowledge modeling and engineering Re-use existing ontologies wherever possible but don’t get too hung up on them to start Cmap – classes, properties and instances Protégé to clean up, annotate Cmap to vet Then: –Classes in one ‘ontology’ –Instances in other ‘files’ (e.g. BCODMO earlier) Protégé ( CMAP Ontology Editor ( 21
E.g. 22
Engineering an ontology to the ‘ground’ But…. don’t over-model –E.g. sometimes rules are better –E.g. sometimes call a service and hand off complex logic, esp. to start Often (very) service classes and properties are needed to really build a useable ontology 23
Engineering software around an ontology Query - SPARQL – Joseki –For minimal expressivity, this is the way to go –data-gov.tw.rpi.edu (for examples/ tutorial) For OWL –Protégé and plugins For managing triples - Jena ( )/ TDB ( ) For reasoning - Pellet Rules – Jena or SWRL, others are not mature enough (e.g. RIF) Going the Java route: ELMO 24
Reference material 25
26 Infrastructure Protégé-OWL-API – dex.htmlhttp://protege.stanford.edu/plugins/owl/api/in dex.html – uide.htmlhttp://protege.stanford.edu/plugins/owl/api/g uide.html Jena (Java API for RDF and OWL) – integration.htmlhttp://protege.stanford.edu/plugins/owl/jena- integration.html – –Migrate to other triple stores when needed
Infrastructure Reasoner – DIG/Pellet – ReasonerAPIhttp://protegewiki.stanford.edu/index.php/Protege ReasonerAPI SPARQL – lementationshttp:// lementations Spring (Application Framework - optional) – Eclipse (IDE - optional) – 27
28 Terminology Ontology (n.d.). The Free On-line Dictionary of Computing. –An explicit formal specification of how to represent the objects, concepts and other entities that are assumed to exist in some area of interest and the relationships that hold among them. Semantic Web –An extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation, –Primer:
29 Ontology Spectrum Catalog/ ID Selected Logical Constraints (disjointness, inverse, …) Terms/ glossary Thesauri “narrower term” relation Formal is-a Frames (properties) Informal is-a Formal instance Value Restrs. General Logical constraints Originally from AAAI Ontologies Panel by Gruninger, Lehmann, McGuinness, Uschold, Welty; – updated by McGuinness. Description in:
30 Ontology - declarative knowledge The triple: {subject-object-predicate} interferometer is-a optical instrument Fabry-Perot is-a interferometer Optical instrument has focal length Optical instrument is-a instrument Instrument has instrument operating mode Data archive has measured parameter SO2 concentration is-a concentration Concentration is-a parameter A query: select all optical instruments which have operating mode vertical An inference: infer operating modes for a Fabry- Perot Interferometer which measures neutral temperature
31 Semantic Web Layers