Re: Checking equality of graphs serialized in JSON-LD and Turtle

On 20 October 2014 00:14, Kingsley Idehen <kidehen@openlinksw.com> wrote:

>  On 10/19/14 3:09 PM, Melvin Carvalho wrote:
>
>
>
> On 19 October 2014 18:25, Kingsley Idehen <kidehen@openlinksw.com> wrote:
>
>>   On 10/19/14 5:22 AM, ☮ elf Pavlik ☮ wrote:
>>
>>  On 10/19/2014 09:50 AM, Melvin Carvalho wrote:
>>
>>  > > > On 18 October 2014 23:03, ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org> <mailto:perpetual-tripper@wwelves.org> <perpetual-tripper@wwelves.org>> wrote:> >     On 10/18/2014 11:59 AM, bergi wrote:>     > Am 17.10.2014 um 15:35 schrieb ☮ elf Pavlik ☮:>     >> Howdy,>     >>>     >> I work on automated tests for examples in draft of>     ActivityStreams 2.0>     >> spec[1]>     >>>     >> So far I use jsonld.js to get N-Quads from JSON-LD examples in spec +>     >> latest context document. For now I modified those N-Quads by hand to>     >> make it more human readable Turtle so we can review and define>     expected>     >> RDF as fixtures.>     >>>     >> I still don't have clear strategy how to compare graphs serialized in>     >> both JSON-LD and Turtle. I plan to use N3.js to parse turtle, also in>     >> LevelGraph extensions[2][3] we already have code which converts both>     >> serializations to array of plain triples for persisting them. It may>     >> require some carefulness with blank nodes...>     >>>     >> I remember us having conversation about common js format which we>     could>     >> use as common base for converting all the other serializations. I>     think>     >> we considered expanded JSON-LD as main candidate.>     >>>     >> Any recommendations for quick way of comparing, for now just>     equality,>     >> graphs serialized in JSON-LD and Turtle?>     >>     > I have created the module rdf-test-utils[1] for my RDF-Ext>     tests[2]. The>     > module contains a compareGraph method to compare two RDF-Interfaces>     > graph objects. The jsonld.normalize function is used to generate>     > canonical N-Triples. You could use the RDF-Ext parsers to get>     > RDF-Interfaces graph objects. Internal RDF-Ext also uses the>     JSON-LD and>     > N3.js library.>     neat! it almost solved my task, but then **blank node identifiers** jumped>     at me and after normalizing graphs it compared '' with '' returning>     true :D>     https://github.com/bergos/rdf-ext/issues/3> > > Dont use bnodes, you are violating axiom 0 of the web (among others!),> anything of significance should be given a URI.
>>
>>  Melvin, IMO **sometimes** they do make sense, still all the time
>> triggering debates:
>> * http://lists.w3.org/Archives/Public/semantic-web/2014Sep/0101.html
>> * http://lists.w3.org/Archives/Public/semantic-web/2014Sep/0106.html
>> * http://manu.sporny.org/2013/rdf-identifiers/#comment-3369
>>
>> Anyways, once we patch RDF-Ext I can compare equality of graphs with
>> blank nodes and normalized to JSON-LD, this way I address current state
>> of things :)
>>
>> * http://www.w3.org/2001/sw/wiki/How_to_diff_RDF#Some_Related_Papers
>> * http://www.w3.org/DesignIssues/Diff
>>
>>
>>
>>  Yes, blank nodes (indefinite pronouns [1]) are useful. The key is to
>> use them where useful.
>>
>
>  I didnt not say they were useless.  I said dont use them.
>
>
> Okay, but I am saying "don't use them" shouldn't be the message. It's
> clearer if we suggest: use them when appropriate :-)
>
>
>  On reflection bnodes have caused more harm than good, imho.
>
>
> Anything causes more harm than good, when misused. That is the case in
> regards to blank nodes too.
>
>    One of the (many) reasons that we have two identity groups at the W3C
> was that bblfish insisted on including bnodes in WebID (indeed, his profile
> contains one), and Manu said that would mean you could not supply the key
> material for unexpected reuse, e.g. for signing.  The outcome makes both
> groups much more likely to fail.   So these decisions have consequences.
>
>
> An identity card doesn't need blank nodes. We both agree that public keys
> are worthy of their own HTTP URIs. A  modulus and exponent discernible
> attributes (characteristics) of a Public Key.
>

The only sets of webid that I know if that dont use bnodes are openlink,
mine and toby's.  So while freedom is nice, without guidance, you can lose
time getting from A to B.


>
>
>
>  This isnt really a debate, the term "axiom" means not up for discussion.
>
>
> Axioms are a basis. "Not up for discussion" is just draconian speak.
>

In mathematics an axiom says "For this system", these are the assumptions
we think it will be productive to work with, and do not wish to debate.  In
another system you can have other axioms.


>
>
> Kingsley
>
>
>>
>>
>> They are not implicitly bad.
>>
>> A Language without pronouns is limited, at best.
>>
>> [1] https://www.englishclub.com/grammar/pronouns-indefinite.htm .
>>
>> --
>> 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
>>
>>
>
>
> --
> 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
>
>

Received on Sunday, 19 October 2014 22:33:53 UTC