advanced owl 2.0 ontology visualization in owlgred

16
Advanced OWL 2.0 Ontology Visualization in OWLGrEd Kārlis ČERĀNS Jūlija OVČIŅŅIKOVA Renārs LIEPIŅŠ Artūrs SPROĢIS Institute of Mathematics and Computer Science, University of Latvia

Upload: lance-kaufman

Post on 30-Dec-2015

42 views

Category:

Documents


1 download

DESCRIPTION

Advanced OWL 2.0 Ontology Visualization in OWLGrEd. Kārlis ČERĀNS Jūlija OVČIŅŅIKOVA Renārs LIEPIŅŠ Artūrs SPROĢIS Institute of Mathematics and Computer Science, University of Latvia. OWLGrEd editor. UML-style based graphical editor for OWL 2 Classes Association roles Attributes - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Kārlis ČERĀNSJūlija OVČIŅŅIKOVA

Renārs LIEPIŅŠArtūrs SPROĢIS

Institute of Mathematics and Computer Science, University of Latvia

Page 2: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

OWLGrEd editor

• UML-style based graphical editor for OWL 2

• Classes• Association roles• Attributes• Objects• Generalizations

Thing{owl}

PersonpersonName:str ing

TeacherStudent

{d is jo int}

CoursecourseName:s tr ing

takes

isTakenBy

teaches

isTaughtBy

Page 3: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

OWLGrEd editor

AcademicProgramprogramName:string{<name}

CoursecourseName:string{<name}

Thing{owl}name:string{func} Person

"All persons, including teachers and students"key = personIDpersonName:string{<name}personID:string[0..1]

Teachersalary:integer

{disjoint}

AcademicStaff=Teacher

Professor<salary some integer [>10000]

PermanentTeachingStaff<teaches some MandatoryCourse

<<equivalent>>

<<Comment>>"All persons, including teachers and students"

Assistant

{disjoint}

Student

MandatoryCourse<isTaught by only (Professor or (PermanentTeachingStaff and salary some integer [> 8000]))

relates

teaches {<relates} {<>takes}isTaughtBy

<<disjoint>>

teaches some [1..*]

takes {<relates} 1..10isTakenBy

enrolled {>takes o belongsTo}

belongsTo 1

includes

passed {<takes}

owlgred.lumii.lv

Page 4: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

OWLGrEd interoperability with Protégé 4.2

Page 5: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Some desired extra notations

• AnnotationAssertion(A:isImportant A:Teacher "true")

• AnnotationAssertion(A:DBExpr A:AcademicProgram "XProgram")

• AnnotationAssertion(A:DBExpr A:Course "XCourse")

• AnnotationAssertion(A:isComposition A:includes "true")

• AnnotationAssertion(A:isDerivedUnion A:relates "true")

User Field mechanism: creating new fields, attaching semantics

CoursecourseName:string{DB: XCourse}

AcademicProgramprogramName:string{DB: XProgram}

TeacherPerson

belongsTo includes teaches

{<relates}isTaughtBy

/relates

Page 6: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Custom Ontology Visualizations with user field mechanism

• Ontology visualization profiles– Abstract fields (to be added to ontology visual

items)• field type;

• field appearance;

• visual effects;

• field semantics.

– Views• define appearance for existing and new fields

Page 7: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

User Fields mechanism Meta-model AA#Profile

name:string

AA#Fieldname:stringdefaultValue:stringprefix:stringsuffix:stringdelimiter:stringpattern:stringisStereotypeField:booleandisplayPlaceBefore:stringpropertyEditorTab:stringpropertyEditorPlaceBefore:s tring

AA#Viewname:stringisDefault:boolean

AA#TagaxiomPattern:stringtagKey:string

<<EnumeratedClass>>

AAContextTypeid:stringnr:integertype:stringelTypeName:stringpath:s tringmode:stringhasMirror:boolean

AA#NodeStyleItem

AA#ChoiceItemcaption:stringnotation:s tring

<<EnumeratedClass>>

AA#RowTypetypeName:string

<<Comment>>"typeName expected one of:-InputField-InputField+Button-CheckBox-ComboBox-ListBox-TextArea-TextArea+Button-Empty"

AA#TagTypekey:stringnotation:s tring

AA#FieldStyleSetting

AA#ViewStyleSettingelementTypeName:stringaddMirror:booleancaseCompartTypeName:stringcaseChoiceItemName:string

AA#StyleSettingvalue:stringtarget:stringpath:s tringisElementStyleSetting:boolean

AA#ElemStyleItem

AA#Transletprocedure:string

<<EnumeratedClass>>

AA#TransletTasktaskName:string

<<Comment>>"taskName expected one of:-procGenerateItemClickBox-procStartValue-procFieldEntered-procCompose-procDecompose"

AA#CompartStyleItemitemName:stringitemType:stringforNodeCompart:booleanforEdgeCompart:booleanforAttribCompart:boolean

AA#AnyStyleItem

AA#ElemStyleItemitemName:stringitemType:string

AA#Dependency

AA#Configurationprofile *configuration 1

field*

profile

1

fieldType 1 field *

view *profile 1

field 1 choiceItem {<ordered} *

selfStyleSetting

*

field

1

styleSetting

*

choiceItem 1

styleSetting*

view1

tag *field 1

profile 1

tag*

choiceItem

1

tag*

translet*field 1

context1

fieldInContext {<ordered} *

context *configuration 1

superField {<ordered} 1

