Re: Why do we name nodes and not edges?

On 2012-07-31, at 15:57, Pat Hayes wrote:

> 
> On Jul 31, 2012, at 7:32 AM, Steve Harris wrote:
> 
>> On 2012-07-31, at 00:38, トーレ エリクソン wrote:
>> 
>>> Hugh Glaser wrote:
>>>> With respect to naming triples, at first sight it seems to me there is
>>>> a perfectly sensible way of doing it, as I described in an earlier
>>>> message. There is no need to describe a language for encoding the whole
>>>> triple a unique URI for the edge uniquely identifies the triple, and
>>>> seems quite natural.
>>>> This URI can then be subPropertyOf whatever it would have been in the
>>>> general form.
>>>> So we have gained identifiers for triples for the possible maximum cost
>>>> of one extra subPropertyOf triple for each triple to be identified.
>>>> And now RDF can be used to make statements about each triple (edge), and
>>>> I can do it all in Linked Data.
>>>> 
>>>> This doesn't immediately solve the same thing as Named Graphs, where
>>>> groups of triples/edges needed to be identified.
>>>> But can't the edges be gathered into Classes?
>>>> And with multiple inheritance, you can have arbitrary membership of
>>>> Classes by any edge, giving much more power than simple Named Graphs,
>>>> where triples/edges can only be members of one graph?
>>> 
>>> [snip]
>>> 
>>>> Is there anything technically wrong with what I am describing?
>>> 
>>> I find this solution quite intriguing as well. It would be easier to
>>> implement if RDF were to allow blank nodes in the predicate position.
>> 
>> You can't use bNodes (for fairly obvious semantic reasons)
> 
> Well, no. Actually there are no *semantic* problems with having bnodes in predicate position. The RDF semantics would adapt to this case quite smoothly. The same semantic constructions were used in ISO Common Logic which allows quantification over relations of arbitrary arity. Of course there might be other issues, but the semantics is OK.

I simply meant that a blank *node* can't be an edge. You could add bArcs, but given what we've learnt about using bNodes in practice, making them existential variables seems like a mistake.

Semantic was probably a poor choice of words in this company, sorry :)

>> but you can put a genid URI (http://www.w3.org/TR/rdf11-concepts/#section-skolemization), or a UUID URN there, which has lots of the same benefits from a usability point of view, but without the bizarre mathematical implications.
> 
> What bizarre mathematics are you worried about? 

I meant bizarre implications (of bNodes/bArcs being existential variables), not bizarre mathematics.

I can't quite figure out the consequences, but given the strange results that bNodes in OWL cause, I would think that existential variables as edges would be equally strange. Perhaps not.

- Steve

-- 
Steve Harris, CTO
Garlik, a part of Experian
+44 7854 417 874  http://www.garlik.com/
Registered in England and Wales 653331 VAT # 887 1335 93
Registered office: Landmark House, Experian Way, Nottingham, Notts, NG80 1ZZ

Received on Wednesday, 1 August 2012 11:22:47 UTC