# Re: properties as nodes etc.

From: Seth Russell <seth@robustai.net>
Date: Tue, 18 Jun 2002 11:34:58 -0700
Message-ID: <009d01c216f6\$d9ec40a0\$657ba8c0@c1457248a.sttls1.wa.home.com>
To: "Danny Ayers" <danny666@virgilio.it>, <www-rdf-logic@w3.org>
```
From: "Danny Ayers" <danny666@virgilio.it>

> I'm struggling with an implementation problem that is rooted in MT, so I
was
> hoping someone here might be able to shed light. What I'm having a problem
> with is teasing out the inherent difference(s) between a node and arc in
an
> RDF graph. It's likely that I'm not seeing the wood for the trees, because
> I'm trying to deal with these things from an OO point of view, and find it
> difficult to hop between boxes.
>
> If we have one node connected to another by an arc, what is the
significance
> (assuming legality) of using the arc as the end node of another
> relationship?

Well I'm certainly not a MT authority here.  It seems to me that an arc
cannot be an object (in an OO sense and also in a RDF sense) unless it has
some kind of identity ... yet the RDF MT gives it none.  Of course in your
application there is nothing to prevent you from going outside of RDF
specifications and providing any kind of identity you like for your arcs.

>In other words, if we have a triple {s1, p1, o1}, what are the
> possibilities/limitations meaningwise in {p1, p2, o2} and {s3, p3, p1}?
>
> Taking this from another angle, if I have triple 1 {s1, p1, o1} and triple
2
> {s2, p1, o2} and want to say that p1 in the first triple has an extra

Reify the triples and then you can give whatever properties you want to the
reifications.  But bear in mind that doesn't affect the original triples in
the slightest.

> In the app I'm working on, I have a (OO) class Item, with subclasses
Vertex
> and Edge.

Do you mean that Edge is a subclass of Vertex ?   Personally I dont't see
how that will ever work.  It seems to me that a Edge is a *partOf* a Vertex
... or at least that's the way i got it working.   In OO speak can a
subclass be a part of the parent class?

>It's easy enough to wrap/constrain these subclasses as RDF
> properties and resources as distinct kinds of entities, each with a
specific
> range of roles. The problems start when I try to swap the roles around,
and
> continue when I try and deal with the class/instance divide of RDF and
that
> of OO. I want to avoid tying things completely to the RDF graph, which I
> guess would have Property as an (OO) subclass of Resource, but I still
want
> to be able to (for example) transform an edge in one graph into a vertex
in
> another. So far I've been able to do quite a lot by working with a
> generalized graph model and considering RDF as one interpretation, but at
> this point things have stalled somewhat (in my mind at least ;-)

I like your idea of looking at RDF as one interpertation of the graph.  But
I think you need to give your arcs the property of identity (apart from
whatever identity they inherit from the vertix of which they form a part).

> I suppose the root of my problem is not really having worked out whether
> this kind of manipulation makes enough sense in the RDF model, or whether
it
> would be necessary/easier to remove the RDF glue first before transforming
> (keeping only topological constraints), then reapplying (as appropriate)
> RDF-model semantics. I've a feeling it should be possible to do this by
> making a kind of canonical version of the RDF graph (including all the
> assertions made in the relevant RDFS) and transforming that under RDF MT,
> but here again the box-hopping OO/RDF class/instance things make me dizzy.

What do you think about how I did it ... see below ?

Seth Russell

language: Semenglish
sailor
seeUrl <http://robustai.net/sailor/> ;
language Python.
(sailor agent theory)
seeUrl <http://robustai.net/mentography/Mentography.html>.
```
Received on Tuesday, 18 June 2002 14:41:09 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:42 GMT