150 likes | 294 Vues
This course provides an in-depth understanding of using GATE's ontology tools, including OWLIM for ontology storage and reasoning, Jena as a backend, and key features for ontology editing. Participants will learn how to load, view, and manipulate ontologies, add and delete classes, instances, and properties, and interact with the ontology API. Real-world applications in knowledge management, business intelligence, and media analysis demonstrate the practical use of these tools in various domains. Join us to unlock the potential of ontologies with GATE!
E N D
GATE Ontology Tools GATE Training Course October 2006 Kalina Bontcheva kalina@dcs.shef.ac.uk 1/(27)
Ontology Plugins (gate 3.1) 2/(27)
OWLIM support (v. 4.0) • Loading and viewing ontologies is the same from the GATE GUI • Storage and reasoning performed by OWLIM • Access is via a web service 3/(27)
Create New Ontology LR • Example uses Jena as a backend • Loads an ontology over the Web, in this case Proton (http://proton.semanticweb.org/) • Supports OWL (Lite, DL, Full) & RDF – as this is what Jena supports 4/(27)
Loading extra data http://www.dcs.shef.ac.uk/~kalina/test/test-input.rdf 5/(27)
View classes 6/(27)
View instances 7/(27)
Forthcoming ontology editor features • Deleting classes, properties and instances • Adding classes, properties and instances • Modifying above • We need these features so that we can correct the results of ontology learning and ontology population algorithms from within GATE 8/(27)
Ontology API FeatureMap features = Factory.newFeatureMap(); features.put("ontologyURL", ontologyURL); JenaOntologyImpl ontology = (JenaOntologyImpl) Factory.createResource("gate.creole.ontology.jena.JenaOntologyImpl",features); Interface gate.creole.ontology.Ontology • add/get/delete concepts/instances/properties 9/(27)
Ontology API (2) // adding a new class Person – class name and comment OClass person = ontology.createClass("Person","All humans"); // adding a new class Man OClass man = ontology.createClass("Man", "Male Person"); // adding a new class Liquid OClass liquid = ontology.createClass("Liquid","anything that is in liquid form"); // John is a person OInstance john = ontology.addInstance("John", person); // water is liquid OInstance water = ontology.addInstance("Water", liquid); // Man is a subclassof Person person.addSubClass(man); // Man drinks liquid ontology.addObjectProperty("drinks","man drinks liquid", man, liquid); // john drinks liquid john.addPropertyValue("drinks", water); 10/(27)
Onto gazetteer 11/(27)
Onto Gazetteer (2) 12/(27)
JAPE and Ontologies 13/(27)
Results Results of sample rule without ontology as a parameter Results of sample rule with ontology as a parameter 14/(27)
Sample use • Knowledge Management and business intelligent • gate.ac.uk/projects/sekt/ • Media analysis • gate.ac.uk/projects/media-campaign/ • Multi-media semantic annotation • gate.ac.uk/projects/prestospace/ • Software Engineering • gate.ac.uk/projects/tao/ • Also used in an increasing number of commercial products, esp. for business intelligence 15/(27)