Presentation is loading. Please wait.

Presentation is loading. Please wait.

7 Apr, 2005 ORDI and wsmo4j Damyan Ognyanov Ontotext Lab, Sirma AI.

Similar presentations


Presentation on theme: "7 Apr, 2005 ORDI and wsmo4j Damyan Ognyanov Ontotext Lab, Sirma AI."— Presentation transcript:

1 7 Apr, 2005 ORDI and wsmo4j Damyan Ognyanov Ontotext Lab, Sirma AI

2 ORDI and wsmo4j, OM Tools Fair, Grenoble #2/24 7 Apr, 2005 wsmo4j Introduction wsmo4j is an open-source project with two parts: WSMO API – application programming interfaces for WSMO, which allow for basic manipulation of WSMO descriptions, e.g. creation, exploration, storage, retrieval, parsing, and serialization; wsmo4j – a reference implementation of the WSMO API, including a WSML parser and a file-system-based datastore. wsmo4j development is led by Ontotext Delivered as D6.4 within DIP Based on v.1.0, 20/09/2004, of WSMO

3 ORDI and wsmo4j, OM Tools Fair, Grenoble #3/24 7 Apr, 2005 wsmo4j Conceptual Grounds wsmo4j is fully based on WSMO ORDI is based on D2.2 of DIP (commented later) The presentation first covers wsmo4j as it is Then comments on the ORDI current status and design

4 ORDI and wsmo4j, OM Tools Fair, Grenoble #4/24 7 Apr, 2005 Functionality: wsmo4j packages Common: the most general primitives, e.g.: identifiers, literals, variables, and non-functional properties. IO: input and output related interfaces. Sub-packages: –Parser: parsing from or serialization to a particular syntax; –Datastore: basic store and load interfaces; –Locator: resolving physical locators to logical identifiers. Ontology: contains ontology-specific interfaces (ontologies, concepts, etc.) Represents the bridge to the OM tools developed within the OMWG. –The package namespace is org.omwg.ontology.*, in contrast to the other packages of the WSMO API, whose names start with org.wsmo.*. Goal, Service, Mediator: WS modelling related interfaces.

5 ORDI and wsmo4j, OM Tools Fair, Grenoble #5/24 7 Apr, 2005 wsmo4j Architecture WSMO Studio SWS Integrated Development Environment WSMO Studio SWS Integrated Development Environment Ontology Management Suite Ontology Management Suite WSMO API Interface Definitions WSMO API Interface Definitions WSMO4J Reference Implementation WSMO4J Reference Implementation Common & IO Ontology GoalService Mediator In-memory Structures File Datastore WSML Parser ORDI Ontology Representation & Data Integration Reasoner Wrappers Import/Export Parsers Repository Wrappers Data Integration Versioning Mapping Editing and Browsing

6 ORDI and wsmo4j, OM Tools Fair, Grenoble #6/24 7 Apr, 2005 Overall Interoperability WSMO Studio SWS Integrated Development Environment WSMO4J Reference Implementation WSMO API Interface Definitions Ontology Management Suite ORDI Ontology Representation & Data Integration Repository (Sesame/ YARS) Reasoner (KAON2) Other Data-sources

7 ORDI and wsmo4j, OM Tools Fair, Grenoble #7/24 7 Apr, 2005 wsmo4j basics Naming Conventions: –set*() and get*() for accessing and modifying properties of a class, which are not collections; –list*(), find*(), add*() and remove*() for accessing a collection. Common Interfaces located in the org.wsmo.common: –Entity – top-level interface; –Identifiable – represents entities that have an identifier; –Identifier – four types: URI references, literals, anonymous identifiers, variable names; –the interfaces related to non-functional properties, NFPHolder.

8 ORDI and wsmo4j, OM Tools Fair, Grenoble #8/24 7 Apr, 2005 Wsmo4j: Helper Interfaces Factories: –WSMOFactory interface presents the Factory pattern responsible for creating instances of all WSMO entities; –create*() methods accept an Identifier parameter for the entity identifier (in most cases is a URIRef). –The WSMOFactory is created by the Factory class (which is sort of a meta-factory). Multiple different implementations of the WSMOFactory interface may be created, if desired. Containers Exceptions Mediatable

9 ORDI and wsmo4j, OM Tools Fair, Grenoble #9/24 7 Apr, 2005 wsmo4j: Ontology creation sample (I) //1. initialise the factory with the wsmo4j provider HashMap factoryParams = new HashMap(); factoryParams.put(Factory.FACTORY_PROVIDER_CLASS, "com.ontotext.wsmo4j.common.WSMOFactoryImpl"); //2.get a reference to the WSMO Factory WSMOFactory wsmoFactory = Factory.getWSMOFactory(factoryParams); try { //3. create an ontology Ontology anOntology = wsmoFactory.createOntology( wsmoFactory.createURIRef(“…")); // 3.1 setup a namespace anOntology.addNamespace("my", “…"); // 3.2 attach some NFPs anOntology.addNFPValue(NFP.DC_TITLE, "International TTO …");

