+ All Categories
Home > Documents > Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language...

Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language...

Date post: 14-Mar-2018
Category:
Upload: trinhdien
View: 224 times
Download: 1 times
Share this document with a friend
29
Protégé Conference 2006, 24th July 2006 1 © Raúl García-Castro, Asunción Gómez-Pérez Interoperability of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24 th July 2006 Raúl García Castro Asunción Gómez Pérez {rgarcia, asun}@fi.upm.es
Transcript
Page 1: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 1 © Raúl García-Castro, Asunción Gómez-Pérez

Interoperability of Protégé using RDF(S) as Interchange Language

Protégé Conference 200624th July 2006

Raúl García CastroAsunción Gómez Pérez{rgarcia, asun}@fi.upm.es

Page 2: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 2 © Raúl García-Castro, Asunción Gómez-Pérez

Index

• Motivation• RDF(S) interoperability benchmarking• Definition of the benchmark suites• Protégé’s interoperability results• Recommendations• Future work

Page 3: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 3 © Raúl García-Castro, Asunción Gómez-Pérez

Why benchmarking interoperability?Ontology developers have different:• Geographical locations• Expertise• Tools

Ontology Development Tools have different:• Underlying representation formalisms• Modelling components inside the same formalism• Ways of interchanging ontologies:

• Direct access (APIs)• Ontology repositories• HTTP servers• …

Current situation:• Unknown interoperability:

• Information added / lost• Some experiments show low interoperability (EON 2003)• Slower uptake by users in academia and industry

OntoStudio

Page 4: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 4 © Raúl García-Castro, Asunción Gómez-Pérez

How to improve interoperability?Benchmarking the interoperability of ontology development tools

Evaluation• Desired quality attributes• Weaknesses

Evaluation of several tools

• Comparative analysis• Recomendations on tools (users)

Benchmarking of several tools

• Continuous improvement • Recommendations on practices (developers)• Best practices

Our goal: Support the industrial applicability of ontology tools

Page 5: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 5 © Raúl García-Castro, Asunción Gómez-Pérez

Index

• Motivation• RDF(S) interoperability benchmarking• Definition of the benchmark suites• Protégé’s interoperability results• Recommendations• Future work

Page 6: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 6 © Raúl García-Castro, Asunción Gómez-Pérez

IMPROVE PHASE

11. Benchmarkingreport writing

12. Findings communication

13. Improvement planning14. Improvement15. Monitor

BENCHMARKING ITERATION

Recalibration task

PLAN PHASE

1. Goals identification2. Tool and metrics

identification3. Participant identification4. Proposal writing5. Management involvement6. Partner selection7. Planning and resource

allocation

EXPERIMENT PHASE

8. Experiment definition9. Experiment execution10. Experiment results

analysis

GOALS: Assess and improve the interoperability of ontology development toolsusing RDF(S) as interchange language

Tool i Interchangelanguage Tool j

RDF(S) interoperability benchmarking

Page 7: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 7 © Raúl García-Castro, Asunción Gómez-Pérez

Participation

Benchmarking proposal writing

List of involved members, benchmarking team

Tool OntoStudio

INRIA HP

UPMINRIA

Developer UKARL Ontoprise Stanford UPM Aduna

UPMParticipant UKARL Ontoprise UPM UPM

RDF repositories

Participation open to any organizationDirect contact with developers of free and commercial tools able of importing/exporting RDF(S).Announcement through a call for participation:

• Semantic Web lists• Ontology development tool lists RDF repositories

All the benchmarking information is publicly accesible in a web page:http://knowledgeweb.semanticweb.org/benchmarking_interoperability/

RDF repositories

(RDF backend)

Page 8: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 8 © Raúl García-Castro, Asunción Gómez-Pérez

Evaluation phases

• Evaluation phase 1– RDF(S) Import Benchmark Suite

– RDF(S) Export Benchmark Suite

• Evaluation phase 2– RDF(S) Interoperability Benchmark Suite

Tool X RDF(S)

Tool X RDF(S)

Tool X Tool Y

Tool Z

Page 9: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 9 © Raúl García-Castro, Asunción Gómez-Pérez

Index

• Motivation• RDF(S) interoperability benchmarking• Definition of the benchmark suites• Protégé’s interoperability results• Recommendations• Future work

Page 10: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 10 © Raúl García-Castro, Asunción Gómez-Pérez

RDF(S) benchmark suites definition