subField *

tagType*

configuration 1

task

1

translet*

dependency *

dependent 1

dependsOn1dependency *

styleSetting *elemStyleFeature 0..1

fieldStyleFeature 0..1styleSetting *

Page 8: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Style settings (from TDA Graph Diagram Engine)

Reference: Barzdins J., Cerans K., Kozlovics S., Rencis E., and Zarins, A. A Graph Diagram Engine for the Transformation-Driven Architecture, Proc. of 4th International Workshop of Model-Driven Development of Advanced User Interfaces, Florida, USA, 2009, pp.29-32.

Page 9: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Implementation: Transformation Driven Architecture

• Development of universally re-usable user interface engines; the graphical diagramming engine employs advanced layouting facilities.

• Logical activities based on metamodels and model transformations.

Page 10: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Use Cases – Semantic auto-layout for new diagrams

<<disjoint>>

<<disjoint>>

Person_IDIDValue:s tring

Professor Associate_Professor

Optional_Course

PersonpersonName:string

Student

Course<Mandatory_Course or Optional_CoursecourseName:string

Thing{owl}

Teacher<Assistant or Associate_Professor or Professor

Mandatory_Course

Assistant

Academic_Program

programName:string

isTaughtBy

only

belongsTo includes

enrolled

person

0..1

personID

takesisTakenBy

isTaughtBy

teaches

<<disjoint>>

Page 11: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Use Cases – Semantic auto-layout for new diagrams

Person_IDIDValue:s tring

Professor

Associate_Professor

PersonpersonName:string

Student

Course<Mandatory_Course or Optional_CoursecourseName:string

Thing{owl}

Teacher<Assistant or Associate_Professor or Professor

Academic_Program

programName:string

Optional_Course

Mandatory_Course

<<disjoint>>

Assistant

<<disjoint>>

isTaughtByonly

belongsToincludes

enrolled

person0..1

personID

takes

isTakenBy

isTaughtBy

teaches

<<disjoint>>

Created fully automatically

Page 12: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Use Cases – Database Connectivity Notation

ThingPerson IDIDValue:String

StudentTeacher CoursecourseName:String

Optional CourseMandatory Course

< isTaughtBy only ProfessorProfessor

Associate Professor

{disjoint}{complete}

Academic Program

programName:String

PersonpersonName:String

{disjoint}

Assistant

{disjoint} {complete}

belongsTo 0..1

includes

personID

person 0..1

takes {<>teaches}isTakenBy

teaches {<>takes}isTaughtBy

enrolled

A mini-university database schema

OWL ontology corresponding to the mini-University

Page 13: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Use Cases – Database Connectivity Notation

Teacher{DB: XTeacher}

Assistant{DB: [[Teacher]],Level='Assistant'}

AssociateProfessor{DB: [[Teacher]],Level='AssocProf'}

Proffessor{DB: [[Teacher]],Level='Professor'}

{disjoint} {complete}

{disjoint} {complete}

AcademicProgramprogramName:string{DB: PName}{DB: XProgram}

OptionalCourse{DB: [[Course]],isRequired=0}

MandatoryCourse<isTaughtBy only Professor{DB: [[Course]], isRequired=1}

{disjoint}

Thing

PersonpersonName:s tring{DB: [[Teacher]].TName}{DB: [[Student]].SName}

Student{DB: XStudent}

CoursecourseName:string{DB: CName}{DB: XCourse}

PersonIDIDValue:s tring{DB: [[T]].IDCode}{DB: [[S]].IDCode}{DB: T=XTeacher {uri=('PersonID',IDCode)}}}{DB: S=XStudent {uri=('PersonID',IDCode)}}}

enrolled{DB:->}

isTaughtBy teaches {<>takes}

{DB:=>}

isTakenBy takes {<>teacher}

{DB:=>XRegistration->}

person 0..1

personID{DB:[[Teacher]][AutoID->[[T]]}{DB:[[Student]][AutoID->[[S]]}

Page 14: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Use Cases – Integrity Constraints in RDF/OWL Database Schema Design

Teachersalary:integer

{(i) dis joint}

Assistant

<<(i) equivalent>>

PermanentTeachingStaff<teaches some MandatoryCourse

Person"All persons, including teacgers and students"personName:s tring{<name}personID:string[0..1]

MandatoryCourse<isTaughtby only(Professor or (PermanentTeachingStaff and salary some integer [>8000]))

CoursecourseName:string{<name}

Student

Thing{owl}name/i/:(c) string {(c) func}

<<Comment>>"All persons, including teacgers and students"

Professor<(c) salary some integer [>10000]

AcademicStaff=(i) Teacher

AcademicProgram(c) programName:string{<(i) name}

i

i

i

<<(i) dis joint>>

c

isTaughtBy

teaches

{<(i) relates}

{<>takes}

i

relates/i/

passed

{<(c) takes}

ic

teaches some [0..1]

isTakenBy

takes

{<(i) relates}

{<>(i) teaches}

(c)1..(c)10

belongsTo (c)1

includes

enrolled

(c)1

{>(c) takes or belondsTo}

i

It is natural to interpret some axioms as constraints

Page 15: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Conclusions

• OWLGrEd – owlgred.lumii.lv

• User Fields extensions

• Applications: – simple visual effects;– database connectivity notation;– integrity constraints.

• Use the extension for you own custom notation

Page 16: Advanced OWL 2.0 Ontology Visualization in OWLGrEd

Thank you!

Questions?