@lblod/graph-rdfa-processor 0.13.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _rdfaProcessor = _interopRequireDefault(require("./rdfa-processor"));
9
+
10
+ var _rdfaGraph = require("./rdfa-graph");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
15
+
16
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17
+
18
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
19
+
20
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
21
+
22
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
23
+
24
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
25
+
26
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
27
+
28
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
29
+
30
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
31
+
32
+ var GraphRDFaProcessor =
33
+ /*#__PURE__*/
34
+ function (_RDFaProcessor) {
35
+ _inherits(GraphRDFaProcessor, _RDFaProcessor);
36
+
37
+ function GraphRDFaProcessor(target) {
38
+ _classCallCheck(this, GraphRDFaProcessor);
39
+
40
+ return _possibleConstructorReturn(this, _getPrototypeOf(GraphRDFaProcessor).call(this, target));
41
+ }
42
+
43
+ _createClass(GraphRDFaProcessor, [{
44
+ key: "getObjectSize",
45
+ value: function getObjectSize(obj) {
46
+ var size = 0;
47
+
48
+ for (var key in obj) {
49
+ if (obj.hasOwnProperty(key)) {
50
+ size++;
51
+ }
52
+ }
53
+
54
+ return size;
55
+ }
56
+ }, {
57
+ key: "init",
58
+ value: function init() {
59
+ var thisObj = this;
60
+ this.finishedHandlers.push(function (node) {
61
+ for (var subject in thisObj.target.graph.subjects) {
62
+ var snode = thisObj.target.graph.subjects[subject];
63
+
64
+ if (thisObj.getObjectSize(snode.predicates) == 0) {
65
+ delete thisObj.target.graph.subjects[subject];
66
+ }
67
+ }
68
+ });
69
+ }
70
+ }, {
71
+ key: "newBlankNode",
72
+ value: function newBlankNode() {
73
+ return this.target.graph.newBlankNode();
74
+ }
75
+ }, {
76
+ key: "newSubjectOrigin",
77
+ value: function newSubjectOrigin(origin, subject) {
78
+ var snode = this.newSubject(null, subject);
79
+
80
+ for (var i = 0; i < snode.origins.length; i++) {
81
+ if (snode.origins[i] === origin) {
82
+ return;
83
+ }
84
+ }
85
+
86
+ snode.origins.push(origin);
87
+
88
+ if (!origin.data) {
89
+ Object.defineProperty(origin, "data", {
90
+ value: snode,
91
+ writable: false,
92
+ configurable: true,
93
+ enumerable: true
94
+ });
95
+ }
96
+ }
97
+ }, {
98
+ key: "newSubject",
99
+ value: function newSubject(origin, subject) {
100
+ var snode = this.target.graph.subjects[subject];
101
+
102
+ if (!snode) {
103
+ snode = new _rdfaGraph.RDFaSubject(this.target.graph, subject);
104
+ this.target.graph.subjects[subject] = snode;
105
+ }
106
+
107
+ return snode;
108
+ }
109
+ }, {
110
+ key: "addTriple",
111
+ value: function addTriple(origin, subject, predicate, object) {
112
+ var snode = this.newSubject(origin, subject);
113
+ var pnode = snode.predicates[predicate];
114
+
115
+ if (!pnode) {
116
+ pnode = new _rdfaGraph.RDFaPredicate(predicate);
117
+ snode.predicates[predicate] = pnode;
118
+ }
119
+
120
+ for (var i = 0; i < pnode.objects.length; i++) {
121
+ if (pnode.objects[i].type == object.type && pnode.objects[i].value == object.value) {
122
+ if (pnode.objects[i].origin !== origin) {
123
+ if (!Array.isArray(pnode.objects[i].origin)) {
124
+ var origins = [];
125
+ origins.push(pnode.objects[i].origin);
126
+ pnode.objects[i].origin = origins;
127
+ }
128
+
129
+ pnode.objects[i].origin.push(origin);
130
+ }
131
+
132
+ return;
133
+ }
134
+ }
135
+
136
+ pnode.objects.push(object);
137
+ object.origin = origin;
138
+
139
+ if (predicate == _rdfaProcessor.default.typeURI) {
140
+ snode.types.push(object.value);
141
+ }
142
+ }
143
+ }, {
144
+ key: "copyProperties",
145
+ value: function copyProperties() {
146
+ var copySubjects = [];
147
+ var patternSubjects = {};
148
+
149
+ for (var subject in this.target.graph.subjects) {
150
+ var snode = this.target.graph.subjects[subject];
151
+ var pnode = snode.predicates[GraphRDFaProcessor.rdfaCopyPredicate];
152
+
153
+ if (!pnode) {
154
+ continue;
155
+ }
156
+
157
+ copySubjects.push(subject);
158
+
159
+ for (var i = 0; i < pnode.objects.length; i++) {
160
+ if (pnode.objects[i].type != _rdfaProcessor.default.objectURI) {
161
+ continue;
162
+ }
163
+
164
+ var target = pnode.objects[i].value;
165
+ var patternSubjectNode = this.target.graph.subjects[target];
166
+
167
+ if (!patternSubjectNode) {
168
+ continue;
169
+ }
170
+
171
+ var patternTypes = patternSubjectNode.predicates[_rdfaProcessor.default.typeURI];
172
+
173
+ if (!patternTypes) {
174
+ continue;
175
+ }
176
+
177
+ var isPattern = false;
178
+
179
+ for (var j = 0; j < patternTypes.objects.length && !isPattern; j++) {
180
+ if (patternTypes.objects[j].value == GraphRDFaProcessor.rdfaPatternType && patternTypes.objects[j].type == _rdfaProcessor.default.objectURI) {
181
+ isPattern = true;
182
+ }
183
+ }
184
+
185
+ if (!isPattern) {
186
+ continue;
187
+ }
188
+
189
+ patternSubjects[target] = true;
190
+
191
+ for (var predicate in patternSubjectNode.predicates) {
192
+ var targetPNode = patternSubjectNode.predicates[predicate];
193
+
194
+ if (predicate == _rdfaProcessor.default.typeURI) {
195
+ if (targetPNode.objects.length == 1) {
196
+ continue;
197
+ }
198
+
199
+ for (var j = 0; j < targetPNode.objects.length; j++) {
200
+ if (targetPNode.objects[j].value != GraphRDFaProcessor.rdfaPatternType) {
201
+ var subjectPNode = snode.predicates[predicate];
202
+
203
+ if (!subjectPNode) {
204
+ subjectPNode = new _rdfaGraph.RDFaPredicate(predicate);
205
+ snode.predicates[predicate] = subjectPNode;
206
+ }
207
+
208
+ subjectPNode.objects.push({
209
+ type: targetPNode.objects[j].type,
210
+ value: targetPNode.objects[j].value,
211
+ language: targetPNode.objects[j].language,
212
+ origin: targetPNode.objects[j].origin
213
+ });
214
+ snode.types.push(targetPNode.objects[j].value);
215
+ }
216
+ }
217
+ } else {
218
+ var subjectPNode = snode.predicates[predicate];
219
+
220
+ if (!subjectPNode) {
221
+ subjectPNode = new _rdfaGraph.RDFaPredicate(predicate);
222
+ snode.predicates[predicate] = subjectPNode;
223
+ }
224
+
225
+ for (var j = 0; j < targetPNode.objects.length; j++) {
226
+ subjectPNode.objects.push({
227
+ type: targetPNode.objects[j].type,
228
+ value: targetPNode.objects[j].value,
229
+ language: targetPNode.objects[j].language,
230
+ origin: targetPNode.objects[j].origin
231
+ });
232
+ }
233
+ }
234
+ }
235
+ }
236
+ }
237
+
238
+ for (var i = 0; i < copySubjects.length; i++) {
239
+ var snode = this.target.graph.subjects[copySubjects[i]];
240
+ delete snode.predicates[GraphRDFaProcessor.rdfaCopyPredicate];
241
+ }
242
+
243
+ for (var subject in patternSubjects) {
244
+ delete this.target.graph.subjects[subject];
245
+ }
246
+ }
247
+ }]);
248
+
249
+ return GraphRDFaProcessor;
250
+ }(_rdfaProcessor.default);
251
+
252
+ exports.default = GraphRDFaProcessor;
253
+ ;
254
+ GraphRDFaProcessor.rdfaCopyPredicate = "http://www.w3.org/ns/rdfa#copy";
255
+ GraphRDFaProcessor.rdfaPatternType = "http://www.w3.org/ns/rdfa#Pattern";
256
+ module.exports = exports.default;
package/dist/index.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+
8
+ var _uriResolver = _interopRequireDefault(require("./uri-resolver"));
9
+
10
+ var _graphRdfaProcessor = _interopRequireDefault(require("./graph-rdfa-processor"));
11
+
12
+ var _rdfaGraph = require("./rdfa-graph");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _default(document) {
17
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
18
+ var node = document.documentElement || document;
19
+ var baseURI = options.baseURI ? options.baseURI : node.baseURI;
20
+ var specialHtmlPredicates = options.specialHtmlPredicates || [];
21
+ var graph = new _rdfaGraph.RDFaGraph();
22
+ var target = {
23
+ graph: graph,
24
+ baseURI: new _uriResolver.default().parseURI(baseURI),
25
+ specialHtmlPredicates: specialHtmlPredicates
26
+ };
27
+ var processor = new _graphRdfaProcessor.default(target);
28
+ processor.process(node, options);
29
+ return target.graph;
30
+ }
31
+
32
+ module.exports = exports.default;
package/dist/node.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var Node = {
8
+ ELEMENT_NODE: 1,
9
+ ATTRIBUTE_NODE: 2,
10
+ TEXT_NODE: 3,
11
+ CDATA_SECTION_NODE: 4,
12
+ ENTITY_REFERENCE_NODE: 5,
13
+ ENTITY_NODE: 6,
14
+ PROCESSING_INSTRUCTION_NODE: 7,
15
+ COMMENT_NODE: 8,
16
+ DOCUMENT_NODE: 9,
17
+ DOCUMENT_TYPE_NODE: 10,
18
+ DOCUMENT_FRAGMENT_NODE: 11,
19
+ NOTATION_NODE: 12
20
+ };
21
+ var _default = Node;
22
+ exports.default = _default;
23
+ module.exports = exports.default;