SlideShare a Scribd company logo
1 of 64
Download to read offline
From Data to Knowledge through
Grailog Visualization
(Long version: http://www.cs.unb.ca/~boley/talks/RuleMLGrailog.pdf)

Harold Boley
Faculty of Computer Science
University of New Brunswick
Fredericton, NB, Canada

Ontology, Rules, and Logic Programming for Reasoning and Applications
(RulesReasoningLP) Ontolog Mini-Series, Session 2, 31 October 2013

1
Acknowledgements
Thanks for feedback on various versions and parts of this presentation
(the long version has all parts, hence gapless slide numbers):
From Data to Knowledge through Grailog Visualization
ISO 15926 and Semantic Technologies 2013 Conference, Sogndal, Norway, 5-6 September 2013
Grailog 1.0: Graph-Logic Visualization of Ontologies and Rules
The 7th International Web Rule Symposium (RuleML 2013),
University of Washington, Seattle WA, 11-13 July 2013
The Grailog Systematics for Visual-Logic Knowledge Representation with Generalized Graphs
Faculty of Computer Science Seminar Series, University of New Brunswick, Fredericton, Canada, 26 September 2012
High Performance Computing Center Stuttgart (HLRS), Stuttgart, Germany, 14 August 2012
Grailog: Mapping Generalized Graphs to Computational Logic
Symposium on Natural/Unconventional Computing and its Philosophical Significance,
AISB/IACAP World Congress - Alan Turing 2012, 2-6 July 2012, Birmingham, UK
The Grailog User Interface for Knowledge Bases of Ontologies & Rules
OMG Technical Meeting, Ontology PSIG, Cambridge, MA, 21 June 2012
Grailog: Knowledge Representation with Extended Graphs for Extended Logics
SAP Enterprise Semantics Forum, 24 April 2012
Grailog: Towards a Knowledge Visualization Standard
BMIR Research Colloquium, Stanford, CA, 4 April 2012
PARC Research Talk, Palo Alto, CA, 29 March 2012
RuleML/Grailog: The Rule Metalogic Visualized with Generalized Graphs
PhiloWeb 2011, Thessaloniki, Greece, 5 October 2011
Grailog: Graph inscribed logic
Course about Logical Foundations of Cognitive Science, TU Vienna, Austria, 20 October -10 December 2008
2
Visualization of Data
• Useful in many areas, needed for big data
• Gain knowledge insights from data analytics,
ideally with the entire pipeline visualized
• Statistical visualization  Logical visualization
Sample data
visualization

(http://wordle.net):
Word cloud
for frequency
of words from
BMIR abstract
of this talk
3
Visualization of Data & Knowledge:
Graphs Remove Entry Barrier to Logic
• From 1-dimensional symbol-logic knowledge
specification to 2-dimensional graph-logic
visualization in a systematic 2D syntax
– Supports human in the loop across knowledge
elicitation, specification, validation, and reasoning

• Combinable with graph transformation,
(‘associative’) indexing & parallel processing
for efficient implementation of specifications
• Move towards model-theoretic semantics
– Unique names, as graph nodes, mapped directly/
injectively to elements of semantic interpretation 4
Grailog
Graph inscribed logic provides intuition for logic

Advanced cognitively motivated systematic
graph standard for visual-logic data & knowledge:

Features orthogonal  easy to learn,
e.g. for (Business) Analytics
Generalized-graph framework as one uniform
2D syntax for major (Semantic Web) logics:
Pick subset for each targeted knowledge base,
map to/fro RuleML sublanguage, and exchange
& validate it, posing queries again in Grailog

5
Generalized Graphs
to Represent and Map Logic Languages
According to Grailog 1.0 Systematics
• We have used generalized graphs for representing
various logic languages, where basically:
– Graph nodes (vertices) represent individuals, classes, etc.
– Graph arcs (edges) represent relationships

• Next slides:
What are the principles of this representation and
what graph generalizations are required?
• Later slides:
How are these graphs mapped (invertibly) to logic,
thus specifying Grailog as a ‘GUI’ for knowledge?
• Final slides:
What is the systematics of Grailog features?
6
Grailog Principles
• Graphs should make it easier for humans to read
and write logic constructs via 2D state-of-the-art
representation with shorthand & normal forms,
from Controlled English to logic
• Graphs should be natural extensions (e.g. n-ary)
of Directed Labeled Graphs (DLGs), often used
to represent simple semantic nets, i.e. of atomic
ground formulas in function-free dyadic predicate
logic (cf. binary Datalog ground facts, RDF triples,
the Open Graph, and the Knowledge Graph)

• Graphs should allow stepwise refinements for all
logic constructs: Description Logic constructors,
F-logic frames, general PSOA RuleML terms, etc.
• Extensions to boxes & links should be orthogonal

7
Grailog Generalizations
• Directed hypergraphs: For n-ary relationships,
directed relation-labeled (binary) arcs will be generalized
to directed relation-labeled (n-ary) hyperarcs, e.g.
representing relational-database tuples

• Recursive (hierarchical) graphs: For nested terms
and formulas, modal logics, and modularization, ‘flat’
graphs will be generalized to allow other graphs as
complex nodes to any level of ‘depth’
• Labelnode graphs: For allowing higher-order logics
describing both instances and relations (predicates),
arc labels will also become usable as nodes
8
Graphical Elements: Names
• Written into boxes (nodes):
Unique (canonical, distinct) names

unique

– Unique Name Assumption (UNA)
refined to Unique Name Specification (UNS)

• Written onto boxes (node labels):
Non-unique (alternate, ‘aka’) names

non-unique

– Non-unique Name Assumption (NNA)
refined to Non-unique Name Specification (NNS)

• Grailog combines UNS and NNS: xNS, with x = U or N
9
Instances: Individual Constants
with Unique Name Specifications
mapping

General:

Graph (node)

Logic

unique

unique

Examples: Graph

Logic

Warren Buffett

Warren Buffett

General Electric

General Electric

US$ 3 000 000 000

US$ 3 000 000 000
10
Instances: Individual Constants
with Non-unique Name Specifications
General:

Graph (node)
non-unique

mapping

Logic (vertical bar
for non-uniqueness)
|non-unique

Examples: Graph

Logic

WB

|WB
GE

|GE
US$ 3B

|US$ 3B
11
Graphical Elements: Hatching Patterns
• No hatching (boxes): Constant
• Hatching (elementary boxes): Variable

12
Parameters: Individual Variables
General:

Graph (hatched node) Logic (italics font,
POSL uses “?” prefix)

variable

Examples: Graph

variable
Logic

X

X

Y

Y

A

A
13
Predicates: Binary Relations (1)
General:

Graph (labeled arc)

inst1

binrel

inst2

Example: Graph
Warren Buffett

Trust

Logic

binrel(inst1, inst2)

Logic
General Electric

Trust(Warren Buffett,
General Electric
)
14
Predicates: Binary Relations (2)
General:

Graph (labeled arc)
var1

binrel

Example: Graph
X

Trust

var2

Logic

binrel(var1, var2)

Logic
Y

Trust(X,Y)

15
Graphical Elements: Arrows (1)
• Labeled arrows (directed links) for arcs and
hyperarcs (where hyperarcs ‘cut through’ nodes
intermediate between first and last)

16
Predicates: n-ary Relations (n>1)
General:

Graph (hyperarc)

Logic

rel

inst1

inst2

instn-1

Example: Graph
(n=3)
WB

Invest

instn

rel(inst1, inst2, ...,
instn-1, instn)
Logic

GE

US$ 3·109

Invest(|WB,
|GE,
US$ 3·109)
17
Implicit Conjunction of Formula Graphs
Co-Occurrence on Graph Top-Level
General:

Graph (m hyperarcs)

inst1,1 rel1 inst1,2

inst1,n1

instm,1 relm instm,2

instm,nm

...

Example: Graph (2 hyperarcs)
WB

GE

US$

Invest
JS

3·109

VW

Invest

US$ 2·104

Logic
rel1(inst1,1, inst1,2,
..., inst1,n1) 

relm(instm,1, instm,2,
...,instm,nm)

...

Logic

Invest(|WB, |GE,
US$ 3·109) 
Invest(|JS, |VW,
US$ 2·104) 18
34

Explicit Conjunction of Formula Graphs:
Co-Occurrence in (parallel-processing) And Node
General:

Graph (solid+linear)

inst1,1 rel1 inst1,2

inst1,n1

instm,1 relm instm,2

instm,nm

...

Example: Graph
WB

JS

US$

3·109

VW

Invest

(rel1(inst1,1, inst1,2,
..., inst1,n1) 

relm(instm,1, instm,2,
...,instm,nm))

...

Logic

GE

Invest

Logic

US$ 2·104

(Invest(|WB, |GE,
US$ 3·109) 
Invest(|JS, |VW,
US$ 2·104))19
Disjunction of Formula Graphs:
Co-Occurrence in Or Node
General:

Graph (solid+wavy)

inst1,1 rel1 inst1,2

inst1,n1

instm,1 relm instm,2

instm,nm

...

Example: Graph
WB

JS

US$

3·109

VW

Invest

(rel1(inst1,1, inst1,2,
..., inst1,n1) 

relm(instm,1, instm,2,
...,instm,nm) )

...

Logic

GE

Invest

Logic

US$ 2·104

(Invest(|WB, |GE,
US$ 3·109) 
Invest(|JS, |VW,
US$ 2·104))20
From Hyperarc Crossings to Node Copies
as a Normalization Sequence (1)
Hypergraph (2 hyperarcs,
crossing
inside a node)
John

Show

Mary Teach

Latin

DLG (4 arcs, do not specify
to whom Latin
is shown or taught)
Show

Paul

John

Kate

Mary Teach

Latin

to

to

Paul
Kate

Symbolic Controlled English
“John shows Latin to Kate.
Mary teaches Latin to Paul.”

21
From Hyperarc Crossings to Node Copies
as a Normalization Sequence (1*)
Hypergraph (2 hyperarcs,
DLG (4 arcs, do not specify
crossing
to whom Latin
outside nodes)
is shown or taught)
John

Show

Mary Teach

Latin

Show

Paul

John

Kate

Mary Teach

Latin

to

to

Paul
Kate

22
From Hyperarc Crossings to Node Copies
as a Normalization Sequence (1**)
Hypergraph (2 hyperarcs,
DLG (4 arcs, do not specify
parallel-cutting
to whom Latin
a node)
is shown or taught)
John Show

Kate

John

Show

Kate

Latin

Latin
Mary Teach

to

Paul

Mary Teach

to

Paul

The hyperarc for, e.g., ternary Show(John,Latin,Kate) can be seen as the path
composition of 2 arcs for binary Show(John,Latin) and binary to(Latin,Kate)
23
From Hyperarc Crossings to Node Copies
 Insert on Correct Binary Reduction
Hypergraph (2 hyperarcs,
DLG (8 arcs with 4 ‘reified’
parallel-cutting
relation/ship nodes to
a node)
point to arguments)
Show
Show1

arg1

John Show

Kate

arg3

Kate

John

Latin

Latin
Mary Teach

arg2

Paul

Paul

Mary
arg1

arg2

arg3

Teach1

Teach

24
From Hyperarc Crossings to Node Copies
as a Normalization Sequence (1***)
Hypergraph (2 hyperarcs,
employing
a node copy)
John Show Latin

Kate

Mary Teach Latin

Paul

Logic (2 relations,
employing
a symbol copy)
Show(John, Latin, Kate)

Teach(Mary, Latin, Paul)

Both ‘Latin’ occurrences remain one node even when copied for easier layout:
Having a unique name, ‘Latin’ copies can be merged again.
This “fully node copied” normal form can help to learn the symbolic form, is
implemented by Grailog KS Viz, and demoed in the Loan Processor test suite
25
From Predicate Labels on Hyperarcs
to Labelnodes Starting Hyperarcs
General:

Graph (hyperarc with
Logic
rect4vex-shaped rel(inst1, inst2, ...,
labelnode)
instn-1, instn)
rel

inst1
rel

inst2

instn-1

instn

(Shorthand)

inst1

inst2

instn-1

instn

(Normal Form)

Example: Graph
(n=3)
WB

Invest

WB

Invest

GE

GE

Logic
Invest(|WB,
|GE,
US$ 3·109
US$ 3·109)
US$ 3·109

26
Predicates: Unary Relations
(Classes, Concepts, Types)
General:

Graph (class applied
to instance node)

Logic

class

class(inst1)

HasInstance

inst1
Example: Graph
Billionaire

Logic
Billionaire(
Warren Buffett)

Warren Buffett
27
Graphical Elements: Arrows (2)
• Arrows for special arcs and hyperarcs
– HasInstance: Connects class, as labelnode,
with instance (hyperarc of length 1)
• As in DRLHs and shown earlier, labelnodes can also
be used (instead of labels) for hyperarcs of length > 1

– SubClassOf: Connects subclass, unlabeled,
with superclass (arc, i.e. of length 2)
– Implies: Hyperarc from premise(s) to conclusion
– Object-IDentified slots and shelves: Bulleted
arcs and hyperarcs
28
Class Hierarchies (Taxonomies):
Subclass Relation
General:

Graph (two nodes)
class2

SubClassOf

(Description)

Logic
class1

class2

class1

Example: Graph
Rich

(Description)

Logic
Billionaire

Rich

Billionaire
29
Intensional-Class Constructions (Ontologies):
Class Intersection
General:

class1

Graph (solid+linear node,
as for conjunction)
class2

...

classn

(Description)

Logic
class1
class2
...

classn
Example: Graph

(Description)

Logic
Billionaire

Benefactor

Environmentalist

Billionaire
Benefactor
Environmentalist
30
Intensional-Class Applications:
Class Intersection
General:

class1

Graph (complex class
applied to instance node)
class2

...

classn

(xNS-Description)

Logic
(class1
class2
...

classn)
(inst1)

inst1
Example: Graph
Billionaire

Benefactor

(xNS-Description)
Environmentalist

Warren Buffett

Logic
(Billionaire

Benefactor
Environmentalist)
(Warren Buffett)
31
Intensional-Class Constructions (Ontologies):
Class Union
General:

class1

Graph (solid+wavy node,
as for disjunction)
class2

...

classn

(Description)

Logic
class1
class2
...

classn
Example: Graph

(Description)

Logic
Billionaire

Benefactor

Environmentalist

Billionaire
Benefactor
Environmentalist
32
Intensional-Class Applications:
Class Union
General:

class1

Graph (complex class
applied to instance node)
class2

...

classn

(xNS-Description)

Logic
(class1
class2
...

classn)
(inst1)

inst1
Example: Graph
Billionaire

Benefactor

(xNS-Description)
Environmentalist

Warren Buffett

Logic
(Billionaire

Benefactor
Environmentalist)
(Warren Buffett)
33
Class Hierarchies (Taxonomy DAGs):
Top and Bottom
General:

Top (special node)

(Description)

Logic
┬

┬

(owl:Thing)
General:

Bottom (special node)

(Description)

Logic
┴

┴

(owl:Nothing)34
Intensional Class Constructions (Ontologies):
Class-Property RestrictionExistential (1*)
General:
┬

Graph (normal)
binrel
class

Example: Graph
┬

(Description)
Logic
binrel . class

(Description)
Logic

 Substance
Physical

Substance . Physical

A kind of schema, where Top class is specialized to have (multi-valued)
attribute/property, Substance, with at least one value typed by class Physical
35
Instance Assertions (Populated Ontologies):
Using Restriction for ABoxExistential (1*)
General:

Graph (normal)

binrel

┬

class
binrel

inst0

inst1

Example: Graph
┬

 Substance

Socrates

Physical
Substance

P1

(xNS-Description)
Logic
binrel.class(inst0) 
class(inst1) 
binrel(inst0, inst1)
(xNS-Description)
Logic
Substance.Physical
(Socrates) 
Physical(P1) 
Substance(Socrates, P1)
36
Intensional Class Constructions (Ontologies):
Class-Property RestrictionUniversal (1*)
General:
┬

Graph (normal)
binrel
class

Example: Graph
┬

(Description)
Logic
binrel . class

(Description)
Logic

 Substance
Physical

Substance . Physical

A kind of schema, where Top class is specialized to have (multi-valued)
attribute/property, Substance, with each value typed by class Physical

37
77

Instance Assertions (Populated Ontologies):
Using Restriction for ABoxUniversal (1*)
General:

Graph (normal)
binrel

┬

class

inst0

binrel inst
1
...

binrel

...

instn

Example: Graph
┬

Physical

Socrates
Substance

binrel.class(inst0) 
class(inst1) 
...
class(instn) 
binrel(inst0, inst1) 
...
binrel(inst0, instn)

(xNS-Description)
Logic

 Substance

Substance

(xNS-Description)
Logic

P1
P2

Substance.Physical
(Socrates) 
Physical(P1) 
Physical(P2) 
Substance(Socrates, P1) 
Substance(Socrates, P2) 38
Existential vs. Universal Restriction
(Physical/Mental Assumed Disjoint: Can Be Explicated via Bottom Intersection)
C
o
n
s
i
s
t
e
n
t

I
n
c
o
n
s
i
s
t
e
n
t

Example: Graph

Mental

┬  Substance Physical
Substance

Socrates

P1

P3

Substance

Mental

┬  Substance Physical
Socrates

Substance

Substance.Physical
(Socrates) 
Physical(P1) 
Mental(P3) 
Substance(Socrates, P1) 
Substance(Socrates, P3)

Example: Graph

Substance

(xNS-Description)
Logic

P1

P3

(xNS-Description)
Logic
Substance.Physical
(Socrates) 
Physical(P1) 
Mental(P3) 
Substance(Socrates, P1) 
Substance(Socrates, P3) 39
LuckyParent Example (1)
LuckyParent

LuckyParent ≡ Person Spouse.Person Child.(Poor

Child.Doctor)

EquivalentClasses

┬
Person

 Child

Poor

 Child
Doctor

 Spouse

40
LuckyParent Example (1*)
LuckyParent

LuckyParent ≡ Person Spouse.Person Child.(Poor

Child.Doctor)

:
┬
Person

 Child

Poor

 Child
Doctor

 Spouse
Person

41
LuckyParent Example (1**)
LuckyParent ≡ Person Spouse.Person Child.(Poor

LuckyParent

Child.Doctor)

:
┬

Person

┬  Child
┬

Poor

 Child
Doctor

 Spouse
Person

42
LuckyParent Example (1**)
LuckyParent ≡ Person Spouse.Person Child.(Poor

LuckyParent

Child.Doctor)

:
┬

Person

┬  Child
┬

Poor

 Child
Doctor

 Spouse
Person

43
Object-Centered Logic:
Grouping Binary Relations Around Instance
General:

Graph
(inst0-centered)

class
binrel1

inst0

...

inst1

binreln

(Object-Centered)
Logic
class(inst0) 
binrel1(inst0, inst1) 
...

instn

binreln(inst0, instn)

Example: Graph
(Socrates-centered)

(Object-Centered)
Logic

Philosopher

Philosopher(Socrates) 
Substance(Socrates, P1) 

Substance

Socrates
Teaching

P1

Teaching(Socrates, T1)

T1
44
RDF-Triple (‘Subject’-Centered) Logic:
Grouping Properties Around Instance
General:

Graph
(inst0-centered)

class
property1

inst0

...

inst1

propertyn

(Subject-Centered)
Logic
{(inst0, rdf:type, class),
(inst0, property1, inst1),
...

instn

Example: Graph
(Socrates-centered)
Philosopher

(inst0, propertyn, instn)}

(Subject-Centered)
Logic
{(Socrates, rdf:type, Philosopher),

Substance

Socrates
Teaching

(Socrates, Substance, P1),

P1

(Socrates, Teaching, T1)}

T1
45
Logic of Frames (‘Records’): Associating
Slots with OID-Distinguished Instance
General:

Graph
(bulleted arcs)

(PSOA Frame)
Logic

slot1

inst0#class(
slot1->inst1;

class

inst0

...

inst1

slotn

...

instn

slotn->instn)

inst0  class,
slot1 = inst1,
...
slotn = instn

Example: Graph

(PSOA Frame)
Logic

Philosopher

Socrates#Philosopher(
Substance->P1;

Substance

Socrates
Teaching

P1

Teaching->T1)

