480 likes | 825 Views
Introduction to Ontology Part 2. Umi Laili Yuhana December, 24 2007. Design and Building Ontology Using Protege. Context Aware Group - Intelligent Agent Laboratory Computer Science and Information Engineering National Taiwan University (NTU). Outline. Last Week – 12/17/2007
E N D
Introduction to Ontology Part 2 Umi Laili Yuhana December, 24 2007 Design and Building OntologyUsing Protege Context Aware Group - Intelligent Agent Laboratory Computer Science and Information Engineering National Taiwan University (NTU)
Outline • Last Week – 12/17/2007 • Idea of Ontology • Semantic Web Vision • From Today’s Web to The Semantic Web • The advantage of Ontology • Ontology in a glance • Tonight -- 12/24/2007 • Review (last week) • Create and Build Ontology • Step by Step • Using Protégé
Ontology Definition • Explicit and formal specification of a conceptualization • Consist of finite list of terms and the relationships between these terms • Consist of concepts (also known as classes), relations (properties), instances and axioms -- (CRIA) Review (Last Week)
Step by Step Build Ontology Step by Step Build Ontology
Location Ontology Modeling Based on CSIE Building Study Case: Step by Step Build Ontology
Determine Scope Domain : Indoor Location 1st floor map Step by Step Build Ontology
Determine Scope Determine Scope • What is the domain that the ontology will cover ? Location ontology for indoor location (CSIE building) • For what we are going to use the ontology ? • Get knowledge about CSIE building location • Find place / room in CSIE building • For what types question should the ontology provide answer ? • Where is Professor Jane’s Room ? • What is Professor Jane’s Lab ? • Who will use and maintain the ontology ? • Anyone who want to find the location in CSIE building Step by Step Build Ontology
Consider Reuse Consider Reuse • We can reuse ontology in the same domain knowledge if it exists • If no ontology exists, create new one Step by Step Build Ontology
Create New Ontology In Protege Protégé • Open Protégé • Create New OWL/RDF Project • Given “location.owl” as name Using Protégé
Enumerate Terms • Identify relevant terms • Write down in an unstructured list all the relevant terms • Noun -> basis for class names • Verbs -> basis for property names • has room number • owned by • etc Enumerate Terms Step by Step Build Ontology
Description about CSIE Building Has 1 basement and 5 floors Each floor has many rooms, passage, stairs and elevators Enumerate Terms There are several types of rooms: Laboratory. These rooms are provided for students to explore and practice their knowledge, do research, assignment from teacher or supervisor, or the project. Each laboratory has name, room number, door way, spread on 5 floors, and supervised by teacher as supervisor. Seminar room. Seminar rooms are provided for students and teacher to discuss their field, project, or discuss the paper. Classroom. Classrooms are provided to support academic activity such teaching process. Rest room. Each floor has rest room as service room for people. Staff’s office. Staff’s office is office for teacher or CSIE staff. Step by Step Build Ontology
Description about CSIE Building • 2 types of passages: corridor and door way. • Corridor connect one room with another room or another place • door way is way out from room. • Stairs and Elevators connected one floor with another. • There are 3 stairs in CSIE building, • 2 stairs in east side (stair in south east building and stair in north east building) • one stair in west side. • There are 2 elevators in east side, • elevator in south east building • elevator in north east building Enumerate Terms Step by Step Build Ontology
Terms in CSIE Building Ontology • room name • room’s number • passage at floor • room at floor • floor consist of room • room has door • stair at floor • elevator at floor • floor number • laboratory’s name • has room number • lab supervised by • office owned by • Room • Corridor • Classroom • Door way • Floor • Passage • Stair • Elevator • Laboratory • Restroom • Office • Seminar room • Kitchen • Place indoor • connect with Enumerate Terms Noun Verb Noun -> basis for class names Verbs -> basis for property names Step by Step Build Ontology
Define Taxonomy • Organize relevance terms in taxonomic (subclass) hierarchy • Noun as class : • Room, Corridor, Classroom, Door way, Floor, Passage , Stair, Elevator, Laboratory, Restroom , Office, Seminar room, Kitchen, Place indoor Define Taxonomy Step by Step Build Ontology
Define Class (Class: provide an abstraction mechanism for grouping resources with similar characteristics) • Place indoor • Room • Classroom • Laboratory • Restroom • Office • Seminar room • Kitchen • Room • Corridor • Classroom • Door way • Floor • Passage • Stair • Elevator • Laboratory • Restroom • Office • Seminar room • Kitchen • Place indoor • Room • Corridor • Classroom • Door way • Floor • Passage • Stair • Elevator • Laboratory • Restroom • Office • Seminar room • Kitchen • Place indoor Define Taxonomy • Passage • Corridor • Door way • Stair • Elevator • Floor Step by Step Build Ontology
Class Hierarchy Organize class in taxonomic (subclass) hierarchy Define Taxonomy Step by Step Build Ontology
Create Class and Class Hierarchy Protégé • Choose “OWLClasses” Tab • Create New Class and subclass based on previous analysis • First letter in class name is capital case Using Protégé
Property = Slot • Represent relationships between two individual • Link individual from the domain and individual from the range • There are 3 type of property: • Object Property • Data Type Property • Annotation Property Define Properties Range at_floor Room Floor Domain Step by Step Build Ontology
Object Property (domain: class, range: class) • Link an individual to an individual • Types of object property • Inverse property • e.g. : has_parent inverse of has_child, roomAtFloor inverse of consistOfRoom • Functional property • e.g. : has_birth_mother • Transitive property • e, g. : has_anchestor, under_of • Symmetric property • e. g. : has_sibling, connect with Define Properties Step by Step Build Ontology
Define Object Property domain: class range: class connectWith Place_indoor Place_indoor • connectWith • room name • passage at floor • room at floor • room’s number • stair at floor • floor number • elevator at floor • floor consist of room • laboratory’s name • room has door • has room number • lab supervised by • office owned by passageAtFloor Floor Passage roomAtFloor Floor Room stairAtFloor Floor Stair elevatorAtFloor Floor Elevator consistOfRoom Floor Room Define Properties hasDoor DoorWay Room Step by Step Build Ontology
Object Property Inverse Property Define Properties Inverse Property, Transitive property Symetric Property Step by Step Build Ontology
Create Object Property Protégé • Choose “Properties” Tab • In Property Browser choose “Object” Tab • First letter in property name is lower case • Create New Property, given name and choose domain and range for each property • Set property type Using Protégé
roomName Room String Data Type Property (domain: class, range: data type) • Link an individual to an XML schema data type value or an rdf literal • e. g. : Define Properties Step by Step Build Ontology
Define Data Type Property • Data Type Properties • (domain: class, range: data type) Define Properties Step by Step Build Ontology
Create Data Type Property Protégé • Choose “Properties” Tab • In Property Browser choose “Datatype” Tab • First letter in property name is lower case • Create New Property, given name and choose domain and range for each property • Set property type Using Protégé
Facets • Facet is used to represent information about properties (slots), sometimes called role restrictions / axiom • Kind of facets : • Cardinality • Value Type Define Facets Step by Step Build Ontology
Cardinality • Cardinality represents the exact number of values that may be asserted for the slot for that class • Single cardinality • Multiple cardinality • Minimum cardinality • Maximum cardinality Define Facets Step by Step Build Ontology
Value Type • Value-type facet describes what type of values can fill in the slot • String • Number • Boolean • Enumerated Define Facets Step by Step Build Ontology
Instances: Individual of the class • Example : • Lab336 : Instance of Laboratory • has_roomNumber: 336 • lab_name: Intelligent Agent Laboratory • connectWith: door336, lab338 • lab_supervisedBy: Jane Yung-Jen Hsu • room_at_floor: floor3 • inRegion: csieBuilding Define Instances Step by Step Build Ontology
Next Week • Create Instance Using Protégé • Checking Consistency / anomalies • Read OWL document
Reference • N.F Noy, and D.L. McGuinnes, Ontology Development 101 : A Guide to Creating Your First Ontology, 2001 • Horridge, Mattahew, A Practical Guide to Building OWLOntologies Using The Protege-OWL plugin and CO-ODE Tool, The University of Manchester, 2004 • Protege-OWL tutorial http://protege.stanford.edu/overview/protege-owl.html
Install Protégé 3.4 • Open http://protege.stanford.edu/download/registered.html • Choose Download 3.4 beta • Choose Full Protégé, download And Install Backup Slide