Maybe we can solve the problem about modelling classes (and using OO and 
UML notions for knowledge representation) with the following (pseudo)code

- We can define ConceptNode "Object", that consists from the set or 
properties and functions

- We can require that any class e.g. Invoice is the inherited from the 
Object:
  IntensionalInheritanceLink
    Invoice
    Object

- We can require that any more specifica class, e.g. VATInvoice is the 
inherited from the more general class:
  IntensionalInheritanceLink
    VATInvoice
    Invoice

- We can require that any instance is inherited from the concrete class:
  ExtensionalInheritanceLinks
    invoice_no_2314
    VATInvoice

But I don't know yet what can and what can not be the parent for 
extensional and intensional inheritance. Can an entity be extensionally 
inherited from the more complex object or it can be extensionally inherited 
from empty set-placeholder only. When we introduce notion of set, then the 
futher question always arise - does OpenCog make distinction between sets 
and proper classes?

There is second problem as well - there is only one - mixed 
InheritanceLink. One can use SubsetLink for the extensional inheritance 
(still it feels strange), but there is certainly necessary syntactic sugar 
for intensional inheritance, because it is hard to write and read 
SubsetLink of property sets again and again 
(http://wiki.opencog.org/w/InheritanceLink).

-- 
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/a6d0102e-9ca1-4204-8dd4-75a9fb2ec06b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to