T1
46
Logic of Shelves (‘Arrays’): Associating
Tuple(s) with OID-Distinguished Instance
General:

class

Graph
(bulleted hyperarc)
inst’1

...

(PSOA Shelf)
Logic

inst’m inst0#class(

inst’1, …, inst’m)

inst0
Example: Graph
c. 469 BC
Philosopher

399 BC

(PSOA Shelf)
Logic
Socrates#Philosopher(
c. 469 BC, 399 BC)

Socrates
47
87

Positional-Slotted-Term Logic: Associating
Tuple(s)+Slots with OID-Disting’ed Instance
General:
class

Graph

inst’1
slot1

inst0

...

...

inst1

slotn

inst’m

instn

Example: Graph
Philosopher

c. 469 BC
Substance

Socrates
Teaching

399 BC

(PSOA PositionalSlotted-Term) Logic
inst0#class(
inst’1, …, inst’m;
slot1->inst1;
...

slotn->instn)

(PSOA PositionalSlotted-Term) Logic
Socrates#Philosopher(
c. 469 BC, 399 BC;
Substance->P1;

P1
T1

Teaching->T1)
48
Rules: Relations Imply Relations (1)
General:

Graph (ground,
shorthand)
rel
1

Logic

inst1,2

inst1,n1

rel1(inst1,1, inst1,2,
..., inst1,n1) 

