- From: Paul Houle <ontology2@gmail.com>
- Date: Thu, 19 Feb 2015 12:27:41 -0500
- To: Michael Brunnbauer <brunni@netestate.de>
- Cc: Kingsley Idehen <kidehen@openlinksw.com>, Linked Data community <public-lod@w3.org>
- Message-ID: <CAE__kdQKUQ=wm=uVRLwEY4k-fdGNOHa+SFf5ZdT-XqRisfJzEQ@mail.gmail.com>
I think you're particular concerned about the ordering of triples where ?s and ?p are the same? ?s ?p ?o1 , ?o2, ?o3, ?o4 . right? Sometimes people don't care, sometimes they do. One scenario is we are drawing a page about the creative works of Issac Asimov, the Kinks, or Jeff Bridges and want to see titles that everybody recognizes at the top of the list. In some of these cases there is a subjective element in that there is no global total ordering or even a partial ordering (see Arrow's Theorem), but it's fair to say more people know the song "Lola" than "Ducks on the Wall". With RDF* you can put on edge weights which will support cases like that. Another approach is to further specify the data model so you get behavior like hashtables in PHP -- PHP hashtables support random access look up but if you iterate over them things come out in the order you put them in. Another case is where there really is a total ordering. For instance, the authors of a scientific paper might get excited if you list them in the wrong order. One weird old trick for this is RDF containers, which are specified in the XMP dialect of Dublin Core where you write something like [ dcterms:creator ("Ralph Alpher","Hans Bethe","George Gamow") . ] In their version you are using text and not some authority record but if you just want to annotate the average business document it works. So yeah, I agree that ordering is a big issue in RDF; you are coming from it as a requirement for the editor, I see it as important if we want to use RDF technology as a "universal solvent" for dealing with all the JSON, XML and equivalently expressive documents and messages which support ordered collection. It's definitely a tooling issue but it does involve looking at hard issues in the underlying data model. On Thu, Feb 19, 2015 at 10:32 AM, Michael Brunnbauer <brunni@netestate.de> wrote: > > Hello Paul, > > let me put this into two simple statements: > > 1) There is no canonical ordering of triples > > 2) A good triple editor should reflect this by letting the user determine > the order > > Regards, > > Michael Brunnbauer > > On Thu, Feb 19, 2015 at 03:50:33PM +0100, Michael Brunnbauer wrote: > > > > Hello Paul, > > > > I am not so sure if this is good enough. If you add something to the end > of a > > list in a UI, you normally expect it to stay there. If you accept that it > > will be put in its proper position later, you may - as user - still have > > trouble figuring out where that position is (even with the heuristics > you gave). > > > > The problem repeats with the triple object if the properties have been > ordered. > > As user, you might feel even more compelled to introduce a deviant > ordering on > > this level. > > > > Regards, > > > > Michael Brunnbauer > > > > On Thu, Feb 19, 2015 at 09:07:37AM -0500, Paul Houle wrote: > > > There are quite a few simple heuristics that will give "good enough" > > > results, consider for instance: > > > > > > (1) order predicates by alphabetical order (by rdfs:label or by > localname > > > or the whole URL) > > > (2) order predicates by some numerical property given by a custom > predicate > > > in the schema > > > (3) order predicates by the type of the domain alphabetically, and then > > > order by the name of the predicates > > > (4) work out the partial ordering of types by inheritance so "Person" > winds > > > up at the top and "Actor" shows up below that > > > > > > Freebase does something like (4) and that is "good enough". > > > > > > On Thu, Feb 19, 2015 at 8:01 AM, Kingsley Idehen < > kidehen@openlinksw.com> > > > wrote: > > > > > > > On 2/19/15 4:52 AM, Michael Brunnbauer wrote: > > > > > > > >> Hello Paul, > > > >> > > > >> an interesting aspect of such a system is the ordering of triples - > even > > > >> if you restrict editing to one subject. Either the order is > predefined > > > >> and the > > > >> user will have to search for his new triple after doing an insert > or the > > > >> user > > > >> determines the position of his new triple. > > > >> > > > >> In the latter case, the app developer will want to use something > like > > > >> reification - at least internally. This is the point when the app > > > >> developer > > > >> and the Semantic Web expert start to disagree ;-) > > > >> > > > > > > > > Not really, in regards to "Semantic Web expert starting to disagree" > per > > > > se. You can order by Predicate or use Reification. > > > > > > > > When designing our RDF Editor, we took the route of breaking things > down > > > > as follows: > > > > > > > > Book (Named Graph Collection e.g. in a Quad Store or service that > > > > understands LDP Containers etc..) --> (contains) --> Pages (Named > Graphs) > > > > -- Paragraphs (RDF Sentence/Statement Collections). > > > > > > > > The Sentence/Statement Collections are the key item, you are honing > into, > > > > and yes, it boils down to: > > > > > > > > 1. Grouping sentences/statements by predicate per named graph to > create a > > > > paragraph > > > > 2. Grouping sentences by way of reification where each sentence is > > > > identified and described per named graph. > > > > > > > > Rather that pit one approach against the other, we simply adopted > both, as > > > > options. > > > > > > > > Anyway, you raise a very important point that's generally overlooked. > > > > Ignoring this fundamental point is a shortcut to hell for any editor > that's > > > > to be used in a multi-user setup, as you clearly understand :) > > > > > > > > > > > > Kingsley > > > > > > > > > > > >> Maybe they can compromise on a system with a separate named graph > per > > > >> triple > > > >> (BTW what is the status of blank nodes shared between named > graphs?). > > > >> > > > >> Regards, > > > >> > > > >> Michael Brunnbauer > > > >> > > > >> On Wed, Feb 18, 2015 at 03:08:33PM -0500, Paul Houle wrote: > > > >> > > > >>> I am looking at some cases where I have databases that are similar > to > > > >>> Dbpedia and Freebase in character, sometimes that big (ok, those > > > >>> particular databases), sometimes smaller. Right now there are > no blank > > > >>> nodes, perhaps there are things like the "compound value types" > from > > > >>> Freebase which are sorta like blank nodes but they have names, > > > >>> > > > >>> Sometimes I want to manually edit a few records. Perhaps I want to > > > >>> delete > > > >>> a triple or add a few triples (possibly introducing a new subject.) > > > >>> > > > >>> It seems to me there could be some kind of system which points at a > > > >>> SPARQL > > > >>> protocol endpoint (so I can keep my data in my favorite triple > store) and > > > >>> given an RDFS or OWL schema, automatically generates the forms so > I can > > > >>> easily edit the data. > > > >>> > > > >>> Is there something out there? > > > >>> > > > >>> -- > > > >>> Paul Houle > > > >>> Expert on Freebase, DBpedia, Hadoop and RDF > > > >>> (607) 539 6254 paul.houle on Skype ontology2@gmail.com > > > >>> http://legalentityidentifier.info/lei/lookup > > > >>> > > > >> > > > > > > > > -- > > > > Regards, > > > > > > > > Kingsley Idehen > > > > Founder & CEO > > > > OpenLink Software > > > > Company Web: http://www.openlinksw.com > > > > Personal Weblog 1: http://kidehen.blogspot.com > > > > Personal Weblog 2: http://www.openlinksw.com/blog/~kidehen > > > > Twitter Profile: https://twitter.com/kidehen > > > > Google+ Profile: https://plus.google.com/+KingsleyIdehen/about > > > > LinkedIn Profile: http://www.linkedin.com/in/kidehen > > > > Personal WebID: > http://kingsley.idehen.net/dataspace/person/kidehen#this > > > > > > > > > > > > > > > > > > > > > -- > > > Paul Houle > > > Expert on Freebase, DBpedia, Hadoop and RDF > > > (607) 539 6254 paul.houle on Skype ontology2@gmail.com > > > http://legalentityidentifier.info/lei/lookup > > > > -- > > ++ Michael Brunnbauer > > ++ netEstate GmbH > > ++ Geisenhausener Straße 11a > > ++ 81379 München > > ++ Tel +49 89 32 19 77 80 > > ++ Fax +49 89 32 19 77 89 > > ++ E-Mail brunni@netestate.de > > ++ http://www.netestate.de/ > > ++ > > ++ Sitz: München, HRB Nr.142452 (Handelsregister B München) > > ++ USt-IdNr. DE221033342 > > ++ Geschäftsführer: Michael Brunnbauer, Franz Brunnbauer > > ++ Prokurist: Dipl. Kfm. (Univ.) Markus Hendel > > > > -- > ++ Michael Brunnbauer > ++ netEstate GmbH > ++ Geisenhausener Straße 11a > ++ 81379 München > ++ Tel +49 89 32 19 77 80 > ++ Fax +49 89 32 19 77 89 > ++ E-Mail brunni@netestate.de > ++ http://www.netestate.de/ > ++ > ++ Sitz: München, HRB Nr.142452 (Handelsregister B München) > ++ USt-IdNr. DE221033342 > ++ Geschäftsführer: Michael Brunnbauer, Franz Brunnbauer > ++ Prokurist: Dipl. Kfm. (Univ.) Markus Hendel > -- Paul Houle Expert on Freebase, DBpedia, Hadoop and RDF (607) 539 6254 paul.houle on Skype ontology2@gmail.com http://legalentityidentifier.info/lei/lookup
Received on Thursday, 19 February 2015 17:28:13 UTC