Protg-OWL and the Semantic Web 8 th Int. Protg Conference, Madrid, - - PowerPoint PPT Presentation
Protg-OWL and the Semantic Web 8 th Int. Protg Conference, Madrid, - - PowerPoint PPT Presentation
Protg-OWL and the Semantic Web 8 th Int. Protg Conference, Madrid, July 2005 Holger Knublauch agent The Semantic Web Vision Standards Technology Example Scenario Traditional Web Architecture Submission Forms Query Interfaces
The Semantic Web
Standards Technology Vision
agent
Example Scenario
Traditional Web Architecture
Travel Planning Portal Database Accommodation Portal Database
Cruise Operator Boat Rental Hotel Submission Forms Query Interfaces End User
Manual actions Automated actions
Semantic Web Architecture
Cruise Operator Boat Rental Hotel Service Metadata End User
OWL OWL OWL Crawler Agent
Travel Services Database and Agent
OWL
User Profile Query Interface
Manual actions Automated actions Web Service
Semantic Web Evolution
Cruise Operator Boat Rental Hotel Service Metadata
OWL OWL OWL XHTML
Travelogue
OWL
Geography
RDF
Recommendations
RDF
Image Annotation
RDF
Restaurant
OWL
Personal Profile
RDF
Friend-of-a-Friend
OWL
Food Ontology
OWL
Cooking Recipes
OWL
Animal Ontology
OWL
Pet Ontology
... ... ...
Software Architecture (1)
Semantic Web Layer Internal Layer
HeliBungee.owl ... ActivityX.owl Travel.owl Customer.owl Ontology representation as Java objects
Core Ontologies End-User Interface (JSP) Web Service Interface (WSDL) Reasoners (OWL DL, SWRL, ...) Web Service, Control Logic (Java Code)
Protege-OWL
Protege-OWL Classification
Protege-OWL Individuals
Working with Multiple Files
Protege-OWL for RDF(S)
Protege-OWL for SWRL
Protege-OWL Plugins
http://www.co-ode.org
Protege-OWL Architecture
Protégé API
(Classes, properties, individuals, etc.)
Protégé OWL API
(Logical class definitions, restrictions, etc.)
Protégé GUI
(Tabs, Widgets, Menus)
Protégé OWL GUI
(Expression Editor, Conditions Widget, etc.)
DB Storage OWL File Storage Jena API
(Parsing, Reasoning)
OWL Extension APIs
(SWRL, OWL-S, etc.)
OWL GUI Plugins
(SWRL Editors, ezOWL, OWLViz, Wizards, etc.)
Protégé Core System OWL Plugin
Protege-OWL API (Model)
RDFObject RDFSLiteral RDFResource Frame (Protege) RDFSClass RDFProperty RDFIndividual RDFSNamedClass OWLNamedClass OWLProperty
OWLDatatypeProperty OWLObjectProperty OWLAnonymousClass
...
Protege-OWL API Example
JenaOWLModel owlModel = ProtegeOWL.createJenaOWLModel(); RDFSNamedClass personClass =
- wlModel.createRDFSNamedClass("Person");
RDFProperty ageProperty = owlModel.createRDFProperty("age"); ageProperty.setRange(owlModel.getXSDint()); ageProperty.setDomain(personClass); RDFIndividual individual = personClass.createRDFIndividual("Holger"); individual.setPropertyValue(ageProperty, new Integer(34));
Java Code Generation
RDFIndividual individual = personClass.createRDFIndividual("Holger"); individual.setPropertyValue(ageProperty, new Integer(34)); Person individual = factory.createPerson("Holger"); individual.setAge(34);
Software Architecture (2)
Travel.owl Customer.owl HeliBungee.owl ...
Semantic Web Layer Internal Layer
Activity.java ... Customer.java ...
Dynamic Object Model
ActivityX.owl
Reasoners (OWL DL, SWRL, ...) End-User Interface (JSP) Web Service Interface (WSDL) Web Service, Control Logic (Java Code) Core Ontologies
Tab Widgets PropertyWidgets ResourceActions ProjectPlugins OntologyTests ResultPanels ResourceActions
Configuring Protege
Protege-Driven Development
Model View Control
Incremental Code Generation Domain Modeling Programming
Further Reading (1)
http://www.co-ode.org