Type of benchmarks Import Export InteroperabilityKnowledge Model dependant:• Single components• Two components with a property• More that two components that usually

appear togetherSyntax dependant:• RDF/XML syntax variantsComponent naming dependant:• Character restrictions (RDF, URI, XML)

To be used by: Any tool withRDF(S) importer

Any tool withRDF(S) exporter

Any tool withRDF(S) importerand exporter

RDF(S)Export Import

X

X

X X

XX

Tool 1 Tool 2

Page 11: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 11 © Raúl García-Castro, Asunción Gómez-Pérez

Example benchmarksClass hierarchies

Instances

Identifier: I09

Description: Import one class that is subclass of several classes

Graphical representation:

RDF/XML file:<rdf:RDF xmlns="http://www.w3.org/2000/01/rdf-schema#"

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"><Class rdf:about="http://www.nothing.org/graph09#class1">

<subClassOf rdf:resource="http://nothing.org/graph09#class2"/><subClassOf rdf:resource="http://nothing.org/graph09#class3"/>

</Class><Class rdf:about=http://nothing.org/graph09#class2/><Class rdf:about=http://nothing.org/graph09#class3/>

</rdf:RDF>

Import benchmark

Page 12: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 12 © Raúl García-Castro, Asunción Gómez-Pérez

RDF(S) file<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"><rdfs:Class rdf:about="http://www.pru.com/ontology#concept1“ /><rdfs:Class rdf:about="http://www. pru.com/ontology#concept2"><rdfs:subClassOf rdf:resource="http://www. pru.com/ontology#concept1"/>

</rdfs:Class><rdfs:Class rdf:about="http://www. pru.com/ontology#concept3"><rdfs:subClassOf rdf:resource="http://www. pru.com/ontology#concept1"/>

</rdfs:Class></rdf:RDF>

Experiments execution

Compare ontologies

= ?C1

C2 C3 C4

C1

C2 C3 C4

Compare RDF(S) code

= ?<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"><rdfs:Class rdf:about="http://www.pru.com/ontology#concept1“ /><rdfs:Class rdf:about="http://www. pru.com/ontology#concept2"><rdfs:subClassOf rdf:resource="http://www. pru.com/ontology#concept1"/>

</rdfs:Class><rdfs:Class rdf:about="http://www. pru.com/ontology#concept3"><rdfs:subClassOf rdf:resource="http://www. pru.com/ontology#concept1"/>

</rdfs:Class></rdf:RDF>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"><rdfs:Class rdf:about="http://www.pru.com/ontology#concept1“ /><rdfs:Class rdf:about="http://www. pru.com/ontology#concept2"><rdfs:subClassOf rdf:resource="http://www. pru.com/ontology#concept1"/>

</rdfs:Class><rdfs:Class rdf:about="http://www. pru.com/ontology#concept3"><rdfs:subClassOf rdf:resource="http://www. pru.com/ontology#concept1"/>

</rdfs:Class></rdf:RDF>

Conceptualize

C1

C2 C3 C4

Conceptualize

C1

C2 C3 C4

Conceptualizein the tool

C1

C2 C3 C4

IMPORT EXPORT

Import in the toolC1

C2 C3 C4

Export RDF(S) file<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"><rdfs:Class rdf:about="http://www.pru.com/ontology#concept1“ /><rdfs:Class rdf:about="http://www. pru.com/ontology#concept2"><rdfs:subClassOf rdf:resource="http://www. pru.com/ontology#concept1"/>

</rdfs:Class><rdfs:Class rdf:about="http://www. pru.com/ontology#concept3"><rdfs:subClassOf rdf:resource="http://www. pru.com/ontology#concept1"/>

</rdfs:Class></rdf:RDF>

Page 13: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 13 © Raúl García-Castro, Asunción Gómez-Pérez

Conceptualize

C1

C2 C3 C4

Conceptualize

C1

C2 C3 C4

Experiments executionINTERCHANGEConceptualize

in Tool 1C1

C2 C3 C4

Import in Tool 2C1

C2 C3 C4

Compare ontologies

= ?C1

C2 C3 C4

C1

C2 C3 C4

Export RDF(S) file<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"><rdfs:Class rdf:about="http://www.pru.com/ontology#concept1“ /><rdfs:Class rdf:about="http://www. pru.com/ontology#concept2"><rdfs:subClassOf rdf:resource="http://www. pru.com/ontology#concept1"/>

