├── LICENSE ├── README.md ├── build.xml ├── chrome ├── build.xml ├── src │ ├── background.js │ ├── inject.js │ ├── invoke.js │ ├── jit.js │ ├── options.html │ ├── options.js │ ├── turtle-32x32.png │ ├── viewer.css │ ├── viewer.js │ └── viewer.xhtml └── version.properties ├── green-turtle.xpr ├── license.txt ├── package.json ├── safari ├── build.xml ├── green-turtle.safariextz ├── plist.xsl └── src │ ├── Info.plist │ └── bootstrap.js ├── src ├── GraphRDFaProcessor.js ├── JSONLDProcessor.js ├── Microdata.js ├── RDFa.epilogue.js ├── RDFa.invoke.js ├── RDFa.prolog.js ├── RDFaAPI.js ├── RDFaGraph.js ├── RDFaProcessor.js ├── TurtleParser.js ├── URI.js └── index.js ├── tests ├── harness │ ├── docs │ │ ├── HTTP.js │ │ ├── TestHarness.js │ │ ├── dateformat.js │ │ ├── earl-prolog.ttl │ │ ├── generate-download.js │ │ ├── generate-download.xhtml │ │ ├── index.xhtml │ │ └── test.css │ ├── download-html4.sh │ ├── download-html5.sh │ ├── download-xhtml1.sh │ ├── download-xhtml5.sh │ ├── download-xml.sh │ ├── make-cache.sh │ └── web.xml ├── jsonld │ ├── adhoc.js │ ├── adhoc.xhtml │ ├── prague-1.xhtml │ ├── prague-2.xhtml │ └── schema.org.json ├── other │ ├── callback.js │ ├── callback.xhtml │ ├── chastk.xhtml │ ├── document-element-typeof-5-1.xhtml │ ├── embed-turtle.html │ ├── embed-turtle.xhtml │ ├── empty-property.xhtml │ ├── event-rdfa-loaded.xhtml │ ├── ex-2.2-1.xhtml │ ├── ex-2.2-10.xhtml │ ├── ex-2.2-11.xhtml │ ├── ex-2.2-2.xhtml │ ├── ex-2.2-3.xhtml │ ├── ex-2.2-4.xhtml │ ├── ex-2.2-5.xhtml │ ├── ex-2.2-6.xhtml │ ├── ex-2.2-7.xhtml │ ├── ex-2.2-8.xhtml │ ├── ex-2.2-9.xhtml │ ├── inlist-1.xhtml │ ├── inlist-2.xhtml │ ├── inlist-3.xhtml │ ├── inlist-4.xhtml │ ├── invocation.xhtml │ ├── issue-3.xhtml │ ├── lite-with-typeof.xhtml │ ├── lite-without-typeof.xhtml │ ├── microdata-invoke.html │ ├── microdata.html │ ├── no-resource-about-typeof-5-1.xhtml │ ├── no-resource-about-typeof-5-2.xhtml │ ├── no-resource-href-11.xhtml │ ├── no-resource-href-6.xhtml │ ├── origin.xhtml │ ├── play-issue-10.html │ ├── reattach.xhtml │ ├── relative-prefix.xhtml │ ├── subject-1.xhtml │ ├── subject-origin.xhtml │ ├── turtle-parser.xhtml │ ├── typed-property.xhtml │ ├── uri-test.html │ └── vocab-typeof.xhtml ├── server │ ├── lib │ │ ├── javax.servlet.jar │ │ ├── not-yet-commons-ssl-0.3.12.jar │ │ ├── org.eclipse.jetty.ajp.jar │ │ ├── org.eclipse.jetty.continuation.jar │ │ ├── org.eclipse.jetty.http.jar │ │ ├── org.eclipse.jetty.io.jar │ │ ├── org.eclipse.jetty.server.jar │ │ ├── org.eclipse.jetty.util.jar │ │ ├── org.restlet.ext.jetty.jar │ │ └── org.restlet.jar │ ├── server.sh │ └── xproclet-server.jar ├── sparql-service │ ├── build.xml │ ├── lib │ │ ├── commons-codec-1.6.jar │ │ ├── httpclient-4.2.3.jar │ │ ├── httpcore-4.2.2.jar │ │ ├── jcl-over-slf4j-1.6.4.jar │ │ ├── jena-arq-2.10.1.jar │ │ ├── jena-core-2.10.1.jar │ │ ├── jena-iri-0.9.6.jar │ │ ├── jena-tdb-0.10.1.jar │ │ ├── log4j-1.2.16.jar │ │ ├── org.restlet.jar │ │ ├── slf4j-api-1.6.4.jar │ │ ├── slf4j-log4j12-1.6.4.jar │ │ ├── xercesImpl-2.11.0.jar │ │ └── xml-apis-1.4.01.jar │ ├── nbproject │ │ ├── build-impl.xml │ │ ├── genfiles.properties │ │ ├── project.properties │ │ └── project.xml │ └── src │ │ └── com │ │ └── milowski │ │ └── sparql │ │ ├── NewContextResource.java │ │ ├── QueryContextResource.java │ │ └── ServiceApplication.java └── turtle │ ├── HYPHEN_MINUS_in_localName.nt │ ├── HYPHEN_MINUS_in_localName.ttl │ ├── IRIREF_datatype.nt │ ├── IRIREF_datatype.ttl │ ├── IRI_spo.nt │ ├── IRI_subject.ttl │ ├── IRI_with_all_punctuation.nt │ ├── IRI_with_all_punctuation.ttl │ ├── IRI_with_eight_digit_numeric_escape.ttl │ ├── IRI_with_four_digit_numeric_escape.ttl │ ├── LITERAL1.nt │ ├── LITERAL1.ttl │ ├── LITERAL1_all_controls.nt │ ├── LITERAL1_all_controls.ttl │ ├── LITERAL1_all_punctuation.nt │ ├── LITERAL1_all_punctuation.ttl │ ├── LITERAL1_ascii_boundaries.nt │ ├── LITERAL1_ascii_boundaries.ttl │ ├── LITERAL1_with_UTF8_boundaries.ttl │ ├── LITERAL2.ttl │ ├── LITERAL2_ascii_boundaries.nt │ ├── LITERAL2_ascii_boundaries.ttl │ ├── LITERAL2_with_UTF8_boundaries.ttl │ ├── LITERAL_LONG1.ttl │ ├── LITERAL_LONG1_ascii_boundaries.nt │ ├── LITERAL_LONG1_ascii_boundaries.ttl │ ├── LITERAL_LONG1_with_1_squote.nt │ ├── LITERAL_LONG1_with_1_squote.ttl │ ├── LITERAL_LONG1_with_2_squotes.nt │ ├── LITERAL_LONG1_with_2_squotes.ttl │ ├── LITERAL_LONG1_with_UTF8_boundaries.ttl │ ├── LITERAL_LONG2.ttl │ ├── LITERAL_LONG2_ascii_boundaries.nt │ ├── LITERAL_LONG2_ascii_boundaries.ttl │ ├── LITERAL_LONG2_with_1_squote.nt │ ├── LITERAL_LONG2_with_1_squote.ttl │ ├── LITERAL_LONG2_with_2_squotes.nt │ ├── LITERAL_LONG2_with_2_squotes.ttl │ ├── LITERAL_LONG2_with_REVERSE_SOLIDUS.nt │ ├── LITERAL_LONG2_with_REVERSE_SOLIDUS.ttl │ ├── LITERAL_LONG2_with_UTF8_boundaries.ttl │ ├── LITERAL_with_UTF8_boundaries.nt │ ├── SPARQL_style_base.ttl │ ├── SPARQL_style_prefix.ttl │ ├── anonymous_blank_node_object.ttl │ ├── anonymous_blank_node_subject.ttl │ ├── bareword_a_predicate.nt │ ├── bareword_a_predicate.ttl │ ├── bareword_decimal.nt │ ├── bareword_decimal.ttl │ ├── bareword_double.nt │ ├── bareword_double.ttl │ ├── bareword_integer.ttl │ ├── blankNodePropertyList_as_object.nt │ ├── blankNodePropertyList_as_object.ttl │ ├── blankNodePropertyList_as_subject.nt │ ├── blankNodePropertyList_as_subject.ttl │ ├── blankNodePropertyList_containing_collection.nt │ ├── blankNodePropertyList_containing_collection.ttl │ ├── blankNodePropertyList_with_multiple_triples.nt │ ├── blankNodePropertyList_with_multiple_triples.ttl │ ├── collection_object.nt │ ├── collection_object.ttl │ ├── collection_subject.nt │ ├── collection_subject.ttl │ ├── comment_following_PNAME_NS.nt │ ├── comment_following_PNAME_NS.ttl │ ├── comment_following_localName.ttl │ ├── dateformat.js │ ├── default_namespace_IRI.ttl │ ├── double_lower_case_e.nt │ ├── double_lower_case_e.ttl │ ├── download.sh │ ├── earl-prolog.ttl │ ├── empty_collection.nt │ ├── empty_collection.ttl │ ├── first.nt │ ├── first.ttl │ ├── generate-download.js │ ├── generate-download.xhtml │ ├── index.xhtml │ ├── labeled_blank_node_object.nt │ ├── labeled_blank_node_object.ttl │ ├── labeled_blank_node_subject.nt │ ├── labeled_blank_node_subject.ttl │ ├── labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.ttl │ ├── labeled_blank_node_with_leading_digit.ttl │ ├── labeled_blank_node_with_leading_underscore.ttl │ ├── labeled_blank_node_with_non_leading_extras.ttl │ ├── langtagged_LONG.ttl │ ├── langtagged_LONG_with_subtag.nt │ ├── langtagged_LONG_with_subtag.ttl │ ├── langtagged_non_LONG.nt │ ├── langtagged_non_LONG.ttl │ ├── lantag_with_subtag.nt │ ├── lantag_with_subtag.ttl │ ├── last.nt │ ├── last.ttl │ ├── literal_false.nt │ ├── literal_false.ttl │ ├── literal_true.nt │ ├── literal_true.ttl │ ├── literal_with_BACKSPACE.nt │ ├── literal_with_BACKSPACE.ttl │ ├── literal_with_CARRIAGE_RETURN.nt │ ├── literal_with_CARRIAGE_RETURN.ttl │ ├── literal_with_CHARACTER_TABULATION.nt │ ├── literal_with_CHARACTER_TABULATION.ttl │ ├── literal_with_FORM_FEED.nt │ ├── literal_with_FORM_FEED.ttl │ ├── literal_with_LINE_FEED.nt │ ├── literal_with_LINE_FEED.ttl │ ├── literal_with_REVERSE_SOLIDUS.nt │ ├── literal_with_REVERSE_SOLIDUS.ttl │ ├── literal_with_escaped_BACKSPACE.ttl │ ├── literal_with_escaped_CARRIAGE_RETURN.ttl │ ├── literal_with_escaped_CHARACTER_TABULATION.ttl │ ├── literal_with_escaped_FORM_FEED.ttl │ ├── literal_with_escaped_LINE_FEED.ttl │ ├── literal_with_numeric_escape4.nt │ ├── literal_with_numeric_escape4.ttl │ ├── literal_with_numeric_escape8.ttl │ ├── localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nt │ ├── localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.ttl │ ├── localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nt │ ├── localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.ttl │ ├── localName_with_leading_digit.nt │ ├── localName_with_leading_digit.ttl │ ├── localName_with_leading_underscore.nt │ ├── localName_with_leading_underscore.ttl │ ├── localName_with_nfc_PN_CHARS_BASE_character_boundaries.nt │ ├── localName_with_nfc_PN_CHARS_BASE_character_boundaries.ttl │ ├── localName_with_non_leading_extras.nt │ ├── localName_with_non_leading_extras.ttl │ ├── localname_with_COLON.nt │ ├── localname_with_COLON.ttl │ ├── manifest.ttl │ ├── mappings.ttl │ ├── negative_numeric.nt │ ├── negative_numeric.ttl │ ├── nested_blankNodePropertyLists.nt │ ├── nested_blankNodePropertyLists.ttl │ ├── nested_collection.nt │ ├── nested_collection.ttl │ ├── number_sign_following_PNAME_NS.nt │ ├── number_sign_following_PNAME_NS.ttl │ ├── number_sign_following_localName.nt │ ├── number_sign_following_localName.ttl │ ├── numeric_with_leading_0.nt │ ├── numeric_with_leading_0.ttl │ ├── objectList_with_two_objects.nt │ ├── objectList_with_two_objects.ttl │ ├── old_style_base.ttl │ ├── old_style_prefix.ttl │ ├── parser.js │ ├── parser.xhtml │ ├── percent_escaped_localName.nt │ ├── percent_escaped_localName.ttl │ ├── positive_numeric.nt │ ├── positive_numeric.ttl │ ├── predicateObjectList_with_two_objectLists.nt │ ├── predicateObjectList_with_two_objectLists.ttl │ ├── prefix_only_IRI.ttl │ ├── prefix_reassigned_and_used.nt │ ├── prefix_reassigned_and_used.ttl │ ├── prefix_with_PN_CHARS_BASE_character_boundaries.ttl │ ├── prefix_with_non_leading_extras.ttl │ ├── prefixed_IRI_object.ttl │ ├── prefixed_IRI_predicate.ttl │ ├── prefixed_name_datatype.ttl │ ├── repeated_semis_at_end.ttl │ ├── repeated_semis_not_at_end.nt │ ├── repeated_semis_not_at_end.ttl │ ├── reserved_escaped_localName.nt │ ├── reserved_escaped_localName.ttl │ ├── sole_blankNodePropertyList.ttl │ ├── test.css │ ├── test.js │ ├── turtle-eval-bad-01.ttl │ ├── turtle-eval-bad-02.ttl │ ├── turtle-eval-bad-03.ttl │ ├── turtle-eval-bad-04.ttl │ ├── turtle-eval-struct-01.nt │ ├── turtle-eval-struct-01.ttl │ ├── turtle-eval-struct-02.nt │ ├── turtle-eval-struct-02.ttl │ ├── turtle-subm-01.nt │ ├── turtle-subm-01.ttl │ ├── turtle-subm-02.nt │ ├── turtle-subm-02.ttl │ ├── turtle-subm-03.nt │ ├── turtle-subm-03.ttl │ ├── turtle-subm-04.nt │ ├── turtle-subm-04.ttl │ ├── turtle-subm-05.nt │ ├── turtle-subm-05.ttl │ ├── turtle-subm-06.nt │ ├── turtle-subm-06.ttl │ ├── turtle-subm-07.nt │ ├── turtle-subm-07.ttl │ ├── turtle-subm-08.nt │ ├── turtle-subm-08.ttl │ ├── turtle-subm-09.nt │ ├── turtle-subm-09.ttl │ ├── turtle-subm-10.nt │ ├── turtle-subm-10.ttl │ ├── turtle-subm-11.nt │ ├── turtle-subm-11.ttl │ ├── turtle-subm-12.nt │ ├── turtle-subm-12.ttl │ ├── turtle-subm-13.nt │ ├── turtle-subm-13.ttl │ ├── turtle-subm-14.nt │ ├── turtle-subm-14.ttl │ ├── turtle-subm-15.nt │ ├── turtle-subm-15.ttl │ ├── turtle-subm-16.nt │ ├── turtle-subm-16.ttl │ ├── turtle-subm-17.nt │ ├── turtle-subm-17.ttl │ ├── turtle-subm-18.nt │ ├── turtle-subm-18.ttl │ ├── turtle-subm-19.nt │ ├── turtle-subm-19.ttl │ ├── turtle-subm-20.nt │ ├── turtle-subm-20.ttl │ ├── turtle-subm-21.nt │ ├── turtle-subm-21.ttl │ ├── turtle-subm-22.nt │ ├── turtle-subm-22.ttl │ ├── turtle-subm-23.nt │ ├── turtle-subm-23.ttl │ ├── turtle-subm-24.nt │ ├── turtle-subm-24.ttl │ ├── turtle-subm-25.nt │ ├── turtle-subm-25.ttl │ ├── turtle-subm-26.nt │ ├── turtle-subm-26.ttl │ ├── turtle-subm-27.nt │ ├── turtle-subm-27.ttl │ ├── turtle-syntax-bad-LITERAL2_with_langtag_and_datatype.ttl │ ├── turtle-syntax-bad-base-01.ttl │ ├── turtle-syntax-bad-base-02.ttl │ ├── turtle-syntax-bad-base-03.ttl │ ├── turtle-syntax-bad-blank-label-dot-end.ttl │ ├── turtle-syntax-bad-esc-01.ttl │ ├── turtle-syntax-bad-esc-02.ttl │ ├── turtle-syntax-bad-esc-03.ttl │ ├── turtle-syntax-bad-esc-04.ttl │ ├── turtle-syntax-bad-kw-01.ttl │ ├── turtle-syntax-bad-kw-02.ttl │ ├── turtle-syntax-bad-kw-03.ttl │ ├── turtle-syntax-bad-kw-04.ttl │ ├── turtle-syntax-bad-kw-05.ttl │ ├── turtle-syntax-bad-lang-01.ttl │ ├── turtle-syntax-bad-ln-dash-start.ttl │ ├── turtle-syntax-bad-ln-escape-start.ttl │ ├── turtle-syntax-bad-ln-escape.ttl │ ├── turtle-syntax-bad-missing-ns-dot-end.ttl │ ├── turtle-syntax-bad-missing-ns-dot-start.ttl │ ├── turtle-syntax-bad-n3-extras-01.ttl │ ├── turtle-syntax-bad-n3-extras-02.ttl │ ├── turtle-syntax-bad-n3-extras-03.ttl │ ├── turtle-syntax-bad-n3-extras-04.ttl │ ├── turtle-syntax-bad-n3-extras-05.ttl │ ├── turtle-syntax-bad-n3-extras-06.ttl │ ├── turtle-syntax-bad-n3-extras-07.ttl │ ├── turtle-syntax-bad-n3-extras-08.ttl │ ├── turtle-syntax-bad-n3-extras-09.ttl │ ├── turtle-syntax-bad-n3-extras-10.ttl │ ├── turtle-syntax-bad-n3-extras-11.ttl │ ├── turtle-syntax-bad-n3-extras-12.ttl │ ├── turtle-syntax-bad-n3-extras-13.ttl │ ├── turtle-syntax-bad-ns-dot-end.ttl │ ├── turtle-syntax-bad-ns-dot-start.ttl │ ├── turtle-syntax-bad-num-01.ttl │ ├── turtle-syntax-bad-num-02.ttl │ ├── turtle-syntax-bad-num-03.ttl │ ├── turtle-syntax-bad-num-04.ttl │ ├── turtle-syntax-bad-num-05.ttl │ ├── turtle-syntax-bad-number-dot-in-anon.ttl │ ├── turtle-syntax-bad-pname-01.ttl │ ├── turtle-syntax-bad-pname-02.ttl │ ├── turtle-syntax-bad-pname-03.ttl │ ├── turtle-syntax-bad-prefix-01.ttl │ ├── turtle-syntax-bad-prefix-02.ttl │ ├── turtle-syntax-bad-prefix-03.ttl │ ├── turtle-syntax-bad-prefix-04.ttl │ ├── turtle-syntax-bad-prefix-05.ttl │ ├── turtle-syntax-bad-string-01.ttl │ ├── turtle-syntax-bad-string-02.ttl │ ├── turtle-syntax-bad-string-03.ttl │ ├── turtle-syntax-bad-string-04.ttl │ ├── turtle-syntax-bad-string-05.ttl │ ├── turtle-syntax-bad-string-06.ttl │ ├── turtle-syntax-bad-string-07.ttl │ ├── turtle-syntax-bad-struct-01.ttl │ ├── turtle-syntax-bad-struct-02.ttl │ ├── turtle-syntax-bad-struct-03.ttl │ ├── turtle-syntax-bad-struct-04.ttl │ ├── turtle-syntax-bad-struct-05.ttl │ ├── turtle-syntax-bad-struct-06.ttl │ ├── turtle-syntax-bad-struct-07.ttl │ ├── turtle-syntax-bad-struct-08.ttl │ ├── turtle-syntax-bad-struct-09.ttl │ ├── turtle-syntax-bad-struct-10.ttl │ ├── turtle-syntax-bad-struct-11.ttl │ ├── turtle-syntax-bad-struct-12.ttl │ ├── turtle-syntax-bad-struct-13.ttl │ ├── turtle-syntax-bad-struct-14.ttl │ ├── turtle-syntax-bad-struct-15.ttl │ ├── turtle-syntax-bad-struct-16.ttl │ ├── turtle-syntax-bad-struct-17.ttl │ ├── turtle-syntax-bad-uri-01.ttl │ ├── turtle-syntax-bad-uri-02.ttl │ ├── turtle-syntax-bad-uri-03.ttl │ ├── turtle-syntax-bad-uri-04.ttl │ ├── turtle-syntax-bad-uri-05.ttl │ ├── turtle-syntax-base-01.ttl │ ├── turtle-syntax-base-02.ttl │ ├── turtle-syntax-base-03.ttl │ ├── turtle-syntax-base-04.ttl │ ├── turtle-syntax-blank-label.ttl │ ├── turtle-syntax-bnode-01.ttl │ ├── turtle-syntax-bnode-02.ttl │ ├── turtle-syntax-bnode-03.ttl │ ├── turtle-syntax-bnode-04.ttl │ ├── turtle-syntax-bnode-05.ttl │ ├── turtle-syntax-bnode-06.ttl │ ├── turtle-syntax-bnode-07.ttl │ ├── turtle-syntax-bnode-08.ttl │ ├── turtle-syntax-bnode-09.ttl │ ├── turtle-syntax-bnode-10.ttl │ ├── turtle-syntax-datatypes-01.ttl │ ├── turtle-syntax-datatypes-02.ttl │ ├── turtle-syntax-file-01.ttl │ ├── turtle-syntax-file-02.ttl │ ├── turtle-syntax-file-03.ttl │ ├── turtle-syntax-kw-01.ttl │ ├── turtle-syntax-kw-02.ttl │ ├── turtle-syntax-kw-03.ttl │ ├── turtle-syntax-lists-01.ttl │ ├── turtle-syntax-lists-02.ttl │ ├── turtle-syntax-lists-03.ttl │ ├── turtle-syntax-lists-04.ttl │ ├── turtle-syntax-lists-05.ttl │ ├── turtle-syntax-ln-colons.ttl │ ├── turtle-syntax-ln-dots.ttl │ ├── turtle-syntax-ns-dots.ttl │ ├── turtle-syntax-number-01.ttl │ ├── turtle-syntax-number-02.ttl │ ├── turtle-syntax-number-03.ttl │ ├── turtle-syntax-number-04.ttl │ ├── turtle-syntax-number-05.ttl │ ├── turtle-syntax-number-06.ttl │ ├── turtle-syntax-number-07.ttl │ ├── turtle-syntax-number-08.ttl │ ├── turtle-syntax-number-09.ttl │ ├── turtle-syntax-number-10.ttl │ ├── turtle-syntax-number-11.ttl │ ├── turtle-syntax-pname-esc-01.ttl │ ├── turtle-syntax-pname-esc-02.ttl │ ├── turtle-syntax-pname-esc-03.ttl │ ├── turtle-syntax-prefix-01.ttl │ ├── turtle-syntax-prefix-02.ttl │ ├── turtle-syntax-prefix-03.ttl │ ├── turtle-syntax-prefix-04.ttl │ ├── turtle-syntax-prefix-05.ttl │ ├── turtle-syntax-prefix-06.ttl │ ├── turtle-syntax-prefix-07.ttl │ ├── turtle-syntax-prefix-08.ttl │ ├── turtle-syntax-prefix-09.ttl │ ├── turtle-syntax-str-esc-01.ttl │ ├── turtle-syntax-str-esc-02.ttl │ ├── turtle-syntax-str-esc-03.ttl │ ├── turtle-syntax-string-01.ttl │ ├── turtle-syntax-string-02.ttl │ ├── turtle-syntax-string-03.ttl │ ├── turtle-syntax-string-04.ttl │ ├── turtle-syntax-string-05.ttl │ ├── turtle-syntax-string-06.ttl │ ├── turtle-syntax-string-07.ttl │ ├── turtle-syntax-string-08.ttl │ ├── turtle-syntax-string-09.ttl │ ├── turtle-syntax-string-10.ttl │ ├── turtle-syntax-string-11.ttl │ ├── turtle-syntax-struct-01.ttl │ ├── turtle-syntax-struct-02.ttl │ ├── turtle-syntax-struct-03.ttl │ ├── turtle-syntax-struct-04.ttl │ ├── turtle-syntax-struct-05.ttl │ ├── turtle-syntax-uri-01.ttl │ ├── turtle-syntax-uri-02.ttl │ ├── turtle-syntax-uri-03.ttl │ ├── turtle-syntax-uri-04.ttl │ ├── two_LITERAL_LONG2s.nt │ ├── two_LITERAL_LONG2s.ttl │ ├── underscore_in_localName.nt │ ├── underscore_in_localName.ttl │ └── web.xml ├── tools └── closure-compiler-20140508.jar └── version.properties /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 R. Alexander Milowski (alex@milowski.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Green Turtle 2 | 3 | An RDFa 1.1 implementation in JavaScript for browsers. 4 | 5 | Note: This project has transitioned from its former [Google Code project](http://code.google.com/p/green-turtle). 6 | 7 | ## Conformance 8 | 9 | Green Turtle passes all the tests for XML, XHTML1, XHTML5, HTML4, and HTML5 as provided by the [RDFa WG](http://rdfa.info/test-suite/) except for the following notable issues: 10 | 11 | * [XML Test 0332](http://rdfa.info/test-suite/test-cases/rdfa1.1/xml/0332.xml) uses a bare `lang` attribute instead of an `xml:lang` attribute. I believe this is a bug in the test. Green Turtle does the right thing with respect to `xml:lang` attributes in XML and `lang` attributes in HTML. A `lang` attribute in arbitrary XML has no special meaning. 12 | * [XHTML1 Test 0198](http://rdfa.info/test-suite/test-cases/rdfa1.1/xhtml1/0198.xhtml) and [XHTML5 Test 0198](http://rdfa.info/test-suite/test-cases/rdfa1.1/xhtml5/0198.xhtml) both have extra namespaces serialized in the XMLLiteral as expected output. The input for the test cases does not have XML namespace attributes. Instead, they use a `prefix` attribute to declare the prefixes used in the RDFa annotations. Meanwhile, when the literal is serialized, they are not in the in-scope namespaces. The RDFa specification says nothing about doing any kind of merging of prefixes and in-scope namespaces. I believe these test cases are incorrect. The correct serialization will not contain the `rdf:` and `foaf:` namespace declarations as they are not present in the source document. 13 | 14 | I have submitted these issue to the working group for consideration. 15 | 16 | ## Test Suite 17 | 18 | To run the tests yourself, you will need Java and Ant installed and then do the following: 19 | 20 | 1. Build Green Turtle by running [ant](http://ant.apache.org) in the root directory. 21 | 2. Build the SPARQL service: 22 | 23 |
cd tests/sparql-service/
24 |     ant
25 |     cd ../..
26 |     
27 | 3. Cache the test cases: 28 | 29 | 30 |
cd tests/harness
31 |     ./make-cache.sh
32 |     ./download-xml.sh
33 |     ./download-xhtml1.sh
34 |     ./download-xhtml5.sh
35 |     ./download-html4.sh
36 |     ./download-html5.sh
37 |     
38 | 39 | 40 | 4. Run the server: 41 | 42 |
../server/server.sh web.xml
43 | 44 | 5. Visit [http://localhost:8888/](http://localhost:8888/) in your browser. 45 | 6. Select the markup language from the drop-down list box and hit the 'Test' button. The system will run the test cases rather silently unless you look at the console. Eventually, it will output a table of the status of all the test cases. 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | /** @preserve green-turtle version ${version.label} Copyright (c) 2011-2014, R. Alexander Milowski <alex@milowski.com> All rights reserved. */ 24 | /** 25 | 26 | 27 | */ 28 | 29 | 30 | 31 | env.version = "${version.label}"; 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | /** @preserve green-turtle version ${version.label} Copyright (c) 2011-2013, R. Alexander Milowski <alex@milowski.com> All rights reserved. */ 50 | /** 51 | 52 | 53 | */ 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | Minifying RDFa.js ... 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | Minifying RDFaProcessor.js ... 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /chrome/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | green-turtle version ${version.label}, extension version ${chrome.version.label} 27 | Copyright (c) 2011-2014, R. Alexander Milowski <alex@milowski.com> All rights reserved. 28 | 29 | 30 | 31 | 32 | { 33 | "name": "Green Turtle RDFa", 34 | "version": "${chrome.version.label}", 35 | "manifest_version": 2, 36 | "description": "An implementation of RDFa processing in the browser.", 37 | "background": { 38 | "scripts": ["background.js"] 39 | }, 40 | "page_action" : { 41 | "default_icon": "turtle-32x32.png", 42 | "default_title": "Show Triples" 43 | }, 44 | "content_scripts": [ 45 | { 46 | "matches": [ "<all_urls>" ], 47 | "js": [ "harvest.js" ] 48 | } 49 | ], 50 | "options_page" : "options.html", 51 | "permissions": [ 52 | "tabs" 53 | ], 54 | "web_accessible_resources": [ 55 | "RDFa.js" 56 | ] 57 | 58 | } 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | var version = { 72 | extension: "${chrome.version.label}", 73 | greenTurtle: "${version.label}" 74 | }; 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | /** @preserve green-turtle version ${version.label} Copyright (c) 2011-2014, R. Alexander Milowski <alex@milowski.com> All rights reserved. */ 85 | /** 86 | 87 | 88 | */ 89 | 90 | 91 | 92 | env.version = "${version.label}"; 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /chrome/src/background.js: -------------------------------------------------------------------------------- 1 | try { 2 | chrome.extension.onRequest.addListener( 3 | function(request, sender, sendResponse) { 4 | //console.log(sender.tab ? "from a content script: " + sender.tab.id+", "+sender.tab.url : "from the extension" ); 5 | if (request.harvestedTriples) { 6 | chrome.pageAction.show(sender.tab.id); 7 | sendResponse({}); 8 | } else if (request.method == "getOptions") { 9 | var injectionValue = localStorage["injection.enabled"]; 10 | if (injectionValue===undefined) { 11 | localStorage["injection.enabled"] = "true"; 12 | injectionValue = "true"; 13 | } 14 | sendResponse({microdataEnabled: localStorage["microdata.enabled"]=="true", injectionEnabled: injectionValue=="true"}); 15 | } else { 16 | sendResponse({}); // snub them. 17 | } 18 | }); 19 | chrome.pageAction.onClicked.addListener(function(tab) { 20 | var url = chrome.extension.getURL("viewer.xhtml"); 21 | chrome.tabs.create({"url": url, "selected": true}, 22 | function(viewerTab) { 23 | chrome.tabs.sendRequest(viewerTab.id, { viewerInit: true, url: tab.url, id: tab.id}); 24 | } 25 | ); 26 | }); 27 | } catch (ex) { 28 | console.log("Error setting up rdfa extension: "+ex); 29 | } 30 | -------------------------------------------------------------------------------- /chrome/src/inject.js: -------------------------------------------------------------------------------- 1 | if (document.data === undefined) { 2 | var checker = function() { 3 | if (typeof GreenTurtleOptions == "undefined") { 4 | setTimeout(function() { 5 | checker() 6 | },10); 7 | } else { 8 | GreenTurtle.implementation.processors["microdata"].enabled = GreenTurtleOptions.microdataEnabled; 9 | GreenTurtle.attach(document); 10 | } 11 | } 12 | checker(); 13 | } -------------------------------------------------------------------------------- /chrome/src/options.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Green Turtle Options 5 | 6 | 9 | 10 | 11 |

Green Turtle Options

12 |

Enable Microdata

13 |

Enable Injection

14 | 15 | 16 | -------------------------------------------------------------------------------- /chrome/src/options.js: -------------------------------------------------------------------------------- 1 | var enableMicrodata = null; 2 | window.addEventListener("load",function() { 3 | enableMicrodata = document.getElementById("microdata"); 4 | enableInjection = document.getElementById("injection"); 5 | var microdataEnabled = localStorage["microdata.enabled"]; 6 | if (microdataEnabled === undefined || microdataEnabled == "false") { 7 | enableMicrodata.checked = false; 8 | } else if (microdataEnabled == "true") { 9 | enableMicrodata.checked = true; 10 | } 11 | var injectionEnabled = localStorage["injection.enabled"]; 12 | if (injectionEnabled == "false") { 13 | enableInjection.checked = false; 14 | } else if (injectionEnabled === undefined || injectionEnabled == "true") { 15 | enableInjection.checked = true; 16 | } 17 | document.getElementById("save").onclick = function() { 18 | localStorage["microdata.enabled"] = enableMicrodata.checked ? "true" : "false"; 19 | localStorage["injection.enabled"] = enableInjection.checked ? "true" : "false"; 20 | } 21 | },false); -------------------------------------------------------------------------------- /chrome/src/turtle-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/chrome/src/turtle-32x32.png -------------------------------------------------------------------------------- /chrome/src/viewer.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: Arial; 3 | } 4 | 5 | tbody { 6 | font-family: monospace; 7 | } 8 | 9 | #log { 10 | font-size:1.0em; 11 | font-weight:bold; 12 | color:#23A4FF; 13 | } 14 | 15 | .toolbar { 16 | margin: 0px; 17 | padding: 0px; 18 | margin-bottom: 5px; 19 | } 20 | .toolbar button { 21 | font-size:8pt; 22 | } 23 | 24 | #container { 25 | min-width: 910px; 26 | } 27 | 28 | #turtle-display { 29 | display: none; 30 | } 31 | 32 | #turtle-display { 33 | border: 1px solid rgb(200,200,200); 34 | padding: 0.5em; 35 | } 36 | 37 | #visualization { 38 | border: 1px solid rgb(200,200,200); 39 | min-height: 300px; 40 | padding: 5px; 41 | overflow:hidden; 42 | } 43 | 44 | #visualization-canvaswidget { 45 | margin-left: auto; 46 | margin-right: auto; 47 | } 48 | 49 | #inspector { 50 | display: none; 51 | margin-top: 10px; 52 | border-top: 2px solid rgb(100,100,100); 53 | font-size: 10pt; 54 | padding-left: 2%; 55 | padding-right: 2%; 56 | } 57 | 58 | #info { 59 | } 60 | 61 | #graphviz { 62 | display: none; 63 | margin-left: auto; 64 | margin-right: auto; 65 | } 66 | 67 | #no-graphviz { 68 | display: none; 69 | } 70 | 71 | #table table { 72 | width: 100%; 73 | } 74 | 75 | #table thead { 76 | background-color: rgb(100,100,100); 77 | } 78 | 79 | #table tbody .even { 80 | background-color: rgb(220,220,220); 81 | } 82 | 83 | #table tbody .selected { 84 | background-color: rgb(255,150,150); 85 | } 86 | 87 | #table tbody .selected.even { 88 | background-color: rgb(255,100,100); 89 | } 90 | 91 | #status #stop { 92 | margin-left: 1em; 93 | } -------------------------------------------------------------------------------- /chrome/src/viewer.xhtml: -------------------------------------------------------------------------------- 1 | 2 | Triple Viewer 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 |
11 |

12 | 13 | 14 | 15 | 16 |

17 |
18 |
19 | 
20 |
21 |
22 |
23 |
24 |

There were too many triples harvested from this document to render.

25 | 26 |
27 |

Waiting for triples from document...

28 |
29 |
30 | 31 | 32 | 33 | 34 | 35 |
SubjectPredicateObject
36 | 37 | 38 | 39 | 40 | 41 |
PrefixURI
42 |
43 |
44 |
45 | 46 | 47 | -------------------------------------------------------------------------------- /chrome/version.properties: -------------------------------------------------------------------------------- 1 | chrome.version.major=1 2 | chrome.version.minor=3 3 | chrome.version.release=0 4 | -------------------------------------------------------------------------------- /green-turtle.xpr: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | 2 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 3 | 4 | Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 5 | Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 6 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "green-turtle", 3 | "version": "1.4.0", 4 | "description": "Green Turtle", 5 | "main": "src/index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/alexmilowski/green-turtle.git" 9 | }, 10 | "keywords": [ 11 | "green", 12 | "turtle", 13 | "rdfa" 14 | ], 15 | "author": "Alex Milowski (http://www.milowski.com/)", 16 | "bugs": { 17 | "url": "https://github.com/alexmilowski/green-turtle/issues" 18 | }, 19 | "homepage": "https://github.com/alexmilowski/green-turtle" 20 | } 21 | -------------------------------------------------------------------------------- /safari/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /safari/green-turtle.safariextz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/safari/green-turtle.safariextz -------------------------------------------------------------------------------- /safari/plist.xsl: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | . 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /safari/src/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Author 6 | Alex Milowski 7 | Builder Version 8 | 9537.76.4 9 | CFBundleDisplayName 10 | Green Turtle 11 | CFBundleIdentifier 12 | com.milowski.green-turtle 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleShortVersionString 16 | $version.major.minor 17 | CFBundleVersion 18 | $version.release 19 | Chrome 20 | 21 | Content 22 | 23 | Scripts 24 | 25 | End 26 | 27 | bootstrap.js 28 | 29 | 30 | 31 | Description 32 | An RDFa implementation for browsers. 33 | ExtensionInfoDictionaryVersion 34 | 1.0 35 | Permissions 36 | 37 | Website Access 38 | 39 | Include Secure Pages 40 | 41 | Level 42 | All 43 | 44 | 45 | Website 46 | https://github.com/alexmilowski/green-turtle 47 | 48 | 49 | -------------------------------------------------------------------------------- /safari/src/bootstrap.js: -------------------------------------------------------------------------------- 1 | if (typeof document.data === "undefined" && document.baseURI != "about:blank") { 2 | var href = safari.extension.baseURI+"RDFa.js"; 3 | console.log("Injecting "+href+" into "+document.baseURI); 4 | var script = document.createElement("script"); 5 | script.setAttribute("type","text/javascript"); 6 | script.setAttribute("src",href); 7 | document.head.appendChild(script); 8 | } 9 | -------------------------------------------------------------------------------- /src/RDFa.invoke.js: -------------------------------------------------------------------------------- 1 | GreenTurtle.attach(document); -------------------------------------------------------------------------------- /src/RDFa.prolog.js: -------------------------------------------------------------------------------- 1 | 2 | if (typeof GreenTurtle == "undefined") { 3 | 4 | var GreenTurtle = (function() { 5 | 6 | var env = {}; 7 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | RDFaProcessor: require("./RDFaProcessor") 3 | }; 4 | -------------------------------------------------------------------------------- /tests/harness/docs/earl-prolog.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdf: . 2 | @prefix rdfs: . 3 | @prefix dc: . 4 | @prefix doap: . 5 | @prefix foaf: . 6 | @prefix earl: . 7 | @prefix xsd: . 8 | 9 | a doap:Project, earl:TestSubject, earl:Software ; 10 | doap:name "Green Turtle" ; 11 | doap:homepage ; 12 | doap:license ; 13 | doap:shortdesc "RDFa Processor in Green Turtle"@en ; 14 | doap:description "Green Turtle support for RDFa 1.1"@en ; 15 | doap:created "{date}"^^xsd:date ; 16 | doap:programming-language "Javascript" ; 17 | doap:implements ; 18 | doap:category ; 19 | doap:download-page ; 20 | doap:bug-database ; 21 | doap:blog ; 22 | doap:developer ; 23 | doap:maintainer ; 24 | doap:documenter ; 25 | foaf:maker ; 26 | dc:title "Green Turtle" ; 27 | dc:description "Green Turtle support for RDFa 1.1"@en; 28 | dc:date "{date}"^^xsd:date ; 29 | dc:creator ; 30 | dc:isPartOf . 31 | 32 | a foaf:Person, earl:Assertor; 33 | foaf:name "Alex Milowski"; 34 | foaf:title "Implementor"; 35 | foaf:homepage . 36 | 37 | -------------------------------------------------------------------------------- /tests/harness/docs/generate-download.js: -------------------------------------------------------------------------------- 1 | function download(type,files) { 2 | var s = ""; 3 | for (var i=0; i tests/cache/"+type+"/"+file+"\n"; 7 | } 8 | return s; 9 | } 10 | 11 | function generateDownloads(manifestURI) { 12 | var output = document.getElementById("script"); 13 | while (output.firstChild) { 14 | output.removeChild(output.firstChild); 15 | } 16 | var pos = manifestURI.lastIndexOf("/"); 17 | for (pos--; pos>=0 && manifestURI.charAt(pos)!="/"; pos--); 18 | var baseURI = "http://rdfa.info/test-suite/rdfa1.1"+manifestURI.substring(pos); 19 | var type = manifestURI.substring(pos).substring(1); 20 | type = type.substring(0,type.indexOf("/")); 21 | console.log("Loading manifest from: "+manifestURI+", base: "+baseURI+", type: "+type); 22 | var requester = new XMLHttpRequest(); 23 | requester.open("GET",manifestURI,false); 24 | requester.send(null); 25 | console.log("Parsing manifest..."); 26 | var turtle = document.data.implementation.parse(requester.responseText,"text/turtle",{ baseURI: baseURI}); 27 | //console.log(turtle.toString()); 28 | var dataDoc = document.implementation.createDocument("http://www.w3.org/1999/xhtml","html",null); 29 | dataDoc.documentElement.setAttributeNS("http://www.w3.org/XML/1998/namespace","base",window.location.href); 30 | GreenTurtle.attach(dataDoc); 31 | console.log("Merging ..."); 32 | dataDoc.data.merge(turtle,{prefixes: turtle.prefixes}); 33 | console.log("Processing ..."); 34 | var manifestSubject = dataDoc.data.getSubjects("rdf:type","mf:Manifest")[0]; 35 | var currentSubject = dataDoc.data.getValues(manifestSubject,"mf:entries")[0]; 36 | var script = ""; 37 | var count = 0; 38 | while (currentSubject!="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil") { 39 | var entrySubject = dataDoc.data.getValues(currentSubject,"rdf:first")[0]; 40 | var actionSubject = dataDoc.data.getValues(entrySubject,"mf:action")[0]; 41 | script += download(type,dataDoc.data.getValues(actionSubject,"qt:data")); 42 | script += download(type,dataDoc.data.getValues(actionSubject,"qt:query")); 43 | count++; 44 | if (count>20) { 45 | output.appendChild(document.createTextNode(script)); 46 | script = ""; 47 | } 48 | currentSubject = dataDoc.data.getValues(currentSubject,"rdf:rest")[0]; 49 | } 50 | output.appendChild(document.createTextNode(script)); 51 | } 52 | 53 | window.addEventListener("load",function() { 54 | var go = document.getElementById("go").onclick = function() { 55 | generateDownloads(document.getElementById("source").value); 56 | }; 57 | 58 | },false); -------------------------------------------------------------------------------- /tests/harness/docs/generate-download.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Test Suite Download 6 | 7 | 8 | 9 | 10 | 11 |

