author | ymh <ymh.work@gmail.com> |
Sat, 26 Mar 2016 00:24:34 +0100 | |
changeset 144 | 03678acbfda3 |
parent 114 | 8af5ed0521a2 |
child 145 | 49b75287c30b |
permissions | -rw-r--r-- |
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
<?php |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
use CorpusParole\Libraries\Mappers\CocoonCollectionRdfMapper; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
use CorpusParole\Libraries\CocoonUtils; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
use EasyRdf\Graph; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
use EasyRdf\Resource; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
use EasyRdf\Literal; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
use Illuminate\Foundation\Testing\WithoutMiddleware; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
use Illuminate\Foundation\Testing\DatabaseMigrations; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
use Illuminate\Foundation\Testing\DatabaseTransactions; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
class CocoonCollectionRdfMapperTest extends TestCase |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
{ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
const TEST_INPUT_DOCS = [ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
'BASE' => <<<EOT |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
@prefix owl: <http://www.w3.org/2002/07/owl#> . |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
@prefix fn: <http://www.w3.org/2005/xpath-functions#> . |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
@prefix sesame: <http://www.openrdf.org/schema/sesame#> . |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
@prefix v: <http://rdf.data-vocabulary.org/#> . |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
<http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_CFPP2000> a <http://crdo.risc.cnrs.fr/schemas/Resource> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
<http://purl.org/dc/elements/1.1/description> "Corpus de Français Parlé Parisien des années 2000."@fr , "Le Corpus de Français Parlé Parisien (CFPP2000) est composé d'un ensemble d'interviews non directives sur les quartiers de Paris et de la proche banlieue. Les entretiens, transcrits en orthographe et alignés au tour de parole, sont disponibles sur le net ; ils sont librement employables en échange de la mention dans la bibliographie des travaux qui en seraient tirés d'une part de l'adresse du site: http://cfpp2000.univ-paris3.fr/ et d'autre part du document de présentation suivant : Branca-Rosoff S., Fleury S., Lefeuvre F., Pires M., 2012, \"Discours sur la ville. Présentation du Corpus de Français Parlé Parisien des années 2000 (CFPP2000)\". En février 2013, ce corpus comprenait environ 550 000 mots. Un certain nombre d'outils en ligne, notamment un concordancier et des outils textométriques permettent de mener des requêtes lexicales et grammaticales. CFPP2000 est particulièrement destiné à des analyses sur le français oral. Le projet sous-jacent au corpus est par ailleurs l'étude des modifications et des variations qui interviennent dans ce qu'on peut considérer comme un parisien véhiculaire en tension entre le pôle du standard et le pôle du vernaculaire. Par ailleurs, il comporte des activités linguistiques diversifiées (description de quartier, anecdotes, argumentationâ¦) et on peut par conséquent travailler sur la syntaxe propre à ces différentes utilisations du langage. Il permet enfin d'opposer dialogues (entre enquêteur et enquêtés) et multilogues (où la présence de plusieurs enquêtés favorise le passage à un registre familier). CFPP2000 est constitué d'interviews longues (d'une heure en moyenne) intégralement transcrites. Il est donc utilisable pour examiner les singularités qui reviennent à l'idiolecte propre à une personne donnée, par opposition aux variantes diffusées dans des groupes plus larges (quartiers, groupes socio-culturels, classe d'âge, etc.). Le corpus constitue enfin un ensemble de témoignages intéressants sur les représentations de Paris et de sa proche banlieue qui est susceptible d'intéresser des analystes du discours, des sociologues, ou tout simplement des curieux de la ville."@fr ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
<http://purl.org/dc/elements/1.1/type> <http://purl.org/dc/dcmitype/Collection> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
<http://purl.org/dc/elements/1.1/subject> <http://lexvo.org/id/iso639-3/fra> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
<http://purl.org/dc/elements/1.1/language> <http://lexvo.org/id/iso639-3/gsw> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
<http://purl.org/dc/terms/created> "start=1988; end=1989"^^<http://purl.org/dc/terms/Period> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
<http://purl.org/dc/elements/1.1/rights> "Copyright (c) Département de dialectologie alsacienne et mosellane de l'Université de Strasbourg" ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
<http://www.language-archives.org/OLAC/1.1/depositor> <http://viaf.org/viaf/93752300> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
<http://purl.org/dc/elements/1.1/publisher> <http://viaf.org/viaf/142432638> , "Fédération CLESTHIA" , <http://viaf.org/viaf/154862993> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
<http://purl.org/dc/elements/1.1/title> "Corpus de Français Parlé Parisien des années 2000 (CFPP)"@fr ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
<http://www.language-archives.org/OLAC/1.1/interviewer> "Branca-Rosoff, Sonia" , "Lefeuvre, Florence" , "Pires, Mat" ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
<http://purl.org/dc/terms/accessRights> "Freely available for non-commercial use" ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
<http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by-nc-sa/3.0/> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
<http://purl.org/dc/terms/spatial> "FR"^^<http://purl.org/dc/terms/ISO3166> , "France, Paris, Université Sorbonne Nouvelle Paris 3, site Censier"@fr , <http://vocab.getty.edu/tgn/7008038> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
<http://purl.org/dc/terms/available> "2013-04-12"^^<http://purl.org/dc/terms/W3CDTF> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
<http://purl.org/dc/terms/issued> "2013-04-12T22:20:23+02:00"^^<http://purl.org/dc/terms/W3CDTF> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
<http://purl.org/dc/terms/modified> "2014-05-10T20:16:27+02:00"^^<http://purl.org/dc/terms/W3CDTF> ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
<http://www.language-archives.org/OLAC/1.1/transcriber> "Branca-Rosoff, Sonia" , "Lefeuvre, Florence" , "Pires, Mat" ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
<http://www.w3.org/2003/01/geo/wgs84_pos#long> "2.3333"^^xsd:float ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
<http://www.w3.org/2003/01/geo/wgs84_pos#lat> "48.8667"^^xsd:float ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
<http://www.language-archives.org/OLAC/1.1/compiler> "Branca-Rosoff, Sonia" , "Fleury, Serge" , "Lefeuvre, Florence" , "Pires, Mat" ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
<http://www.language-archives.org/OLAC/1.1/data_inputter> "Branca-Rosoff, Sonia" , "Lefeuvre, Florence" , "Pires, Mat" ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
<http://www.language-archives.org/OLAC/1.1/researcher> "Branca-Rosoff, Sonia" , "Fleury, Serge" , "Lefeuvre, Florence" , "Pires, Mat" ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
<http://www.language-archives.org/OLAC/1.1/sponsor> "Ville de Paris " , "Délégation générale à la langue française et aux langues de France " ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
<http://www.language-archives.org/OLAC/1.1/developer> "Fleury, Serge" ; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
<http://purl.org/dc/terms/isPartOf> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_ALA> . |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
EOT |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
]; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
const TEST_INPUT_ID = "crdo-COLLECTION_CFPP2000"; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
private $inputGraphes = []; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
private $resGraphes = []; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
private $mappers = []; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
function __construct(string $name = null) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
parent::__construct($name); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
public function setUp() { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
parent::setUp(); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
|
144
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
68 |
$this->testGraphUri = config('corpusparole.corpus_doc_id_base_uri').CocoonCollectionRdfMapperTest::TEST_INPUT_ID; |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
69 |
|
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
foreach(CocoonCollectionRdfMapperTest::TEST_INPUT_DOCS as $key => $inputDoc) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
$this->inputGraphes[$key] = new Graph("http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_CFPP2000", $inputDoc); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
$this->mappers[$key] = new CocoonCollectionRdfMapper($this->inputGraphes[$key]); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
$this->mappers[$key]->mapGraph(); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
$this->resGraphes[$key] = $this->mappers[$key]->getOutputGraphes()[$this->inputGraphes[$key]->getUri()]; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
77 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
78 |
public function tearDown() { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
79 |
parent::tearDown(); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
80 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
81 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
82 |
/** |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
83 |
* Just test that the construct and setup are ok |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
84 |
* |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
85 |
* @return void |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
86 |
*/ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
87 |
public function testInit() |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
88 |
{ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
89 |
$this->assertTrue(true); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
90 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
91 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
92 |
/** |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
93 |
* Test that the returned graph has the same uri that the original. |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
94 |
* |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
95 |
* @return void |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
96 |
*/ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
97 |
public function testUri() { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
98 |
|
114
8af5ed0521a2
Correct modified value for SOUND when merging. This comes not from TEXT
ymh <ymh.work@gmail.com>
parents:
18
diff
changeset
|
99 |
//echo $this->resGraphes['BASE']->serialise('turtle'); |
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
100 |
//echo var_export($this->resGraphes['BASE']->toRdfPhp()); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
101 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
102 |
$this->assertNotNull($this->resGraphes['BASE']); |
144
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
103 |
$this->assertEquals($this->testGraphUri, $this->resGraphes['BASE']->getUri(), "URIS must be translated"); |
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
104 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
105 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
106 |
/** |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
107 |
* Test that the return graph has one edm:Collection resource |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
108 |
* |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
109 |
* @return void |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
110 |
*/ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
111 |
public function testAggregationResource() { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
112 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
113 |
$resources = $this->resGraphes['BASE']->allOfType('edm:Collection'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
114 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
115 |
$this->assertCount(1, $resources, "Must found only one resources of type edm:Collection"); |
144
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
116 |
$this->assertEquals($this->testGraphUri,$resources[0]); |
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
117 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
118 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
119 |
/** |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
120 |
* Test one to one mapping spatial info |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
121 |
* |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
122 |
* @return void |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
123 |
*/ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
124 |
public function testSpatial() { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
125 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
126 |
$coll = $this->resGraphes['BASE']->get('edm:Collection', '^rdf:type'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
127 |
$sourceNode = $this->inputGraphes['BASE']->get('http://crdo.risc.cnrs.fr/schemas/Resource', '^rdf:type'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
128 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
129 |
$this->assertNotNull($coll); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
130 |
$this->assertNotNull($sourceNode); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
131 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
132 |
$spatials = $coll->all($this->resGraphes['BASE']->resource('http://purl.org/dc/terms/spatial')); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
133 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
134 |
$this->assertCount(1, $spatials, "Must have only one spatial node"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
135 |
$spatial = $spatials[0]; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
136 |
$this->assertTrue($spatial->isBNode(),"spatial node must be blank"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
137 |
$this->assertEquals("edm:Place", $spatial->type(), "spatial node type must be edm:Place"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
138 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
139 |
$lats = $spatial->all('geo:lat'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
140 |
$this->assertCount(1, $lats, "One latitude"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
141 |
$this->assertInstanceOf("EasyRdf\Literal", $lats[0], "Latitude must be a litteral"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
142 |
$this->assertEquals(Literal::create("48.8667", null, 'xsd:float'), $lats[0], "lat must be '48.8667'^^xsd:float"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
143 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
144 |
$longs = $spatial->all('geo:long'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
145 |
$this->assertCount(1, $longs, "One longitude"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
146 |
$this->assertInstanceOf("EasyRdf\Literal", $longs[0], "Longitude must be a litteral"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
147 |
$this->assertEquals(Literal::create("2.3333", null, 'xsd:float'), $longs[0], "long must be '1.90'^^xsd:float"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
148 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
149 |
$notes = $spatial->all('skos:note'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
150 |
$this->assertCount(2, $notes, "2 notes"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
151 |
$this->assertContainsOnlyInstancesOf("EasyRdf\Literal", $notes, "Notes mus be only literals"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
152 |
$this->assertEquals(Literal::create("FR", null, "dc:ISO3166"), $notes[0], "notes contains 'FR'^^dc:ISO3166"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
153 |
$this->assertEquals(Literal::create("France, Paris, Université Sorbonne Nouvelle Paris 3, site Censier", "fr", null), $notes[1], "notes contains 'France, Paris, Université Sorbonne Nouvelle Paris 3, site Censier'@fr"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
154 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
155 |
$sameas = $spatial->all('owl:sameAs'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
156 |
$this->assertCount(1, $sameas, "1 same as"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
157 |
$this->assertContainsOnlyInstancesOf("EasyRdf\Resource", $sameas, "Notes mus be only resources"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
158 |
$this->assertEquals('http://vocab.getty.edu/tgn/7008038', $sameas[0]->getUri(), "uri must be http://vocab.getty.edu/tgn/7008038"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
159 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
160 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
161 |
/** |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
162 |
* Test one to one mapping |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
163 |
* |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
164 |
* @return void |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
165 |
*/ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
166 |
public function testOneToOnePropsIdentity() { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
167 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
168 |
$properties = [ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
169 |
'http://purl.org/dc/elements/1.1/description', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
170 |
'http://purl.org/dc/elements/1.1/language', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
171 |
'http://purl.org/dc/elements/1.1/publisher', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
172 |
'http://purl.org/dc/elements/1.1/rights', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
173 |
'http://purl.org/dc/terms/license', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
174 |
'http://purl.org/dc/elements/1.1/subject', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
175 |
'http://purl.org/dc/elements/1.1/title', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
176 |
'http://purl.org/dc/terms/available', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
177 |
'http://purl.org/dc/terms/created', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
178 |
'http://purl.org/dc/terms/issued', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
179 |
'http://purl.org/dc/elements/1.1/type', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
180 |
'http://purl.org/dc/elements/1.1/language', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
181 |
'http://purl.org/dc/terms/isPartOf', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
182 |
'http://purl.org/dc/terms/modified', |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
183 |
]; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
184 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
185 |
$coll = $this->resGraphes['BASE']->get('edm:Collection', '^rdf:type'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
186 |
$sourceNode = $this->inputGraphes['BASE']->get('http://crdo.risc.cnrs.fr/schemas/Resource', '^rdf:type'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
187 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
188 |
$this->assertNotNull($coll); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
189 |
$this->assertNotNull($sourceNode); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
190 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
191 |
foreach ($properties as $prop) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
192 |
$outputValuesStr = []; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
193 |
foreach($coll->all($this->resGraphes['BASE']->resource($prop)) as $outputValue) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
194 |
array_push($outputValuesStr, strval($outputValue)); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
195 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
196 |
$this->assertNotEmpty($outputValuesStr, "we must found some values to test $prop"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
197 |
foreach ($sourceNode->all($this->inputGraphes['BASE']->resource($prop)) as $value) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
198 |
$this->assertContains(strval($value), $outputValuesStr, "$prop not found in output graph"); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
199 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
200 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
201 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
202 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
203 |
|
144
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
204 |
public function testLinkToCocoonCollection() { |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
205 |
$coll = $this->resGraphes['BASE']->get('edm:Collection', '^rdf:type'); |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
206 |
$sourceNode = $this->inputGraphes['BASE']->get('http://crdo.risc.cnrs.fr/schemas/Resource', '^rdf:type'); |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
207 |
|
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
208 |
$this->assertNotNull($coll); |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
209 |
$this->assertNotNull($sourceNode); |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
210 |
|
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
211 |
$versionOfRes = $coll->all("<http://purl.org/dc/terms/isVersionOf>"); |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
212 |
$this->assertCount(1, $versionOfRes, "Must have only on isVersionOf"); |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
213 |
$versionOfRes = $versionOfRes[0]; |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
214 |
$this->assertInstanceOf("EasyRdf\Resource", $versionOfRes, "version Res must be a resource"); |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
215 |
$this->assertEquals($sourceNode->getUri(), $versionOfRes->getUri(), "versionof res uri must be sams than source"); |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
216 |
|
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
217 |
} |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
114
diff
changeset
|
218 |
|
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
219 |
} |