@@ -54,27 +54,27 @@ bfe.define('src/bfestore', ['require', 'exports'], function (require, exports) {
5454 // add name, id triples
5555 var mintedId = 'e' + window . ShortUUID ( '0123456789' ) . fromUUID ( bfeditor . bfestore . name ) ;
5656 var mintedUri = config . url + '/resources/' + mintedId ;
57- var useguid = guid ( ) ;
58- var bnode = '_:bnode' + useguid ;
57+
58+ var bnode = '_:bnode' + shortUUID ( guid ( ) ) ;
5959
6060 var adminTriple = { } ;
61- adminTriple . guid = useguid ;
61+ adminTriple . guid = shortUUID ( guid ( ) ) ;
6262 adminTriple . s = resourceURI ;
6363 adminTriple . p = 'http://id.loc.gov/ontologies/bibframe/adminMetadata' ;
6464 adminTriple . o = bnode ;
6565 adminTriple . otype = 'uri' ;
6666 bfeditor . bfestore . store . push ( adminTriple ) ;
6767
6868 adminTriple = { } ;
69- adminTriple . guid = useguid ;
69+ adminTriple . guid = shortUUID ( guid ( ) ) ;
7070 adminTriple . s = bnode ;
7171 adminTriple . p = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' ;
7272 adminTriple . o = 'http://id.loc.gov/ontologies/bibframe/AdminMetadata' ;
7373 adminTriple . otype = 'uri' ;
7474 bfeditor . bfestore . store . push ( adminTriple ) ;
7575
7676 adminTriple = { } ;
77- adminTriple . guid = useguid ;
77+ adminTriple . guid = shortUUID ( guid ( ) ) ;
7878 adminTriple . s = bnode ;
7979 adminTriple . p = 'http://id.loc.gov/ontologies/bibframe/creationDate' ;
8080 var d = new Date ( bfeditor . bfestore . created ) ;
@@ -83,113 +83,119 @@ bfe.define('src/bfestore', ['require', 'exports'], function (require, exports) {
8383 bfeditor . bfestore . store . push ( adminTriple ) ;
8484
8585 adminTriple = { } ;
86- adminTriple . guid = useguid ;
86+ adminTriple . guid = shortUUID ( guid ( ) ) ;
8787 adminTriple . s = bnode ;
8888 adminTriple . p = 'http://id.loc.gov/ontologies/bibframe/descriptionAuthentication' ;
8989 adminTriple . o = 'http://id.loc.gov/vocabulary/marcauthen/pcc' ;
9090 adminTriple . otype = 'uri' ;
9191 bfeditor . bfestore . store . push ( adminTriple ) ;
9292
9393 adminTriple = { } ;
94- adminTriple . guid = useguid ;
94+ adminTriple . guid = shortUUID ( guid ( ) ) ;
9595 adminTriple . s = 'http://id.loc.gov/vocabulary/marcauthen/pcc' ;
9696 adminTriple . p = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' ;
9797 adminTriple . o = 'http://id.loc.gov/ontologies/bibframe/DescriptionAuthentication' ;
9898 adminTriple . otype = 'uri' ;
9999 bfeditor . bfestore . store . push ( adminTriple ) ;
100100
101101 adminTriple = { } ;
102- adminTriple . guid = useguid ;
102+ adminTriple . guid = shortUUID ( guid ( ) ) ;
103+ adminTriple . s = 'http://id.loc.gov/vocabulary/marcauthen/pcc' ;
104+ adminTriple . p = 'http://www.w3.org/2000/01/rdf-schema#label' ;
105+ adminTriple . o = 'pcc' ;
106+ adminTriple . otype = 'literal' ;
107+ bfeditor . bfestore . store . push ( adminTriple ) ;
108+
109+ adminTriple = { } ;
110+ adminTriple . guid = shortUUID ( guid ( ) ) ;
103111 adminTriple . s = bnode ;
104112 adminTriple . p = 'http://id.loc.gov/ontologies/bibframe/descriptionConventions' ;
105113 adminTriple . o = 'http://id.loc.gov/vocabulary/descriptionConventions/rda' ;
106114 adminTriple . otype = 'uri' ;
107115 bfeditor . bfestore . store . push ( adminTriple ) ;
108116
109117 adminTriple = { } ;
110- adminTriple . guid = useguid ;
118+ adminTriple . guid = shortUUID ( guid ( ) ) ;
111119 adminTriple . s = 'http://id.loc.gov/vocabulary/descriptionConventions/rda' ;
112120 adminTriple . p = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' ;
113121 adminTriple . o = 'http://id.loc.gov/ontologies/bibframe/DescriptionConventions' ;
114122 adminTriple . otype = 'uri' ;
115123 bfeditor . bfestore . store . push ( adminTriple ) ;
116124
117125 adminTriple = { } ;
118- adminTriple . guid = useguid ;
126+ adminTriple . guid = shortUUID ( guid ( ) ) ;
127+ adminTriple . s = 'http://id.loc.gov/vocabulary/descriptionConventions/rda' ;
128+ adminTriple . p = 'http://www.w3.org/2000/01/rdf-schema#label' ;
129+ adminTriple . o = 'RDA' ;
130+ adminTriple . otype = 'literal' ;
131+ bfeditor . bfestore . store . push ( adminTriple ) ;
132+
133+ adminTriple = { } ;
134+ adminTriple . guid = shortUUID ( guid ( ) ) ;
119135 adminTriple . s = bnode ;
120136 adminTriple . p = 'http://id.loc.gov/ontologies/bibframe/descriptionLanguage' ;
121137 adminTriple . o = 'http://id.loc.gov/vocabulary/languages/eng' ;
122138 adminTriple . otype = 'uri' ;
123139 bfeditor . bfestore . store . push ( adminTriple ) ;
124140
125141 adminTriple = { } ;
126- adminTriple . guid = useguid ;
142+ adminTriple . guid = shortUUID ( guid ( ) ) ;
127143 adminTriple . s = 'http://id.loc.gov/vocabulary/languages/eng' ;
128144 adminTriple . p = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' ;
129145 adminTriple . o = 'http://id.loc.gov/ontologies/bibframe/Language' ;
130146 adminTriple . otype = 'uri' ;
131147 bfeditor . bfestore . store . push ( adminTriple ) ;
132148
133149 adminTriple = { } ;
134- adminTriple . guid = useguid ;
150+ adminTriple . guid = shortUUID ( guid ( ) ) ;
151+ adminTriple . s = 'http://id.loc.gov/vocabulary/languages/eng' ;
152+ adminTriple . p = 'http://www.w3.org/2000/01/rdf-schema#label' ;
153+ adminTriple . o = 'English' ;
154+ adminTriple . otype = 'literal' ;
155+ bfeditor . bfestore . store . push ( adminTriple ) ;
156+
157+ adminTriple = { } ;
158+ adminTriple . guid = shortUUID ( guid ( ) ) ;
135159 adminTriple . s = bnode ;
136160 adminTriple . p = 'http://id.loc.gov/ontologies/bibframe/descriptionModifier' ;
137161 adminTriple . o = 'http://id.loc.gov/vocabulary/organizations/dlc' ;
138162 adminTriple . otype = 'uri' ;
139163 bfeditor . bfestore . store . push ( adminTriple ) ;
140164
141165 adminTriple = { } ;
142- adminTriple . guid = useguid ;
166+ adminTriple . guid = shortUUID ( guid ( ) ) ;
143167 adminTriple . s = 'http://id.loc.gov/vocabulary/organizations/dlc' ;
144168 adminTriple . p = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' ;
145169 adminTriple . o = 'http://id.loc.gov/ontologies/bibframe/DescriptionModifier' ;
146170 adminTriple . otype = 'uri' ;
147171 bfeditor . bfestore . store . push ( adminTriple ) ;
148172
149173 adminTriple = { } ;
150- adminTriple . s = 'http://id.loc.gov/vocabulary/marcauthen/pcc' ;
151- adminTriple . p = 'http://www.w3.org/2000/01/rdf-schema#label' ;
152- adminTriple . o = 'pcc' ;
153- adminTriple . otype = 'Literal' ;
154- bfeditor . bfestore . store . push ( adminTriple ) ;
155-
156- adminTriple = { } ;
157- adminTriple . s = 'http://id.loc.gov/vocabulary/descriptionConventions/rda' ;
158- adminTriple . p = 'http://www.w3.org/2000/01/rdf-schema#label' ;
159- adminTriple . o = 'RDA' ;
160- adminTriple . otype = 'literal' ;
161- bfeditor . bfestore . store . push ( adminTriple ) ;
162-
163- adminTriple = { } ;
164- adminTriple . s = 'http://id.loc.gov/vocabulary/languages/eng' ;
165- adminTriple . p = 'http://www.w3.org/2000/01/rdf-schema#label' ;
166- adminTriple . o = 'English' ;
167- adminTriple . otype = 'literal' ;
168- bfeditor . bfestore . store . push ( adminTriple ) ;
169-
170- adminTriple = { } ;
174+ adminTriple . guid = shortUUID ( guid ( ) ) ;
171175 adminTriple . s = 'http://id.loc.gov/vocabulary/organizations/dlc' ;
172176 adminTriple . p = 'http://www.w3.org/2000/01/rdf-schema#label' ;
173177 adminTriple . o = 'DLC' ;
174178 adminTriple . otype = 'literal' ;
175179 bfeditor . bfestore . store . push ( adminTriple ) ;
176180
177181 adminTriple = { } ;
178- adminTriple . guid = useguid ;
182+ adminTriple . guid = shortUUID ( guid ( ) ) ;
179183 adminTriple . s = bnode ;
180184 adminTriple . p = 'http://id.loc.gov/ontologies/bibframe/identifiedBy' ;
181185 adminTriple . o = mintedUri ;
182186 adminTriple . otype = 'uri' ;
183187 bfeditor . bfestore . store . push ( adminTriple ) ;
184188
185189 adminTriple = { } ;
190+ adminTriple . guid = shortUUID ( guid ( ) ) ;
186191 adminTriple . s = mintedUri ;
187192 adminTriple . p = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' ;
188193 adminTriple . o = 'http://id.loc.gov/ontologies/bibframe/Local' ;
189194 adminTriple . otype = 'uri' ;
190195 bfeditor . bfestore . store . push ( adminTriple ) ;
191196
192197 adminTriple = { } ;
198+ adminTriple . guid = shortUUID ( guid ( ) ) ;
193199 adminTriple . s = mintedUri ;
194200 adminTriple . p = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#value' ;
195201 adminTriple . o = mintedId ;
@@ -206,6 +212,7 @@ bfe.define('src/bfestore', ['require', 'exports'], function (require, exports) {
206212 bfeditor . bfestore . store = _ . without ( bfeditor . bfestore . store , _ . findWhere ( bfeditor . bfestore . store , { s : resourceURI , p : 'http://id.loc.gov/ontologies/bflc/procInfo' } ) ) ;
207213
208214 var adminTriple = { } ;
215+ adminTriple . guid = shortUUID ( guid ( ) ) ;
209216 adminTriple . s = resourceURI ;
210217 adminTriple . p = 'http://id.loc.gov/ontologies/bflc/procInfo' ;
211218 adminTriple . o = procInfo ;
@@ -215,13 +222,22 @@ bfe.define('src/bfestore', ['require', 'exports'], function (require, exports) {
215222
216223 exports . addProfile = function ( resourceURI , profile ) {
217224 var adminTriple = { } ;
225+ adminTriple . guid = shortUUID ( guid ( ) ) ;
218226 adminTriple . s = resourceURI ;
219227 adminTriple . p = 'http://id.loc.gov/ontologies/bflc/profile' ;
220228 adminTriple . o = profile ;
221229 adminTriple . otype = 'literal' ;
222230 bfeditor . bfestore . store . push ( adminTriple ) ;
223231 }
224232
233+ exports . removeOrphans = function ( defaultURI ) {
234+ _ . forEach ( exports . store , function ( t ) {
235+ if ( ! _ . some ( exports . store , { o :t . s } ) && t . s !== defaultURI ) {
236+ exports . store = _ . without ( exports . store , t ) ;
237+ }
238+ } )
239+ }
240+
225241 exports . storeDedup = function ( ) {
226242 exports . store = _ . uniq ( exports . store , function ( t ) {
227243 if ( t . olang !== undefined ) {
@@ -310,7 +326,7 @@ bfe.define('src/bfestore', ['require', 'exports'], function (require, exports) {
310326
311327 exports . jsonld2store = function ( jsonld ) {
312328 jsonld . forEach ( function ( resource ) {
313- var s = typeof resource [ '@id' ] !== 'undefined' ? resource [ '@id' ] : '_:b' + guid ( ) ;
329+ var s = typeof resource [ '@id' ] !== 'undefined' ? resource [ '@id' ] : '_:b' + shortUUID ( guid ( ) ) ;
314330 for ( var p in resource ) {
315331 if ( p !== '@id' ) {
316332 if ( p === 'http://www.loc.gov/mads/rdf/v1#componentList' ) {
@@ -325,7 +341,7 @@ bfe.define('src/bfestore', ['require', 'exports'], function (require, exports) {
325341 }
326342
327343 list . forEach ( function ( l ) {
328- var tguid = guid ( ) ;
344+ var tguid = shortUUID ( guid ( ) ) ;
329345 var triple = { } ;
330346 triple . guid = tguid ;
331347 triple . s = s ;
@@ -336,7 +352,7 @@ bfe.define('src/bfestore', ['require', 'exports'], function (require, exports) {
336352 } ) ;
337353
338354 } else if ( p === '@type' && ! _ . isArray ( resource [ p ] ) ) {
339- var tguid = guid ( ) ;
355+ var tguid = shortUUID ( guid ( ) ) ;
340356 var triple = { } ;
341357 triple . guid = tguid ;
342358 triple . s = s ;
@@ -346,7 +362,7 @@ bfe.define('src/bfestore', ['require', 'exports'], function (require, exports) {
346362 exports . store . push ( triple ) ;
347363 } else {
348364 resource [ p ] . forEach ( function ( o ) {
349- var tguid = guid ( ) ;
365+ var tguid = shortUUID ( guid ( ) ) ;
350366 var triple = { } ;
351367 triple . guid = tguid ;
352368 if ( p === '@type' ) {
@@ -593,4 +609,9 @@ bfe.define('src/bfestore', ['require', 'exports'], function (require, exports) {
593609 return translator . uuid ( ) ;
594610 }
595611
612+ function shortUUID ( uuid ) {
613+ var translator = window . ShortUUID ( ) ;
614+ return translator . fromUUID ( uuid ) ;
615+ }
616+
596617} ) ;
0 commit comments