a
    $`                  
   @   s  d dl mZ d dlZd dlZd dlZd dlmZ d dlmZm	Z	 ede	dd g Z
dd	 Zed
dddddd eddddidddddd eddddddddddd eddddddd edd d!d"d#idd$d% ed&d'd(dd)id*d+d!d,igd- ed&d'd(d.d!d)d/d0d+d,gd1 ed2d3d(d4d5d6d!d7id!d8igid9 ed2d3d(d:d6d;d<d5d!d7id!d8igd= ed2d3d(d:d!d6d/d<d5d7d8gd= ed>d?d@dAdBdCdDdEdCd!dBidFdGdHdDdIdHdDdJdHdDgdK edLdMdNdOdPZdQdR ZdSdT ZdUdV ZdS )W    )unicode_literalsN)Graph)register
Serializerjson-ldzrdflib_jsonld.serializerJsonLDSerializerc                  G   s   t |  d S N)casesappend)args r   =/Users/nick/Work/rdflib/rdflib-jsonld/test/test_compaction.pycase   s    r   z^
@prefix dc: <http://purl.org/dc/terms/> .
<http://example.org/>
    dc:title "Homepage"@en .
zhttp://purl.org/dc/terms/en)@vocab	@languagezhttp://example.org/ZHomepage)@context@idtitlezl
@prefix dc: <http://purl.org/dc/terms/> .
<http://example.org/>
    dc:title "Homepage"@en, "Hemsida"@sv .

@containerr   )r   r   ZHemsida)r   svr   r   )r   r   )r   r   title_en)r   r   r   r   uk   
@prefix dc: <http://purl.org/dc/terms/> .
<http://example.org/easter_island>
    dc:title "Påskön"@sv .
z http://example.org/easter_islandu   PåskönzM
@prefix : <http://example.org/ns#> .
<http://example.org/> :has _:blank-1 .
hasr   zhttp://example.org/ns#has)@typer   z	_:blank-1)r   r   r   z
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix : <http://example.org/ns#> .
:Something rdfs:subClassOf :Thing .
z%http://www.w3.org/2000/01/rdf-schema#zhttp://example.org/ns#z@set)rdfsvrdfs:subClassOfzv:Somethingzv:Thing)r   r   r   r   )r   r   r   )r   r   
subClassOf)r   r   r   z
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix : <http://example.org/ns#> .
:World owl:unionOf (:Everyhing :Nothing) .
zhttp://www.w3.org/2002/07/owl#)owlr   zv:Worldz@listzv:Everyhingz	v:Nothing)r   r   owl:unionOfr   )r   r   )r   r   unionOf)r   r   r    z
BASE <http://example.org/>
PREFIX : <http://example.org/vocab/>
<Thing> a :Class .
<Work> a :Class; :subClassOf <Thing> .
</some/path/> a :Thing .
</some/path/#this> a :Thing .
</some/path/#other> a :Thing .
z#http://example.org/some/path/#otherzhttp://example.org/vocab/)z@baser   z/ThingClass)r   r   z/Work)r   r   r    ZThingz/some/path/#thisz/some/path/#other)r   @graph   ),z: TF)indent
separators	sort_keysensure_asciic                    s   t  j| dd}|jd|d d}t|}t| tj|fi t}t	d t
d fdd	|}t| tj|fi t}||ksJ d
| d S )Nturtle)dataformatr   r   )r,   context   z	"_:[^"]+"c                    s   dt   S )Nz"_:blank-%s")next)mZincrr   r   <lambda>       zrun.<locals>.<lambda>z Expected not equal to result: %s)r   parse	serializejsonloads
sort_graphdumpsjson_kwargs	itertoolscountresub)r+   expectedgresultr   r1   r   run   s    

rB   c                 C   s    d| v r| d j dd d d S )Nr#   c                 S   s
   |  dS )Nr   )get)noder   r   r   r2      r3   zsort_graph.<locals>.<lambda>)key)sort)r+   r   r   r   r8      s    r8   c                  c   s   t D ]\} }t| |fV  qd S r   )r	   rB   )r+   r?   r   r   r   
test_cases   s    rG   )
__future__r   r=   r6   r;   rdflibr   Zrdflib.pluginr   r   r	   r   dictr:   rB   r8   rG   r   r   r   r   <module>   s   "	
