- From: Steve Harris <steve.harris@garlik.com>
- Date: Mon, 30 Jul 2012 11:09:35 +0100
- To: Hugh Glaser <hg@ecs.soton.ac.uk>
- Cc: Natasa Bulatovic <bulatovic@MPDL.MPG.DE>, "semantic-web@w3.org" <semantic-web@w3.org>
On 2012-07-29, at 13:17, Hugh Glaser wrote:
> I don't think that Steve was suggesting it might ever be useful or recommended - just possible. :-)
Exactly - the original question was "why do we name nodes and not edges" - I think the answer is: mostly convention. Nothing in RDF or SPARQL makes it particularly hard, it's just not often necessary, and it will look weird to people used to RDF.
- Steve
> Let's see.
>
> The simplest thing I can come up with (thanks Mike Uschold) is:
> id:john id:john_married_jane id:jane .
> id:john_married_jane id:in_place id:london .
> and you could then do:
> SELECT ?where WHERE { ?s id:john_married_jane ?w . id:john_married_jane id:in_place ?where }
> you would probably benefit from
> id:john_married_jane rdfs:subPropertyOf id:married .
>
> I dumped some stuff in a store, if you want to try:
> http://test.rkbexplorer.com/sparql/
> And of course as Linked Data: http://test.rkbexplorer.com/id/john_married_jane
> RDF is here: http://test.rkbexplorer.com/models/me.ttl
> The above query is
> (http://test.rkbexplorer.com/sparql/?format=browse&query=PREFIX+id%3A+++%3Chttp%3A%2F%2Ftest.rkbexplorer.com%2Fid%2F%3E%0D%0ASELECT+%3Fwhere+WHERE+%7B+%3Fs+id%3Ajohn_married_jane+%3Fw+.+id%3Ajohn_married_jane+id%3Ain_place+%3Fwhere+%7D%0D%0A)
>
> I also have some labels (everything should always have labels, even/especially properties), so you can do:
> SELECT ?event_label ?where_label WHERE
> { ?s id:john_married_jane ?w . id:john_married_jane id:in_place ?where . id:john_married_jane rdfs:label ?event_label . ?where rdfs:label ?where_label .}
>
> As I say, I am not sure how useful it is.
> In fact for this sort of thing I prefer to move to a proper event-based model, as CIDOC/CRM does.
> But it is all perfectly valid, and looking back at it, it seems a perfectly sensible way of doing it.
> So it must be one of the patterns that modelling people recommend? ;-)
> I could have complicated it with bnodes or classes, but I think this makes it quite readable.
> A little amusement on a sunny Sunday afternoon - better than having to do the gardening.
> Back to the Olympics and the GrandPrix - life is so tiring.
>
> Cheers
> On 25 Jul 2012, at 17:11, Natasa Bulatovic <bulatovic@MPDL.MPG.DE> wrote:
>
>> Could you point to some examples where this scenario would be useful or recommended?
>>
>> Cheers,
>> Natasa
>>
>> Am 25.07.2012 18:04, schrieb Dave Reynolds:
>>> If I understand Steve's point he was meaning that you can mint a new unique edge:xxxxxx identifier for each edge.
>>>
>>> [Presumably you could make that a subPropertyOf the actual property you wanted to assert.]
>>>
>>> Cheers,
>>> Dave
>>>
>>> On 25/07/12 16:47, Aidan Hogan wrote:
>>>> Steve,
>>>>
>>>> If I understand Melvin's point, in RDF, edge:123456 is the URI of a
>>>> property used to label the edge, not the edge itself.
>>>>
>>>> Analogously, you don't identify a class-instance by it's class URI.
>>>>
>>>> An edge is between two things. It might be directed and it might be
>>>> labelled. In RDF it's both.
>>>>
>>>> Hence, the edge would encapsulate the full triple, including source
>>>> (subject) and target (object) nodes, as well as the label (predicate).
>>>>
>>>> Cheers,
>>>> Aidan
>>>>
>>>> On 25/07/2012 16:18, Steve Harris wrote:
>>>>> Nothing stops you from giving edges a unique URI, infact I think I've
>>>>> worked on systems that did that.
>>>>>
>>>>> e.g.
>>>>>
>>>>> <foo> <http://example.com/edge/123456> 1 .
>>>>> <http://example.com/edge/123456> a rdf:Property .
>>>>> ...
>>>>>
>>>>> - Steve
>>>>>
>>>>> On 2012-07-25, at 16:07, Melvin Carvalho wrote:
>>>>>
>>>>>> Sorry if this topic has been covered before, but I have a question
>>>>>> based on the axioms of the web, in particular:
>>>>>>
>>>>>> *Axiom 0a: Universality 2 Any resource of significance should be
>>>>>> given a URI.
>>>>>> *
>>>>>> In this case we consider the web to be a directed graph (of nodes and
>>>>>> edges), where a *node* corresponds to a *resource* but edge does not.
>>>>>>
>>>>>> We are encouraged to make nodes universal by giving them a URI.
>>>>>>
>>>>>> Why dont edges get the same treatment, ie encouragment to give it a
>>>>>> (universal) name. Is it even practical?
>>>>>>
>>>>>> I know there's such thing as reification but that seems to be
>>>>>> unpopular (maybe before my time).
>>>>>>
>>>>>> I'm just curious as to whether this seems asymmetrical, that nodes are
>>>>>> seemigly treated in one way, and edges in another?
>>>>>
>>>>> --
>>>>> 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
>>>>>
>>>>
>>>>
>>>
>>>
>>
>> --
>> --
>> Natasa Bulatovic
>> Max Planck Digital Library (MPDL)
>> Amalienstrasse 33
>> 80799 Munich, Germany
>> http://www.mpdl.mpg.de
>>
>> e-Mail: bulatovic@mpdl.mpg.de
>> phone: +49-89-38602-223
>> fax: +49-89-38602-280
>>
>>
>>
>
>
--
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 Monday, 30 July 2012 10:10:12 UTC