예제 #1
0
 def test_dump_chestnut(self):
     doc = jsonld_c_dumper(trees, 2)
     assert doc['id'] == '2'
     assert doc['uri'] == 'http://id.trees.org/2'
     assert doc['type'] == 'concept'
     assert doc['label'] == 'The Chestnut'
     assert len(doc['labels']['pref_labels']) == 1
     assert {
         'language': 'en',
         '@language': 'en',
         'lbl': 'The Chestnut'
     } in doc['labels']['pref_labels']
     assert len(doc['labels']['alt_labels']) == 2
     assert len(doc['notes']['definitions']) == 1
     assert {
         'language': 'en',
         '@language': 'en',
         'nt': 'A different type of tree.',
     } in doc['notes']['definitions']
     assert len(doc['member_of']) == 1
     assert doc['concept_scheme'] == {
         'uri': 'http://id.trees.org',
         'type': 'skos:ConceptScheme',
         'label': 'Soorten'
     }
     assert doc['in_dataset'] == 'http://id.trees.org/dataset'
예제 #2
0
 def test_dump_species(self):
     doc = jsonld_c_dumper(trees, 3)
     assert doc['id'] == 3
     assert doc['uri'] == 'http://id.trees.org/3'
     assert doc['type'] == 'collection'
     assert doc['label'] == 'Trees by species'
     assert len(doc['labels']['pref_labels']) == 2
     assert {
         'language': 'en',
         '@language': 'en',
         'lbl': 'Trees by species'
     } in doc['labels']['pref_labels']
     assert len(doc['labels']['hidden_labels']) == 1
     assert len(doc['notes']['editorial_notes']) == 1
     assert {
         'language': 'en',
         'nt':
         '<div xml:lang="en">As seen in <em>How to Recognise Different Types of Trees from Quite a Long Way Away</em>.</div>',
         '@type': 'HTML'
     } in doc['notes']['editorial_notes']
     assert len(doc['members']) == 2
     assert {
         'id': '2',
         'uri': 'http://id.trees.org/2',
         'type': 'concept',
         'label': 'The Chestnut'
     } in doc['members']
     assert doc['concept_scheme'] == {
         'uri': 'http://id.trees.org',
         'type': 'skos:ConceptScheme',
         'label': 'Soorten'
     }
     assert doc['in_dataset'] == 'http://id.trees.org/dataset'
예제 #3
0
 def test_dump_larch(self):
     doc = jsonld_c_dumper(trees, 1, language='nl')
     assert doc['id'] == '1'
     assert doc['uri'] == 'http://id.trees.org/1'
     assert doc['type'] == 'concept'
     assert doc['label'] == 'De Lariks'
     assert len(doc['labels']['pref_labels']) == 2
     assert {
         'language': 'en',
         '@language': 'en',
         'lbl': 'The Larch'
     } in doc['labels']['pref_labels']
     assert len(doc['notes']['definitions']) == 1
     assert {
         'language': 'en',
         '@language': 'en',
         'nt': 'A type of tree.',
     } in doc['notes']['definitions']
     assert len(doc['sources']) == len(larch['sources'])
     assert {
         'type':
         'dct:BibliographicResource',
         'citations': [{
             'ct':
             'Monthy Python. Episode Three: How to recognise different types of trees from quite a long way away.'
         }]
     } in doc['sources']
     assert len(doc['member_of']) == 1
     assert doc['concept_scheme'] == {
         'uri': 'http://id.trees.org',
         'type': 'skos:ConceptScheme',
         'label': 'Soorten'
     }
     assert doc['in_dataset'] == 'http://id.trees.org/dataset'
예제 #4
0
def collection_ld_adapter(obj, request):
    '''
    Adapter for rendering a :class:`skosprovider.skos.Concept` to jsonld.

    :param skosprovider.skos.Concept obj: The concept to be rendered.
    :rtype: :class:`dict`
    '''
    p = request.skos_registry.get_provider(obj.concept_scheme.uri)
    language = request.params.get('language', request.locale_name)
    request.response.content_type = 'application/ld+json'
    context = request.route_url('skosprovider.context')
    return jsonld_c_dumper(p, obj.id, context, language=language)
예제 #5
0
 def test_dump_larch_partial_profile_en(self):
     doc = jsonld_c_dumper(trees,
                           1,
                           relations_profile='partial',
                           language='en')
     assert doc['member_of'] == [{
         'id': 3,
         'uri': 'http://id.trees.org/3',
         'type': 'collection',
         'label': 'Trees by species'
     }]
     assert doc['concept_scheme'] == {
         'uri': 'http://id.trees.org',
         'type': 'skos:ConceptScheme',
         'label': 'Soorten'
     }
예제 #6
0
 def test_dump_trees_url_context(self):
     context_uri = 'https://atramhasis.org/context/atramhasis.jsonld'
     doc = jsonld_c_dumper(trees, 1, context_uri)
     assert '@context' in doc
     assert doc['@context'] == context_uri
예제 #7
0
 def test_dump_larch_inline_context(self):
     doc = jsonld_c_dumper(trees, 1, CONTEXT)
     assert '@context' in doc
     assert doc['@context'] == CONTEXT
예제 #8
0
 def test_dump_larch_label_en(self):
     doc = jsonld_c_dumper(trees, 1, language='nl')
     assert doc['label'] == 'De Lariks'
예제 #9
0
 def test_dump_larch_uri_profile(self):
     doc = jsonld_c_dumper(trees, 1, relations_profile='uri')
     assert doc['member_of'] == ['http://id.trees.org/3']
     assert doc['concept_scheme'] == 'http://id.trees.org'
예제 #10
0
 def test_dump_Belgium(self):
     doc = jsonld_c_dumper(geo, 4, CONTEXT)
     assert len(doc['subordinate_arrays']) == 2