- 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