10 ORDI and wsmo4j, OM Tools Fair, Grenoble #10/24 7 Apr, 2005 wsmo4j: Ontology creation sample (II) // 3.3 adds some references to mediators and imported ontologies anOntology.addImportedOntology(wsmoFactory.createURIRef( "http://www.wsmo.org/ontologies/dateTime")); anOntology.addNamespace("dt", "http://www.wsmo.../dateTime#"); anOntology.addUsedMediator(wsmoFactory.createURIRef( "http://www.wsmo.org/owlPersonMediator.wsml")); //4. add concepts and instances to the ontology //4.1 define xsd:string to use it as attribute range Concept XSD_STRING = Factory.getWSMOFactory().createConcept(null, Factory.getWSMOFactory(). createURIRef("http://www.w3.org/2001/XMLSchema#string")); //4.2 create the Location concept URIRef uriL = anOntology.createURIRef("loc", "location"); Concept cLocation = wsmoFactory.createConcept(anOntology, uriL);

11 ORDI and wsmo4j, OM Tools Fair, Grenoble #11/24 7 Apr, 2005 wsmo4j: Ontology creation sample (III) // create the Station concept, with Location as super-concept Concept cStation = wsmoFactory.createConcept(anOntology, anOntology.createURIRef("my", "station")); cStation.addSuperConcept(cLocation); cStation.addNFPValue(NFP.DC_DESCRIPTION, "Train station"); //4.3 add the Code and LocatedIn attributes to Station Attribute attrCode = cStation.createAttribute(anOntology.createURIRef("code")); attrCode.setRange(XSD_STRING, false); attrCode.addNFPValue(NFP.DC_DESCRIPTION, "Code of the station"); Attribute attrLocatedIn = cStation.createAttribute(anOntology.createURIRef("locatedIn")); attrLocatedIn.setRange(cLocation, true); …

12 ORDI and wsmo4j, OM Tools Fair, Grenoble #12/24 7 Apr, 2005 Performance and Scalability of wsmo4j Haven’t been seriously evaluated wsmo4j is designed as an client-side/in-process library the scalability is considered a server side issue to be handled by ORDI

13 ORDI and wsmo4j, OM Tools Fair, Grenoble #13/24 7 Apr, 2005 Current Status and References for wsmo4j http://wsmo4J.sourceforge.org –Two sub-projects: WSMO API and WSMO4J –JavaDoc, samples –Maven portal (incl. XRef) DIP D6.4 “WSMO API” – mostly the Programmer’s Guide The latest release is v0.3, 1 st of Feb, 2005 –Based on v.1.0, 20/09/2004, of WSMO wsmo4j is the reference implementation which includes: –The API and implementation of the representation classes (what we call in ORDI WSMO-In-Memory) –File-based Datastore –WSML Parser (with serialization)

14 ORDI and wsmo4j, OM Tools Fair, Grenoble #14/24 7 Apr, 2005 ORDI Introduction Ontology Representation and Data Integration (ORDI) –conceptual framework, presented in D2.2 of DIP. Objectives: –Ontology language neutrality; –Integration of databases and other structured data-sources; –Ontology and data modularization; –Support for heterogeneous reasoners and data-sources WSML Core taken as a formal model –Defined as a minimal but sufficient formal framework –Provides a bridge between multiple representation paradigms (OO, Frames, RDF)

15 ORDI and wsmo4j, OM Tools Fair, Grenoble #15/24 7 Apr, 2005 ORDI Implementation Grounds The ORDI implementation, is based on WSMO API. This dependency was introduced in order to make sure that, “by design”, the web-service related tools (WSMO Studio) and the OMS are interoperable. ORDI is not only an OM infrastructure, it supports the management of all the WSMO elements (including WS-related ones) –This means that, for instance, a WS registry, based on ORDI can easily make queries which consider conditions on both WS (e.g. capabilities) and ontology elements.

16 ORDI and wsmo4j, OM Tools Fair, Grenoble #16/24 7 Apr, 2005 ORDI Current Status Design and Prototyping Implementation of repository wrapper (for Sesame) Mapping of WSML to OWL/RDF Target to have a first version by June 2005. It does not cover: –DB integration –Modularization (datasets) The rest of the presentation discusses the design of ORDI