inst2,1 rel2 inst2,2

inst2,n2

rel2(inst2,1, inst2,2,
...,inst2,n2)

inst1,1

Example: Graph
WB

Invest

Logic

GE

US$
JS

3·109

VW

Invest

US$ 5·103

Invest(|WB, |GE,
US$ 3·109) 
Invest(|JS, |VW,
US$ 5·103) 49
Rules: Relations Imply Relations (3)
General:

Graph (inst/var terms)
rel1

term1,1

term1,2

term1,n1

term2,1 rel2 term2,2

term2,n2

Example: Graph
WB

(vari,j)
rel1(term1,1, term1,2,
..., term1,n1) 
rel2(term2,1, term2,2,
..., term2,n2)

Logic

Invest
Y

A

Y

US$ 5·103

JS

Invest

Logic

( Y, A)
Invest(|WB,Y,A) 
Invest(|JS, Y,
US$ 5·103) 50
Rules: Conjuncts Imply Relations (1*)
General:

Graph (prenormal)

term1,1 rel1 term1,2

term1,n1

term2,1 rel2 term2,2

term2,n2

term3,1 rel3 term3,2

term3,n3

Example: Graph
WB

Invest

Y

JS

Trust

Invest

Y

(vari,j)
rel1(term1,1, term1,2,
..., term1,n1) 
rel2(term2,1, term2,2,
..., term2,n2) 
rel3(term3,1, term3,2,
..., term3,n3)

Logic

Y

JS

Logic

A

US$ 5·103

( Y, A)
Invest(|WB,Y, A) 
Trust(|JS, Y) 
Invest(|JS, Y,
US$ 5·103) 51
Rules: Conjuncts Imply Relations (2)
Example: RuleML/XML

Logic

<Implies closure="universal">
<And>
<Atom>
<Rel>Invest</Rel>
<Ind unique="no">WB</Ind>
<Var>Y</Var>
<Var>A</Var>
</Atom>
3
<Atom>
<Rel>Trust</Rel>
<Ind unique="no">JS</Ind>
<Var>Y</Var>
</Atom>
Proposing an attribute unique
</And>
with value "no" for NNS,
<Atom>
and "yes" for UNS as the default
<Rel>Invest</Rel>
<Ind unique="no">JS</Ind>
<Var>Y</Var>
<Data>US$ 5·103</Data> <!– superscript “3” to be parsed as Unicode U+00B3 -->
</Atom>
</Implies>

( Y, A)
(Invest(|WB,Y, A) 
Trust(|JS, Y) 
Invest(|JS, Y,
US$ 5·10 ))

52
Positional-Slotted-Term Logic: Rule-defined
Anonymous Family Frame (Visualized from IJCAI-2011 Presentation)
Example: Graph

(PSOA PositionalSlotted-Term) Logic

family
?Hu

husb
?1

married

?Hu

wife

?Wi

child

?Ch

?Wi

married Joe
kid

?Hu
?Wi

?Ch

Sue

?Ch

kid

Group (
Forall ?Hu ?Wi ?Ch (
?1#family(husb->?Hu
wife->?Wi
child->?Ch) :And(married(?Hu ?Wi)
Or(kid(?Hu ?Ch)
kid(?Wi ?Ch))) )

kid Sue

Pete

married(Joe Sue)
kid(Sue Pete)
)

53
Positional-Slotted-Term Logic: Ground Facts,
incl. Deduced Frame, Model Family Semantics
Example: Graph

(PSOA PositionalSlotted-Term) Logic

family
husb

o

Joe

Group (
wife

Previous slide’s
existential variable ?1
in rule head becomes
new OID constant o
in frame fact, deduced
from relational facts

Sue

child

o#family(husb->Joe
wife->Sue
child->Pete)

Pete

married Joe

kid Sue

Sue

Pete

married(Joe Sue)
kid(Sue Pete)
)

For reference implementation of PSOA querying see PSOATransRun

54
Positional-Slotted-Term Logic: Conversely,
Given Facts, Rule Can Be Inductively Learned
family

Example: Graph

Mn

husb

family
husb

o1

on
M1

wife

W1

child

wife

Wn

child

Cz

C1

married Mn
Abstracting OID
constants o1, ... , on
married M1
to regain existential
variable ?1 of previous rule,
now induced from matching
kid Mn
relational and frame facts

kid M1

C1

Wn

W1
Cx

kid Wn
kid W1

Cy

C1
55
Orthogonal Graphical Features
 Axes of Grailog Systematics
• Box axes:
• Corners: pointed vs. snipped vs. rounded
• To quote/copy vs. reify/instantiate vs. evaluate contents
(cf. Lisp, Prolog, Relfun, Hilog, RIF, CL, and IKL)

• Shapes (rectangle-derived): composed from
sides that are straight vs. concave vs. convex
• For neutral vs. function vs. relation contents

• Contents: elementary vs. complex nodes

• Arrow axes:
• Shafts: single vs. double
• Heads: triangular vs. diamond
• Tails: plain vs. bulleted vs. colonized

• Box & Arrow (line-style) axes:
solid vs. dashed, linear vs. (box only) wavy

56
Graphical Elements: Box Systematics
 Axes of Corners and Shapes
Corner:
Shape:

Per … Copy
Rect-

… Instantiation

… Value

Snip-

Round-

Neutral
-angle
Individual
(Function Application)

-2cave
Function
-4cave
Proposition
(Relation Application)

-2vex
Relation
(incl. Class)

-4vex

57
Graphical Elements: Boxes
 Function/Relation-Neutral Shape of
Angles Varied w.r.t. Corner Dimension
– Rectangle: Neutral ‘per copy’ nodes quote their contents
X=3 :

Mult

X

2

Mult

X

2

– Snipangle (octagon): Neutral ‘per instantiation’ nodes
dereference contained variables to values from context
X=3 :

Mult

X

2

Mult

3

2

– Roundangle (rounded angles): Neutral ‘per value’ nodes
evaluate their contents through instantiation of variables
and activation of function/relation applications
X=3 :

Mult

X

2

6

Assuming Mult
built-in function
58
Graphical Elements: Boxes  Concave
– Rect2cave (rectangle with 2 concave - top/bottom - sides):
Elementary nodes for individuals (instances).
Complex nodes for quoted instance-denoting terms
(constructor-function applications)
– Snip2cave (snipped): Elementary nodes for variables.
Complex nodes for instantiated (reified)
function applications
– Round2cave (rounded): Complex nodes for evaluated
built-in or equation-defined function applications
– Rect4cave (4 concave sides): Elementary nodes for fct’s.
Complex nodes for quoted functional (function-denoting) terms
– Snip4cave: Complex nodes for instantiated funct’l terms
– Round4cave: Complex nodes for evaluated functional
applications (active, function-returning applications)
59
Graphical Elements: Boxes  Convex
– Rect2vex (rectangle with 2 convex - top/bottom - sides):
Elementary nodes for truth constants (true, false, unknown).
Complex nodes for quoted truth-denoting propositions
(embedded relation applications)
– Snip2vex: Complex nodes for instantiated (reified)
relation applications
– Round2vex: Complex nodes for evaluated
relation applications (e.g. as atomic formulas) and for
connective uses
– Rect4vex: Elementary nodes for relations, e.g. unary
ones (classes). Complex nodes for quoted relational
(relation-denoting) terms
– Snip4vex: Complex nodes for instantiated relat’l terms
– Round4vex (oval): Complex nodes for evaluated relat’l
60
applications (active, relation-returning applications)
Conclusions (1)
• Grailog 1.0 incorporates feedback on earlier versions
• Graphical elements for novel box & arrow systematics
using orthogonal graphical features
– Leaving color (except for IRIs) for other purposes, e.g.
highlighting subgraphs (for retrieval and inference)

