You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/06/14 20:19:48 UTC
svn commit: r1493193 [1/5] - in /jena/trunk/jena-arq:
src/main/java/org/apache/jena/common/ src/main/java/org/apache/jena/riot/
src/main/java/org/apache/jena/riot/lang/
src/main/java/org/apache/jena/riot/system/
src/test/java/com/hp/hpl/jena/sparql/ sr...
Author: andy
Date: Fri Jun 14 18:19:42 2013
New Revision: 1493193
URL: http://svn.apache.org/r1493193
Log:
Update to latest W3C RDF-WG tests for Turtle and TriG
Added:
jena/trunk/jena-arq/src/main/java/org/apache/jena/common/
jena/trunk/jena-arq/src/main/java/org/apache/jena/common/IsoMatcher.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/common/
jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TC_Common.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TS_Common.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TestIsoMatcher.java
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/HYPHEN_MINUS_in_localName.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/HYPHEN_MINUS_in_localName.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRIREF_datatype.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRIREF_datatype.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_spo.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_subject.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_all_punctuation.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_all_punctuation.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_eight_digit_numeric_escape.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_four_digit_numeric_escape.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LICENSE
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL1.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL1.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL1_all_controls.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL1_all_controls.ttl (with props)
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL1_all_punctuation.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL1_all_punctuation.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL1_ascii_boundaries.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL1_ascii_boundaries.ttl (with props)
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL1_with_UTF8_boundaries.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL2.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL2_ascii_boundaries.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL2_ascii_boundaries.ttl (with props)
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL2_with_UTF8_boundaries.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG1.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG1_ascii_boundaries.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG1_ascii_boundaries.ttl (with props)
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG1_with_1_squote.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG1_with_1_squote.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG1_with_2_squotes.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG1_with_2_squotes.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG1_with_UTF8_boundaries.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG2.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG2_ascii_boundaries.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG2_ascii_boundaries.ttl (with props)
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG2_with_1_squote.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG2_with_1_squote.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG2_with_2_squotes.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG2_with_2_squotes.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG2_with_REVERSE_SOLIDUS.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG2_with_REVERSE_SOLIDUS.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_LONG2_with_UTF8_boundaries.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/LITERAL_with_UTF8_boundaries.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/SPARQL_style_base.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/SPARQL_style_prefix.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/anonymous_blank_node_object.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/anonymous_blank_node_subject.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/bareword_a_predicate.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/bareword_a_predicate.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/bareword_decimal.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/bareword_decimal.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/bareword_double.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/bareword_double.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/bareword_integer.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/blankNodePropertyList_as_object.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/blankNodePropertyList_as_object.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/blankNodePropertyList_as_subject.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/blankNodePropertyList_as_subject.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/blankNodePropertyList_containing_collection.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/blankNodePropertyList_containing_collection.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/blankNodePropertyList_with_multiple_triples.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/blankNodePropertyList_with_multiple_triples.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/collection_object.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/collection_object.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/collection_subject.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/collection_subject.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/default_namespace_IRI.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/double_lower_case_e.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/double_lower_case_e.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/empty_collection.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/empty_collection.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/first.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/first.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/labeled_blank_node_object.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/labeled_blank_node_object.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/labeled_blank_node_subject.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/labeled_blank_node_subject.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/labeled_blank_node_with_leading_digit.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/labeled_blank_node_with_leading_underscore.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/labeled_blank_node_with_non_leading_extras.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/langtagged_LONG.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/langtagged_LONG_with_subtag.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/langtagged_LONG_with_subtag.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/langtagged_non_LONG.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/langtagged_non_LONG.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/lantag_with_subtag.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/lantag_with_subtag.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/last.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/last.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_false.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_false.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_true.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_true.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_BACKSPACE.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_BACKSPACE.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_CARRIAGE_RETURN.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_CARRIAGE_RETURN.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_CHARACTER_TABULATION.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_CHARACTER_TABULATION.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_FORM_FEED.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_FORM_FEED.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_LINE_FEED.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_LINE_FEED.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_REVERSE_SOLIDUS.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_REVERSE_SOLIDUS.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_escaped_BACKSPACE.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_escaped_CARRIAGE_RETURN.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_escaped_CHARACTER_TABULATION.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_escaped_FORM_FEED.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_escaped_LINE_FEED.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_numeric_escape4.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_numeric_escape4.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/literal_with_numeric_escape8.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_leading_digit.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_leading_digit.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_leading_underscore.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_leading_underscore.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_nfc_PN_CHARS_BASE_character_boundaries.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_non_leading_extras.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localName_with_non_leading_extras.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localname_with_COLON.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/localname_with_COLON.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/manifest.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/negative_numeric.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/negative_numeric.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/nested_blankNodePropertyLists.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/nested_blankNodePropertyLists.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/nested_collection.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/nested_collection.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/numeric_with_leading_0.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/numeric_with_leading_0.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/objectList_with_two_objects.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/objectList_with_two_objects.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/old_style_base.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/old_style_prefix.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/percent_escaped_localName.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/percent_escaped_localName.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/positive_numeric.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/positive_numeric.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/predicateObjectList_with_two_objectLists.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/predicateObjectList_with_two_objectLists.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/prefix_only_IRI.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/prefix_reassigned_and_used.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/prefix_reassigned_and_used.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/prefix_with_PN_CHARS_BASE_character_boundaries.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/prefix_with_non_leading_extras.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/prefixed_IRI_object.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/prefixed_IRI_predicate.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/prefixed_name_datatype.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/repeated_semis_at_end.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/repeated_semis_not_at_end.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/repeated_semis_not_at_end.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/reserved_escaped_localName.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/reserved_escaped_localName.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/sole_blankNodePropertyList.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-eval-struct-01.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-eval-struct-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-eval-struct-02.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-eval-struct-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-01.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-02.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-03.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-04.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-05.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-06.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-06.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-07.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-07.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-08.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-08.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-09.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-09.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-10.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-10.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-11.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-11.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-12.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-12.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-13.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-13.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-14.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-14.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-15.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-15.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-16.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-16.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-17.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-17.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-18.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-18.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-19.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-19.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-20.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-20.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-21.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-21.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-22.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-22.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-23.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-23.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-24.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-24.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-25.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-25.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-26.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-26.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-27.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-subm-27.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-LITERAL2_with_langtag_and_datatype.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-base-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-base-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-base-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-blank-label-dot-end.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-esc-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-esc-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-esc-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-esc-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-kw-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-kw-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-kw-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-kw-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-kw-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-lang-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-ln-dash-start.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-ln-escape-start.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-ln-escape.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-missing-ns-dot-end.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-missing-ns-dot-start.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-06.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-07.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-08.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-09.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-10.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-11.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-12.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-n3-extras-13.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-ns-dot-end.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-ns-dot-start.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-num-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-num-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-num-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-num-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-num-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-number-dot-in-anon.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-pname-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-pname-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-pname-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-prefix-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-prefix-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-prefix-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-prefix-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-prefix-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-string-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-string-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-string-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-string-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-string-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-string-06.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-string-07.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-06.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-07.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-08.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-09.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-10.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-11.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-12.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-13.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-14.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-15.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-16.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-struct-17.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-uri-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-uri-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-uri-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-uri-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bad-uri-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-base-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-base-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-base-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-base-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-blank-label.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bnode-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bnode-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bnode-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bnode-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bnode-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bnode-06.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bnode-07.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bnode-08.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bnode-09.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-bnode-10.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-datatypes-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-datatypes-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-file-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-file-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-file-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-kw-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-kw-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-kw-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-lists-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-lists-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-lists-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-lists-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-lists-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-ln-colons.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-ln-dots.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-ns-dots.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-06.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-07.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-08.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-09.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-10.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-number-11.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-pname-esc-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-pname-esc-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-pname-esc-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-prefix-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-prefix-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-prefix-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-prefix-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-prefix-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-prefix-06.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-prefix-07.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-prefix-08.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-prefix-09.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-str-esc-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-str-esc-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-str-esc-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-06.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-07.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-08.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-09.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-10.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-string-11.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-struct-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-struct-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-struct-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-struct-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-struct-05.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-uri-01.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-uri-02.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-uri-03.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/turtle-syntax-uri-04.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/two_LITERAL_LONG2s.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/two_LITERAL_LONG2s.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/underscore_in_localName.nt
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/underscore_in_localName.ttl
Removed:
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/VocabTestRIOT.java
jena/trunk/jena-arq/testing/RIOT/Lang/Turtle/
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangNQuads.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ErrorHandlerFactory.java
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/ARQTestSuite.java
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/junit/TestItem.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/FactoryTestRiot.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/LangTestCase.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestEval.java
jena/trunk/jena-arq/testing/RIOT/Lang/TurtleSubm/manifest.ttl
jena/trunk/jena-arq/testing/RIOT/Lang/manifest-all.ttl
Added: jena/trunk/jena-arq/src/main/java/org/apache/jena/common/IsoMatcher.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/common/IsoMatcher.java?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/common/IsoMatcher.java (added)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/common/IsoMatcher.java Fri Jun 14 18:19:42 2013
@@ -0,0 +1,289 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.common ;
+
+import java.util.ArrayList ;
+import java.util.Collection ;
+import java.util.Iterator ;
+import java.util.List ;
+
+import org.apache.jena.atlas.lib.Tuple ;
+
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.graph.Triple ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+import com.hp.hpl.jena.sparql.core.Quad ;
+import com.hp.hpl.jena.sparql.util.NodeUtils ;
+import com.hp.hpl.jena.sparql.util.NodeUtils.EqualityTest ;
+
+// Needs to be back tracking?
+
+/** Simple isomorphism testing
+ * This code is simple and slow.
+ * For graphs, the Graph isomorphism code in Jena is much better (better tested, better performance)
+ * This code can work on any tuples of nodes.
+ */
+public class IsoMatcher
+{
+ // Possible speed ups
+ // A/ Phase 1 - do all non-bNode tuples. / Phase 2 : all tuples with a bNode
+ // B/ turn tuples2 into a map, keyed by (1) constants or (2) first term.
+
+ static boolean DEBUG = false ;
+ private final List<Tuple<Node>> tuples1 ;
+ private final List<Tuple<Node>> tuples2 ;
+
+// private final Map<Node, Node> mapping = new HashMap<>();
+// private final Queue<Pair<Node, Node>> causes = new LinkedList<>() ;
+ private final EqualityTest nodeTest ;
+
+ static class Mapping
+ {
+ final Node node1 ;
+ final Node node2 ;
+ final Mapping parent ;
+
+ static Mapping rootMapping = new Mapping(null, null, null) ;
+
+ public Mapping(Mapping parent, Node node1, Node node2)
+ {
+ super() ;
+ this.parent = parent ;
+ this.node1 = node1 ;
+ this.node2 = node2 ;
+ }
+
+ public boolean mapped(Node node) { return map(node) != null ; }
+ public boolean revmapped(Node node) { return revmap(node) != null ; }
+
+ public Node map(Node node)
+ {
+ Mapping mapping = this ;
+ while (mapping != rootMapping)
+ {
+ if (mapping.node1.equals(node))
+ return mapping.node2 ;
+ mapping = mapping.parent ;
+ }
+ return null ;
+ }
+
+ // Reverse mapping.
+ public Node revmap(Node node)
+ {
+ Mapping mapping = this ;
+ while (mapping != rootMapping)
+ {
+ if (mapping.node2.equals(node))
+ return mapping.node1 ;
+ mapping = mapping.parent ;
+ }
+ return null ;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sbuff = new StringBuilder() ;
+ Mapping mapping = this ;
+ while (mapping != rootMapping)
+ {
+ sbuff.append("{"+mapping.node1+" => "+mapping.node2+"}") ;
+ mapping = mapping.parent ;
+ }
+ sbuff.append("{}") ;
+ return sbuff.toString() ;
+ }
+ }
+
+ static class Cause
+ {
+ final Tuple<Node> tuple ;
+ final Mapping mapping ;
+
+ public Cause(Tuple<Node> tuple, Mapping mapping)
+ {
+ super() ;
+ this.tuple = tuple ;
+ this.mapping = mapping ;
+ }
+ }
+
+ public static boolean isomorphic(Graph g1, Graph g2)
+ {
+ List<Tuple<Node>> x1 = tuplesTriples(g1.find(null, null, null)) ;
+ List<Tuple<Node>> x2 = tuplesTriples(g2.find(null, null, null)) ;
+
+ IsoMatcher matcher = new IsoMatcher(x1, x2, NodeUtils.sameTerm) ;
+ return matcher.match() ;
+ }
+
+ public static boolean isomorphic(DatasetGraph dsg1, DatasetGraph dsg2)
+ {
+ List<Tuple<Node>> x1 = tuplesQuads(dsg1.find()) ;
+ List<Tuple<Node>> x2 = tuplesQuads(dsg2.find()) ;
+
+ IsoMatcher matcher = new IsoMatcher(x1, x2, NodeUtils.sameTerm) ;
+ return matcher.match() ;
+ }
+
+ public static boolean isomorphic(List<Tuple<Node>> x1, List<Tuple<Node>> x2) {
+ x1 = new ArrayList<Tuple<Node>>(x1) ;
+ x2 = new ArrayList<Tuple<Node>>(x2) ;
+ IsoMatcher matcher = new IsoMatcher(x1, x2, NodeUtils.sameTerm) ;
+ return matcher.match() ;
+ }
+
+
+ private static List<Tuple<Node>> tuplesTriples(Iterator<Triple> iter) {
+ List<Tuple<Node>> tuples = new ArrayList<Tuple<Node>>() ;
+ for ( ; iter.hasNext() ; ) {
+ Triple t = iter.next() ;
+ Tuple<Node> tuple = Tuple.create(t.getSubject(), t.getPredicate(), t.getObject()) ;
+ tuples.add(tuple) ;
+ }
+ return tuples ;
+ }
+
+ private static List<Tuple<Node>> tuplesQuads(Iterator<Quad> iter) {
+ List<Tuple<Node>> tuples = new ArrayList<Tuple<Node>>() ;
+ for ( ; iter.hasNext() ; ) {
+ Quad q = iter.next() ;
+ Tuple<Node> tuple = Tuple.create(q.getGraph(), q.getSubject(), q.getPredicate(), q.getObject()) ;
+ tuples.add(tuple) ;
+ }
+ return tuples ;
+ }
+
+ private IsoMatcher(List<Tuple<Node>> g1, List<Tuple<Node>> g2, EqualityTest nodeTest)
+ {
+ this.tuples1 = g1 ;
+ this.tuples2 = g2 ;
+ this.nodeTest = nodeTest ;
+ }
+
+ // May MUTATE tuples1 or tuples2
+ private boolean match()
+ {
+ return match(tuples1, tuples2, Mapping.rootMapping) ;
+ }
+
+ private boolean match(List<Tuple<Node>> tuples1, List<Tuple<Node>> tuples2, Mapping mapping)
+ {
+ if ( DEBUG ) {
+ System.out.println("match: ") ;
+ System.out.println(" "+tuples1) ;
+ System.out.println(" "+tuples2) ;
+ System.out.println(" "+mapping) ;
+ }
+ if ( tuples1.size() != tuples2.size() )
+ return false;
+
+ List<Tuple<Node>> tuples = new ArrayList<Tuple<Node>>(tuples1) ; // Copy, mutate
+ for ( Tuple<Node> t1 : tuples1 ) {
+ if ( DEBUG )
+ System.out.println(" t1 = "+t1) ;
+ tuples.remove(t1) ;
+ List<Cause> causes = match(t1, tuples2, mapping) ;
+ for ( Cause c : causes ) {
+ if ( DEBUG )
+ System.out.println(" Try: "+c.mapping) ;
+ // Try t1 -> t2
+ Tuple<Node> t2 = c.tuple ;
+ tuples2.remove(t2) ;
+ if ( tuples2.isEmpty() )
+ return true ;
+ if ( match(tuples, tuples2, c.mapping) ) {
+ if ( DEBUG )
+ System.out.println("Yes") ;
+ return true ;
+ }
+ if ( DEBUG )
+ System.out.println("No") ;
+ tuples2.add(t2) ;
+ }
+ return false ;
+ }
+ // The empty-empty case
+ return true ;
+ }
+
+ private List<Cause> match(Tuple<Node> t1, Collection<Tuple<Node>> g2, Mapping mapping)
+ {
+ List<Cause> matches = new ArrayList<Cause>() ;
+ for (Tuple<Node> t2 : g2)
+ {
+ // No - multiple bNodes.
+ Mapping step = gen(t1, t2, mapping) ;
+ if (step != null) {
+ Cause c = new Cause(t2, step) ;
+ matches.add(c) ;
+ }
+ }
+ return matches ;
+ }
+
+ // -------------------------------
+
+// private Triple subtitute(Triple t, Mapping mapping) {
+// if ( mapping == null )
+// return t ;
+// Node s = mapping.map(t.getSubject()) ;
+// Node p = mapping.map(t.getPredicate()) ;
+// Node o = mapping.map(t.getPredicate()) ;
+// return Triple.create(s,p,o) ;
+// }
+
+ // Maybe several mappings!
+ private Mapping gen(Tuple<Node> t1, Tuple<Node> t2, Mapping _mapping)
+ {
+ if ( t1.size() != t2.size() )
+ return null ;
+
+ Mapping mapping = _mapping ;
+ for ( int i = 0 ; i < t1.size() ; i++ ) {
+ Node n1 = t1.get(i) ;
+ Node n2 = t2.get(i) ;
+ if ( ! nodeTest.equal(n1, n2) )
+ {
+ mapping = gen(n1, n2, mapping) ;
+ if ( mapping == null )
+ return null ;
+ }
+ }
+ return mapping ;
+ }
+
+ private Mapping gen(Node x1, Node x2, Mapping mapping) {
+ if ( x1.isBlank() && x2.isBlank() ) {
+ // Is x1 already mapped?
+ Node z = mapping.map(x1) ;
+ if ( z != null )
+ // Already mapped
+ return (nodeTest.equal(x2, z)) ? mapping : null ;
+ // Check reverse
+ if ( mapping.revmapped(x2) )
+ return null ;
+ return new Mapping(mapping, x1, x2) ;
+
+ }
+ return null ;
+ }
+
+}
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java?rev=1493193&r1=1493192&r2=1493193&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java Fri Jun 14 18:19:42 2013
@@ -432,7 +432,7 @@ public class RDFDataMgr
*/
public static void read(DatasetGraph dataset, String uri)
{
- read(dataset, uri, null, null) ;
+ read(dataset, uri, null) ;
}
/** Read quads or triples into a Dataset from the given location, with hint of language.
@@ -457,6 +457,31 @@ public class RDFDataMgr
read(dataset, uri, hintLang, null) ;
}
+ /** Read quads or triples into a Dataset from the given location, with hint of language.
+ * @see #read(Dataset, String, String, Lang, Context)
+ * @param dataset Destination
+ * @param uri URI to read from (includes file: and a plain file name).
+ * @param base Base URI (defaults to uri).
+ * @param hintLang Language syntax
+ */
+ public static void read(Dataset dataset, String uri, String base, Lang hintLang)
+ {
+ read(dataset.asDatasetGraph(), uri, base, hintLang) ;
+ }
+
+ /** Read quads or triples into a Dataset from the given location, with hint of language.
+ * @see #read(DatasetGraph, String, String, Lang, Context)
+ * @param dataset Destination
+ * @param uri URI to read from (includes file: and a plain file name).
+ * @param base Base URI (defaults to uri).
+ * @param hintLang Language syntax
+ */
+ public static void read(DatasetGraph dataset, String uri, String base, Lang hintLang)
+ {
+ read(dataset, uri, base, hintLang, null) ;
+ }
+
+
/** Read quads or triples into a Dataset from the given location.
* @see #read(Dataset, String, String, Lang, Context)
* @param dataset Destination
@@ -483,6 +508,7 @@ public class RDFDataMgr
* @see #read(Dataset, String, String, Lang, Context)
* @param dataset Destination
* @param uri URI to read from (includes file: and a plain file name).
+ * @param base Base URI (defaults to uri).
* @param hintLang Language syntax
* @param context Context for the reader
* @throws RiotNotFoundException if the location is not found - the dataset is unchanged.
@@ -498,6 +524,7 @@ public class RDFDataMgr
* @see #read(Dataset, String, String, Lang, Context)
* @param dataset Destination
* @param uri URI to read from (includes file: and a plain file name).
+ * @param base Base URI (defaults to uri).
* @param hintLang Language syntax
* @param context Context for the reader
* @throws RiotNotFoundException if the location is not found - the dataset is unchanged.
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangNQuads.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangNQuads.java?rev=1493193&r1=1493192&r2=1493193&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangNQuads.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangNQuads.java Fri Jun 14 18:19:42 2013
@@ -83,8 +83,9 @@ public class LangNQuads extends LangNTup
if ( xToken.getType() != TokenType.DOT )
{
// Allow bNodes for graph names.
- //checkIRIOrBNode(xToken) ;
- checkIRI(xToken) ;
+ checkIRIOrBNode(xToken) ;
+ // Allow only IRIs
+ //checkIRI(xToken) ;
c = tokenAsNode(xToken) ;
xToken = nextToken() ;
currentGraph = c ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java?rev=1493193&r1=1493192&r2=1493193&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java Fri Jun 14 18:19:42 2013
@@ -151,7 +151,7 @@ public class LangTriG extends LangTurtle
// It is not in N3 and SPARQL.
// No trailing DOT is allowed by strict TriG.
- if ( false /*strict*/ )
+ if ( profile.isStrictMode() )
{
expect("Triples not terminated by DOT", DOT) ;
return ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ErrorHandlerFactory.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ErrorHandlerFactory.java?rev=1493193&r1=1493192&r2=1493193&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ErrorHandlerFactory.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ErrorHandlerFactory.java Fri Jun 14 18:19:42 2013
@@ -31,6 +31,9 @@ public class ErrorHandlerFactory
/** Standard error handler - logs to stdLogger */
static public final ErrorHandler errorHandlerStd = errorHandlerStd(stdLogger) ;
+ /** Error handler (no wanrings) - logs to stdLogger */
+ static public final ErrorHandler errorHandlerNoWarnings = errorHandlerNoWarnings(stdLogger) ;
+
/** Strict error handler - logs to stdLogger - exceptions for warnings */
static public final ErrorHandler errorHandlerStrict = errorHandlerStrict(stdLogger) ;
@@ -43,11 +46,12 @@ public class ErrorHandlerFactory
/** Silent, strict error handler */
static public final ErrorHandler errorHandlerStrictNoLogging = errorHandlerStrictSilent() ;
- public static ErrorHandler errorHandlerStrictSilent() { return new ErrorHandlerStrict(null) ; }
- public static ErrorHandler errorHandlerStrict(Logger log) { return new ErrorHandlerStrict(log) ; }
- public static ErrorHandler errorHandlerStd(Logger log) { return new ErrorHandlerStd(log) ; }
- public static ErrorHandler errorHandlerWarning(Logger log) { return new ErrorHandlerWarning(log) ; }
- public static ErrorHandler errorHandlerSimple() { return new ErrorHandlerSimple() ; }
+ public static ErrorHandler errorHandlerStrictSilent() { return new ErrorHandlerStrict(null) ; }
+ public static ErrorHandler errorHandlerStrict(Logger log) { return new ErrorHandlerStrict(log) ; }
+ public static ErrorHandler errorHandlerStd(Logger log) { return new ErrorHandlerStd(log) ; }
+ public static ErrorHandler errorHandlerNoWarnings(Logger log) { return new ErrorHandlerNoWarnings(log) ; }
+ public static ErrorHandler errorHandlerWarning(Logger log) { return new ErrorHandlerWarning(log) ; }
+ public static ErrorHandler errorHandlerSimple() { return new ErrorHandlerSimple() ; }
private static ErrorHandler defaultErrorHandler = errorHandlerStd ;
/** Get the current default error handler */
@@ -133,6 +137,36 @@ public class ErrorHandlerFactory
}
}
+ /** An error handler that logs message then throws exceptions for errors but not warnings */
+ private static class ErrorHandlerNoWarnings extends ErrorLogger implements ErrorHandler
+ {
+ public ErrorHandlerNoWarnings(Logger log)
+ {
+ super(log) ;
+ }
+
+ /** report a warning */
+ @Override
+ public void warning(String message, long line, long col)
+ { } //logWarning(message, line, col) ;
+
+ /** report an error */
+ @Override
+ public void error(String message, long line, long col)
+ {
+ logError(message, line, col) ;
+ throw new RiotException(fmtMessage(message, line, col)) ;
+ }
+
+ /** report a fatal error - does not return */
+ @Override
+ public void fatal(String message, long line, long col)
+ {
+ logFatal(message, line, col) ;
+ throw new RiotException(fmtMessage(message, line, col)) ;
+ }
+ }
+
/** An error handler that logs message for errors and warnings and throw exceptions on either */
private static class ErrorHandlerStrict extends ErrorLogger implements ErrorHandler
{
Modified: jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/ARQTestSuite.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/ARQTestSuite.java?rev=1493193&r1=1493192&r2=1493193&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/ARQTestSuite.java (original)
+++ jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/ARQTestSuite.java Fri Jun 14 18:19:42 2013
@@ -22,6 +22,7 @@ import junit.framework.JUnit4TestAdapter
import junit.framework.TestSuite ;
import org.apache.jena.atlas.TC_Atlas ;
import org.apache.jena.atlas.junit.BaseTest ;
+import org.apache.jena.common.TC_Common ;
import org.apache.jena.riot.TC_Riot ;
import arq.TS_Cmd ;
@@ -53,6 +54,7 @@ public class ARQTestSuite extends TestSu
// ARQ dependencies
ts.addTest(new JUnit4TestAdapter(TC_Atlas.class)) ;
+ ts.addTest(new JUnit4TestAdapter(TC_Common.class)) ;
ts.addTest(new JUnit4TestAdapter(TC_Riot.class)) ;
ts.addTest(new JUnit4TestAdapter(TS_Cmd.class)) ;
Modified: jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/junit/TestItem.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/junit/TestItem.java?rev=1493193&r1=1493192&r2=1493193&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/junit/TestItem.java (original)
+++ jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/junit/TestItem.java Fri Jun 14 18:19:42 2013
@@ -131,29 +131,6 @@ public class TestItem
public String getResultFile() { return resultFile ; }
-// /** Load a model that is the results - need not be a result set */
-// public Model getResultModel()
-// {
-// if ( resultFile == null )
-// return null ;
-// Model model = GraphFactory.makeJenaDefaultModel() ;
-//
-// ResultSetFormat format = ResultSetFormat.guessSyntax(resultFile) ;
-//
-// if ( ! format.isRDFGraphSyntax() )
-// return null ;
-//
-// // Like ResultSetFactory.loadAsModel(filename) except we have control of the model type.
-// try {
-// ResultSetFactory.loadAsModel(model, resultFile) ;
-// } catch (RuntimeException ex)
-// {
-// System.err.println("Failed to read results: "+resultFile) ;
-// ex.printStackTrace(System.err) ;
-// }
-// return model ;
-// }
-
/** Load results as a SPARQLResult. If the results are a model,
* no conversion to a result set is attempted here.
*/
Added: jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TC_Common.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TC_Common.java?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TC_Common.java (added)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TC_Common.java Fri Jun 14 18:19:42 2013
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.common;
+
+import org.junit.runner.RunWith ;
+import org.junit.runners.Suite ;
+import org.junit.runners.Suite.SuiteClasses ;
+
+@RunWith(Suite.class)
+@SuiteClasses(
+{
+ TS_Common.class
+})
+
+public class TC_Common
+{
+}
+
Added: jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TS_Common.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TS_Common.java?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TS_Common.java (added)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TS_Common.java Fri Jun 14 18:19:42 2013
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.common;
+
+import org.junit.runner.RunWith ;
+import org.junit.runners.Suite ;
+import org.junit.runners.Suite.SuiteClasses ;
+
+@RunWith(Suite.class)
+@SuiteClasses(
+{
+ TestIsoMatcher.class
+})
+
+public class TS_Common
+{
+}
+
Added: jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TestIsoMatcher.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TestIsoMatcher.java?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TestIsoMatcher.java (added)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/common/TestIsoMatcher.java Fri Jun 14 18:19:42 2013
@@ -0,0 +1,256 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.common;
+
+import java.util.ArrayList ;
+import java.util.List ;
+
+import org.apache.jena.atlas.junit.BaseTest ;
+import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.common.IsoMatcher ;
+import org.junit.Test ;
+
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+import com.hp.hpl.jena.sparql.sse.Item ;
+import com.hp.hpl.jena.sparql.sse.SSE ;
+import com.hp.hpl.jena.sparql.sse.builders.BuilderNode ;
+
+public class TestIsoMatcher extends BaseTest
+{
+ @Test public void iso_00() { testGraph("",
+ "",
+ true) ; }
+
+
+ @Test public void iso_01() { testGraph("(<x> <p> 1)",
+ "(<x> <p> 1)",
+ true) ; }
+
+ @Test public void iso_02() { testGraph("(<x> <p> 1)",
+ "(<x> <p> 2)",
+ false) ; }
+
+ @Test public void iso_03() { testGraph("(<x> <p> 1) (<x> <p> 2)",
+ "(<x> <p> 2)",
+ false) ; }
+
+ @Test public void iso_04() { testGraph("(<x> <p> _:a)",
+ "(<x> <p> 2)",
+ false) ; }
+
+ @Test public void iso_05() { testGraph("(<x> <p> _:a)",
+ "(<x> <p> _:b)",
+ true) ; }
+
+ @Test public void iso_06() { testGraph("(_:a <p> _:a)",
+ "(_:b <p> _:b)",
+ true) ; }
+
+ @Test public void iso_07() { testGraph("(_:a1 <p> _:a2)",
+ "(_:bb <p> _:bb)",
+ false) ; }
+
+ @Test public void iso_10() { testGraph("(_:a _:a _:a)",
+ "(_:b _:b _:b)",
+ true) ; }
+
+ @Test public void iso_11() { testGraph("(_:a _:a _:a)",
+ "(_:z _:b _:b)",
+ false) ; }
+
+ @Test public void iso_12() { testGraph("(_:a _:a _:a)",
+ "(_:b _:z _:b)",
+ false) ; }
+
+ @Test public void iso_13() { testGraph("(_:a _:a _:a)",
+ "(_:b _:b _:z)",
+ false) ; }
+
+ @Test public void iso_14() { testGraph("(_:a _:a _:b)",
+ "(_:b _:b _:z)",
+ true) ; }
+
+ @Test public void iso_15() { testGraph("(_:a _:x _:a)",
+ "(_:b _:z _:b)",
+ true) ; }
+
+ @Test public void iso_16() { testGraph("(_:x _:a _:a)",
+ "(_:z _:b _:b)",
+ true) ; }
+
+ @Test public void iso_20() { testGraph("(<x> <p> _:a) (<z> <p> _:a)",
+ "(<x> <p> _:b) (<z> <p> _:b)",
+ true) ; }
+
+ @Test public void iso_21() { testGraph("(<x> <p> _:a1) (<z> <p> _:a2)",
+ "(<x> <p> _:b) (<z> <p> _:b)",
+ false) ; }
+
+ @Test public void iso_22() { testGraph("(_:a <p> _:a) (<s> <q> _:a)",
+ "(_:b <p> _:b) (<s> <q> _:b)",
+ true) ; }
+
+ @Test public void iso_23() { testGraph("(_:a <p> _:a) (<s> <q> _:a)",
+ "(_:b <p> _:b) (<s> <q> _:c)",
+ false) ; }
+
+ @Test public void iso_24() { testGraph("(_:a <p> _:a) (<s> <q> _:a) (_:b <q> _:b)",
+ "(_:b <p> _:b) (<s> <q> _:b) (_:b <q> _:b)",
+ false) ; }
+
+ @Test public void iso_50() { testDSG("(graph (_:a <p> _:a)) (graph <g> (<s> <q> _:a))" ,
+ "(graph (_:a <p> _:a)) (graph <g> (<s> <q> _:a))" ,
+ true) ; }
+
+ // Graphs separately isomorphic.
+ @Test public void iso_51() { testDSG("(graph (_:a <p> _:a)) (graph <g> (<s> <q> _:a))" ,
+ "(graph (_:a <p> _:a)) (graph <g> (<s> <q> _:b))" ,
+ false) ; }
+
+ // List based tests
+ @Test public void iso_61() {
+ String[] x1 = {} ;
+ String[] x2 = {} ;
+ test(x1, x2, true) ;
+ }
+
+ @Test public void iso_62() {
+ String[] x1 = {"(<x> <p> 1)"} ;
+ String[] x2 = {} ;
+ test(x1, x2, false) ;
+ }
+
+ @Test public void iso_63() {
+ String[] x1 = {"(_:x <p> 1)"} ;
+ String[] x2 = {"(_:y <p> 1)"} ;
+ test(x1, x2, true) ;
+ }
+
+ @Test public void iso_64() {
+ String[] x1 = {"(_:x <p> 1)", "(_:x <p> 1)"} ;
+ String[] x2 = {"(_:y <p> 1)", "(_:x <p> 1)"} ;
+ test(x1, x2, true) ;
+ }
+
+ @Test public void iso_65() {
+ String[] x1 = {"(_:x <p> 1)","(_:y <p> 1)"} ;
+ String[] x2 = {"(_:y <p> 1)","(_:x <p> 1)"} ;
+ test(x1, x2, true) ;
+ }
+
+ // Backtracking. _:a -> _y needs unwinding.
+ @Test public void iso_66() {
+ String[] x1 = {"(_:a <p> 1)","(_:b <p> 1)","(_:a <p> 2)"} ;
+ String[] x2 = {"(_:y <p> 1)","(_:z <p> 1)","(_:z <p> 2)"} ;
+ test(x1, x2, true) ;
+ }
+
+ private void test(String[] x1, String[] x2, boolean iso)
+ {
+ List<Tuple<Node>> t1 = tuples(x1) ;
+ List<Tuple<Node>> t2 = tuples(x2) ;
+ test$(t1, t2, iso) ;
+ }
+
+ private void test$(List<Tuple<Node>> t1, List<Tuple<Node>> t2, boolean iso)
+ {
+ boolean b = IsoMatcher.isomorphic(t1, t2) ;
+ if ( b != iso ) {
+ System.out.println("====") ;
+ System.out.println(t1) ;
+ System.out.println("----") ;
+ System.out.println(t2) ;
+ System.out.println("Expected: "+iso+" ; got: "+b) ;
+ }
+ assertEquals(iso, b) ;
+ }
+
+
+ private static Node[] T = new Node[0] ;
+ private List<Tuple<Node>> tuples(String[] strings)
+ {
+ List<Tuple<Node>> tuples = new ArrayList<Tuple<Node>>() ;
+ for ( String s : strings)
+ {
+ Item item = SSE.parse(s) ;
+ List<Node> list = BuilderNode.buildNodeList(item) ;
+ Tuple<Node> tuple = Tuple.create(list.toArray(T)) ;
+ tuples.add(tuple) ;
+ }
+ return tuples ;
+ }
+
+
+ private void testGraph(String s1, String s2, boolean iso) {
+ testGraph$(s1, s2, iso) ;
+ testGraph$(s2, s1, iso) ;
+ }
+
+ private void testGraph$(String s1, String s2, boolean iso) {
+ s1 = "(graph "+s1+")" ;
+ s2 = "(graph "+s2+")" ;
+
+ Graph g1 = SSE.parseGraph(s1) ;
+ Graph g2 = SSE.parseGraph(s2) ;
+ boolean b = IsoMatcher.isomorphic(g1, g2) ;
+
+ if ( b != iso ) {
+ System.out.println("====") ;
+ SSE.write(g1) ;
+ System.out.println("----") ;
+ SSE.write(g2) ;
+ System.out.println("Expected: "+iso+" ; got: "+b) ;
+ }
+ assertEquals(iso, b) ;
+ // Check with the other code.
+ assertEquals(b, g1.isIsomorphicWith(g2)) ;
+ }
+
+ private void testDSG(String s1, String s2, boolean iso) {
+ testDSG$(s1, s2, iso) ;
+ testDSG$(s2, s1, iso) ;
+ }
+
+ private void testQuads(String s1, String s2, boolean iso) {
+ //XXX
+// testDSG$(s1, s2, iso) ;
+// testDSG$(s2, s1, iso) ;
+ }
+
+ private void testDSG$(String s1, String s2, boolean iso) {
+ s1 = "(dataset "+s1+")" ;
+ s2 = "(dataset "+s2+")" ;
+
+ DatasetGraph dsg1 = SSE.parseDatasetGraph(s1) ;
+ DatasetGraph dsg2 = SSE.parseDatasetGraph(s2) ;
+ boolean b = IsoMatcher.isomorphic(dsg1, dsg2) ;
+ if ( b != iso ) {
+ System.out.println("====") ;
+ SSE.write(dsg1) ;
+ System.out.println("----") ;
+ SSE.write(dsg2) ;
+ System.out.println("Expected: "+iso+" ; got: "+b) ;
+ }
+ assertEquals(iso, b) ;
+ }
+
+
+}
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/FactoryTestRiot.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/FactoryTestRiot.java?rev=1493193&r1=1493192&r2=1493193&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/FactoryTestRiot.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/FactoryTestRiot.java Fri Jun 14 18:19:42 2013
@@ -22,7 +22,6 @@ import junit.framework.Test ;
import junit.framework.TestSuite ;
import org.apache.jena.riot.RDFLanguages ;
import org.apache.jena.riot.RiotException ;
-import org.apache.jena.riot.VocabTestRIOT ;
import com.hp.hpl.jena.rdf.model.Resource ;
import com.hp.hpl.jena.sparql.junit.EarlReport ;
@@ -32,6 +31,10 @@ import com.hp.hpl.jena.vocabulary.RDF ;
public class FactoryTestRiot extends TestFactoryManifest
{
+ public static String assumedRootURIex = "http://example/base/" ;
+ public static String assumedRootURITurtle = "http://www.w3.org/2013/TurtleTests/" ;
+ public static String assumedRootURITriG = "http://www.w3.org/2013/TriGTests/" ;
+
public static EarlReport report = null ;
public static TestSuite make(String manifest, Resource dftTestType, String labelPrefix)
@@ -44,8 +47,6 @@ public class FactoryTestRiot extends Tes
public FactoryTestRiot(Resource dftTestType, String labelPrefix)
{
- // FileManager?
-
this.dftTestType = dftTestType ;
this.labelPrefix = labelPrefix ;
}
@@ -68,23 +69,30 @@ public class FactoryTestRiot extends Tes
Resource input = action ;
Resource output = result ;
- String baseIRI = VocabTestRIOT.assumedBaseURI ;
- String x = input.getLocalName() ;
- // Yuk, yuk, yuk.
- baseIRI = baseIRI+x ;
-
if ( r.equals(VocabLangRDF.TestPositiveSyntaxTTL) )
return new UnitTestSyntax(testName, item.getURI(), input.getURI(), RDFLanguages.TURTLE, report) ;
if ( r.equals(VocabLangRDF.TestNegativeSyntaxTTL) )
return new UnitTestBadSyntax(testName, item.getURI(), input.getURI(), RDFLanguages.TURTLE, report) ;
+ if ( r.equals(VocabLangRDF.TestPositiveSyntaxTriG) )
+ return new UnitTestSyntax(testName, item.getURI(), input.getURI(), RDFLanguages.TRIG, report) ;
+
+ if ( r.equals(VocabLangRDF.TestNegativeSyntaxTriG) )
+ return new UnitTestBadSyntax(testName, item.getURI(), input.getURI(), RDFLanguages.TRIG, report) ;
+
if ( r.equals(VocabLangRDF.TestPositiveSyntaxNT) )
return new UnitTestSyntax(testName, item.getURI(), input.getURI(), RDFLanguages.NTRIPLES, report) ;
if ( r.equals(VocabLangRDF.TestNegativeSyntaxNT) )
return new UnitTestBadSyntax(testName, item.getURI(), input.getURI(), RDFLanguages.NTRIPLES, report) ;
+ if ( r.equals(VocabLangRDF.TestPositiveSyntaxNQ) )
+ return new UnitTestSyntax(testName, item.getURI(), input.getURI(), RDFLanguages.NQUADS, report) ;
+
+ if ( r.equals(VocabLangRDF.TestNegativeSyntaxNQ) )
+ return new UnitTestBadSyntax(testName, item.getURI(), input.getURI(), RDFLanguages.NQUADS, report) ;
+
if ( r.equals(VocabLangRDF.TestPositiveSyntaxRJ) )
return new UnitTestSyntax(testName, item.getURI(), input.getURI(), RDFLanguages.RDFJSON, report) ;
@@ -96,25 +104,37 @@ public class FactoryTestRiot extends Tes
// Eval.
- if ( r.equals(VocabLangRDF.TestEvalTTL) )
- return new UnitTestEval(testName, item.getURI(), input.getURI(), result.getURI(), baseIRI, RDFLanguages.TURTLE, report) ;
+ if ( r.equals(VocabLangRDF.TestEvalTTL) ) {
+ String base = rebase(input, assumedRootURITurtle) ;
+ return new UnitTestEval(testName, item.getURI(), input.getURI(), result.getURI(), base, RDFLanguages.TURTLE, report) ;
+ }
+
+ if ( r.equals(VocabLangRDF.TestEvalTriG) ) {
+ String base = rebase(input, assumedRootURITriG) ;
+ return new UnitTestEval(testName, item.getURI(), input.getURI(), result.getURI(), base, RDFLanguages.TRIG, report) ;
+ }
if ( r.equals(VocabLangRDF.TestNegativeEvalTTL) )
return new UnitTestBadEval(testName, item.getURI(), input.getURI(), RDFLanguages.TURTLE, report) ;
+ if ( r.equals(VocabLangRDF.TestNegativeEvalTriG) )
+ return new UnitTestBadEval(testName, item.getURI(), input.getURI(), RDFLanguages.TRIG, report) ;
+
if ( r.equals(VocabLangRDF.TestEvalNT) )
- return new UnitTestEval(testName, item.getURI(), input.getURI(), result.getURI(), baseIRI, RDFLanguages.NTRIPLES, report) ;
+ return new UnitTestEval(testName, item.getURI(), input.getURI(), result.getURI(), null, RDFLanguages.NTRIPLES, report) ;
if ( r.equals(VocabLangRDF.TestNegativeEvalNT) )
return new UnitTestBadEval(testName, item.getURI(), input.getURI(), RDFLanguages.NTRIPLES, report) ;
- if ( r.equals(VocabLangRDF.TestEvalRJ) )
- return new UnitTestEval(testName, item.getURI(), input.getURI(), result.getURI(), baseIRI, RDFLanguages.RDFJSON, report) ;
+ if ( r.equals(VocabLangRDF.TestEvalRJ) ) {
+ String base = rebase(input, assumedRootURIex) ;
+ return new UnitTestEval(testName, item.getURI(), input.getURI(), result.getURI(), base, RDFLanguages.RDFJSON, report) ;
+ }
if ( r.equals(VocabLangRDF.TestNegativeEvalRJ) )
return new UnitTestBadEval(testName, item.getURI(), input.getURI(), RDFLanguages.RDFJSON, report) ;
- System.err.println("Unrecognized turtle test : " + testName) ;
+ System.err.println("Unrecognized turtle test : ("+r+")" + testName) ;
return null ;
} catch (Exception ex)
@@ -125,4 +145,11 @@ public class FactoryTestRiot extends Tes
}
}
+ private static String rebase(Resource input, String baseIRI) {
+ String x = input.getLocalName() ;
+ // Yuk, yuk, yuk.
+ baseIRI = baseIRI+x ;
+ return baseIRI ;
+ }
+
}
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/LangTestCase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/LangTestCase.java?rev=1493193&r1=1493192&r2=1493193&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/LangTestCase.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/LangTestCase.java Fri Jun 14 18:19:42 2013
@@ -39,10 +39,13 @@ public abstract class LangTestCase exten
@Override
final public void setUp()
{
- //BaseTest.setTestLogging(ErrorHandlerFactory.errorHandlerStrictNoLogging) ;
+ // The W3C Turtle and TriG test suites contain IRIs that generate warnings.
+ // They are bad NFC for the version of UTF-8 that Java6 understands.
+ BaseTest.setTestLogging(ErrorHandlerFactory.errorHandlerNoWarnings) ;
+
// If the test suite is sloppy, with IRIs that are not good practice, you may need
// to run with warnings as not-errors ....
- BaseTest.setTestLogging(ErrorHandlerFactory.errorHandlerStd) ;
+ //BaseTest.setTestLogging(ErrorHandlerFactory.errorHandlerStd) ;
sysRIOT_strictMode = SysRIOT.strictMode ;
sysRIOT_strictXSDLexicialForms = SysRIOT.StrictXSDLexicialForms ;
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestEval.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestEval.java?rev=1493193&r1=1493192&r2=1493193&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestEval.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestEval.java Fri Jun 14 18:19:42 2013
@@ -18,18 +18,22 @@
package org.apache.jena.riot.langsuite;
-import java.io.InputStream ;
+import java.util.List ;
+import org.apache.jena.atlas.iterator.Iter ;
+import org.apache.jena.common.IsoMatcher ;
import org.apache.jena.riot.Lang ;
import org.apache.jena.riot.RDFDataMgr ;
import org.apache.jena.riot.RDFLanguages ;
import org.apache.jena.riot.RiotException ;
-import org.apache.jena.riot.stream.StreamManager ;
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.rdf.model.ModelFactory ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
import com.hp.hpl.jena.sparql.junit.EarlReport ;
-import com.hp.hpl.jena.util.FileUtils ;
public class UnitTestEval extends LangTestCase
{
@@ -58,6 +62,89 @@ public class UnitTestEval extends LangTe
@Override
public void runTestForReal()
{
+ // Could generalise run4() to cover both cases.
+ // run3() predates dataset reading and is more tested.
+ if ( RDFLanguages.isTriples(lang) )
+ run3() ;
+ else
+ run4() ;
+ }
+
+ private void run4() {
+ DatasetGraph dsg = DatasetGraphFactory.createMem() ;
+ try {
+ if ( baseIRI != null )
+ RDFDataMgr.read(dsg, input, baseIRI, lang) ;
+ else
+ RDFDataMgr.read(dsg, input, lang) ;
+
+ Lang outLang = RDFLanguages.filenameToLang(output, Lang.NQUADS) ;
+
+ DatasetGraph results = DatasetGraphFactory.createMem() ;
+ try {
+ RDFDataMgr.read(results, output, outLang) ;
+ } catch (RiotException ex) {
+ fail("Failed to read results: "+ex.getMessage()) ;
+ }
+
+ boolean b = isomorphic(dsg, results) ;
+
+ if ( !b )
+ {
+ System.out.println("---- Parsed");
+ RDFDataMgr.write(System.out, dsg, Lang.TRIG) ;
+ System.out.println("---- Expected");
+ RDFDataMgr.write(System.out, results, Lang.TRIG) ;
+ System.out.println("--------");
+ }
+
+ assertTrue("Datasets not isomorphic", b) ;
+ } catch (RiotException ex)
+ {
+ // Catch and rethrow - debugging.
+ throw ex ;
+ }
+ catch (RuntimeException ex)
+ {
+ ex.printStackTrace(System.err) ;
+ throw ex ; }
+ }
+
+ // Imperfect.
+ private boolean isomorphic(DatasetGraph dsg1, DatasetGraph dsg2) {
+ boolean b1 = isomorphicX(dsg1, dsg2) ;
+ boolean b2 = IsoMatcher.isomorphic(dsg1, dsg2) ;
+ if ( b1 != b2 )
+ System.out.println("Unequal isomorphisms") ;
+ return b2 ;
+ }
+
+ private boolean isomorphicX(DatasetGraph dsg1, DatasetGraph dsg2) {
+ {
+ Graph g1 = dsg1.getDefaultGraph() ;
+ Graph g2 = dsg2.getDefaultGraph() ;
+ boolean b = g1.isIsomorphicWith(g2) ;
+ if ( !b ) return false ;
+ }
+ List<Node> names1 = Iter.toList(dsg1.listGraphNodes()) ;
+ List<Node> names2 = Iter.toList(dsg2.listGraphNodes()) ;
+ if ( names1.size() != names2.size() )
+ return false ;
+
+ for ( Node gn : names1 ) {
+ Graph g1 = dsg1.getGraph(gn) ;
+ Graph g2 = dsg2.getGraph(gn) ;
+ if ( g1 == null || g2 == null )
+ return false ;
+ boolean b = g1.isIsomorphicWith(g2) ;
+ if ( !b ) return false ;
+ }
+ return true ;
+ }
+
+
+ // Triples test.
+ private void run3() {
Model model = ModelFactory.createDefaultModel() ;
try {
if ( baseIRI != null )
@@ -65,18 +152,31 @@ public class UnitTestEval extends LangTe
else
RDFDataMgr.read(model, input, lang) ;
- String syntax = FileUtils.guessLang(output, FileUtils.langNTriple) ;
- Model results = ModelFactory.createDefaultModel() ;
- // Directly get an N-triples reader
- InputStream in = StreamManager.get().open(output) ;
+ Lang outLang = RDFLanguages.filenameToLang(output, Lang.NQUADS) ;
+ Model results = ModelFactory.createDefaultModel() ;
try {
- RDFDataMgr.read(results, in, null, RDFLanguages.NTRIPLES) ;
+ RDFDataMgr.read(results, output, outLang) ;
} catch (RiotException ex) {
fail("Failed to read results: "+ex.getMessage()) ;
}
boolean b = model.isIsomorphicWith(results) ;
+
+// try {
+// boolean b1 = IsoMatcher.isomorphic(model.getGraph(), results.getGraph()) ;
+// if ( b1 != b ) {
+// System.out.println("---- IsoMatcher mismatch");
+// }
+// } catch ( java.lang.StackOverflowError ex) {
+// System.out.println("STACK") ;
+// System.out.println("---- Parsed");
+// model.write(System.out, "TTL") ;
+// System.out.println("---- Expected");
+// results.write(System.out, "TTL") ;
+// System.out.println("--------");
+// }
+
if ( !b )
{
//model.isIsomorphicWith(results) ;
Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/HYPHEN_MINUS_in_localName.nt
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/HYPHEN_MINUS_in_localName.nt?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/HYPHEN_MINUS_in_localName.nt (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/HYPHEN_MINUS_in_localName.nt Fri Jun 14 18:19:42 2013
@@ -0,0 +1 @@
+<http://a.example/s-> <http://a.example/p> <http://a.example/o> .
Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/HYPHEN_MINUS_in_localName.ttl
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/HYPHEN_MINUS_in_localName.ttl?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/HYPHEN_MINUS_in_localName.ttl (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/HYPHEN_MINUS_in_localName.ttl Fri Jun 14 18:19:42 2013
@@ -0,0 +1,2 @@
+@prefix p: <http://a.example/>.
+p:s- <http://a.example/p> <http://a.example/o> .
Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRIREF_datatype.nt
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRIREF_datatype.nt?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRIREF_datatype.nt (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRIREF_datatype.nt Fri Jun 14 18:19:42 2013
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRIREF_datatype.ttl
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRIREF_datatype.ttl?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRIREF_datatype.ttl (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRIREF_datatype.ttl Fri Jun 14 18:19:42 2013
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_spo.nt
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_spo.nt?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_spo.nt (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_spo.nt Fri Jun 14 18:19:42 2013
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_subject.ttl
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_subject.ttl?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_subject.ttl (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_subject.ttl Fri Jun 14 18:19:42 2013
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_all_punctuation.nt
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_all_punctuation.nt?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_all_punctuation.nt (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_all_punctuation.nt Fri Jun 14 18:19:42 2013
@@ -0,0 +1 @@
+<scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .
Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_all_punctuation.ttl
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_all_punctuation.ttl?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_all_punctuation.ttl (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_all_punctuation.ttl Fri Jun 14 18:19:42 2013
@@ -0,0 +1 @@
+<scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .
Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_eight_digit_numeric_escape.ttl
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_eight_digit_numeric_escape.ttl?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_eight_digit_numeric_escape.ttl (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_eight_digit_numeric_escape.ttl Fri Jun 14 18:19:42 2013
@@ -0,0 +1 @@
+<http://a.example/\U00000073> <http://a.example/p> <http://a.example/o> .
Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_four_digit_numeric_escape.ttl
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_four_digit_numeric_escape.ttl?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_four_digit_numeric_escape.ttl (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/IRI_with_four_digit_numeric_escape.ttl Fri Jun 14 18:19:42 2013
@@ -0,0 +1 @@
+<http://a.example/\u0073> <http://a.example/p> <http://a.example/o> .