W3C home > Mailing lists > Public > semantic-web@w3.org > April 2010

Re: Ontologies for RDF structures, not just atoms

From: Bernard Vatant <bernard.vatant@mondeca.com>
Date: Tue, 20 Apr 2010 10:26:07 +0200
Message-ID: <h2l9d93ef961004200126hd02f2ddek91ada3bafe116cfe@mail.gmail.com>
To: Pierre-Antoine Champin <swlists-040405@champin.net>
Cc: Katasonov Artem <Artem.Katasonov@vtt.fi>, "semantic-web@w3.org" <semantic-web@w3.org>

To follow-up with Pierre-Antoine

Indeed, "reifying" relationships as facts is a common practice, both natural
and scalable, and you do it whenever you want to add extra information to
the relationship (such as date, quality, contract, whatever).

If OWL does not allow to assert logical links between relationships and
facts, SPARQL CONSTRUCT can do the trick.
Suppose you have so far represented simple binary relationships "ex:dates"
and want to transform them into facts of type "ex:Couple". You can use the
following, even qualifying au passage the couple, inferring from the gender
of the members :)

CONSTRUCT { ?c   a  ex:Couple.
                       ?c   ex:member   ?x.
                       ?c   ex:member   ?y.
                       ?c   ex:type  ex:Heterosexual.}

WHERE  {?x   a  ex:Man.
               ?y   a ex:Woman.
               ?x   ex:dates  ?y}

Actually SPARQL CONSTRUCT is quite handy to translate one type of
representation into another.


2010/4/20 Pierre-Antoine Champin <swlists-040405@champin.net>

> Hi,
> On 19/04/2010 13:41, Katasonov Artem wrote:
> > (...)
> > OWL is all about defining concepts corresponding to classes of
> > resources: e.g. “Person”, “Woman”, “Husband”,  “Mother”, etc. But
> > what about a concept like “Couple”? I bet you understand what I mean
> > by this word, and this means that this concept is a part of an
> > ontology we share. The meaning of “couple” is very simple: there is
> > John, there is Mary, and there is some ex:dates link between them.
> > But OWL is useless for defining this concept - of course, unless we
> > introduce a couple as a resource, define a couple of properties to
> > link John and Mary to this resource, and add these all explicitly to
> > the linked data space - which is, I believe, is unnatural and not
> > feasible at a scale.
> I find it neither unnatural or unscalable, really :)
> If you need to consider the Couple as a concept, then you have to
> 'reify' it, litteraly 'make it a thing', i.e. a resource. Of course, you
> would only do that *when* you need to consider the concept between a
> relation (or more generally, a structure as you call it).
> As a matter of fact, this is exactly what you do in english. If you only
> need to state the fact that "John is dating Mary", you don't even need
> the notion of a couple. That notion becomes necessary if you want to
> state more things about their relation: "They have been a couple for two
> years; they are a very happy couple.".
> The good thing with english is that you can easily swap from the
> 'relation' view ("dates") to the 'reified' view ("couple"). In an
> ontology, you have to *commit* (as in "ontological commitment") to a
> particular representation, which really depends on the needs of your
> application. You can also accept both representations, and add inference
> rules that would state the equivalence between them :
>  there is a ?couple involving ?john and ?mary
>  ?john dates ?mary
> but not all ontology languages would be able to express it (I don't
> think OWL is).
> Hope this helps. For more material about that, I recommend reading the
> related section in Linked Data Patterns [1]. Funny to see the example is
> almost the same :)
>  pa
> [1] http://patterns.dataincubator.org/book/qualified-relation.html
> >
> > In other words, I speak about an ontology of concepts that correspond
> > to RDF fragments (structures, sub-graphs) rather than just RDF
> > atoms.
> >
> > In past few years, I found myself designing and using some ad-hoc
> > frameworks for such ontologies in two different projects and,
> > therefore, contexts. One was about interpretation of RDF-encoded
> > mental structures (beliefs, intentions) and communications (speech
> > acts) in multi-agent systems. The other, current, is about
> > interpretation of RDF-encoded software models. In both cases, the
> > problem in nutshell is the following: there is an RDF graph for
> > something and we want to detect if a certain “situation” occurs in it
> > – to make some conclusions based on that. It is like answering a
> > question about if there are any couples in a group of people. As
> > “situation” of interest are many, we want to have a formal ontology
> > of those. In other words, I believe that the applications where the
> > problem occurs can be rather widespread.
> >
> > I plan to work on this further, maybe to generalize on the approaches
> > I used before.
> >
> > I wanted to ask for any tips about related previous research,
> > discussions, postponed issues in standard-setting groups. Anyone is
> > familiar with anything like this? Please comment also on the problem
> > as such. Thanks in advance
> >
> > Artem Katasonov VTT Techncal Research Center, Finland
> >

Bernard Vatant
Senior Consultant
Vocabulary & Data Engineering
Tel:       +33 (0) 971 488 459
Mail:     bernard.vatant@mondeca.com
3, cité Nollez 75018 Paris France
Web:    http://www.mondeca.com
Blog:    http://mondeca.wordpress.com
Received on Tuesday, 20 April 2010 08:26:42 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:17 UTC