</rdfs:Class><rdfs:Class rdf:about="http://www. pru.com/ontology#concept3"><rdfs:subClassOf rdf:resource="http://www. pru.com/ontology#concept1"/>

</rdfs:Class></rdf:RDF>

Export files are available from the previous experimentation phase.

Tool 1 Tool 2

Tool 3 Tool 4

Page 14: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 14 © Raúl García-Castro, Asunción Gómez-Pérez

Benchmark results

• Modelling (YES/NO). The tool can model theontology components described in the benchmark.

• Execution (OK/FAIL). There is no problem whileexecuting the benchmark and the tool produces itsexpected result.

• Information added/lost. The information that isadded or lost in the import/export/interchange.

In the export and interoperability benchmark suites:Execution is N.E. if the ontology defined in thebenchmark cannot be modelled in a tool.

Page 15: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 15 © Raúl García-Castro, Asunción Gómez-Pérez

Index

• Motivation• RDF(S) interoperability benchmarking• Definition of the benchmark suites• Protégé’s interoperability results• Recommendations• Future work

Page 16: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 16 © Raúl García-Castro, Asunción Gómez-Pérez

Interoperability

• Import and export results depend mainly on the knowledgemodel of the tool:– RDF(S)-native tools don’t need to perform any translation– Information addition/loss is common

• Interoperability between the tools depends on:– The correct working of their importers and exporters– The way of serializing the exported ontologies in the

RDF/XML syntax• Sometimes tools are able to interchange components only in

one way

García-Castro et al. Knowledge Web Deliverable 1.2.2.1.1 Benchmarkingontology development tools using RDF(S) as interchange language. June 2006.

Page 17: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 17 © Raúl García-Castro, Asunción Gómez-Pérez

Components modelled by the toolsCombinations RDF Repositories KAON Protégé WebODE

Classes X X X X

Classes instance of a single or multiple metaclasses X X X

Class hierarchies without cycles X X X X

Class hierarchies with cycles X

Classes related through object or datatype properties X

Object properties with multiple domains or ranges X X

Property hierarchies without cycles X X

Datatype properties without domain or range X X X

Datatype properties with multiple domains X X

Datatype properties whose range is String X X X X

Datatype properties whose range is a XML Schema datatype X X X

Object properties without domain or range X X X

Object properties with a domain and a range X X X X

Property hierarchies with cycles X

Undefined resources X

Instances of a single class X X X X

Instances of a multiple classes X X X

Instances related through object or datatype properties X X X X

Page 18: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 18 © Raúl García-Castro, Asunción Gómez-Pérez

Protégé importing and exporting RDF(S)

Protégé deals correctly with most of the componentsMain problems:• Class that is instance of multiple metaclasses

– Imports/exports the class as instance of only one metaclass– Also when a class appears as instance of a metaclass and rdfs:Class

• Instance of multiple classes– Imports/exports the instance as instance of only one class

• Property with multiple domains– Imports/exports the multiple domains– In Protégé multiple domains in slots are the union of the domains and in

RDF(S) multiple domains in properties are the intersection of the domainsOther issues:• Represents partially components not present in the destination knowledge model

using other components• Imports XML Schema datatypes as classes• Crashes when importing some RDF(S) components not modelled by Protégé

Page 19: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 19 © Raúl García-Castro, Asunción Gómez-Pérez

Interoperability of Protégé with itself

Protégé interchanges correctly with itself thecomponents that it can model.

Exceptions:• Classes that are instances of multiple metaclasses• Instances of multiple classes

Protégé interchanges correctly with WebODE all thecommon components that both tools can model.

Interoperability of Protégé with WebODE

Page 20: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 20 © Raúl García-Castro, Asunción Gómez-Pérez

Interoperability of Protégé with KAON

Protégé KAON KAON ProtégéClasses that are instances of a single metaclass

OK FAIL

Classes that are instances of multiplemetaclasses

FAIL FAIL

Instances of multiple classes FAIL FAILDatatype properties without domain and withrange

FAIL OK

Datatype properties without range OK FAILDatatype properties whose range is String FAIL OKInstances related through datatype properties FAIL OK

Protégé interchanges correctly with KAON the common components that both toolscan model. Exceptions:

Page 21: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 21 © Raúl García-Castro, Asunción Gómez-Pérez

Interoperability betweenKAON, Protégé and WebODE

