00001 #ifndef _dev_w3_org__2001_blindfold_dts
00002 #define _dev_w3_org__2001_blindfold_dts
00003
00056 #include "iter.h"
00057
00058
00065 typedef struct objref_s objref;
00067
00068
00075 int
00076 objref_known_to_be_equal(objref *a, objref *b);
00077
00078
00086 char *
00087 objref_get_global_names(objref *a, iter *iterator);
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00145 void objref_mark_begin();
00151 int objref_is_marked(objref *);
00152
00159 void objref_mark(objref *);
00160
00168 void objref_mark_end();
00169
00170
00171
00176 void objref_add(objref *set, objref *subject, objref *predicate, objref *object);
00177
00182 void objref_include(objref *outer, objref *inner);
00183
00198 void objref_keep(objref *r);
00205 void objref_release(objref *r);
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00228 void objref_reify_statement_sets(objref *outer_set, objref *flat_set);
00229
00236 void objref_datafy(objref *s);
00237
00241 void objref_genify(objref *s);
00242
00243
00244
00245 #include <stdio.h>
00246
00247
00254 void objref_write_n3(FILE* out, objref *top);
00255
00257 void objref_write_canonical(FILE* out, objref *top);
00258
00260 void objref_write_prolog_3(FILE* out, objref *top, char* predicate);
00262 void objref_write_prolog_4(FILE* out, objref *top, char* predicate);
00263
00265 int objref_count(objref *s);
00266
00271 objref *objref_new();
00272
00278 objref *objref_new_local(char *);
00279
00285 objref *objref_obtain_global(char *global_name);
00286
00292 objref *objref_obtain_local(char *);
00293
00299 objref *obtain_literal_utf8(char *);
00300
00307 void objref_print(FILE *stream, objref *r);
00308
00309 #endif