• Introducing Unique vs. Non-unique Name Specification
• Focus on mapping to a family of logics as in RuleML
• Use cases from cognition to technology to business
– E.g. “Logical Foundations of Cognitive Science”:
http://www.ict.tuwien.ac.at/lva/Boley_LFCS/index.html

• Processing of earlier Grailog-like DRLHs studied in
Lisp, FIT, and Relfun
• For Grailog, aligned with Web-rule standard RuleML:
http://wiki.ruleml.org/index.php/Grailog (test suite)
61
Conclusions (2)
• Symbolic-to-visual translators started as
Semantic Web Techniques Fall 2012 Projects:
– Team 1 A Grailog Visualizer for Datalog RuleML via XSLT
2.0 Translation to SVG by Sven Schmidt and Martin Koch:
An Int'l Rule Challenge 2013 paper & demo introduced Grailog KS Viz

– Team 8 Visualizing SWRL’s Unary/Binary Datalog RuleML
in Grailog by Bo Yan, Junyan Zhang, and Ismail Akbari:
A Canadian Semantic Web Symposium 2013 paper gave an overview

• Grailog invites feature choice or combination
– E.g. n-ary hyperarcs or n-slot frames or both

• Grailog Initiative on open standardization
calls for further feedback for future 1.x versions
62
Future Work (1)
• Refine/extend Grailog, e.g. along with API4KB effort
– Compare with other graph formalisms, e.g. Conceptual
Graphs (http://conceptualstructures.org) and CoGui tool
– Define mappings to/fro UML structure diagrams + OCL,
adopting UML behavior diagrams (http://www.uml.org)

• Implement further tools, e.g. as use case for
(Functional) RuleML (http://ruleml.org/fun) engines
– More mappings between graphs, logic, and RuleML/XML:
Grailog generators: Further symbolic-to-visual mappings
Grailog parsers:
Initial visual-to-symbolic mappings
– Graph indexing & querying (cf. http://www.hypergraphdb.org)
– Graph transformations (normal form, typing homomorphism, merge, ...)
– Advanced graph-theoretical operations (e.g., path tracing)
– Exploit Grailog parallelism in implementation

63
Future Work (2)
• Develop a Grailog structure editor, e.g. supporting:
– Auto-specialize of neutral application boxes (angles) to
function apps (2caves) or relation apps (2vexes), depending on contents
– Auto-specialize of neutral operator boxes (angles) to
functions (4caves) or relations (4vexes), depending on context

• Benefit from, and contribute to, Protégé visualization
plug-ins such as Jambalaya/OntoGraf and OWLViz
for OWL ontologies and Axiomé for SWRL rules
• Proceed from the 2-dimensional (planar) Grailog to a
3-dimensional (spatial) one
– Utilize advantages of crossing-free layout, spatial shortcuts,
and analogical representation of 3D worlds
– Mitigate disadvantages of occlusion and
of harder spatial orientation and navigation

• Consider the 4th (temporal) dimension of animations
to visualize logical inferences, graph processing, etc.
64

More Related Content

What's hot

A minimization approach for two level logic synthesis using constrained depth...
A minimization approach for two level logic synthesis using constrained depth...A minimization approach for two level logic synthesis using constrained depth...
A minimization approach for two level logic synthesis using constrained depth...IAEME Publication
 
Recognition as Graph Matching
  Recognition as Graph Matching  Recognition as Graph Matching
Recognition as Graph MatchingVishakha Agarwal
 
Au 2008 Gs100 1 P Getting Spatial With
Au 2008   Gs100 1 P Getting Spatial WithAu 2008   Gs100 1 P Getting Spatial With
Au 2008 Gs100 1 P Getting Spatial WithRichard Chappell, GISP
 
Graph analytic and machine learning
Graph analytic and machine learningGraph analytic and machine learning
Graph analytic and machine learningStanley Wang
 
An improved graph drawing algorithm for email networks
An improved graph drawing algorithm for email networksAn improved graph drawing algorithm for email networks
An improved graph drawing algorithm for email networksZakaria Boulouard
 
Relaxing global-as-view in mediated data integration from linked data
Relaxing global-as-view in mediated data integration from linked dataRelaxing global-as-view in mediated data integration from linked data
Relaxing global-as-view in mediated data integration from linked dataAlessandro Adamou
 
141222 graphulo ingraphblas
141222 graphulo ingraphblas141222 graphulo ingraphblas
141222 graphulo ingraphblasMIT
 
141205 graphulo ingraphblas
141205 graphulo ingraphblas141205 graphulo ingraphblas
141205 graphulo ingraphblasgraphulo
 
A Graph Summarization: A Survey | Summarizing and understanding large graphs
A Graph Summarization: A Survey | Summarizing and understanding large graphsA Graph Summarization: A Survey | Summarizing and understanding large graphs
A Graph Summarization: A Survey | Summarizing and understanding large graphsaftab alam
 
Distributed graph summarization
Distributed graph summarizationDistributed graph summarization
Distributed graph summarizationaftab alam
 
Lec5 pagerank
Lec5 pagerankLec5 pagerank
Lec5 pagerankCarlos
 
Pagerank (from Google)
Pagerank (from Google)Pagerank (from Google)
Pagerank (from Google)Sri Prasanna
 
LATTICE-CELL : HYBRID APPROACH FOR TEXT CATEGORIZATION
LATTICE-CELL : HYBRID APPROACH FOR TEXT CATEGORIZATIONLATTICE-CELL : HYBRID APPROACH FOR TEXT CATEGORIZATION
LATTICE-CELL : HYBRID APPROACH FOR TEXT CATEGORIZATIONcsandit
 

What's hot (20)

A minimization approach for two level logic synthesis using constrained depth...
A minimization approach for two level logic synthesis using constrained depth...A minimization approach for two level logic synthesis using constrained depth...
A minimization approach for two level logic synthesis using constrained depth...
 
Pg3426762678
Pg3426762678Pg3426762678
Pg3426762678
 
Recognition as Graph Matching
  Recognition as Graph Matching  Recognition as Graph Matching
Recognition as Graph Matching
 
Au 2008 Gs100 1 P Getting Spatial With
Au 2008   Gs100 1 P Getting Spatial WithAu 2008   Gs100 1 P Getting Spatial With
Au 2008 Gs100 1 P Getting Spatial With
 
Dawak f v.6camera-1
Dawak f v.6camera-1Dawak f v.6camera-1
Dawak f v.6camera-1
 
Graph analytic and machine learning
Graph analytic and machine learningGraph analytic and machine learning
Graph analytic and machine learning
 
An improved graph drawing algorithm for email networks
An improved graph drawing algorithm for email networksAn improved graph drawing algorithm for email networks
An improved graph drawing algorithm for email networks
 
An Algebra of Hierarchical Graphs
An Algebra of Hierarchical GraphsAn Algebra of Hierarchical Graphs
An Algebra of Hierarchical Graphs
 
Relaxing global-as-view in mediated data integration from linked data
Relaxing global-as-view in mediated data integration from linked dataRelaxing global-as-view in mediated data integration from linked data
Relaxing global-as-view in mediated data integration from linked data
 
141222 graphulo ingraphblas
141222 graphulo ingraphblas141222 graphulo ingraphblas
141222 graphulo ingraphblas
 
141205 graphulo ingraphblas
141205 graphulo ingraphblas141205 graphulo ingraphblas
141205 graphulo ingraphblas
 
A Graph Summarization: A Survey | Summarizing and understanding large graphs
A Graph Summarization: A Survey | Summarizing and understanding large graphsA Graph Summarization: A Survey | Summarizing and understanding large graphs
A Graph Summarization: A Survey | Summarizing and understanding large graphs
 
Networkx tutorial
Networkx tutorialNetworkx tutorial
Networkx tutorial
 
Distributed graph summarization
Distributed graph summarizationDistributed graph summarization
Distributed graph summarization
 
Lec5 pagerank
Lec5 pagerankLec5 pagerank
Lec5 pagerank
 
Pagerank (from Google)
Pagerank (from Google)Pagerank (from Google)
Pagerank (from Google)
 
Graph Based Pattern Recognition
Graph Based Pattern RecognitionGraph Based Pattern Recognition
Graph Based Pattern Recognition
 
Lec5 Pagerank
Lec5 PagerankLec5 Pagerank
Lec5 Pagerank
 
LATTICE-CELL : HYBRID APPROACH FOR TEXT CATEGORIZATION
LATTICE-CELL : HYBRID APPROACH FOR TEXT CATEGORIZATIONLATTICE-CELL : HYBRID APPROACH FOR TEXT CATEGORIZATION
LATTICE-CELL : HYBRID APPROACH FOR TEXT CATEGORIZATION
 
A survey of xml tree patterns
A survey of xml tree patternsA survey of xml tree patterns
A survey of xml tree patterns
 

Similar to From Data to Knowledge thru Grailog Visualization

Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXBenjamin Bengfort
 
The Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing SystemsThe Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing SystemsNeo4j
 
Using Met-modeling Graph Grammars and R-Maude to Process and Simulate LRN Models
Using Met-modeling Graph Grammars and R-Maude to Process and Simulate LRN ModelsUsing Met-modeling Graph Grammars and R-Maude to Process and Simulate LRN Models
Using Met-modeling Graph Grammars and R-Maude to Process and Simulate LRN ModelsWaqas Tariq
 
Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...
Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...
Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...PhiloWeb
 
Data Analytics with R and SQL Server
Data Analytics with R and SQL ServerData Analytics with R and SQL Server
Data Analytics with R and SQL ServerStéphane Fréchette
 
Spark Meetup @ Netflix, 05/19/2015
Spark Meetup @ Netflix, 05/19/2015Spark Meetup @ Netflix, 05/19/2015
Spark Meetup @ Netflix, 05/19/2015Yves Raimond
 
240115_Thanh_LabSeminar[Don't walk, skip! online learning of multi-scale netw...
240115_Thanh_LabSeminar[Don't walk, skip! online learning of multi-scale netw...240115_Thanh_LabSeminar[Don't walk, skip! online learning of multi-scale netw...
240115_Thanh_LabSeminar[Don't walk, skip! online learning of multi-scale netw...thanhdowork
 
Graphical Structure Learning accelerated with POWER9
Graphical Structure Learning accelerated with POWER9Graphical Structure Learning accelerated with POWER9
Graphical Structure Learning accelerated with POWER9Ganesan Narayanasamy
 
Graph convolutional networks in apache spark
Graph convolutional networks in apache sparkGraph convolutional networks in apache spark
Graph convolutional networks in apache sparkEmiliano Martinez Sanchez
 
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...Jinho Choi
 
Laplacian-regularized Graph Bandits
Laplacian-regularized Graph BanditsLaplacian-regularized Graph Bandits
Laplacian-regularized Graph Banditslauratoni4
 
How to Analyze the Results of LinearPrograms—Part 1 Prelimi.docx
How to Analyze the Results of LinearPrograms—Part 1 Prelimi.docxHow to Analyze the Results of LinearPrograms—Part 1 Prelimi.docx
How to Analyze the Results of LinearPrograms—Part 1 Prelimi.docxpooleavelina
 
A Subgraph Pattern Search over Graph Databases
A Subgraph Pattern Search over Graph DatabasesA Subgraph Pattern Search over Graph Databases
A Subgraph Pattern Search over Graph DatabasesIJMER
 
Programming in python
Programming in pythonProgramming in python
Programming in pythonIvan Rojas
 
Exploring optimizations for dynamic PageRank algorithm based on GPU : V4
Exploring optimizations for dynamic PageRank algorithm based on GPU : V4Exploring optimizations for dynamic PageRank algorithm based on GPU : V4
Exploring optimizations for dynamic PageRank algorithm based on GPU : V4Subhajit Sahu
 
ScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
ScaleGraph - A High-Performance Library for Billion-Scale Graph AnalyticsScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
ScaleGraph - A High-Performance Library for Billion-Scale Graph AnalyticsToyotaro Suzumura
 
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph KernelsDDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph Kernelsivaderivader
 

Similar to From Data to Knowledge thru Grailog Visualization (20)

Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
 
An Intoduction to R
An Intoduction to RAn Intoduction to R
An Intoduction to R
 
The Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing SystemsThe Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing Systems
 
Using Met-modeling Graph Grammars and R-Maude to Process and Simulate LRN Models
Using Met-modeling Graph Grammars and R-Maude to Process and Simulate LRN ModelsUsing Met-modeling Graph Grammars and R-Maude to Process and Simulate LRN Models
Using Met-modeling Graph Grammars and R-Maude to Process and Simulate LRN Models
 
Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...
Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...
Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...
 
Data Analytics with R and SQL Server
Data Analytics with R and SQL ServerData Analytics with R and SQL Server
Data Analytics with R and SQL Server
 
Datamining with R
Datamining with RDatamining with R
Datamining with R
 
Spark Meetup @ Netflix, 05/19/2015
Spark Meetup @ Netflix, 05/19/2015Spark Meetup @ Netflix, 05/19/2015
Spark Meetup @ Netflix, 05/19/2015
 
240115_Thanh_LabSeminar[Don't walk, skip! online learning of multi-scale netw...
240115_Thanh_LabSeminar[Don't walk, skip! online learning of multi-scale netw...240115_Thanh_LabSeminar[Don't walk, skip! online learning of multi-scale netw...
240115_Thanh_LabSeminar[Don't walk, skip! online learning of multi-scale netw...
 
Ijcatr04051012
Ijcatr04051012Ijcatr04051012
Ijcatr04051012
 
Graphical Structure Learning accelerated with POWER9
Graphical Structure Learning accelerated with POWER9Graphical Structure Learning accelerated with POWER9
Graphical Structure Learning accelerated with POWER9
 
Graph convolutional networks in apache spark
Graph convolutional networks in apache sparkGraph convolutional networks in apache spark
Graph convolutional networks in apache spark
 
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...
 
Laplacian-regularized Graph Bandits
Laplacian-regularized Graph BanditsLaplacian-regularized Graph Bandits
Laplacian-regularized Graph Bandits
 
How to Analyze the Results of LinearPrograms—Part 1 Prelimi.docx
How to Analyze the Results of LinearPrograms—Part 1 Prelimi.docxHow to Analyze the Results of LinearPrograms—Part 1 Prelimi.docx
How to Analyze the Results of LinearPrograms—Part 1 Prelimi.docx
 
A Subgraph Pattern Search over Graph Databases
A Subgraph Pattern Search over Graph DatabasesA Subgraph Pattern Search over Graph Databases
A Subgraph Pattern Search over Graph Databases
 
Programming in python
Programming in pythonProgramming in python
Programming in python
 
Exploring optimizations for dynamic PageRank algorithm based on GPU : V4
Exploring optimizations for dynamic PageRank algorithm based on GPU : V4Exploring optimizations for dynamic PageRank algorithm based on GPU : V4
Exploring optimizations for dynamic PageRank algorithm based on GPU : V4
 
ScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
ScaleGraph - A High-Performance Library for Billion-Scale Graph AnalyticsScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
ScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
 
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph KernelsDDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
 

More from giurca

Microdata for Dummies
Microdata for DummiesMicrodata for Dummies
Microdata for Dummiesgiurca
 
Rule-based Modeling of Mashups
Rule-based Modeling of MashupsRule-based Modeling of Mashups
Rule-based Modeling of Mashupsgiurca
 
Mashups and Web Services
Mashups and Web ServicesMashups and Web Services
Mashups and Web Servicesgiurca
 
Building Intelligent Mashups
Building Intelligent MashupsBuilding Intelligent Mashups
Building Intelligent Mashupsgiurca
 
Mashups as Collection of Widgets
Mashups as Collection of WidgetsMashups as Collection of Widgets
Mashups as Collection of Widgetsgiurca
 
Introduction to visual rules modeling
Introduction to visual rules modelingIntroduction to visual rules modeling
Introduction to visual rules modelinggiurca
 
Introduction to Rule-based Applications
Introduction to  Rule-based ApplicationsIntroduction to  Rule-based Applications
Introduction to Rule-based Applicationsgiurca
 
Intelligent Mashups
Intelligent MashupsIntelligent Mashups
Intelligent Mashupsgiurca
 
JSON Rules Language
JSON Rules LanguageJSON Rules Language
JSON Rules Languagegiurca
 
Introduction to Drools
Introduction to DroolsIntroduction to Drools
Introduction to Droolsgiurca
 
Semantic Pipes and Semantic Mashups
Semantic Pipes and Semantic MashupsSemantic Pipes and Semantic Mashups
Semantic Pipes and Semantic Mashupsgiurca
 
Annotating with RDFa
Annotating with RDFaAnnotating with RDFa
Annotating with RDFagiurca
 

More from giurca (12)

Microdata for Dummies
Microdata for DummiesMicrodata for Dummies
Microdata for Dummies
 
Rule-based Modeling of Mashups
Rule-based Modeling of MashupsRule-based Modeling of Mashups
Rule-based Modeling of Mashups
 
Mashups and Web Services
Mashups and Web ServicesMashups and Web Services
Mashups and Web Services
 
Building Intelligent Mashups
Building Intelligent MashupsBuilding Intelligent Mashups
Building Intelligent Mashups
 
Mashups as Collection of Widgets
Mashups as Collection of WidgetsMashups as Collection of Widgets
Mashups as Collection of Widgets
 
Introduction to visual rules modeling
Introduction to visual rules modelingIntroduction to visual rules modeling
Introduction to visual rules modeling
 
Introduction to Rule-based Applications
Introduction to  Rule-based ApplicationsIntroduction to  Rule-based Applications
Introduction to Rule-based Applications
 
Intelligent Mashups
Intelligent MashupsIntelligent Mashups
Intelligent Mashups
 
JSON Rules Language
JSON Rules LanguageJSON Rules Language
JSON Rules Language
 
Introduction to Drools
Introduction to DroolsIntroduction to Drools
Introduction to Drools
 
Semantic Pipes and Semantic Mashups
Semantic Pipes and Semantic MashupsSemantic Pipes and Semantic Mashups
Semantic Pipes and Semantic Mashups
 
Annotating with RDFa
Annotating with RDFaAnnotating with RDFa
Annotating with RDFa
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 

From Data to Knowledge thru Grailog Visualization

  • 1. From Data to Knowledge through Grailog Visualization (Long version: http://www.cs.unb.ca/~boley/talks/RuleMLGrailog.pdf) Harold Boley Faculty of Computer Science University of New Brunswick Fredericton, NB, Canada Ontology, Rules, and Logic Programming for Reasoning and Applications (RulesReasoningLP) Ontolog Mini-Series, Session 2, 31 October 2013 1
  • 2. Acknowledgements Thanks for feedback on various versions and parts of this presentation (the long version has all parts, hence gapless slide numbers): From Data to Knowledge through Grailog Visualization ISO 15926 and Semantic Technologies 2013 Conference, Sogndal, Norway, 5-6 September 2013 Grailog 1.0: Graph-Logic Visualization of Ontologies and Rules The 7th International Web Rule Symposium (RuleML 2013), University of Washington, Seattle WA, 11-13 July 2013 The Grailog Systematics for Visual-Logic Knowledge Representation with Generalized Graphs Faculty of Computer Science Seminar Series, University of New Brunswick, Fredericton, Canada, 26 September 2012 High Performance Computing Center Stuttgart (HLRS), Stuttgart, Germany, 14 August 2012 Grailog: Mapping Generalized Graphs to Computational Logic Symposium on Natural/Unconventional Computing and its Philosophical Significance, AISB/IACAP World Congress - Alan Turing 2012, 2-6 July 2012, Birmingham, UK The Grailog User Interface for Knowledge Bases of Ontologies & Rules OMG Technical Meeting, Ontology PSIG, Cambridge, MA, 21 June 2012 Grailog: Knowledge Representation with Extended Graphs for Extended Logics SAP Enterprise Semantics Forum, 24 April 2012 Grailog: Towards a Knowledge Visualization Standard BMIR Research Colloquium, Stanford, CA, 4 April 2012 PARC Research Talk, Palo Alto, CA, 29 March 2012 RuleML/Grailog: The Rule Metalogic Visualized with Generalized Graphs PhiloWeb 2011, Thessaloniki, Greece, 5 October 2011 Grailog: Graph inscribed logic Course about Logical Foundations of Cognitive Science, TU Vienna, Austria, 20 October -10 December 2008 2
  • 3. Visualization of Data • Useful in many areas, needed for big data • Gain knowledge insights from data analytics, ideally with the entire pipeline visualized • Statistical visualization  Logical visualization Sample data visualization (http://wordle.net): Word cloud for frequency of words from BMIR abstract of this talk 3
  • 4. Visualization of Data & Knowledge: Graphs Remove Entry Barrier to Logic • From 1-dimensional symbol-logic knowledge specification to 2-dimensional graph-logic visualization in a systematic 2D syntax – Supports human in the loop across knowledge elicitation, specification, validation, and reasoning • Combinable with graph transformation, (‘associative’) indexing & parallel processing for efficient implementation of specifications • Move towards model-theoretic semantics – Unique names, as graph nodes, mapped directly/ injectively to elements of semantic interpretation 4
  • 5. Grailog Graph inscribed logic provides intuition for logic Advanced cognitively motivated systematic graph standard for visual-logic data & knowledge: Features orthogonal  easy to learn, e.g. for (Business) Analytics Generalized-graph framework as one uniform 2D syntax for major (Semantic Web) logics: Pick subset for each targeted knowledge base, map to/fro RuleML sublanguage, and exchange & validate it, posing queries again in Grailog 5
  • 6. Generalized Graphs to Represent and Map Logic Languages According to Grailog 1.0 Systematics • We have used generalized graphs for representing various logic languages, where basically: – Graph nodes (vertices) represent individuals, classes, etc. – Graph arcs (edges) represent relationships • Next slides: What are the principles of this representation and what graph generalizations are required? • Later slides: How are these graphs mapped (invertibly) to logic, thus specifying Grailog as a ‘GUI’ for knowledge? • Final slides: What is the systematics of Grailog features? 6
  • 7. Grailog Principles • Graphs should make it easier for humans to read and write logic constructs via 2D state-of-the-art representation with shorthand & normal forms, from Controlled English to logic • Graphs should be natural extensions (e.g. n-ary) of Directed Labeled Graphs (DLGs), often used to represent simple semantic nets, i.e. of atomic ground formulas in function-free dyadic predicate logic (cf. binary Datalog ground facts, RDF triples, the Open Graph, and the Knowledge Graph) • Graphs should allow stepwise refinements for all logic constructs: Description Logic constructors, F-logic frames, general PSOA RuleML terms, etc. • Extensions to boxes & links should be orthogonal 7
  • 8. Grailog Generalizations • Directed hypergraphs: For n-ary relationships, directed relation-labeled (binary) arcs will be generalized to directed relation-labeled (n-ary) hyperarcs, e.g. representing relational-database tuples • Recursive (hierarchical) graphs: For nested terms and formulas, modal logics, and modularization, ‘flat’ graphs will be generalized to allow other graphs as complex nodes to any level of ‘depth’ • Labelnode graphs: For allowing higher-order logics describing both instances and relations (predicates), arc labels will also become usable as nodes 8
  • 9. Graphical Elements: Names • Written into boxes (nodes): Unique (canonical, distinct) names unique – Unique Name Assumption (UNA) refined to Unique Name Specification (UNS) • Written onto boxes (node labels): Non-unique (alternate, ‘aka’) names non-unique – Non-unique Name Assumption (NNA) refined to Non-unique Name Specification (NNS) • Grailog combines UNS and NNS: xNS, with x = U or N 9
  • 10. Instances: Individual Constants with Unique Name Specifications mapping General: Graph (node) Logic unique unique Examples: Graph Logic Warren Buffett Warren Buffett General Electric General Electric US$ 3 000 000 000 US$ 3 000 000 000 10
  • 11. Instances: Individual Constants with Non-unique Name Specifications General: Graph (node) non-unique mapping Logic (vertical bar for non-uniqueness) |non-unique Examples: Graph Logic WB |WB GE |GE US$ 3B |US$ 3B 11
  • 12. Graphical Elements: Hatching Patterns • No hatching (boxes): Constant • Hatching (elementary boxes): Variable 12
  • 13. Parameters: Individual Variables General: Graph (hatched node) Logic (italics font, POSL uses “?” prefix) variable Examples: Graph variable Logic X X Y Y A A 13
  • 14. Predicates: Binary Relations (1) General: Graph (labeled arc) inst1 binrel inst2 Example: Graph Warren Buffett Trust Logic binrel(inst1, inst2) Logic General Electric Trust(Warren Buffett, General Electric ) 14
  • 15. Predicates: Binary Relations (2) General: Graph (labeled arc) var1 binrel Example: Graph X Trust var2 Logic binrel(var1, var2) Logic Y Trust(X,Y) 15
  • 16. Graphical Elements: Arrows (1) • Labeled arrows (directed links) for arcs and hyperarcs (where hyperarcs ‘cut through’ nodes intermediate between first and last) 16
  • 17. Predicates: n-ary Relations (n>1) General: Graph (hyperarc) Logic rel inst1 inst2 instn-1 Example: Graph (n=3) WB Invest instn rel(inst1, inst2, ..., instn-1, instn) Logic GE US$ 3·109 Invest(|WB, |GE, US$ 3·109) 17
  • 18. Implicit Conjunction of Formula Graphs Co-Occurrence on Graph Top-Level General: Graph (m hyperarcs) inst1,1 rel1 inst1,2 inst1,n1 instm,1 relm instm,2 instm,nm ... Example: Graph (2 hyperarcs) WB GE US$ Invest JS 3·109 VW Invest US$ 2·104 Logic rel1(inst1,1, inst1,2, ..., inst1,n1)   relm(instm,1, instm,2, ...,instm,nm) ... Logic Invest(|WB, |GE, US$ 3·109)  Invest(|JS, |VW, US$ 2·104) 18
  • 19. 34 Explicit Conjunction of Formula Graphs: Co-Occurrence in (parallel-processing) And Node General: Graph (solid+linear) inst1,1 rel1 inst1,2 inst1,n1 instm,1 relm instm,2 instm,nm ... Example: Graph WB JS US$ 3·109 VW Invest (rel1(inst1,1, inst1,2, ..., inst1,n1)   relm(instm,1, instm,2, ...,instm,nm)) ... Logic GE Invest Logic US$ 2·104 (Invest(|WB, |GE, US$ 3·109)  Invest(|JS, |VW, US$ 2·104))19
  • 20. Disjunction of Formula Graphs: Co-Occurrence in Or Node General: Graph (solid+wavy) inst1,1 rel1 inst1,2 inst1,n1 instm,1 relm instm,2 instm,nm ... Example: Graph WB JS US$ 3·109 VW Invest (rel1(inst1,1, inst1,2, ..., inst1,n1)   relm(instm,1, instm,2, ...,instm,nm) ) ... Logic GE Invest Logic US$ 2·104 (Invest(|WB, |GE, US$ 3·109)  Invest(|JS, |VW, US$ 2·104))20
  • 21. From Hyperarc Crossings to Node Copies as a Normalization Sequence (1) Hypergraph (2 hyperarcs, crossing inside a node) John Show Mary Teach Latin DLG (4 arcs, do not specify to whom Latin is shown or taught) Show Paul John Kate Mary Teach Latin to to Paul Kate Symbolic Controlled English “John shows Latin to Kate. Mary teaches Latin to Paul.” 21
  • 22. From Hyperarc Crossings to Node Copies as a Normalization Sequence (1*) Hypergraph (2 hyperarcs, DLG (4 arcs, do not specify crossing to whom Latin outside nodes) is shown or taught) John Show Mary Teach Latin Show Paul John Kate Mary Teach Latin to to Paul Kate 22
  • 23. From Hyperarc Crossings to Node Copies as a Normalization Sequence (1**) Hypergraph (2 hyperarcs, DLG (4 arcs, do not specify parallel-cutting to whom Latin a node) is shown or taught) John Show Kate John Show Kate Latin Latin Mary Teach to Paul Mary Teach to Paul The hyperarc for, e.g., ternary Show(John,Latin,Kate) can be seen as the path composition of 2 arcs for binary Show(John,Latin) and binary to(Latin,Kate) 23
  • 24. From Hyperarc Crossings to Node Copies  Insert on Correct Binary Reduction Hypergraph (2 hyperarcs, DLG (8 arcs with 4 ‘reified’ parallel-cutting relation/ship nodes to a node) point to arguments) Show Show1 arg1 John Show Kate arg3 Kate John Latin Latin Mary Teach arg2 Paul Paul Mary arg1 arg2 arg3 Teach1 Teach 24
  • 25. From Hyperarc Crossings to Node Copies as a Normalization Sequence (1***) Hypergraph (2 hyperarcs, employing a node copy) John Show Latin Kate Mary Teach Latin Paul Logic (2 relations, employing a symbol copy) Show(John, Latin, Kate)  Teach(Mary, Latin, Paul) Both ‘Latin’ occurrences remain one node even when copied for easier layout: Having a unique name, ‘Latin’ copies can be merged again. This “fully node copied” normal form can help to learn the symbolic form, is implemented by Grailog KS Viz, and demoed in the Loan Processor test suite 25
  • 26. From Predicate Labels on Hyperarcs to Labelnodes Starting Hyperarcs General: Graph (hyperarc with Logic rect4vex-shaped rel(inst1, inst2, ..., labelnode) instn-1, instn) rel inst1 rel inst2 instn-1 instn (Shorthand) inst1 inst2 instn-1 instn (Normal Form) Example: Graph (n=3) WB Invest WB Invest GE GE Logic Invest(|WB, |GE, US$ 3·109 US$ 3·109) US$ 3·109 26
  • 27. Predicates: Unary Relations (Classes, Concepts, Types) General: Graph (class applied to instance node) Logic class class(inst1) HasInstance inst1 Example: Graph Billionaire Logic Billionaire( Warren Buffett) Warren Buffett 27
  • 28. Graphical Elements: Arrows (2) • Arrows for special arcs and hyperarcs – HasInstance: Connects class, as labelnode, with instance (hyperarc of length 1) • As in DRLHs and shown earlier, labelnodes can also be used (instead of labels) for hyperarcs of length > 1 – SubClassOf: Connects subclass, unlabeled, with superclass (arc, i.e. of length 2) – Implies: Hyperarc from premise(s) to conclusion – Object-IDentified slots and shelves: Bulleted arcs and hyperarcs 28
  • 29. Class Hierarchies (Taxonomies): Subclass Relation General: Graph (two nodes) class2 SubClassOf (Description) Logic class1 class2 class1 Example: Graph Rich (Description) Logic Billionaire Rich Billionaire 29
  • 30. Intensional-Class Constructions (Ontologies): Class Intersection General: class1 Graph (solid+linear node, as for conjunction) class2 ... classn (Description) Logic class1 class2 ... classn Example: Graph (Description) Logic Billionaire Benefactor Environmentalist Billionaire Benefactor Environmentalist 30
  • 31. Intensional-Class Applications: Class Intersection General: class1 Graph (complex class applied to instance node) class2 ... classn (xNS-Description) Logic (class1 class2 ... classn) (inst1) inst1 Example: Graph Billionaire Benefactor (xNS-Description) Environmentalist Warren Buffett Logic (Billionaire Benefactor Environmentalist) (Warren Buffett) 31
  • 32. Intensional-Class Constructions (Ontologies): Class Union General: class1 Graph (solid+wavy node, as for disjunction) class2 ... classn (Description) Logic class1 class2 ... classn Example: Graph (Description) Logic Billionaire Benefactor Environmentalist Billionaire Benefactor Environmentalist 32
  • 33. Intensional-Class Applications: Class Union General: class1 Graph (complex class applied to instance node) class2 ... classn (xNS-Description) Logic (class1 class2 ... classn) (inst1) inst1 Example: Graph Billionaire Benefactor (xNS-Description) Environmentalist Warren Buffett Logic (Billionaire Benefactor Environmentalist) (Warren Buffett) 33
  • 34. Class Hierarchies (Taxonomy DAGs): Top and Bottom General: Top (special node) (Description) Logic ┬ ┬ (owl:Thing) General: Bottom (special node) (Description) Logic ┴ ┴ (owl:Nothing)34
  • 35. Intensional Class Constructions (Ontologies): Class-Property RestrictionExistential (1*) General: ┬ Graph (normal) binrel class Example: Graph ┬ (Description) Logic binrel . class (Description) Logic  Substance Physical Substance . Physical A kind of schema, where Top class is specialized to have (multi-valued) attribute/property, Substance, with at least one value typed by class Physical 35
  • 36. Instance Assertions (Populated Ontologies): Using Restriction for ABoxExistential (1*) General: Graph (normal) binrel ┬ class binrel inst0 inst1 Example: Graph ┬  Substance Socrates Physical Substance P1 (xNS-Description) Logic binrel.class(inst0)  class(inst1)  binrel(inst0, inst1) (xNS-Description) Logic Substance.Physical (Socrates)  Physical(P1)  Substance(Socrates, P1) 36
  • 37. Intensional Class Constructions (Ontologies): Class-Property RestrictionUniversal (1*) General: ┬ Graph (normal) binrel class Example: Graph ┬ (Description) Logic binrel . class (Description) Logic  Substance Physical Substance . Physical A kind of schema, where Top class is specialized to have (multi-valued) attribute/property, Substance, with each value typed by class Physical 37
  • 38. 77 Instance Assertions (Populated Ontologies): Using Restriction for ABoxUniversal (1*) General: Graph (normal) binrel ┬ class inst0 binrel inst 1 ... binrel ... instn Example: Graph ┬ Physical Socrates Substance binrel.class(inst0)  class(inst1)  ... class(instn)  binrel(inst0, inst1)  ... binrel(inst0, instn) (xNS-Description) Logic  Substance Substance (xNS-Description) Logic P1 P2 Substance.Physical (Socrates)  Physical(P1)  Physical(P2)  Substance(Socrates, P1)  Substance(Socrates, P2) 38
  • 39. Existential vs. Universal Restriction (Physical/Mental Assumed Disjoint: Can Be Explicated via Bottom Intersection) C o n s i s t e n t I n c o n s i s t e n t Example: Graph Mental ┬  Substance Physical Substance Socrates P1 P3 Substance Mental ┬  Substance Physical Socrates Substance Substance.Physical (Socrates)  Physical(P1)  Mental(P3)  Substance(Socrates, P1)  Substance(Socrates, P3) Example: Graph Substance (xNS-Description) Logic P1 P3 (xNS-Description) Logic Substance.Physical (Socrates)  Physical(P1)  Mental(P3)  Substance(Socrates, P1)  Substance(Socrates, P3) 39
  • 40. LuckyParent Example (1) LuckyParent LuckyParent ≡ Person Spouse.Person Child.(Poor Child.Doctor) EquivalentClasses ┬ Person  Child Poor  Child Doctor  Spouse 40
  • 41. LuckyParent Example (1*) LuckyParent LuckyParent ≡ Person Spouse.Person Child.(Poor Child.Doctor) : ┬ Person  Child Poor  Child Doctor  Spouse Person 41
  • 42. LuckyParent Example (1**) LuckyParent ≡ Person Spouse.Person Child.(Poor LuckyParent Child.Doctor) : ┬ Person ┬  Child ┬ Poor  Child Doctor  Spouse Person 42
  • 43. LuckyParent Example (1**) LuckyParent ≡ Person Spouse.Person Child.(Poor LuckyParent Child.Doctor) : ┬ Person ┬  Child ┬ Poor  Child Doctor  Spouse Person 43
  • 44. Object-Centered Logic: Grouping Binary Relations Around Instance General: Graph (inst0-centered) class binrel1 inst0 ... inst1 binreln (Object-Centered) Logic class(inst0)  binrel1(inst0, inst1)  ... instn binreln(inst0, instn) Example: Graph (Socrates-centered) (Object-Centered) Logic Philosopher Philosopher(Socrates)  Substance(Socrates, P1)  Substance Socrates Teaching P1 Teaching(Socrates, T1) T1 44
  • 45. RDF-Triple (‘Subject’-Centered) Logic: Grouping Properties Around Instance General: Graph (inst0-centered) class property1 inst0 ... inst1 propertyn (Subject-Centered) Logic {(inst0, rdf:type, class), (inst0, property1, inst1), ... instn Example: Graph (Socrates-centered) Philosopher (inst0, propertyn, instn)} (Subject-Centered) Logic {(Socrates, rdf:type, Philosopher), Substance Socrates Teaching (Socrates, Substance, P1), P1 (Socrates, Teaching, T1)} T1 45
  • 46. Logic of Frames (‘Records’): Associating Slots with OID-Distinguished Instance General: Graph (bulleted arcs) (PSOA Frame) Logic slot1 inst0#class( slot1->inst1; class inst0 ... inst1 slotn ... instn slotn->instn) inst0  class, slot1 = inst1, ... slotn = instn Example: Graph (PSOA Frame) Logic Philosopher Socrates#Philosopher( Substance->P1; Substance Socrates Teaching P1 Teaching->T1) T1 46
  • 47. Logic of Shelves (‘Arrays’): Associating Tuple(s) with OID-Distinguished Instance General: class Graph (bulleted hyperarc) inst’1 ... (PSOA Shelf) Logic inst’m inst0#class( inst’1, …, inst’m) inst0 Example: Graph c. 469 BC Philosopher 399 BC (PSOA Shelf) Logic Socrates#Philosopher( c. 469 BC, 399 BC) Socrates 47
  • 48. 87 Positional-Slotted-Term Logic: Associating Tuple(s)+Slots with OID-Disting’ed Instance General: class Graph inst’1 slot1 inst0 ... ... inst1 slotn inst’m instn Example: Graph Philosopher c. 469 BC Substance Socrates Teaching 399 BC (PSOA PositionalSlotted-Term) Logic inst0#class( inst’1, …, inst’m; slot1->inst1; ... slotn->instn) (PSOA PositionalSlotted-Term) Logic Socrates#Philosopher( c. 469 BC, 399 BC; Substance->P1; P1 T1 Teaching->T1) 48
  • 49. Rules: Relations Imply Relations (1) General: Graph (ground, shorthand) rel 1 Logic inst1,2 inst1,n1 rel1(inst1,1, inst1,2, ..., inst1,n1)  inst2,1 rel2 inst2,2 inst2,n2 rel2(inst2,1, inst2,2, ...,inst2,n2) inst1,1 Example: Graph WB Invest Logic GE US$ JS 3·109 VW Invest US$ 5·103 Invest(|WB, |GE, US$ 3·109)  Invest(|JS, |VW, US$ 5·103) 49
  • 50. Rules: Relations Imply Relations (3) General: Graph (inst/var terms) rel1 term1,1 term1,2 term1,n1 term2,1 rel2 term2,2 term2,n2 Example: Graph WB (vari,j) rel1(term1,1, term1,2, ..., term1,n1)  rel2(term2,1, term2,2, ..., term2,n2) Logic Invest Y A Y US$ 5·103 JS Invest Logic ( Y, A) Invest(|WB,Y,A)  Invest(|JS, Y, US$ 5·103) 50
  • 51. Rules: Conjuncts Imply Relations (1*) General: Graph (prenormal) term1,1 rel1 term1,2 term1,n1 term2,1 rel2 term2,2 term2,n2 term3,1 rel3 term3,2 term3,n3 Example: Graph WB Invest Y JS Trust Invest Y (vari,j) rel1(term1,1, term1,2, ..., term1,n1)  rel2(term2,1, term2,2, ..., term2,n2)  rel3(term3,1, term3,2, ..., term3,n3) Logic Y JS Logic A US$ 5·103 ( Y, A) Invest(|WB,Y, A)  Trust(|JS, Y)  Invest(|JS, Y, US$ 5·103) 51
  • 52. Rules: Conjuncts Imply Relations (2) Example: RuleML/XML Logic <Implies closure="universal"> <And> <Atom> <Rel>Invest</Rel> <Ind unique="no">WB</Ind> <Var>Y</Var> <Var>A</Var> </Atom> 3 <Atom> <Rel>Trust</Rel> <Ind unique="no">JS</Ind> <Var>Y</Var> </Atom> Proposing an attribute unique </And> with value "no" for NNS, <Atom> and "yes" for UNS as the default <Rel>Invest</Rel> <Ind unique="no">JS</Ind> <Var>Y</Var> <Data>US$ 5·103</Data> <!– superscript “3” to be parsed as Unicode U+00B3 --> </Atom> </Implies> ( Y, A) (Invest(|WB,Y, A)  Trust(|JS, Y)  Invest(|JS, Y, US$ 5·10 )) 52
  • 53. Positional-Slotted-Term Logic: Rule-defined Anonymous Family Frame (Visualized from IJCAI-2011 Presentation) Example: Graph (PSOA PositionalSlotted-Term) Logic family ?Hu husb ?1 married ?Hu wife ?Wi child ?Ch ?Wi married Joe kid ?Hu ?Wi ?Ch Sue ?Ch kid Group ( Forall ?Hu ?Wi ?Ch ( ?1#family(husb->?Hu wife->?Wi child->?Ch) :And(married(?Hu ?Wi) Or(kid(?Hu ?Ch) kid(?Wi ?Ch))) ) kid Sue Pete married(Joe Sue) kid(Sue Pete) ) 53
  • 54. Positional-Slotted-Term Logic: Ground Facts, incl. Deduced Frame, Model Family Semantics Example: Graph (PSOA PositionalSlotted-Term) Logic family husb o Joe Group ( wife Previous slide’s existential variable ?1 in rule head becomes new OID constant o in frame fact, deduced from relational facts Sue child o#family(husb->Joe wife->Sue child->Pete) Pete married Joe kid Sue Sue Pete married(Joe Sue) kid(Sue Pete) ) For reference implementation of PSOA querying see PSOATransRun 54
  • 55. Positional-Slotted-Term Logic: Conversely, Given Facts, Rule Can Be Inductively Learned family Example: Graph Mn husb family husb o1 on M1 wife W1 child wife Wn child Cz C1 married Mn Abstracting OID constants o1, ... , on married M1 to regain existential variable ?1 of previous rule, now induced from matching kid Mn relational and frame facts kid M1 C1 Wn W1 Cx kid Wn kid W1 Cy C1 55
  • 56. Orthogonal Graphical Features  Axes of Grailog Systematics • Box axes: • Corners: pointed vs. snipped vs. rounded • To quote/copy vs. reify/instantiate vs. evaluate contents (cf. Lisp, Prolog, Relfun, Hilog, RIF, CL, and IKL) • Shapes (rectangle-derived): composed from sides that are straight vs. concave vs. convex • For neutral vs. function vs. relation contents • Contents: elementary vs. complex nodes • Arrow axes: • Shafts: single vs. double • Heads: triangular vs. diamond • Tails: plain vs. bulleted vs. colonized • Box & Arrow (line-style) axes: solid vs. dashed, linear vs. (box only) wavy 56
  • 57. Graphical Elements: Box Systematics  Axes of Corners and Shapes Corner: Shape: Per … Copy Rect- … Instantiation … Value Snip- Round- Neutral -angle Individual (Function Application) -2cave Function -4cave Proposition (Relation Application) -2vex Relation (incl. Class) -4vex 57
  • 58. Graphical Elements: Boxes  Function/Relation-Neutral Shape of Angles Varied w.r.t. Corner Dimension – Rectangle: Neutral ‘per copy’ nodes quote their contents X=3 : Mult X 2 Mult X 2 – Snipangle (octagon): Neutral ‘per instantiation’ nodes dereference contained variables to values from context X=3 : Mult X 2 Mult 3 2 – Roundangle (rounded angles): Neutral ‘per value’ nodes evaluate their contents through instantiation of variables and activation of function/relation applications X=3 : Mult X 2 6 Assuming Mult built-in function 58
  • 59. Graphical Elements: Boxes  Concave – Rect2cave (rectangle with 2 concave - top/bottom - sides): Elementary nodes for individuals (instances). Complex nodes for quoted instance-denoting terms (constructor-function applications) – Snip2cave (snipped): Elementary nodes for variables. Complex nodes for instantiated (reified) function applications – Round2cave (rounded): Complex nodes for evaluated built-in or equation-defined function applications – Rect4cave (4 concave sides): Elementary nodes for fct’s. Complex nodes for quoted functional (function-denoting) terms – Snip4cave: Complex nodes for instantiated funct’l terms – Round4cave: Complex nodes for evaluated functional applications (active, function-returning applications) 59
  • 60. Graphical Elements: Boxes  Convex – Rect2vex (rectangle with 2 convex - top/bottom - sides): Elementary nodes for truth constants (true, false, unknown). Complex nodes for quoted truth-denoting propositions (embedded relation applications) – Snip2vex: Complex nodes for instantiated (reified) relation applications – Round2vex: Complex nodes for evaluated relation applications (e.g. as atomic formulas) and for connective uses – Rect4vex: Elementary nodes for relations, e.g. unary ones (classes). Complex nodes for quoted relational (relation-denoting) terms – Snip4vex: Complex nodes for instantiated relat’l terms – Round4vex (oval): Complex nodes for evaluated relat’l 60 applications (active, relation-returning applications)
  • 61. Conclusions (1) • Grailog 1.0 incorporates feedback on earlier versions • Graphical elements for novel box & arrow systematics using orthogonal graphical features – Leaving color (except for IRIs) for other purposes, e.g. highlighting subgraphs (for retrieval and inference) • Introducing Unique vs. Non-unique Name Specification • Focus on mapping to a family of logics as in RuleML • Use cases from cognition to technology to business – E.g. “Logical Foundations of Cognitive Science”: http://www.ict.tuwien.ac.at/lva/Boley_LFCS/index.html • Processing of earlier Grailog-like DRLHs studied in Lisp, FIT, and Relfun • For Grailog, aligned with Web-rule standard RuleML: http://wiki.ruleml.org/index.php/Grailog (test suite) 61
  • 62. Conclusions (2) • Symbolic-to-visual translators started as Semantic Web Techniques Fall 2012 Projects: – Team 1 A Grailog Visualizer for Datalog RuleML via XSLT 2.0 Translation to SVG by Sven Schmidt and Martin Koch: An Int'l Rule Challenge 2013 paper & demo introduced Grailog KS Viz – Team 8 Visualizing SWRL’s Unary/Binary Datalog RuleML in Grailog by Bo Yan, Junyan Zhang, and Ismail Akbari: A Canadian Semantic Web Symposium 2013 paper gave an overview • Grailog invites feature choice or combination – E.g. n-ary hyperarcs or n-slot frames or both • Grailog Initiative on open standardization calls for further feedback for future 1.x versions 62
  • 63. Future Work (1) • Refine/extend Grailog, e.g. along with API4KB effort – Compare with other graph formalisms, e.g. Conceptual Graphs (http://conceptualstructures.org) and CoGui tool – Define mappings to/fro UML structure diagrams + OCL, adopting UML behavior diagrams (http://www.uml.org) • Implement further tools, e.g. as use case for (Functional) RuleML (http://ruleml.org/fun) engines – More mappings between graphs, logic, and RuleML/XML: Grailog generators: Further symbolic-to-visual mappings Grailog parsers: Initial visual-to-symbolic mappings – Graph indexing & querying (cf. http://www.hypergraphdb.org) – Graph transformations (normal form, typing homomorphism, merge, ...) – Advanced graph-theoretical operations (e.g., path tracing) – Exploit Grailog parallelism in implementation 63
  • 64. Future Work (2) • Develop a Grailog structure editor, e.g. supporting: – Auto-specialize of neutral application boxes (angles) to function apps (2caves) or relation apps (2vexes), depending on contents – Auto-specialize of neutral operator boxes (angles) to functions (4caves) or relations (4vexes), depending on context • Benefit from, and contribute to, Protégé visualization plug-ins such as Jambalaya/OntoGraf and OWLViz for OWL ontologies and Axiomé for SWRL rules • Proceed from the 2-dimensional (planar) Grailog to a 3-dimensional (spatial) one – Utilize advantages of crossing-free layout, spatial shortcuts, and analogical representation of 3D worlds – Mitigate disadvantages of occlusion and of harder spatial orientation and navigation • Consider the 4th (temporal) dimension of animations to visualize logical inferences, graph processing, etc. 64