comparison planemo/lib/python3.7/site-packages/rdflib/plugins/parsers/pyMicrodata/registry.py @ 1:56ad4e20f292 draft

"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author guerler
date Fri, 31 Jul 2020 00:32:28 -0400
parents
children
comparison
equal deleted inserted replaced
0:d30785e31577 1:56ad4e20f292
1 # -*- coding: utf-8 -*-
2 """
3
4 Hardcoded version of the current microdata->RDF registry. There is also a local registry to include some test cases.
5 Finally, there is a local dictionary for prefix mapping for the registry items; these are the preferred prefixes
6 for those vocabularies, and are used to make the output nicer.
7
8 @organization: U{World Wide Web Consortium<http://www.w3.org>}
9 @author: U{Ivan Herman<a href="http://www.w3.org/People/Ivan/">}
10 @license: This software is available for use under the
11 U{W3C® SOFTWARE NOTICE AND LICENSE<href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">}
12 """
13
14 """
15 $Id: registry.py,v 1.5 2012/09/05 16:40:43 ivan Exp $
16 $Date: 2012/09/05 16:40:43 $
17 """
18
19 import sys
20 (py_v_major, py_v_minor, py_v_micro, py_v_final, py_v_serial) = sys.version_info
21
22 # To be added soon:
23 # "Class" : {"subPropertyOf" : "http://www.w3.org/2000/01/rdf-schema#Class"},
24 # "Property" : {"subPropertyOf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"}
25
26 _registry = """
27 {
28 "http://schema.org/": {
29 "propertyURI": "vocabulary",
30 "multipleValues": "unordered",
31 "properties": {
32 "additionalType": {"subPropertyOf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"},
33 "blogPosts": {"multipleValues": "list"},
34 "breadcrumb": {"multipleValues": "list"},
35 "byArtist": {"multipleValues": "list"},
36 "creator": {"multipleValues": "list"},
37 "episode": {"multipleValues": "list"},
38 "episodes": {"multipleValues": "list"},
39 "event": {"multipleValues": "list"},
40 "events": {"multipleValues": "list"},
41 "founder": {"multipleValues": "list"},
42 "founders": {"multipleValues": "list"},
43 "itemListElement": {"multipleValues": "list"},
44 "musicGroupMember": {"multipleValues": "list"},
45 "performerIn": {"multipleValues": "list"},
46 "actor": {"multipleValues": "list"},
47 "actors": {"multipleValues": "list"},
48 "performer": {"multipleValues": "list"},
49 "performers": {"multipleValues": "list"},
50 "producer": {"multipleValues": "list"},
51 "recipeInstructions": {"multipleValues": "list"},
52 "season": {"multipleValues": "list"},
53 "seasons": {"multipleValues": "list"},
54 "subEvent": {"multipleValues": "list"},
55 "subEvents": {"multipleValues": "list"},
56 "track": {"multipleValues": "list"},
57 "tracks": {"multipleValues": "list"}
58 }
59 },
60 "http://microformats.org/profile/hcard": {
61 "propertyURI": "vocabulary",
62 "multipleValues": "unordered"
63 },
64 "http://microformats.org/profile/hcalendar#": {
65 "propertyURI": "vocabulary",
66 "multipleValues": "unordered",
67 "properties": {
68 "categories": {"multipleValues": "list"}
69 }
70 }
71 }
72 """
73
74 vocab_names = {
75 "http://schema.org/" : "schema",
76 "http://xmlns.com/foaf/0.1/" : "foaf",
77 "http://microformats.org/profile/hcard#" : "hcard",
78 "http://microformats.org/profile/hcalendar#" : "hcalendar"
79 }
80
81 # This is the local version, added mainly for testing
82 _myRegistry = """
83 {
84 "http://vocabulary.list/": {
85 "propertyURI": "vocabulary",
86 "multipleValues": "list",
87 "properties": {
88 "list": {"multipleValues": "list"},
89 "typed": {"datatype": "http://typed"}
90 }
91 },
92 "http://vocabulary.unordered/": {
93 "propertyURI": "vocabulary",
94 "multipleValues": "unordered",
95 "properties": {
96 "list": {"multipleValues": "list"},
97 "typed": {"datatype": "http://typed"}
98 }
99 },
100 "http://contextual.unordered/": {
101 "propertyURI": "contextual",
102 "multipleValues": "unordered",
103 "properties": {
104 "list": {"multipleValues": "list"},
105 "typed": {"datatype": "http://typed"}
106 }
107 },
108 "http://contextual.list/": {
109 "propertyURI": "contextual",
110 "multipleValues": "list",
111 "properties": {
112 "list": {"multipleValues": "list"},
113 "typed": {"datatype": "http://typed"}
114 }
115 },
116 "http://n.whatwg.org/work": {
117 "propertyURI" : "contextual",
118 "multipleValues" : "list"
119 }
120 }
121 """
122
123
124 registry = []
125 myRegistry = []
126 if py_v_major >= 3 or (py_v_major == 2 and py_v_minor >= 6) :
127 import json
128 registry = json.loads(_registry)
129 myRegistry = json.loads(_myRegistry)
130 else :
131 import simplejson
132 registry = simplejson.loads(_registry)
133 myRegistry = simplejson.loads(_myRegistry)
134
135 for (k,v) in list(myRegistry.items()) : registry[k] = v