17 ORDI and wsmo4j, OM Tools Fair, Grenoble #17/24 7 Apr, 2005 Related Syntaxes A WSML document in either: –WSML XML syntax or –WSML human readable syntax, OWL in RDF: the standard RDF XML syntax. RDF syntaxes different than XML (e.g. NTriples and N3) will also be supported (through the existing RDF parsers). –RDFS subset which is a proper sub-language of OWL DLP is considered. WSMO-RDF: a WSMO/L document serialized according to: –WSMO RDF Schema: an ORDI-specific RDFS/OWL ontology (meta-schema) derived from the WSML mapping to OWL (D16.1v0.2). It will be similar to the RDFS schema for OWL and dependent on it.

18 ORDI and wsmo4j, OM Tools Fair, Grenoble #18/24 7 Apr, 2005 Representations We distinguish two internal representations of the ontology data: WSMO-In-memory: WSMO-API compliant model (e.g. WSMO4J). This representation is not specific for ORDI; WSMO-Triples: representation of WSMO elements as RDF triples according to the WSMO RDF Schema. This is an internal representation allowing us to store WSMO (and other data aligned to its model) into a RDF triple repository for efficient query and management. The WSMO- RDF syntax is a serialization of this representation

19 ORDI and wsmo4j, OM Tools Fair, Grenoble #19/24 7 Apr, 2005 Design Issues (I) Architecture: Java Middleware which allows remote access to Datastores –The client-side ORDI is an extension of WSMO4J; –The communication between the client and the server over RMI –The communication style: explicit requests from the client. Nothing like lazy loading, silent updates and storage. ORDI Server ORDI Server Java Application ORDI Client Non-Java Application WS Access Point ORDI Client RMI SOAP (in-process)

20 ORDI and wsmo4j, OM Tools Fair, Grenoble #20/24 7 Apr, 2005 Design Issues (II) Transactions. Transactions are considered, but not covered currently. This design presumes that it will be possible to group (in the standard DB fashion) multiple modification requests to the server within a single transaction. The commit/rollback behavior requires a careful definition. Logical Expressions (LE). –WSML-LE are handled by wsmo4j as literals. –Specific interfaces will be provided for plug-in of WSML-LE parsers, serializers, validators, interpreters, etc. –These interfaces still have to be clarified and defined within wsmo4j. –The WSML-LE plug-ins will be dependent on wsmo4j (to get access to the WSMO element definitions).

21 ORDI and wsmo4j, OM Tools Fair, Grenoble #21/24 7 Apr, 2005 Tasks (I) WSMO-In-Memory serialization to WSML WSML parsing to WSMO-In-Memory –Both are already available within WSMO4J for the HR syntax. OWL as RDF conversion to WSMO-Triples. To be handled by the OWL2WSMOConverter. This implementation uses an auxiliary triple repository to collect, group and transform the sets of triples that form the definition of each WSMO element. WSMO-Triples to WSMO-RDF serialization. Serialization of WSMO documents or separate elements into WSMO-RDF format. Export of WSMO into RDF or OWL independent from the WSMO RDF Schema is not considered.

22 ORDI and wsmo4j, OM Tools Fair, Grenoble #22/24 7 Apr, 2005 Tasks (II) WSMO-In-Memory to WSMO-Triples. A straightforward generation of WSMO-Triples. WSMO-Triples to WSMO-In-Memory. Instantiation of WSMO-In-Memory representation of WSMO elements based on their WSMO-Triple representations. Managing WSMO-Triples. A set of several subtasks: –Store WSMO-Triples. Store into the repository a WSMO- Triples definition of a WSMO element. –Extract WSMO-Triples for an element, given a logical ID. –Compare WSMO-Triple definitions. The simple variant of this task will only be able to check whether two WSMO-Triple representations of one and the same WSMO element are equivalent. Meant to allow ORDI to know whether there is a real difference introduced to the definition of the element.

23 ORDI and wsmo4j, OM Tools Fair, Grenoble #23/24 7 Apr, 2005 ORDI Representations and Modules WSMO4J WSMO Tripliser WSMO Tripliser Main Repository Triple Manager Triple Manager OWL2 WSMO OWL2 WSMO WSML-HR WSMO-Triples WSMO-In-Memory WSMO-RDF OWL-RDF

24 ORDI and wsmo4j, OM Tools Fair, Grenoble #24/24 7 Apr, 2005 Wsmo4j and ORDI http://wsmo4j.sourceforge.net http://www.omwg.org


Download ppt "7 Apr, 2005 ORDI and wsmo4j Damyan Ognyanov Ontotext Lab, Sirma AI."

Similar presentations


Ads by Google