summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Beckett <dave@dajobe.org>2001-08-15 23:07:21 +0000
committerDave Beckett <dave@dajobe.org>2001-08-15 23:07:21 +0000
commit5e70dcf7c100adfef963501d524478019a411c43 (patch)
treeacb1e7c167c92274edca7e8ee81a92ed68067a72
parente9ad89084407b8f2d03d22ff856f10a5cf37ac40 (diff)
downloadraptor-5e70dcf7c100adfef963501d524478019a411c43.tar.gz
(raptor_generate_statement): Handle generating reified statements
with IDs as well as URIs etc.
-rw-r--r--src/raptor_general.c8
-rw-r--r--src/raptor_parse.c8
-rw-r--r--src/raptor_rdfxml.c8
3 files changed, 15 insertions, 9 deletions
diff --git a/src/raptor_general.c b/src/raptor_general.c
index 03eacff8..a1650d09 100644
--- a/src/raptor_general.c
+++ b/src/raptor_general.c
@@ -2506,15 +2506,17 @@ raptor_generate_statement(raptor_parser *rdf_parser,
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
statement->predicate=RAPTOR_RDF_subject_URI;
- statement->object=subject_uri;
+ statement->object=subject_uri ? (void*)subject_uri : (void*)subject_id;
+ statement->object_type=subject_type;
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
statement->predicate=RAPTOR_RDF_predicate_URI;
- statement->object=predicate_uri;
+ statement->object=predicate_uri ? (void*)predicate_uri : (void*)predicate_id;
+ statement->object_type=(predicate_type == RAPTOR_IDENTIFIER_TYPE_PREDICATE) ? RAPTOR_IDENTIFIER_TYPE_RESOURCE : predicate_type;
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
statement->predicate=RAPTOR_RDF_object_URI;
- statement->object=object_uri;
+ statement->object=object_uri ? (void*)object_uri : (void*)object_id;
statement->object_type=object_type;
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
}
diff --git a/src/raptor_parse.c b/src/raptor_parse.c
index 03eacff8..a1650d09 100644
--- a/src/raptor_parse.c
+++ b/src/raptor_parse.c
@@ -2506,15 +2506,17 @@ raptor_generate_statement(raptor_parser *rdf_parser,
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
statement->predicate=RAPTOR_RDF_subject_URI;
- statement->object=subject_uri;
+ statement->object=subject_uri ? (void*)subject_uri : (void*)subject_id;
+ statement->object_type=subject_type;
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
statement->predicate=RAPTOR_RDF_predicate_URI;
- statement->object=predicate_uri;
+ statement->object=predicate_uri ? (void*)predicate_uri : (void*)predicate_id;
+ statement->object_type=(predicate_type == RAPTOR_IDENTIFIER_TYPE_PREDICATE) ? RAPTOR_IDENTIFIER_TYPE_RESOURCE : predicate_type;
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
statement->predicate=RAPTOR_RDF_object_URI;
- statement->object=object_uri;
+ statement->object=object_uri ? (void*)object_uri : (void*)object_id;
statement->object_type=object_type;
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
}
diff --git a/src/raptor_rdfxml.c b/src/raptor_rdfxml.c
index 03eacff8..a1650d09 100644
--- a/src/raptor_rdfxml.c
+++ b/src/raptor_rdfxml.c
@@ -2506,15 +2506,17 @@ raptor_generate_statement(raptor_parser *rdf_parser,
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
statement->predicate=RAPTOR_RDF_subject_URI;
- statement->object=subject_uri;
+ statement->object=subject_uri ? (void*)subject_uri : (void*)subject_id;
+ statement->object_type=subject_type;
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
statement->predicate=RAPTOR_RDF_predicate_URI;
- statement->object=predicate_uri;
+ statement->object=predicate_uri ? (void*)predicate_uri : (void*)predicate_id;
+ statement->object_type=(predicate_type == RAPTOR_IDENTIFIER_TYPE_PREDICATE) ? RAPTOR_IDENTIFIER_TYPE_RESOURCE : predicate_type;
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
statement->predicate=RAPTOR_RDF_object_URI;
- statement->object=object_uri;
+ statement->object=object_uri ? (void*)object_uri : (void*)object_id;
statement->object_type=object_type;
(*rdf_parser->statement_handler)(rdf_parser->user_data, statement);
}