They interchange correctly most of the common componentsthat they can model

Exceptions:• Datatype properties with domain and whose range is String• Instances related through datatype properties

Regarding URI character restrictions:• Protégé cannot interchange resources with these restrictions in their

names.• Tools encode some or all the characters that do not comply with these

restrictions, changing class and property names

Interchange of components NOT modelled by Protégé:• The behavior is the same as when importing RDF(S) components not

modelled by Protégé

Page 22: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 22 © Raúl García-Castro, Asunción Gómez-Pérez

Index

• Motivation• RDF(S) interoperability benchmarking• Definition of the benchmark suites• Protégé’s interoperability results• Recommendations• Future work

Page 23: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 23 © Raúl García-Castro, Asunción Gómez-Pérez

Recommendations forontology developers

When collaboratively developing an ontology using differenttools (editors, repositories, etc.):

• Be aware of the knowledge models of the tools and theinterchange language:– Their components– Their semantic equivalences and differences

• Use the common components of these tools to avoid alreadyknown knowledge losses

• Don’t name resources using spaces or any character that is restricted in the RDF(S), URI or XML specifications

• If the tools have participated in the benchmarking, check thecomponents that they CAN intechange:

http://knowledgeweb.semanticweb.org/benchmarking_interoperability/

Page 24: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 24 © Raúl García-Castro, Asunción Gómez-Pérez

Recommendations forsoftware developers

General recommendations:• Interoperability depends on development decisions:

– Can produce an interoperability improvement with some tools but a loss withothers

– Their collateral consequences should be analysed• Semantic equivalences and differences between the knowledge models:

– Be aware of them– Notify the user when the semantics is changed

• Importers and exporters must be robust, dealing with:– Unexpected inputs– Components of the interchange language

• Serializing:– Common components should be completely defined in the file– Complete definitions of other components can cause problems to others– Resources should have a namespace if the document does not define a

default one

Page 25: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 25 © Raúl García-Castro, Asunción Gómez-Pérez

Recommendations for improvingProtégé’s interoperability

Not compulsory to follow, but would solve detected problems:• Resources that are instances of multiple classes:

– To export and import correctly classes that are instances of multiplemetaclasses (including rdfs:Class)

– To export classes that are instances of a metaclass and metaclassesdefining them as a class in the file

– To export and import correctly instances of multiple classes.• Properties with multiple domains:

– To export and import object and datatype properties with multiple domains as properties with no domain, as it occurs in the case of multiple ranges.

• XML Schema datatypes:– When importing instances with datatype properties whose range is a XML

Schema datatype, to import the literal values as instances of the XML Schema datatype class

• Not to crash when importing:– XML Schema datatypes defined as a rdfs:Datatype– rdf:datatype attributes in properties– Class and property hierarchies with cycles– Resources with empty or blank nodes in the unshortened syntax

Page 26: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 26 © Raúl García-Castro, Asunción Gómez-Pérez

Index

• Motivation• RDF(S) interoperability benchmarking• Definition of the benchmark suites• Protégé’s interoperability results• Recommendations• Future work

Page 27: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 27 © Raúl García-Castro, Asunción Gómez-Pérez

Future work

Continue the benchmarking• New tools can join anytime• Developers are continuously improving their tools• Develop a web application to exploit the benchmarking

results

OWL Interoperability benchmarking• Follows the same benchmarking methodology and approach• Right now defining the benchmark suites• Will automate the execution and analysis of results• Participation is open to any organization/tool

Page 28: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 28 © Raúl García-Castro, Asunción Gómez-Pérez

Join the benchmarking!

•In the definition of the benchmark suites•In the experimentation with a tool

•RDF(S) benchmarking web page:http://knowledgeweb.semanticweb.org/benchmarking_interoperability/

•OWL benchmarking web page:http://knowledgeweb.semanticweb.org/benchmarking_interoperability/owl/

Page 29: Interoperability of Protégé using RDF(S) as … of Protégé using RDF(S) as Interchange Language Protégé Conference 2006 24th July 2006 Raúl García Castro Asunción Gómez Pérez

Protégé Conference 2006, 24th July 2006 29 © Raúl García-Castro, Asunción Gómez-Pérez

Interoperability of Protégé using RDF(S) as Interchange Language

Protégé Conference 200624th July 2006

Raúl García CastroAsunción Gómez Pérez{rgarcia, asun}@fi.upm.es


Recommended