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

On 10/19/14 3:09 PM, Melvin Carvalho wrote:
>
>
> On 19 October 2014 18:25, Kingsley Idehen <kidehen@openlinksw.com 
> <mailto: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>
>>>     ><mailto:perpetual-tripper@wwelves.org>  <mailto: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.


>
> 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.


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  <http://www.openlinksw.com/blog/%7Ekidehen>
>     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:15:15 UTC