RDF PROLOG кодирование

RDF - PROLOG кодирование - 1

~
Maybe it is my PROLOG legacy - but I am still not sure how can I express in
> Protege predicates like
>
> father (Tom,Sam) or
> invented (Gutenberg, printing)
>
> Still - I would like to ask for some help again, because I hope this topic
> could be iinteresting for many people.


In terms of Protege's frame-base representation, your predicates can be
represented as follows:

Define People as a class that has "name," (type String) "father," (type
Instance, allowed-class People) and "invented" (type String) as template
slots. Create 3 instances of People, where the "name" slot of the
instances are "Tom", "Sam" and "Gutenberg" respectively. Add the
instance whose name is "Sam" as the value of "father" slot of the "Tom"
instance, and "printing" as a slot value of the "invented" slot of the
Gutenberg instance.


>
> Is there a generic (or any special) Protege - non-Protege AGENT ontology
> encoding?

Have you looked at the Protege/Jess/Jade integration (
http://jadejessprotege.net/ )?

Samson
--
----------
Samson Tu mailto:tu@smi.stanford.edu
Senior Research Scientiest http://www.smi.stanford.edu/people/tu/
Stanford Medical Informatics phone: 1-650-725-3391
Stanford University fax: 1-650-725-7944
------

Что такое REIFY? - Если знаешь - не читай!

In general "reify" means to treat an abstract concept as if it has a
concrete or material form

for stuff like this, it means take something that you would normally
represent as a class (or other language element) and represent it explicitly
as an object.

so, all I was intending to mean is that you create a class hierarchy of
predicate types, each predicate instance is actually represented as an
object,

thus, father(Tom, Sam) is an instance of a general class of predicates, say
X(Person, Person), i.e. this is a class with 2 slots, (say "arg1" "arg2")
that are restricted to allow instance values of the apropriate type. A
subclass of X could further restrict the type of an argument by requiring
that "arg1" only allow Employee instances. there is enough variability in
slot value types that you can represent predicates with variable arity,
etc...

if you require more sophisticated constraints, then I would look into the
use of PAL.

it all comes down to the code that uses the ontology as input, as long as
the representation is parsimonious (enough), maps easily to the apropriate
data structures, and makes sense for the class of applications that will use
it, then it is a good representation.

so a question that you should ask yourself is, is the first order logic
representation really apropriate for your uses or is it just that you are
familiar/comfortable with it. most of the ontology people seem to focus on
building a class structure that makes sense, and seek to assign fairly
significant domain semantics to the class hierarchy itself. I tend to think
of classes as structural abstractions structured for a particular
implementation and make sure that domain semantics are exclusive to the
instances and relationships between them (therefore I tend to reify first,
ask questions later). This is probably because I am a programmer first, that
has a use for ontologies. I have to keep asking myself though why
ontologists prefer it tho other way, because maybe it is a better
representation for some things (though often I think because their goal is
simply representation of knowledge rather than a specific programmatic use
for it)

The other issue is that, at least for my current company where we build and
use many different ontologies, reification lets us use one very generic
class hierarchy with all the ontologies developed and simplifies the code
that uses them. In our case, we use the class hierarchy to specify types of
nodes and types of links (which encode the formal basis for the semantics),
but domain specific classes (say "AntiDepressants" in a medical ontology)
are represented as instances of a "classifier" type (as opposed to some
"term" types, we use different link types to represent synonym versus
triggers etc... relationships)

/slr

-----Original Message-----
From: Vladimir Rykov [mailto:rykov-ont@narod.ru]
Sent: Wednesday, December 18, 2002 12:58 AM
To: steve@cataphora.com
Subject: RE: [protege-discussion] generic AGENT ontology encoding



Steve - sorry for belated response.

You reply worth more then 2 cents. :-)

But I read often in discussions the word "reify". I did some checking in WWW
glossaries and I have some ideas myself.

But - I feel it is not enough.

May I ask you to explain it?

Vlad


-----Original Message-----
From: Steve Roberts [mailto:steve@cataphora.com]
Sent: Tuesday, November 26, 2002 4:20 AM
To: 'Vladimir Rykov'
Subject: RE: [protege-discussion] generic AGENT ontology encoding


Since this issue keeps going back and forth I guess I will try my 2 cents
worth :-)

For what you seem to be looking for the answer is pretty simple, reify the
predicates. Make a class hierarchy of predicate types, each predicate is an
instance of one of these classes, arguments to the predicate are stored in
slots which take as a value other instances in the ontology. The slot name
identifies a particular argument (named arguments are used in several
programming languages and carry some benefits of their own)

-----Original Message-----
From: protege-discussion-bounce@SMI.Stanford.EDU
[mailto:protege-discussion-bounce@SMI.Stanford.EDU]On Behalf Of Vladimir
Rykov
Sent: Saturday, November 23, 2002 3:30 AM
To: protege-discussion@SMI.Stanford.EDU
Subject: [protege-discussion] generic AGENT ontology encoding




With joined efforts of Natasha F. Noy, Jennifer Vendetti, Cecil O. Lynch,
Eamonn Neylon and Ray Fergerson I seem to catch what 101 etc words mean.
Strangely, but I missed this good branch full of info on Protege site.

Maybe it is my PROLOG legacy - but I am still not sure how can I express in
Protege predicates like

father (Tom,Sam) or
invented (Gutenberg, printing)

Still - I would like to ask for some help again, because I hope this topic
could be iinteresting for many people.

Is there a generic (or any special) Protege - non-Protege AGENT ontology
encoding?

The answers like 101, 2.3x are welcome now! - Just attached links are
preferable! :-)

Thank you
Vladimir

-----------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/lists.html

Онтология агента

Since this issue keeps going back and forth I guess I will try my 2 cents
worth :-)

For what you seem to be looking for the answer is pretty simple, reify the
predicates. Make a class hierarchy of predicate types, each predicate is an
instance of one of these classes, arguments to the predicate are stored in
slots which take as a value other instances in the ontology. The slot name
identifies a particular argument (named arguments are used in several
programming languages and carry some benefits of their own)

-----Original Message-----
From: protege-discussion-bounce@SMI.Stanford.EDU
[mailto:protege-discussion-bounce@SMI.Stanford.EDU]On Behalf Of Vladimir
Rykov
Sent: Saturday, November 23, 2002 3:30 AM
To: protege-discussion@SMI.Stanford.EDU
Subject: [protege-discussion] generic AGENT ontology encoding




With joined efforts of Natasha F. Noy, Jennifer Vendetti, Cecil O. Lynch,
Eamonn Neylon and Ray Fergerson I seem to catch what 101 etc words mean.
Strangely, but I missed this good branch full of info on Protege site.

Maybe it is my PROLOG legacy - but I am still not sure how can I express in
Protege predicates like

father (Tom,Sam) or
invented (Gutenberg, printing)

Still - I would like to ask for some help again, because I hope this topic
could be iinteresting for many people.

Is there a generic (or any special) Protege - non-Protege AGENT ontology
encoding?

The answers like 101, 2.3x are welcome now! - Just attached links are
preferable! :-)

Thank you
Vladimir

-----------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/lists.html


Semantic Web - basic links

Сам PROTEGE



Hosted by uCoz