Coffeehouse Thread

2 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Classes, Properties and Inference

Back to Forum: Coffeehouse
  • User profile image

    I'm working with Knowledge Representation (KR) in my spare time at the moment. But I've been interested in it for a couple of years, on and off.

    In relation to that some questions have arisen (surfaced and perhaps resurfaced).


    1 - Class or property?

    XML begs the question: element or attribute?


    <person age="32">


    The question here is rather easy, at least the simple interpretation of it. Elements are for structured values, attributes are for values that are either atomic or pragmatically used to store structured information whilst not using the structures of XML. These are called micro{syntaxes,languages,formats}.


    <path def="m0.0,0.0,l10,10..."/>



    RDF begs the question: class or property?

    An aspect of RDF/XML syntax is that it treats attributes and elements interchangeably to both mean properties.

    Anyway - class or property?


    Male < Sex
    Female < Sex
    # Joe : Person, Male
    # Alice : Person, Female
    # Heidi : Person, Male, Female


    # Joe, Alice, Heidi : Person
    # Joe sex "Male"
    # Alice sex "Female"
    # Heidi sex "Male", "Female"

    The same question can be applied to OOP.

    I tend to think that classes are abstract sets of property configurations, meaning the class membership is itself a property, but one which could be inferred based on certain property values.

    But there is no automatic membership rules. One might say that this is a case of wanting a form of structural subtyping but actually having a intensional explicit typing, where class extension is not completely inferred but instead dictated explicitly, if we exclude subclassing.

    Structural subtyping is simpler because membership is only a function of property existence, not property configurations (value restrictions). It is also static and not a dynamic aspect computed as changes happen. This also ties into the notion of time, state and mutability, but that is probably a bit hairy to bring into this debate.

    Types and classes are just classification constructs without intrinsic semantics. It would be quite nice if such semantics were built in.

    We can call them logical/virtual/computed/inferred properties, because they only exist logically implicitly, not explicitly.

    Of course in many cases such classiciations cannot be expected to be inferred but is based on complex physiological relationships which are not present in a KR system.

    I ask this because whenever I see multiple ways to solve a problem, I want to find the optimal solution and ponder whether there is a canonical optimal way to use. The pragmatic thinking here must be that in some cases the fact base is insufficiently rich to enable rule-based class extensions (advanced "structural subtyping").

    The motivation here is to minimize redundancy, to maximize inference- and model strength. As little as possible should be stated explicitly and as much as possible should be inferred. That requires more processing power and less human typing effort - but that's the role of computers anyway.

    So what's your take on this?


    2 - Instance of or subclass of?

    This is a much simpler question and one I believe to have an answer for.

    Is a certain subcategory of wine a subclass of another wine or is it an instance of it. The clear answer to me is that it doesn't represent a physical instance, so it should be a subclass, not an instance.

    On the other hand, in a sense, except for not being concrete, a subclass could be said to be an instance, in that it entails all the properties of the superclass. But it doesn't exist per se.

    The thing is, though, that no representational individual exists per se, it's just a representation, a model, of something else, which does exist. - Or does it - again time is a factor. The temporal extension of an individual allows one to differentiate between things through time, but naturally noone wants to do that all of the time as it would probably make reasoning impractical.

    Temporal logics are interesting though.


    3 - Class disjointnes vs property disjointness vs antisymmetry

    I forget.


    That's it.

  • User profile image

    There's actually a rule language which is used to express dynamic class extension. Great. Smiley

    Semantic Web Rule Language (SWRL) - Example

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.