7
7
import cz .cvut .kbss .jopa .model .annotations .OWLDataProperty ;
8
8
import cz .cvut .kbss .jopa .model .annotations .OWLObjectProperty ;
9
9
import cz .cvut .kbss .jopa .vocabulary .DC ;
10
+ import cz .cvut .kbss .jopa .vocabulary .OWL ;
10
11
import cz .cvut .kbss .jopa .vocabulary .RDFS ;
11
12
import cz .cvut .kbss .jopa .vocabulary .XSD ;
13
+ import cz .cvut .kbss .jsonld .ConfigParam ;
12
14
import cz .cvut .kbss .jsonld .JsonLd ;
13
15
import cz .cvut .kbss .jsonld .common .IdentifierUtil ;
14
16
import cz .cvut .kbss .jsonld .environment .Generator ;
15
17
import cz .cvut .kbss .jsonld .environment .TestUtil ;
16
18
import cz .cvut .kbss .jsonld .environment .Vocabulary ;
17
19
import cz .cvut .kbss .jsonld .environment .model .*;
18
20
import cz .cvut .kbss .jsonld .serialization .model .JsonNode ;
21
+ import cz .cvut .kbss .jsonld .serialization .model .ObjectNode ;
19
22
import org .eclipse .rdf4j .model .Model ;
20
23
import org .eclipse .rdf4j .model .impl .LinkedHashModel ;
21
24
import org .eclipse .rdf4j .model .util .Models ;
@@ -309,4 +312,54 @@ void serializationCreatesEmbeddedContextOnCorrectLevel() throws Exception {
309
312
final Map <String , ?> json = serializeAndRead (instance );
310
313
verifyEmbeddedContext (json );
311
314
}
315
+
316
+ @ Test
317
+ void serializationSerializesIndividualsAsStringWithExpandedTermDefinitionInContextWhenConfiguredTo () throws Exception {
318
+ sut .configuration ().set (ConfigParam .SERIALIZE_INDIVIDUALS_USING_EXPANDED_DEFINITION , Boolean .TRUE .toString ());
319
+ final Attribute instance = new Attribute ();
320
+ instance .setUri (Generator .generateUri ());
321
+ instance .setPropertyType (OwlPropertyType .DATATYPE_PROPERTY );
322
+ instance .setPluralPropertyType (
323
+ new HashSet <>(Arrays .asList (OwlPropertyType .ANNOTATION_PROPERTY , OwlPropertyType .OBJECT_PROPERTY )));
324
+
325
+ final Map <String , ?> json = serializeAndRead (instance );
326
+ assertThat (json , hasKey (JsonLd .CONTEXT ));
327
+ assertInstanceOf (Map .class , json .get (JsonLd .CONTEXT ));
328
+ final Map <String , ?> context = (Map <String , JsonNode >) json .get (JsonLd .CONTEXT );
329
+ assertThat (context , hasKey ("propertyType" ));
330
+ final ObjectNode termDef = new ObjectNode ("propertyType" );
331
+ termDef .addItem (JsonNodeFactory .createObjectIdNode (JsonLd .ID , Vocabulary .HAS_PROPERTY_TYPE ));
332
+ termDef .addItem (JsonNodeFactory .createStringLiteralNode (JsonLd .TYPE , JsonLd .ID ));
333
+ assertEquals (termDef , context .get ("propertyType" ));
334
+ assertThat (context , hasKey ("pluralPropertyType" ));
335
+ final ObjectNode pluralTermDef = new ObjectNode ("pluralPropertyType" );
336
+ pluralTermDef .addItem (JsonNodeFactory .createObjectIdNode (JsonLd .ID , Vocabulary .HAS_PLURAL_PROPERTY_TYPE ));
337
+ pluralTermDef .addItem (JsonNodeFactory .createStringLiteralNode (JsonLd .TYPE , JsonLd .ID ));
338
+ assertEquals (pluralTermDef , context .get ("pluralPropertyType" ));
339
+ assertThat (json , hasKey ("propertyType" ));
340
+ assertEquals (OWL .DATATYPE_PROPERTY , json .get ("propertyType" ));
341
+ assertThat (json , hasKey ("pluralPropertyType" ));
342
+ assertInstanceOf (List .class , json .get ("pluralPropertyType" ));
343
+ assertThat ((List <String >) json .get ("pluralPropertyType" ),
344
+ hasItems (OWL .ANNOTATION_PROPERTY , OWL .OBJECT_PROPERTY ));
345
+ }
346
+
347
+ @ Test
348
+ void serializationSerializesPlainIdentifierAsStringWithExpandedTermDefinitionInContextWhenConfiguredTo () throws Exception {
349
+ sut .configuration ().set (ConfigParam .SERIALIZE_INDIVIDUALS_USING_EXPANDED_DEFINITION , Boolean .TRUE .toString ());
350
+ final Organization instance = Generator .generateOrganization ();
351
+ instance .setCountry (URI .create ("http://dbpedia.org/resource/Czech_Republic" ));
352
+
353
+ final Map <String , ?> json = serializeAndRead (instance );
354
+ assertThat (json , hasKey (JsonLd .CONTEXT ));
355
+ assertInstanceOf (Map .class , json .get (JsonLd .CONTEXT ));
356
+ final Map <String , ?> context = (Map <String , JsonNode >) json .get (JsonLd .CONTEXT );
357
+ assertThat (context , hasKey ("country" ));
358
+ final ObjectNode termDef = new ObjectNode ("country" );
359
+ termDef .addItem (JsonNodeFactory .createObjectIdNode (JsonLd .ID , Vocabulary .ORIGIN ));
360
+ termDef .addItem (JsonNodeFactory .createStringLiteralNode (JsonLd .TYPE , JsonLd .ID ));
361
+ assertThat (context , hasKey ("country" ));
362
+ assertEquals (termDef , context .get ("country" ));
363
+ assertEquals (instance .getCountry ().toString (), json .get ("country" ));
364
+ }
312
365
}
0 commit comments