18 | 19 |

20 | 14 |

15 | 16 | -------------------------------------------------------------------------------- /tests/jsonld/prague-1.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XML Prague - Example 1 6 | 7 | 8 | 9 | 28 | 29 | -------------------------------------------------------------------------------- /tests/jsonld/prague-2.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hybridization - Person 6 | 7 | 8 | 9 | 21 | 22 |

23 | 24 | 25 | Alex Miłowski 26 | 27 | 28 | works at 29 | 30 | University of California, Berkeley's 31 | 32 | School of Information 33 | 34 | 35 |

36 | 37 | -------------------------------------------------------------------------------- /tests/other/callback.js: -------------------------------------------------------------------------------- 1 | CallbackProcessor.prototype = new RDFaProcessor(); 2 | CallbackProcessor.prototype.constructor=RDFaProcessor; 3 | function CallbackProcessor() { 4 | RDFaProcessor.call(this); 5 | } 6 | 7 | CallbackProcessor.prototype.newSubjectOrigin = function(origin,subject) { 8 | console.log("New origin for "+subject); 9 | } 10 | 11 | CallbackProcessor.prototype.addTriple = function(origin,subject,predicate,object) { 12 | console.log("New triple: "+subject+", predicate "+predicate+", object "+object.value+", "+object.language+", "+object.type); 13 | } 14 | 15 | window.addEventListener("load",function() { 16 | 17 | var processor = new CallbackProcessor(); 18 | processor.process(document); 19 | 20 | },false); -------------------------------------------------------------------------------- /tests/other/callback.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Callback Test 6 | 7 | 8 | 9 | 10 |
11 | Alex Milowski 12 | alex@milowski.com 13 |
14 | 15 | -------------------------------------------------------------------------------- /tests/other/chastk.xhtml: -------------------------------------------------------------------------------- 1 | 2 | Test from chastk 3 | 4 |
5 |
0
6 |
Accession Code (sample#)
7 |
Entity
8 | 11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/other/document-element-typeof-5-1.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Testing @typeof document element (5.1) 4 | 5 | 6 |

Testing the typed resource resolving to the document base uri.

7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/other/embed-turtle.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Embed Turtle - HTML 5 | 6 | 10 | 11 | 12 |

A label.

13 | 18 | 19 | -------------------------------------------------------------------------------- /tests/other/embed-turtle.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Embed Turtle - XHTML 6 | 7 | 13 | 14 | 15 |

A label.

16 | 21 | 22 | -------------------------------------------------------------------------------- /tests/other/empty-property.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Empty Property 4 | 5 | 6 | 7 |
8 | something 9 |
10 | 11 | -------------------------------------------------------------------------------- /tests/other/event-rdfa-loaded.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | rdfa.loaded event 6 | 7 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-1.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Page 7 4 | 5 | 6 | 7 | 8 | ... 9 | 10 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-10.xhtml: -------------------------------------------------------------------------------- 1 |
2 | My name is John Doe and my blog is called 3 | Understanding Semantics. 4 |
5 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-11.xhtml: -------------------------------------------------------------------------------- 1 |
2 | My name is John Doe and my blog is called 3 | Understanding Semantics. 4 |
5 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-2.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | My home-page 4 | 5 | 6 | 7 | ... 8 | 9 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-3.xhtml: -------------------------------------------------------------------------------- 1 | 6 | 7 | My home-page 8 | 9 | 10 | 11 | ... 12 | 13 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-4.xhtml: -------------------------------------------------------------------------------- 1 |
2 | This document is licensed under the 3 | Creative Commons By-NC-ND License. 7 |
8 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-5.xhtml: -------------------------------------------------------------------------------- 1 | 5 | My Home Page 6 | 7 |

My home-page

8 |

Last modified: 16 September 2015

9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-6.xhtml: -------------------------------------------------------------------------------- 1 | 6 | My Home Page 7 | 8 |

My home-page

9 |

Last modified: 16 September 2015.

12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-7.xhtml: -------------------------------------------------------------------------------- 1 | 6 | 7 | Books by Marco Pierre White 8 | 9 | 10 | I think White's book 11 | 'Canteen Cuisine' 13 | is well worth getting since although it's quite advanced stuff, he 14 | makes it pretty easy to follow. You might also like 15 | White's autobiography. 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-8.xhtml: -------------------------------------------------------------------------------- 1 | 6 | 7 | Books by Marco Pierre White 8 | 9 | 10 | I think White's book 11 | 'Canteen Cuisine' 13 | is well worth getting since although it's quite advanced stuff, he 14 | makes it pretty easy to follow. You might also like 15 | White's autobiography. 20 | 21 | 22 | -------------------------------------------------------------------------------- /tests/other/ex-2.2-9.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Books by Marco Pierre White 4 | 5 | 6 | I think White's book 7 | 'Canteen Cuisine' 12 | is well worth getting since although it's quite advanced stuff, he 13 | makes it pretty easy to follow. You might also like 14 | White's autobiography. 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/other/inlist-1.xhtml: -------------------------------------------------------------------------------- 1 | 2 | inlist-1 3 | 4 |

5 | "Semantic Annotation and Retrieval" by 6 | Ben Adida, 8 | Mark Birbeck, and 10 | Ivan Herman. 12 |

13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/other/inlist-2.xhtml: -------------------------------------------------------------------------------- 1 | 2 | inlist-2 3 | 4 |

5 | "Semantic Annotation and Retrieval", by 6 | Ben Adida, 7 | Mark Birbeck, and 8 | Ivan Herman. 9 |

10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/other/inlist-3.xhtml: -------------------------------------------------------------------------------- 1 | 2 | inlist-3 3 | 4 |

5 | "Semantic Annotation and Retrieval", by 6 | Ben Adida, 7 | Mark Birbeck, and 8 | Ivan Herman. 9 |

10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/other/inlist-4.xhtml: -------------------------------------------------------------------------------- 1 | 2 | inlist-4 3 | 4 |

5 | "Semantic Annotation and Retrieval", by 6 | 7 | Ben Adida, 8 | Mark Birbeck, and 9 | Ivan Herman. 10 | 11 |

12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/other/invocation.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 | Tour Info: Amy And The Red Foxies 9 | 10 | 11 | Kammgarn 12 | 13 |
14 | Hey K-Town, Amy And The Red Foxies will rock Kammgarn in October. 15 | When: 16 | 15. Oct., 7:00 pm- 17 | 9:00 pm 18 | 19 | Category: concert 20 |
21 | 22 | -------------------------------------------------------------------------------- /tests/other/issue-3.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Test 0302: various types of tokens in @typeof 4 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/other/lite-with-typeof.xhtml: -------------------------------------------------------------------------------- 1 | 2 | typeof test 3 | 4 |
5 |
6 |

A value

7 |
8 |
9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/other/lite-without-typeof.xhtml: -------------------------------------------------------------------------------- 1 | 2 | typeof test 3 | 4 |
5 |
6 |

A value

7 |
8 |
9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/other/microdata-invoke.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microdata Test 5 | 6 | 7 | 13 | 14 | 15 |
16 | 17 |
18 |
19 | 20 |
21 |
22 |

Avatar

23 |
24 | Director: James Cameron (born August 16, 1954) 25 |
26 | Science fiction 27 | Trailer 28 |
29 | 30 | -------------------------------------------------------------------------------- /tests/other/microdata.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microdata Test 5 | 10 | 11 | 12 |
13 | 14 |
15 |
16 | 17 |
18 |
19 |

Avatar

20 |
21 | Director: James Cameron (born August 16, 1954) 22 |
23 | Science fiction 24 | Trailer 25 |
26 | 27 | -------------------------------------------------------------------------------- /tests/other/no-resource-about-typeof-5-1.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Testing @typeof and @about=[] 4 | 5 | 6 |
Alex Milowski
7 |

When the @about resolves to nothing, the typed resource should be a blank node.

8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/other/no-resource-about-typeof-5-2.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Testing @typeof and @about=[] 4 | 5 | 6 |
7 | Alex Milowski 8 |
9 |

When the @about resolves to nothing, the typed resource should be a blank node.

10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/other/no-resource-href-11.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Testing @resource=[] 4 | 5 | 6 | The Foo Document 7 |

When the @resource resolves to nothing, the href resource should be used.

8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/other/no-resource-href-6.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Testing @resource=[] 4 | 5 | 6 | The Foo Document 7 |

When the @resource resolves to nothing, the href resource should be used.

8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/other/origin.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Subject/Type Origins 6 | 7 | 8 | 9 |
10 | v1 11 |
12 |
13 | v2 14 |
15 |
16 | v3 17 |
18 |
19 | v4 20 |
21 |
22 | v5 23 |
24 | 25 | -------------------------------------------------------------------------------- /tests/other/play-issue-10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | RDFa 1.1 Primer. 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/other/reattach.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Tests RDFa.attach(document,true) 4 | 5 | 15 | 16 | 17 |
18 | Alex Milowski 19 |
20 | 21 | -------------------------------------------------------------------------------- /tests/other/relative-prefix.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Relative Prefix Test 6 | 7 | 8 | 9 | bar 10 | 11 | -------------------------------------------------------------------------------- /tests/other/subject-1.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Subject Property Assignment 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 |
Test Table
foo
14 |
15 | 16 | -------------------------------------------------------------------------------- /tests/other/subject-origin.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Subject Origin 6 | 7 | 8 | 9 |
10 |

one

11 |

two

12 |

three

13 |
14 | 15 | -------------------------------------------------------------------------------- /tests/other/turtle-parser.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Turtle Parser 6 | 7 | 8 | 9 | 24 | 25 | 26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /tests/other/typed-property.xhtml: -------------------------------------------------------------------------------- 1 | 2 | Typed Property 3 | 4 | 5 |

6 | Fizzbit 7 |

8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/other/uri-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | URIREsolver 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/other/vocab-typeof.xhtml: -------------------------------------------------------------------------------- 1 | 2 | vocab/typeof test 3 | 4 |
5 |
6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/server/lib/javax.servlet.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/lib/javax.servlet.jar -------------------------------------------------------------------------------- /tests/server/lib/not-yet-commons-ssl-0.3.12.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/lib/not-yet-commons-ssl-0.3.12.jar -------------------------------------------------------------------------------- /tests/server/lib/org.eclipse.jetty.ajp.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/lib/org.eclipse.jetty.ajp.jar -------------------------------------------------------------------------------- /tests/server/lib/org.eclipse.jetty.continuation.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/lib/org.eclipse.jetty.continuation.jar -------------------------------------------------------------------------------- /tests/server/lib/org.eclipse.jetty.http.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/lib/org.eclipse.jetty.http.jar -------------------------------------------------------------------------------- /tests/server/lib/org.eclipse.jetty.io.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/lib/org.eclipse.jetty.io.jar -------------------------------------------------------------------------------- /tests/server/lib/org.eclipse.jetty.server.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/lib/org.eclipse.jetty.server.jar -------------------------------------------------------------------------------- /tests/server/lib/org.eclipse.jetty.util.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/lib/org.eclipse.jetty.util.jar -------------------------------------------------------------------------------- /tests/server/lib/org.restlet.ext.jetty.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/lib/org.restlet.ext.jetty.jar -------------------------------------------------------------------------------- /tests/server/lib/org.restlet.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/lib/org.restlet.jar -------------------------------------------------------------------------------- /tests/server/server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | d=`dirname $0` 3 | java -jar $d/xproclet-server.jar $* 4 | -------------------------------------------------------------------------------- /tests/server/xproclet-server.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/server/xproclet-server.jar -------------------------------------------------------------------------------- /tests/sparql-service/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Builds, tests, and runs the project sparql-service. 12 | 13 | 74 | 75 | -------------------------------------------------------------------------------- /tests/sparql-service/lib/commons-codec-1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/commons-codec-1.6.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/httpclient-4.2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/httpclient-4.2.3.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/httpcore-4.2.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/httpcore-4.2.2.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/jcl-over-slf4j-1.6.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/jcl-over-slf4j-1.6.4.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/jena-arq-2.10.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/jena-arq-2.10.1.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/jena-core-2.10.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/jena-core-2.10.1.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/jena-iri-0.9.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/jena-iri-0.9.6.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/jena-tdb-0.10.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/jena-tdb-0.10.1.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/log4j-1.2.16.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/log4j-1.2.16.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/org.restlet.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/org.restlet.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/slf4j-api-1.6.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/slf4j-api-1.6.4.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/slf4j-log4j12-1.6.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/slf4j-log4j12-1.6.4.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/xercesImpl-2.11.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/xercesImpl-2.11.0.jar -------------------------------------------------------------------------------- /tests/sparql-service/lib/xml-apis-1.4.01.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/sparql-service/lib/xml-apis-1.4.01.jar -------------------------------------------------------------------------------- /tests/sparql-service/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=3fc8d9a6 2 | build.xml.script.CRC32=8ce2323d 3 | build.xml.stylesheet.CRC32=28e38971@1.56.1.46 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=3fc8d9a6 7 | nbproject/build-impl.xml.script.CRC32=654caae2 8 | nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.56.1.46 9 | -------------------------------------------------------------------------------- /tests/sparql-service/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | annotation.processing.enabled=true 2 | annotation.processing.enabled.in.editor=false 3 | annotation.processing.processors.list= 4 | annotation.processing.run.all.processors=true 5 | annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output 6 | application.title=sparql-service 7 | application.vendor=alex 8 | build.classes.dir=${build.dir}/classes 9 | build.classes.excludes=**/*.java,**/*.form 10 | # This directory is removed when the project is cleaned: 11 | build.dir=build 12 | build.generated.dir=${build.dir}/generated 13 | build.generated.sources.dir=${build.dir}/generated-sources 14 | # Only compile against the classpath explicitly listed here: 15 | build.sysclasspath=ignore 16 | build.test.classes.dir=${build.dir}/test/classes 17 | build.test.results.dir=${build.dir}/test/results 18 | # Uncomment to specify the preferred debugger connection transport: 19 | #debug.transport=dt_socket 20 | debug.classpath=\ 21 | ${run.classpath} 22 | debug.test.classpath=\ 23 | ${run.test.classpath} 24 | # This directory is removed when the project is cleaned: 25 | dist.dir=dist 26 | dist.jar=${dist.dir}/sparql-service.jar 27 | dist.javadoc.dir=${dist.dir}/javadoc 28 | endorsed.classpath= 29 | excludes= 30 | file.reference.jena-arq-2.10.1.jar=lib/jena-arq-2.10.1.jar 31 | file.reference.jena-core-2.10.1.jar=lib/jena-core-2.10.1.jar 32 | file.reference.org.restlet.jar=lib/org.restlet.jar 33 | includes=** 34 | jar.compress=false 35 | javac.classpath=\ 36 | ${file.reference.org.restlet.jar}:\ 37 | ${file.reference.jena-core-2.10.1.jar}:\ 38 | ${file.reference.jena-arq-2.10.1.jar} 39 | # Space-separated list of extra javac options 40 | javac.compilerargs= 41 | javac.deprecation=false 42 | javac.processorpath=\ 43 | ${javac.classpath} 44 | javac.source=1.7 45 | javac.target=1.7 46 | javac.test.classpath=\ 47 | ${javac.classpath}:\ 48 | ${build.classes.dir} 49 | javac.test.processorpath=\ 50 | ${javac.test.classpath} 51 | javadoc.additionalparam= 52 | javadoc.author=false 53 | javadoc.encoding=${source.encoding} 54 | javadoc.noindex=false 55 | javadoc.nonavbar=false 56 | javadoc.notree=false 57 | javadoc.private=false 58 | javadoc.splitindex=true 59 | javadoc.use=true 60 | javadoc.version=false 61 | javadoc.windowtitle= 62 | meta.inf.dir=${src.dir}/META-INF 63 | mkdist.disabled=true 64 | platform.active=default_platform 65 | run.classpath=\ 66 | ${javac.classpath}:\ 67 | ${build.classes.dir} 68 | # Space-separated list of JVM arguments used when running the project. 69 | # You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. 70 | # To set system properties for unit tests define test-sys-prop.name=value: 71 | run.jvmargs= 72 | run.test.classpath=\ 73 | ${javac.test.classpath}:\ 74 | ${build.test.classes.dir} 75 | source.encoding=UTF-8 76 | src.dir=src 77 | test.src.dir=test 78 | -------------------------------------------------------------------------------- /tests/sparql-service/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.java.j2seproject 4 | 5 | 6 | sparql-service 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/sparql-service/src/com/milowski/sparql/NewContextResource.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this template, choose Tools | Templates 3 | * and open the template in the editor. 4 | */ 5 | package com.milowski.sparql; 6 | 7 | import com.hp.hpl.jena.query.Dataset; 8 | import com.hp.hpl.jena.query.DatasetFactory; 9 | import java.io.StringReader; 10 | import java.io.StringWriter; 11 | import java.util.Map; 12 | import java.util.TreeMap; 13 | import java.util.logging.Level; 14 | import org.apache.jena.riot.Lang; 15 | import org.apache.jena.riot.RDFDataMgr; 16 | import org.apache.jena.riot.RDFFormat; 17 | import org.apache.jena.riot.RDFWriterRegistry; 18 | import org.apache.jena.riot.WriterDatasetRIOT; 19 | import org.apache.jena.riot.WriterDatasetRIOTFactory; 20 | import org.apache.jena.riot.writer.NQuadsWriter; 21 | import org.restlet.data.MediaType; 22 | import org.restlet.data.Status; 23 | import org.restlet.representation.Representation; 24 | import org.restlet.representation.StringRepresentation; 25 | import org.restlet.resource.ServerResource; 26 | 27 | /** 28 | * 29 | * @author alex 30 | */ 31 | public class NewContextResource extends ServerResource { 32 | 33 | static String escape(String v) { 34 | String parts [] = v.split("(?<=&<)|(?=&<)"); 35 | StringBuilder sb = new StringBuilder(); 36 | for (int i=0; i datasets = (Map)getContext().getAttributes().get("datasets"); 49 | if (datasets==null) { 50 | datasets = new TreeMap(); 51 | getContext().getAttributes().put("datasets",datasets); 52 | } 53 | try { 54 | String turtle = entity.getText(); 55 | Dataset data = DatasetFactory.createMem(); 56 | if (turtle!=null) { 57 | getContext().getLogger().info(turtle); 58 | RDFDataMgr.read(data, new StringReader(turtle), null,Lang.TURTLE); 59 | } 60 | StringWriter out = new StringWriter(); 61 | if (RDFWriterRegistry.getWriterDatasetFactory(RDFFormat.TURTLE)==null) { 62 | WriterDatasetRIOTFactory factory = new WriterDatasetRIOTFactory() { 63 | public WriterDatasetRIOT create(RDFFormat format) { 64 | return new NQuadsWriter(); 65 | } 66 | }; 67 | RDFWriterRegistry.register(RDFFormat.TURTLE, factory); 68 | } 69 | RDFDataMgr.write(out, data, RDFFormat.TURTLE); 70 | getLogger().info("Parsed:\n"+out.toString()); 71 | String id = System.currentTimeMillis()+"-"+((int)(Math.random()*10000)); 72 | datasets.put(id,data); 73 | getResponse().setStatus(Status.SUCCESS_OK); 74 | return new StringRepresentation("", MediaType.APPLICATION_XML); 75 | } catch (org.apache.jena.riot.RiotException ex) { 76 | getLogger().log(Level.SEVERE,"Cannot parse turtle: "+ex.toString()); 77 | getResponse().setStatus(Status.CLIENT_ERROR_BAD_REQUEST); 78 | return new StringRepresentation(""+escape(ex.toString())+"", MediaType.APPLICATION_XML); 79 | } catch (Exception ex) { 80 | getLogger().log(Level.SEVERE,"Cannot parse incoming turtle.",ex); 81 | getResponse().setStatus(Status.CLIENT_ERROR_EXPECTATION_FAILED); 82 | return new StringRepresentation("", MediaType.APPLICATION_XML); 83 | } 84 | } 85 | 86 | } 87 | -------------------------------------------------------------------------------- /tests/sparql-service/src/com/milowski/sparql/QueryContextResource.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this template, choose Tools | Templates 3 | * and open the template in the editor. 4 | */ 5 | package com.milowski.sparql; 6 | 7 | import com.hp.hpl.jena.query.Dataset; 8 | import com.hp.hpl.jena.query.Query; 9 | import com.hp.hpl.jena.query.QueryExecution; 10 | import com.hp.hpl.jena.query.QueryExecutionFactory; 11 | import com.hp.hpl.jena.query.QueryFactory; 12 | import java.util.Map; 13 | import org.restlet.data.MediaType; 14 | import org.restlet.data.Status; 15 | import org.restlet.representation.Representation; 16 | import org.restlet.representation.StringRepresentation; 17 | import org.restlet.resource.ServerResource; 18 | 19 | /** 20 | * 21 | * @author alex 22 | */ 23 | public class QueryContextResource extends ServerResource { 24 | 25 | public Representation post(Representation entity) { 26 | String id = getRequest().getAttributes().get("id").toString(); 27 | getLogger().info("Query on "+id); 28 | Map datasets = (Map)getContext().getAttributes().get("datasets"); 29 | if (datasets==null) { 30 | getResponse().setStatus(Status.CLIENT_ERROR_NOT_FOUND); 31 | return null; 32 | } 33 | Dataset data = datasets.remove(id); 34 | if (data==null) { 35 | getResponse().setStatus(Status.CLIENT_ERROR_NOT_FOUND); 36 | return null; 37 | } 38 | 39 | try { 40 | String queryString = entity.getText(); 41 | getLogger().info("query:\n"+queryString); 42 | Query query = QueryFactory.create(queryString) ; 43 | QueryExecution qexec = QueryExecutionFactory.create(query, data) ; 44 | boolean result = qexec.execAsk() ; 45 | qexec.close() ; 46 | getResponse().setStatus(Status.SUCCESS_OK); 47 | return new StringRepresentation(""+(result ? "true" : "false")+"", MediaType.APPLICATION_XML); 48 | } catch (Exception ex) { 49 | getResponse().setStatus(Status.CLIENT_ERROR_BAD_REQUEST); 50 | return new StringRepresentation(""+NewContextResource.escape(ex.toString())+"", MediaType.APPLICATION_XML); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /tests/sparql-service/src/com/milowski/sparql/ServiceApplication.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this template, choose Tools | Templates 3 | * and open the template in the editor. 4 | */ 5 | package com.milowski.sparql; 6 | 7 | import org.restlet.Application; 8 | import org.restlet.Restlet; 9 | import org.restlet.routing.Router; 10 | 11 | /** 12 | * 13 | * @author alex 14 | */ 15 | public class ServiceApplication extends Application { 16 | 17 | public Restlet createInboundRoot() { 18 | Router router = new Router(getContext()); 19 | router.attach("/new",NewContextResource.class); 20 | return router; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /tests/turtle/HYPHEN_MINUS_in_localName.nt: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/HYPHEN_MINUS_in_localName.ttl: -------------------------------------------------------------------------------- 1 | @prefix p: . 2 | p:s- . 3 | -------------------------------------------------------------------------------- /tests/turtle/IRIREF_datatype.nt: -------------------------------------------------------------------------------- 1 | "1"^^ . 2 | -------------------------------------------------------------------------------- /tests/turtle/IRIREF_datatype.ttl: -------------------------------------------------------------------------------- 1 | "1"^^ . 2 | -------------------------------------------------------------------------------- /tests/turtle/IRI_spo.nt: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/IRI_subject.ttl: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/IRI_with_all_punctuation.nt: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/IRI_with_all_punctuation.ttl: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/IRI_with_eight_digit_numeric_escape.ttl: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/IRI_with_four_digit_numeric_escape.ttl: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL1.nt: -------------------------------------------------------------------------------- 1 | "x" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL1.ttl: -------------------------------------------------------------------------------- 1 | 'x' . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL1_all_controls.nt: -------------------------------------------------------------------------------- 1 | "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\t\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL1_all_controls.ttl: -------------------------------------------------------------------------------- 1 | ' ' . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL1_all_punctuation.nt: -------------------------------------------------------------------------------- 1 | " !\"#$%&():;<=>?@[]^_`{|}~" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL1_all_punctuation.ttl: -------------------------------------------------------------------------------- 1 | ' !"#$%&():;<=>?@[]^_`{|}~' . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL1_ascii_boundaries.nt: -------------------------------------------------------------------------------- 1 | "\u0000\t\u000B\u000C\u000E&([]\u007F" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL1_ascii_boundaries.ttl: -------------------------------------------------------------------------------- 1 | ' &([]' . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL1_with_UTF8_boundaries.ttl: -------------------------------------------------------------------------------- 1 | '€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽' . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL2.ttl: -------------------------------------------------------------------------------- 1 | "x" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL2_ascii_boundaries.nt: -------------------------------------------------------------------------------- 1 | "\u0000\t\u000B\u000C\u000E!#[]\u007F" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL2_ascii_boundaries.ttl: -------------------------------------------------------------------------------- 1 | " !#[]" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL2_with_UTF8_boundaries.ttl: -------------------------------------------------------------------------------- 1 | "€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG1.ttl: -------------------------------------------------------------------------------- 1 | '''x''' . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG1_ascii_boundaries.nt: -------------------------------------------------------------------------------- 1 | "\u0000&([]\u007F" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG1_ascii_boundaries.ttl: -------------------------------------------------------------------------------- 1 | '&([]' . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG1_with_1_squote.nt: -------------------------------------------------------------------------------- 1 | "x'y" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG1_with_1_squote.ttl: -------------------------------------------------------------------------------- 1 | '''x'y''' . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG1_with_2_squotes.nt: -------------------------------------------------------------------------------- 1 | "x''y" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG1_with_2_squotes.ttl: -------------------------------------------------------------------------------- 1 | '''x''y''' . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG1_with_UTF8_boundaries.ttl: -------------------------------------------------------------------------------- 1 | '''€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽''' . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG2.ttl: -------------------------------------------------------------------------------- 1 | """x""" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG2_ascii_boundaries.nt: -------------------------------------------------------------------------------- 1 | "\u0000!#[]\u007F" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG2_ascii_boundaries.ttl: -------------------------------------------------------------------------------- 1 | "!#[]" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG2_with_1_squote.nt: -------------------------------------------------------------------------------- 1 | "x\"y" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG2_with_1_squote.ttl: -------------------------------------------------------------------------------- 1 | """x"y""" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG2_with_2_squotes.nt: -------------------------------------------------------------------------------- 1 | "x\"\"y" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG2_with_2_squotes.ttl: -------------------------------------------------------------------------------- 1 | """x""y""" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG2_with_REVERSE_SOLIDUS.nt: -------------------------------------------------------------------------------- 1 | "test-\\" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG2_with_REVERSE_SOLIDUS.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | 3 | :s :p1 """test-\\""" . 4 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_LONG2_with_UTF8_boundaries.ttl: -------------------------------------------------------------------------------- 1 | """€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽""" . 2 | -------------------------------------------------------------------------------- /tests/turtle/LITERAL_with_UTF8_boundaries.nt: -------------------------------------------------------------------------------- 1 | "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" . 2 | -------------------------------------------------------------------------------- /tests/turtle/SPARQL_style_base.ttl: -------------------------------------------------------------------------------- 1 | BASE 2 | . 3 | -------------------------------------------------------------------------------- /tests/turtle/SPARQL_style_prefix.ttl: -------------------------------------------------------------------------------- 1 | PREFIX p: 2 | p:s . 3 | -------------------------------------------------------------------------------- /tests/turtle/anonymous_blank_node_object.ttl: -------------------------------------------------------------------------------- 1 | [] . 2 | -------------------------------------------------------------------------------- /tests/turtle/anonymous_blank_node_subject.ttl: -------------------------------------------------------------------------------- 1 | [] . 2 | -------------------------------------------------------------------------------- /tests/turtle/bareword_a_predicate.nt: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/bareword_a_predicate.ttl: -------------------------------------------------------------------------------- 1 | a . 2 | -------------------------------------------------------------------------------- /tests/turtle/bareword_decimal.nt: -------------------------------------------------------------------------------- 1 | "1.0"^^ . 2 | -------------------------------------------------------------------------------- /tests/turtle/bareword_decimal.ttl: -------------------------------------------------------------------------------- 1 | 1.0 . 2 | -------------------------------------------------------------------------------- /tests/turtle/bareword_double.nt: -------------------------------------------------------------------------------- 1 | "1E0"^^ . 2 | -------------------------------------------------------------------------------- /tests/turtle/bareword_double.ttl: -------------------------------------------------------------------------------- 1 | 1E0 . 2 | -------------------------------------------------------------------------------- /tests/turtle/bareword_integer.ttl: -------------------------------------------------------------------------------- 1 | 1 . 2 | -------------------------------------------------------------------------------- /tests/turtle/blankNodePropertyList_as_object.nt: -------------------------------------------------------------------------------- 1 | _:b1 . 2 | _:b1 . 3 | -------------------------------------------------------------------------------- /tests/turtle/blankNodePropertyList_as_object.ttl: -------------------------------------------------------------------------------- 1 | [ ] . 2 | -------------------------------------------------------------------------------- /tests/turtle/blankNodePropertyList_as_subject.nt: -------------------------------------------------------------------------------- 1 | _:b1 . 2 | _:b1 . 3 | -------------------------------------------------------------------------------- /tests/turtle/blankNodePropertyList_as_subject.ttl: -------------------------------------------------------------------------------- 1 | [ ] . 2 | -------------------------------------------------------------------------------- /tests/turtle/blankNodePropertyList_containing_collection.nt: -------------------------------------------------------------------------------- 1 | _:b1 _:el1 . 2 | _:el1 "1"^^ . 3 | _:el1 . 4 | -------------------------------------------------------------------------------- /tests/turtle/blankNodePropertyList_containing_collection.ttl: -------------------------------------------------------------------------------- 1 | [ (1) ] . 2 | -------------------------------------------------------------------------------- /tests/turtle/blankNodePropertyList_with_multiple_triples.nt: -------------------------------------------------------------------------------- 1 | _:b1 . 2 | _:b1 . 3 | _:b1 . 4 | -------------------------------------------------------------------------------- /tests/turtle/blankNodePropertyList_with_multiple_triples.ttl: -------------------------------------------------------------------------------- 1 | [ ; ] . 2 | -------------------------------------------------------------------------------- /tests/turtle/collection_object.nt: -------------------------------------------------------------------------------- 1 | _:el1 . 2 | _:el1 "1"^^ . 3 | _:el1 . 4 | -------------------------------------------------------------------------------- /tests/turtle/collection_object.ttl: -------------------------------------------------------------------------------- 1 | (1) . 2 | -------------------------------------------------------------------------------- /tests/turtle/collection_subject.nt: -------------------------------------------------------------------------------- 1 | _:el1 "1"^^ . 2 | _:el1 . 3 | _:el1 . 4 | -------------------------------------------------------------------------------- /tests/turtle/collection_subject.ttl: -------------------------------------------------------------------------------- 1 | (1) . 2 | -------------------------------------------------------------------------------- /tests/turtle/comment_following_PNAME_NS.nt: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/comment_following_PNAME_NS.ttl: -------------------------------------------------------------------------------- 1 | @prefix p: . 2 | p:#comment 3 | . 4 | -------------------------------------------------------------------------------- /tests/turtle/comment_following_localName.ttl: -------------------------------------------------------------------------------- 1 | @prefix p: . 2 | p:o#comment 3 | . 4 | -------------------------------------------------------------------------------- /tests/turtle/default_namespace_IRI.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s . 3 | -------------------------------------------------------------------------------- /tests/turtle/double_lower_case_e.nt: -------------------------------------------------------------------------------- 1 | "1e0"^^ . 2 | -------------------------------------------------------------------------------- /tests/turtle/double_lower_case_e.ttl: -------------------------------------------------------------------------------- 1 | 1e0 . 2 | -------------------------------------------------------------------------------- /tests/turtle/earl-prolog.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdf: . 2 | @prefix rdfs: . 3 | @prefix dc: . 4 | @prefix doap: . 5 | @prefix foaf: . 6 | @prefix earl: . 7 | @prefix xsd: . 8 | 9 | <> foaf:primaryTopic ; 10 | dc:issued "{dateTime}"^^xsd:dateTime; 11 | foaf:maker . 12 | 13 | a foaf:Person, earl:Assertor; 14 | foaf:name "Alex Milowski"; 15 | foaf:title "Implementor"; 16 | foaf:homepage . 17 | 18 | a earl:Software, earl:TestSubject, doap:Project; 19 | doap:name "Green Turtle"; 20 | doap:homepage ; 21 | doap:license ; 22 | doap:programming-language "Javascript"; 23 | doap:implements ; 24 | doap:developer ; 25 | doap:maintainer ; 26 | doap:documenter ; 27 | doap:maker ; 28 | dc:title "Green Turtle" ; 29 | dc:description "Green Turtle support for parsing and load Turtle representations into graphs."@en ; 30 | dc:date "{date}"^^xsd:date ; 31 | dc:creator . 32 | 33 | -------------------------------------------------------------------------------- /tests/turtle/empty_collection.nt: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/empty_collection.ttl: -------------------------------------------------------------------------------- 1 | () . 2 | -------------------------------------------------------------------------------- /tests/turtle/first.nt: -------------------------------------------------------------------------------- 1 | _:outerEl1 . 2 | _:outerEl1 _:innerEl1 . 3 | _:innerEl1 "1"^^ . 4 | _:innerEl1 . 5 | _:outerEl1 _:outerEl2 . 6 | _:outerEl2 "2"^^ . 7 | _:outerEl2 . 8 | -------------------------------------------------------------------------------- /tests/turtle/first.ttl: -------------------------------------------------------------------------------- 1 | ((1) 2) . 2 | -------------------------------------------------------------------------------- /tests/turtle/generate-download.js: -------------------------------------------------------------------------------- 1 | window.addEventListener("load",function() { 2 | var output = document.getElementById("script"); 3 | function download(files) { 4 | for (var i=0; i "+file+"\n")); 8 | } 9 | } 10 | var child = document.head.firstElementChild; 11 | while (child && child.localName!="link") { 12 | child = child.nextElementSibling; 13 | } 14 | var manifestURI = child.href; 15 | console.log("Loading manifest from: "+manifestURI); 16 | var requester = new XMLHttpRequest(); 17 | requester.open("GET",manifestURI,false); 18 | requester.send(null); 19 | var turtle = document.data.implementation.parse(requester.responseText,"text/turtle",{ baseURI: "http://www.w3.org/2013/TurtleTests/manifest.ttl"}); 20 | document.data.merge(turtle.subjects,{prefixes: turtle.prefixes, mergeBlankNodes: true}); 21 | var manifestSubject = document.data.getSubjects("rdf:type","mf:Manifest")[0]; 22 | var currentSubject = document.data.getValues(manifestSubject,"mf:entries")[0]; 23 | while (currentSubject!="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil") { 24 | var entrySubject = document.data.getValues(currentSubject,"rdf:first")[0]; 25 | download(document.data.getValues(entrySubject,"mf:action")); 26 | download(document.data.getValues(entrySubject,"mf:result")); 27 | currentSubject = document.data.getValues(currentSubject,"rdf:rest")[0]; 28 | } 29 | },false); -------------------------------------------------------------------------------- /tests/turtle/generate-download.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Test Suite Download 6 | 7 | 8 | 9 | 10 | 11 |
12 |     
13 | 


--------------------------------------------------------------------------------
/tests/turtle/index.xhtml:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 3 | 
 4 |     
 5 |        Turtle Test Suite
 6 |        
 7 |        
 8 |        
 9 |        
10 |        
11 |        
12 |        
13 |     
14 |     
15 |        

16 |

Tests

17 | 18 | 19 |
TestTypeParsedOutcomeDetails
20 |

EARL

21 |
12 | 13 |
14 |     
15 | 


--------------------------------------------------------------------------------
/tests/turtle/percent_escaped_localName.nt:
--------------------------------------------------------------------------------
1 |    .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/percent_escaped_localName.ttl:
--------------------------------------------------------------------------------
1 | @prefix p: .
2 | p:%25   .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/positive_numeric.nt:
--------------------------------------------------------------------------------
1 |   "+1"^^ .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/positive_numeric.ttl:
--------------------------------------------------------------------------------
1 |   +1 .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/predicateObjectList_with_two_objectLists.nt:
--------------------------------------------------------------------------------
1 |    .
2 |    .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/predicateObjectList_with_two_objectLists.ttl:
--------------------------------------------------------------------------------
1 |   ;   .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/prefix_only_IRI.ttl:
--------------------------------------------------------------------------------
1 | @prefix p: .
2 | p:   .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/prefix_reassigned_and_used.nt:
--------------------------------------------------------------------------------
1 |    .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/prefix_reassigned_and_used.ttl:
--------------------------------------------------------------------------------
1 | @prefix p: .
2 | @prefix p: .
3 | p:s   .
4 | 


--------------------------------------------------------------------------------
/tests/turtle/prefix_with_PN_CHARS_BASE_character_boundaries.ttl:
--------------------------------------------------------------------------------
1 | @prefix AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽:  .
2 |   AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽:o .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/prefix_with_non_leading_extras.ttl:
--------------------------------------------------------------------------------
1 | @prefix a·̀ͯ‿.⁀: .
2 | a·̀ͯ‿.⁀:s   .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/prefixed_IRI_object.ttl:
--------------------------------------------------------------------------------
1 | @prefix p: .
2 |   p:o .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/prefixed_IRI_predicate.ttl:
--------------------------------------------------------------------------------
1 | @prefix p: .
2 |  p:p  .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/prefixed_name_datatype.ttl:
--------------------------------------------------------------------------------
1 | @prefix xsd:  .
2 |   "1"^^xsd:integer .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/repeated_semis_at_end.ttl:
--------------------------------------------------------------------------------
1 |   ;;   .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/repeated_semis_not_at_end.nt:
--------------------------------------------------------------------------------
1 |    .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/repeated_semis_not_at_end.ttl:
--------------------------------------------------------------------------------
1 |   ;; .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/reserved_escaped_localName.nt:
--------------------------------------------------------------------------------
1 |    .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/reserved_escaped_localName.ttl:
--------------------------------------------------------------------------------
1 | @prefix p: .
2 | p:\_\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\%00   .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/sole_blankNodePropertyList.ttl:
--------------------------------------------------------------------------------
1 | [   ] .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/test.css:
--------------------------------------------------------------------------------
 1 | .pass {
 2 |    color: green;
 3 | }
 4 | 
 5 | .fail {
 6 |    color: red;
 7 | }
 8 | 
 9 | tr {
10 |    vertical-align: top;
11 | }
12 | 
13 | tr td {
14 |    border-top: 1px solid rgb(200,200,200);
15 | }


--------------------------------------------------------------------------------
/tests/turtle/turtle-eval-bad-01.ttl:
--------------------------------------------------------------------------------
1 | # Bad IRI : good escape, bad charcater
2 |    .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-eval-bad-02.ttl:
--------------------------------------------------------------------------------
1 | # Bad IRI : hex 3C is <
2 |    .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-eval-bad-03.ttl:
--------------------------------------------------------------------------------
1 | # Bad IRI : hex 3E is >
2 |    .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-eval-bad-04.ttl:
--------------------------------------------------------------------------------
1 | # Bad IRI
2 |    .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-eval-struct-01.nt:
--------------------------------------------------------------------------------
1 |    .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-eval-struct-01.ttl:
--------------------------------------------------------------------------------
1 |    .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-eval-struct-02.nt:
--------------------------------------------------------------------------------
1 |    .
2 |    .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-eval-struct-02.ttl:
--------------------------------------------------------------------------------
1 |  
2 |         ;
3 |         ; 
4 |       .
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-01.nt:
--------------------------------------------------------------------------------
1 | _:genid1   .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-01.ttl:
--------------------------------------------------------------------------------
1 | @prefix : <#> .
2 | [] :x :y .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-02.nt:
--------------------------------------------------------------------------------
1 |    .
2 |    .
3 |    .
4 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-02.ttl:
--------------------------------------------------------------------------------
1 | # Test @prefix and qnames
2 | @prefix :   .
3 | @prefix a:  .
4 | @prefix b:  .
5 | :a :b :c .
6 | a:a a:b a:c .
7 | :a a:a b:a .
8 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-03.nt:
--------------------------------------------------------------------------------
1 |    .
2 |    .
3 |    .
4 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-03.ttl:
--------------------------------------------------------------------------------
1 | # Test , operator
2 | @prefix :  .
3 | :a :b :c,
4 |       :d,
5 |       :e .
6 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-04.nt:
--------------------------------------------------------------------------------
1 |    .
2 |    .
3 |    .
4 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-04.ttl:
--------------------------------------------------------------------------------
1 | # Test ; operator
2 | @prefix :  .
3 | :a :b :c ;
4 |    :d :e ;
5 |    :f :g .
6 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-05.nt:
--------------------------------------------------------------------------------
1 | _:genid1   .
2 |   _:genid2 .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-05.ttl:
--------------------------------------------------------------------------------
1 | # Test empty [] operator; not allowed as predicate
2 | @prefix :  .
3 | [] :a :b .
4 | :c :d [] .
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-06.nt:
--------------------------------------------------------------------------------
1 | _:genid1   .
2 | _:genid1   .
3 | _:genid2   .
4 |   _:genid2 .
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-06.ttl:
--------------------------------------------------------------------------------
1 | # Test non empty [] operator; not allowed as predicate
2 | @prefix :  .
3 | [ :a :b ] :c :d .
4 | :e :f [ :g :h ] .
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-07.nt:
--------------------------------------------------------------------------------
1 |    .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-07.ttl:
--------------------------------------------------------------------------------
1 | # 'a' only allowed as a predicate
2 | @prefix :  .
3 | :a a :b .
4 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-08.nt:
--------------------------------------------------------------------------------
1 | _:genid1  "banana" .
2 | _:genid1   .
3 | _:genid2  "apple" .
4 | _:genid2  _:genid1 .
5 |   _:genid2 .
6 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-08.ttl:
--------------------------------------------------------------------------------
1 | @prefix :  .
2 | :a :b ( "apple" "banana" ) .
3 | 
4 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-09.nt:
--------------------------------------------------------------------------------
1 |    .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-09.ttl:
--------------------------------------------------------------------------------
1 | @prefix :  .
2 | :a :b ( ) .
3 | 
4 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-10.nt:
--------------------------------------------------------------------------------
1 | _:hasParent   .
2 | _:genid1   .
3 | _:genid1  _:hasParent .
4 | _:genid1  "2"^^ .
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-10.ttl:
--------------------------------------------------------------------------------
 1 | # Test integer datatyped literals using an OWL cardinality constraint
 2 | @prefix owl:  .
 3 | 
 4 | # based on examples in the OWL Reference
 5 | 
 6 | _:hasParent a owl:ObjectProperty .
 7 | 
 8 | [] a owl:Restriction ;
 9 |   owl:onProperty _:hasParent ;
10 |   owl:maxCardinality 2 .
11 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-11.nt:
--------------------------------------------------------------------------------
1 |   "000000"^^ .
2 |   "0"^^ .
3 |   "000001"^^ .
4 |   "2"^^ .
5 |   "4"^^ .
6 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-11.ttl:
--------------------------------------------------------------------------------
1 |   000000 .
2 |   0 .
3 |   000001 .
4 |   2 .
5 |   4 .
6 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-12.nt:
--------------------------------------------------------------------------------
1 |   "a" .
2 |   "b" .
3 |   "c" .
4 |   "d" .
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-12.ttl:
--------------------------------------------------------------------------------
 1 | # Tests for - and _ in names, qnames
 2 | @prefix ex1:  .
 3 | @prefix ex-2:  .
 4 | @prefix ex3_:  .
 5 | @prefix ex4-:  .
 6 | 
 7 | ex1:foo-bar ex1:foo_bar "a" .
 8 | ex-2:foo-bar ex-2:foo_bar "b" .
 9 | ex3_:foo-bar ex3_:foo_bar "c" .
10 | ex4-:foo-bar ex4-:foo_bar "d" .
11 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-13.nt:
--------------------------------------------------------------------------------
1 |   "1" .
2 |   "2" .
3 |   "def" .
4 |   "678" .
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-13.ttl:
--------------------------------------------------------------------------------
 1 | # Tests for rdf:_ and other qnames starting with _
 2 | @prefix rdf:  .
 3 | @prefix ex:   .
 4 | @prefix :     .
 5 | 
 6 | ex:foo rdf:_1 "1" .
 7 | ex:foo rdf:_2 "2" .
 8 | ex:foo :_abc "def" .
 9 | ex:foo :_345 "678" .
10 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-14.nt:
--------------------------------------------------------------------------------
1 | _:genid1  _:genid2 .
2 |    .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-14.ttl:
--------------------------------------------------------------------------------
1 | # Test for : allowed
2 | @prefix :     .
3 | 
4 | [] : [] .
5 | 
6 | : : : .
7 | 
8 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-15.nt:
--------------------------------------------------------------------------------
1 |   "a long\n\tliteral\nwith\nnewlines" .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-15.ttl:
--------------------------------------------------------------------------------
1 | # Test long literal
2 | @prefix :   .
3 | :a :b """a long
4 | 	literal
5 | with
6 | newlines""" .
7 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-16.nt:
--------------------------------------------------------------------------------
1 |   "\nthis \ris a \U00012451long\t\nliteral\uABCD\n" .
2 |   "\tThis \uABCDis\r \U00012451another\n\none\n" .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-16.ttl:
--------------------------------------------------------------------------------
 1 | @prefix :  .
 2 | 
 3 | ## \U00015678 is a not a legal codepoint
 4 | ## :a :b """\nthis \ris a \U00015678long\t
 5 | ## literal\uABCD
 6 | ## """ .
 7 | ## 
 8 | ## :d :e """\tThis \uABCDis\r \U00015678another\n
 9 | ## one
10 | ## """ .
11 | 
12 | # \U00015678 is a not a legal codepoint
13 | # \U00012451 in Cuneiform numeric ban 3
14 | :a :b """\nthis \ris a \U00012451long\t
15 | literal\uABCD
16 | """ .
17 | 
18 | :d :e """\tThis \uABCDis\r \U00012451another\n
19 | one
20 | """ .
21 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-17.nt:
--------------------------------------------------------------------------------
1 |   "1.0"^^ .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-17.ttl:
--------------------------------------------------------------------------------
1 | @prefix :  .
2 | 
3 | :a :b  1.0 .
4 | 
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-18.nt:
--------------------------------------------------------------------------------
1 |   "" .
2 |   "" .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-18.ttl:
--------------------------------------------------------------------------------
1 | @prefix :  .
2 | 
3 | :a :b "" .
4 | 
5 | :c :d """""" .
6 | 
7 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-19.nt:
--------------------------------------------------------------------------------
1 |   "1.0"^^ .
2 |   "1"^^ .
3 |   "1.0e0"^^ .
4 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-19.ttl:
--------------------------------------------------------------------------------
1 | @prefix :  .
2 | :a :b 1.0 .
3 | :c :d 1 .
4 | :e :f 1.0e0 .
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-20.nt:
--------------------------------------------------------------------------------
1 |   "-1.0"^^ .
2 |   "-1"^^ .
3 |   "-1.0e0"^^ .
4 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-20.ttl:
--------------------------------------------------------------------------------
1 | @prefix :  .
2 | :a :b -1.0 .
3 | :c :d -1 .
4 | :e :f -1.0e0 .
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-21.nt:
--------------------------------------------------------------------------------
1 |   "John said: \"Hello World!\"" .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-21.ttl:
--------------------------------------------------------------------------------
1 | # Test long literal
2 | @prefix :   .
3 | :a :b """John said: "Hello World!\"""" .
4 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-22.nt:
--------------------------------------------------------------------------------
1 |   "true"^^ .
2 |   "false"^^ .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-22.ttl:
--------------------------------------------------------------------------------
1 | @prefix :  .
2 | :a :b true .
3 | :c :d false .
4 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-23.nt:
--------------------------------------------------------------------------------
1 |    .
2 |    .
3 |    .
4 |    .
5 |    .
6 |    .
7 |    .
8 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-23.ttl:
--------------------------------------------------------------------------------
 1 | # comment test
 2 | @prefix :  .
 3 | :a :b :c . # end of line comment
 4 | :d # ignore me
 5 |   :e # and me
 6 |       :f # and me
 7 |         .
 8 | :g :h #ignore me
 9 |      :i,  # and me
10 |      :j . # and me
11 | 
12 | :k :l :m ; #ignore me
13 |    :n :o ; # and me
14 |    :p :q . # and me
15 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-24.nt:
--------------------------------------------------------------------------------
1 |    .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-24.ttl:
--------------------------------------------------------------------------------
1 | # comment line with no final newline test
2 | @prefix :  .
3 | :a :b :c .
4 | #foo
5 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-25.nt:
--------------------------------------------------------------------------------
1 |    .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-25.ttl:
--------------------------------------------------------------------------------
1 | @prefix foo:   .
2 | @prefix foo:   .
3 | 
4 | foo:blah foo:blah foo:blah .
5 | 
6 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-26.nt:
--------------------------------------------------------------------------------
 1 |   "2.345"^^ .
 2 |   "1"^^ .
 3 |   "1.0"^^ .
 4 |   "1."^^ .
 5 |   "1.000000000"^^ .
 6 |   "2.3"^^ .
 7 |   "2.234000005"^^ .
 8 |   "2.2340000005"^^ .
 9 |   "2.23400000005"^^ .
10 |   "2.234000000005"^^ .
11 |   "2.2340000000005"^^ .
12 |   "2.23400000000005"^^ .
13 |   "2.234000000000005"^^ .
14 |   "2.2340000000000005"^^ .
15 |   "2.23400000000000005"^^ .
16 |   "2.234000000000000005"^^ .
17 |   "2.2340000000000000005"^^ .
18 |   "2.23400000000000000005"^^ .
19 |   "2.234000000000000000005"^^ .
20 |   "2.2340000000000000000005"^^ .
21 |   "2.23400000000000000000005"^^ .
22 |   "1.2345678901234567890123457890"^^ .
23 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-26.ttl:
--------------------------------------------------------------------------------
 1 |   "2.345"^^ .
 2 |   "1"^^ .
 3 |   "1.0"^^ .
 4 |   "1."^^ .
 5 |   "1.000000000"^^ .
 6 |   "2.3"^^ .
 7 |   "2.234000005"^^ .
 8 |   "2.2340000005"^^ .
 9 |   "2.23400000005"^^ .
10 |   "2.234000000005"^^ .
11 |   "2.2340000000005"^^ .
12 |   "2.23400000000005"^^ .
13 |   "2.234000000000005"^^ .
14 |   "2.2340000000000005"^^ .
15 |   "2.23400000000000005"^^ .
16 |   "2.234000000000000005"^^ .
17 |   "2.2340000000000000005"^^ .
18 |   "2.23400000000000000005"^^ .
19 |   "2.234000000000000000005"^^ .
20 |   "2.2340000000000000000005"^^ .
21 |   "2.23400000000000000000005"^^ .
22 |   "1.2345678901234567890123457890"^^ .
23 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-27.nt:
--------------------------------------------------------------------------------
1 |    .
2 |    .
3 |    .
4 |    .
5 |    .
6 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-subm-27.ttl:
--------------------------------------------------------------------------------
 1 | # In-scope base URI is  at this point
 2 |    .
 3 | @base  .
 4 | # In-scope base URI is http://example.org/ns/ at this point
 5 |    .
 6 | @base  .
 7 | # In-scope base URI is http://example.org/ns/foo/ at this point
 8 |    .
 9 | @prefix :  .
10 | :a4 :b4 :c4 .
11 | @prefix :  .
12 | :a5 :b5 :c5 .
13 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-syntax-bad-LITERAL2_with_langtag_and_datatype.ttl:
--------------------------------------------------------------------------------
1 |   "value"@en^^ .
2 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-syntax-bad-base-01.ttl:
--------------------------------------------------------------------------------
1 | # @base without URI.
2 | @base .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-syntax-bad-base-02.ttl:
--------------------------------------------------------------------------------
1 | # @base in wrong case.
2 | @BASE  .
3 | 


--------------------------------------------------------------------------------
/tests/turtle/turtle-syntax-bad-base-03.ttl:
--------------------------------------------------------------------------------
1 | # FULL STOP used after SPARQL BASE
2 | BASE  .
3 |  

. 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-blank-label-dot-end.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | _:b1. :p :o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-esc-01.ttl: -------------------------------------------------------------------------------- 1 | # Bad string escape 2 | "a\zb" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-esc-02.ttl: -------------------------------------------------------------------------------- 1 | # Bad string escape 2 | "\uWXYZ" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-esc-03.ttl: -------------------------------------------------------------------------------- 1 | # Bad string escape 2 | "\U0000WXYZ" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-esc-04.ttl: -------------------------------------------------------------------------------- 1 | # Bad string escape 2 | "\U0000WXYZ" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-kw-01.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s A :C . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-kw-02.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | a :p :o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-kw-03.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p a . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-kw-04.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | true :p :o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-kw-05.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s true :o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-lang-01.ttl: -------------------------------------------------------------------------------- 1 | # Bad lang tag 2 | "string"@1 . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-ln-dash-start.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p :-o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-ln-escape-start.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p :%2o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-ln-escape.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p :o%2 . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-missing-ns-dot-end.ttl: -------------------------------------------------------------------------------- 1 | valid:s valid:p invalid.:o . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-missing-ns-dot-start.ttl: -------------------------------------------------------------------------------- 1 | .undefined:s .undefined:p .undefined:o . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-01.ttl: -------------------------------------------------------------------------------- 1 | # {} fomulae not in Turtle 2 | @prefix : . 3 | 4 | { :a :q :c . } :p :z . 5 | 6 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-02.ttl: -------------------------------------------------------------------------------- 1 | # = is not Turtle 2 | @prefix : . 3 | 4 | :a = :b . 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-03.ttl: -------------------------------------------------------------------------------- 1 | # N3 paths 2 | @prefix : . 3 | @prefix ns: . 4 | 5 | :x. 6 | ns:p. 7 | ns:q :p :z . 8 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-04.ttl: -------------------------------------------------------------------------------- 1 | # N3 paths 2 | @prefix : . 3 | @prefix ns: . 4 | 5 | :x^ns:p :p :z . 6 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-05.ttl: -------------------------------------------------------------------------------- 1 | # N3 is...of 2 | @prefix : . 3 | 4 | :z is :p of :x . 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-06.ttl: -------------------------------------------------------------------------------- 1 | # = is not Turtle 2 | @prefix : . 3 | 4 | :a.:b.:c . 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-07.ttl: -------------------------------------------------------------------------------- 1 | # @keywords is not Turtle 2 | @keywords a . 3 | x a Item . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-08.ttl: -------------------------------------------------------------------------------- 1 | # @keywords is not Turtle 2 | @keywords a . 3 | x a Item . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-09.ttl: -------------------------------------------------------------------------------- 1 | # => is not Turtle 2 | @prefix : . 3 | :s => :o . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-10.ttl: -------------------------------------------------------------------------------- 1 | # <= is not Turtle 2 | @prefix : . 3 | :s <= :o . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-11.ttl: -------------------------------------------------------------------------------- 1 | # @forSome is not Turtle 2 | @prefix : . 3 | @forSome :x . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-12.ttl: -------------------------------------------------------------------------------- 1 | # @forAll is not Turtle 2 | @prefix : . 3 | @forAll :x . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-n3-extras-13.ttl: -------------------------------------------------------------------------------- 1 | # @keywords is not Turtle 2 | @keywords . 3 | x @a Item . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-ns-dot-end.ttl: -------------------------------------------------------------------------------- 1 | @prefix eg. : . 2 | eg.:s eg.:p eg.:o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-ns-dot-start.ttl: -------------------------------------------------------------------------------- 1 | @prefix .eg : . 2 | .eg:s .eg:p .eg:o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-num-01.ttl: -------------------------------------------------------------------------------- 1 | 123.abc . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-num-02.ttl: -------------------------------------------------------------------------------- 1 | 123e . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-num-03.ttl: -------------------------------------------------------------------------------- 1 | 123abc . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-num-04.ttl: -------------------------------------------------------------------------------- 1 | 0x123 . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-num-05.ttl: -------------------------------------------------------------------------------- 1 | +-1 . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-number-dot-in-anon.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | 3 | :s 4 | :p [ 5 | :p1 27. 6 | ] . 7 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-pname-01.ttl: -------------------------------------------------------------------------------- 1 | # ~ must be escaped. 2 | @prefix : . 3 | :a~b :p :o . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-pname-02.ttl: -------------------------------------------------------------------------------- 1 | # Bad %-sequence 2 | @prefix : . 3 | :a%2 :p :o . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-pname-03.ttl: -------------------------------------------------------------------------------- 1 | # No \u (x39 is "9") 2 | @prefix : . 3 | :a\u0039 :p :o . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-prefix-01.ttl: -------------------------------------------------------------------------------- 1 | # No prefix 2 | :s "x" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-prefix-02.ttl: -------------------------------------------------------------------------------- 1 | # No prefix 2 | @prefix rdf: . 3 | rdf:type :C . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-prefix-03.ttl: -------------------------------------------------------------------------------- 1 | # @prefix without URI. 2 | @prefix ex: . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-prefix-04.ttl: -------------------------------------------------------------------------------- 1 | # @prefix without prefix name . 2 | @prefix . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-prefix-05.ttl: -------------------------------------------------------------------------------- 1 | # @prefix without : 2 | @prefix x . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-string-01.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p "abc' . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-string-02.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p 'abc" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-string-03.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p '''abc' . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-string-04.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p """abc''' . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-string-05.ttl: -------------------------------------------------------------------------------- 1 | # Long literal with missing end 2 | @prefix : . 3 | :s :p """abc 4 | def 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-string-06.ttl: -------------------------------------------------------------------------------- 1 | # Long literal with 4" 2 | @prefix : . 3 | :s :p """abc""""@en . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-string-07.ttl: -------------------------------------------------------------------------------- 1 | # Long literal with 4' 2 | @prefix : . 3 | :s :p '''abc''''@en . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-01.ttl: -------------------------------------------------------------------------------- 1 | # Turtle is not TriG 2 | { } 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-02.ttl: -------------------------------------------------------------------------------- 1 | # Turtle is not N3 2 | = . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-03.ttl: -------------------------------------------------------------------------------- 1 | # Turtle is not NQuads 2 | . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-04.ttl: -------------------------------------------------------------------------------- 1 | # Turtle does not allow literals-as-subjects 2 | "hello" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-05.ttl: -------------------------------------------------------------------------------- 1 | # Turtle does not allow literals-as-predicates 2 | "hello" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-06.ttl: -------------------------------------------------------------------------------- 1 | # Turtle does not allow bnodes-as-predicates 2 | [] . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-07.ttl: -------------------------------------------------------------------------------- 1 | # Turtle does not allow bnodes-as-predicates 2 | _:p . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-08.ttl: -------------------------------------------------------------------------------- 1 | # No DOT 2 | 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-09.ttl: -------------------------------------------------------------------------------- 1 | # Too many DOT 2 | . . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-10.ttl: -------------------------------------------------------------------------------- 1 | # Too many DOT 2 | . . 3 | . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-11.ttl: -------------------------------------------------------------------------------- 1 | # Trailing ; 2 | ; 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-12.ttl: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-13.ttl: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-14.ttl: -------------------------------------------------------------------------------- 1 | # Literal as subject 2 | "abc" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-15.ttl: -------------------------------------------------------------------------------- 1 | # Literal as predicate 2 | "abc" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-16.ttl: -------------------------------------------------------------------------------- 1 | # BNode as predicate 2 | [] . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-struct-17.ttl: -------------------------------------------------------------------------------- 1 | # BNode as predicate 2 | _:a . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-uri-01.ttl: -------------------------------------------------------------------------------- 1 | # Bad IRI : space. 2 | . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-uri-02.ttl: -------------------------------------------------------------------------------- 1 | # Bad IRI : bad escape 2 | . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-uri-03.ttl: -------------------------------------------------------------------------------- 1 | # Bad IRI : bad escape 2 | . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-uri-04.ttl: -------------------------------------------------------------------------------- 1 | # Bad IRI : character escapes not allowed. 2 | . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bad-uri-05.ttl: -------------------------------------------------------------------------------- 1 | # Bad IRI : character escapes not allowed. 2 | . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-base-01.ttl: -------------------------------------------------------------------------------- 1 | @base . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-base-02.ttl: -------------------------------------------------------------------------------- 1 | BASE 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-base-03.ttl: -------------------------------------------------------------------------------- 1 | @base . 2 |

. 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-base-04.ttl: -------------------------------------------------------------------------------- 1 | base 2 |

. 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-blank-label.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | _:0b :p :o . # Starts with digit 3 | _:_b :p :o . # Starts with underscore 4 | _:b.0 :p :o . # Contains dot, ends with digit 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bnode-01.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | [] :p :o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bnode-02.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p [] . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bnode-03.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p [ :q :o ] . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bnode-04.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p [ :q1 :o1 ; :q2 :o2 ] . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bnode-05.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | [ :q1 :o1 ; :q2 :o2 ] :p :o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bnode-06.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | _:a :p :o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bnode-07.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p _:a . 3 | _:a :p :o . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bnode-08.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | [ :p :o ] . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bnode-09.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | [ :p :o1,:2 ] . 3 | :s :p :o . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-bnode-10.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | 3 | :s1 :p :o . 4 | [ :p1 :o1 ; :p2 :o2 ] . 5 | :s2 :p :o . 6 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-datatypes-01.ttl: -------------------------------------------------------------------------------- 1 | @prefix xsd: . 2 |

"123"^^xsd:byte . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-datatypes-02.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdf: . 2 | @prefix xsd: . 3 |

"123"^^xsd:string . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-file-01.ttl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tests/turtle/turtle-syntax-file-01.ttl -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-file-02.ttl: -------------------------------------------------------------------------------- 1 | #Empty file. 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-file-03.ttl: -------------------------------------------------------------------------------- 1 | #One comment, one empty line. 2 | 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-kw-01.ttl: -------------------------------------------------------------------------------- 1 |

true . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-kw-02.ttl: -------------------------------------------------------------------------------- 1 |

false . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-kw-03.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s a :C . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-lists-01.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p () . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-lists-02.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p (1 "2" :o) . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-lists-03.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | (1) :p (1) . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-lists-04.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | (()) :p (()) . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-lists-05.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | (1 2 (1 2)) :p (( "a") "b" :o) . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-ln-colons.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s:1 :p:1 :o:1 . 3 | :s::2 :p::2 :o::2 . 4 | :3:s :3:p :3 . 5 | ::s ::p ::o . 6 | ::s: ::p: ::o: . 7 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-ln-dots.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s.1 :p.1 :o.1 . 3 | :s..2 :p..2 :o..2. 4 | :3.s :3.p :3. 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-ns-dots.ttl: -------------------------------------------------------------------------------- 1 | @prefix e.g: . 2 | e.g:s e.g:p e.g:o . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-01.ttl: -------------------------------------------------------------------------------- 1 |

123 . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-02.ttl: -------------------------------------------------------------------------------- 1 |

-123 . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-03.ttl: -------------------------------------------------------------------------------- 1 |

+123 . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-04.ttl: -------------------------------------------------------------------------------- 1 | # This is a decimal. 2 |

123.0 . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-05.ttl: -------------------------------------------------------------------------------- 1 | # This is a decimal. 2 |

.1 . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-06.ttl: -------------------------------------------------------------------------------- 1 | # This is a decimal. 2 |

-123.0 . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-07.ttl: -------------------------------------------------------------------------------- 1 | # This is a decimal. 2 |

+123.0 . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-08.ttl: -------------------------------------------------------------------------------- 1 | # This is an integer 2 |

123. 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-09.ttl: -------------------------------------------------------------------------------- 1 |

123.0e1 . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-10.ttl: -------------------------------------------------------------------------------- 1 |

-123e-1 . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-number-11.ttl: -------------------------------------------------------------------------------- 1 |

123.E+1 . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-pname-esc-01.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p :\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-pname-esc-02.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p :0123\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA123 . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-pname-esc-03.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :xyz\~ :abc\.: : . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-prefix-01.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-prefix-02.ttl: -------------------------------------------------------------------------------- 1 | PreFIX : 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-prefix-03.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | :s :p :123 . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-prefix-04.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p :%20 . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-prefix-05.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | : : : . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-prefix-06.ttl: -------------------------------------------------------------------------------- 1 | # colon is a legal pname character 2 | @prefix : . 3 | @prefix x: . 4 | :a:b:c x:d:e:f :::: . 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-prefix-07.ttl: -------------------------------------------------------------------------------- 1 | # dash is a legal pname character 2 | @prefix x: . 3 | x:a-b-c x:p x:o . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-prefix-08.ttl: -------------------------------------------------------------------------------- 1 | # underscore is a legal pname character 2 | @prefix x: . 3 | x:_ x:p_1 x:o . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-prefix-09.ttl: -------------------------------------------------------------------------------- 1 | # percents 2 | @prefix : . 3 | @prefix x: . 4 | :a%3E x:%25 :a%3Eb . 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-str-esc-01.ttl: -------------------------------------------------------------------------------- 1 | "a\n" . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-str-esc-02.ttl: -------------------------------------------------------------------------------- 1 | "a\u0020b" . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-str-esc-03.ttl: -------------------------------------------------------------------------------- 1 | "a\U00000020b" . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-01.ttl: -------------------------------------------------------------------------------- 1 | "string" . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-02.ttl: -------------------------------------------------------------------------------- 1 | "string"@en . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-03.ttl: -------------------------------------------------------------------------------- 1 | "string"@en-uk . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-04.ttl: -------------------------------------------------------------------------------- 1 | 'string' . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-05.ttl: -------------------------------------------------------------------------------- 1 | 'string'@en . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-06.ttl: -------------------------------------------------------------------------------- 1 | 'string'@en-uk . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-07.ttl: -------------------------------------------------------------------------------- 1 | """abc""def''ghi""" . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-08.ttl: -------------------------------------------------------------------------------- 1 | """abc 2 | def""" . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-09.ttl: -------------------------------------------------------------------------------- 1 | '''abc 2 | def''' . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-10.ttl: -------------------------------------------------------------------------------- 1 | """abc 2 | def"""@en . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-string-11.ttl: -------------------------------------------------------------------------------- 1 | '''abc 2 | def'''@en . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-struct-01.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p :o1 , :o2 . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-struct-02.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p1 :o1 ; 3 | :p2 :o2 . 4 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-struct-03.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p1 :o1 ; 3 | :p2 :o2 ; 4 | . 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-struct-04.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p1 :o1 ;; 3 | :p2 :o2 4 | . 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-struct-05.ttl: -------------------------------------------------------------------------------- 1 | @prefix : . 2 | :s :p1 :o1 ; 3 | :p2 :o2 ;; 4 | . 5 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-uri-01.ttl: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-uri-02.ttl: -------------------------------------------------------------------------------- 1 | # x53 is capital S 2 | . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-uri-03.ttl: -------------------------------------------------------------------------------- 1 | # x53 is capital S 2 | . 3 | -------------------------------------------------------------------------------- /tests/turtle/turtle-syntax-uri-04.ttl: -------------------------------------------------------------------------------- 1 | # IRI with all chars in it. 2 | 3 | . 4 | -------------------------------------------------------------------------------- /tests/turtle/two_LITERAL_LONG2s.nt: -------------------------------------------------------------------------------- 1 | "first long literal" . 2 | "second long literal" . 3 | -------------------------------------------------------------------------------- /tests/turtle/two_LITERAL_LONG2s.ttl: -------------------------------------------------------------------------------- 1 | # Test long literal twice to ensure it does not over-quote 2 | @prefix : . 3 | :a :b """first long literal""" . 4 | :c :d """second long literal""" . 5 | -------------------------------------------------------------------------------- /tests/turtle/underscore_in_localName.nt: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /tests/turtle/underscore_in_localName.ttl: -------------------------------------------------------------------------------- 1 | @prefix p: . 2 | p:s_ . 3 | -------------------------------------------------------------------------------- /tests/turtle/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tools/closure-compiler-20140508.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmilowski/green-turtle/c3519525868e98b54fdc9029e2c39c2c18826505/tools/closure-compiler-20140508.jar -------------------------------------------------------------------------------- /version.properties: -------------------------------------------------------------------------------- 1 | version.major=1 2 | version.minor=4 3 | version.release=0 4 | --------------------------------------------------------------------------------