reddy 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/HACKNOTES +2 -0
- data/History.txt +3 -0
- data/Manifest.txt +80 -0
- data/README.rdoc +48 -0
- data/README.txt +62 -0
- data/Rakefile +67 -0
- data/lib/reddy.rb +8 -0
- data/lib/reddy/bnode.rb +70 -0
- data/lib/reddy/exceptions/about_each_exception.rb +2 -0
- data/lib/reddy/exceptions/uri_relative_exception.rb +2 -0
- data/lib/reddy/graph.rb +182 -0
- data/lib/reddy/libxml_hacks.rb +6 -0
- data/lib/reddy/literal.rb +211 -0
- data/lib/reddy/n3_grammar.treetop +129 -0
- data/lib/reddy/n3parser.rb +145 -0
- data/lib/reddy/namespace.rb +73 -0
- data/lib/reddy/rdfaparser.rb +63 -0
- data/lib/reddy/rdfxmlparser.rb +254 -0
- data/lib/reddy/rexml_hacks.rb +97 -0
- data/lib/reddy/triple.rb +95 -0
- data/lib/reddy/uriref.rb +66 -0
- data/reddy.gemspec +50 -0
- data/spec/bnode_spec.rb +29 -0
- data/spec/graph_spec.rb +138 -0
- data/spec/literal_spec.rb +142 -0
- data/spec/n3parser_spec.rb +86 -0
- data/spec/namespaces_spec.rb +44 -0
- data/spec/parser_spec.rb +391 -0
- data/spec/rdfa_parser_spec.rb +28 -0
- data/spec/rexml_hacks_spec.rb +99 -0
- data/spec/triple_spec.rb +108 -0
- data/spec/uriref_spec.rb +96 -0
- data/test/longtests_spec.rb +25 -0
- data/test/n3_tests/lcsh/sh85062913.n3 +41 -0
- data/test/n3_tests/lcsh/sh85062913.nt +21 -0
- data/test/n3_tests/lcsh/sh85082139.n3 +157 -0
- data/test/n3_tests/lcsh/sh85082139.nt +79 -0
- data/test/n3_tests/lcsh/sh85118553.n3 +123 -0
- data/test/n3_tests/lcsh/sh85118553.nt +63 -0
- data/test/n3_tests/misc/on_now-01.n3 +30 -0
- data/test/n3_tests/misc/on_now-01.nt +15 -0
- data/test/n3_tests/n3p/simple-01.n3 +1 -0
- data/test/n3_tests/n3p/simple-01.nt +0 -0
- data/test/n3_tests/n3p/simple-02.n3 +4 -0
- data/test/n3_tests/n3p/simple-02.nt +0 -0
- data/test/n3_tests/n3p/simple-03.n3 +5 -0
- data/test/n3_tests/n3p/simple-03.nt +1 -0
- data/test/n3_tests/n3p/simple-04.n3 +6 -0
- data/test/n3_tests/n3p/simple-04.nt +3 -0
- data/test/n3_tests/n3p/simple-05.n3 +7 -0
- data/test/n3_tests/n3p/simple-05.nt +2 -0
- data/test/n3_tests/n3p/simple-06.n3 +6 -0
- data/test/n3_tests/n3p/simple-06.nt +4 -0
- data/test/n3_tests/n3p/simple-07.n3 +7 -0
- data/test/n3_tests/n3p/simple-07.nt +6 -0
- data/test/perf_test/test.rb +11 -0
- data/test/perf_test/tommorris.rdf +2267 -0
- data/test/rdf_tests/cc197bad-dc9c-440d-a5b5-d52ba2e14234.nt +24 -0
- data/test/rdf_tests/cc197bad-dc9c-440d-a5b5-d52ba2e14234.rdf +46 -0
- data/test/rdf_tests/tm_001.nt +1 -0
- data/test/rdf_tests/tm_001.rdf +7 -0
- data/test/rdf_tests/xml-literal-mixed.nt +7 -0
- data/test/rdf_tests/xml-literal-mixed.rdf +15 -0
- data/test/ruby_fundamentals.spec.rb +17 -0
- data/test/test_helper.rb +2 -0
- data/test/test_reddy.rb +11 -0
- data/test/test_uris.rb +13 -0
- data/test/xml.rdf +6 -0
- metadata +198 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'lib/reddy'
|
2
|
+
|
3
|
+
# Specification: http://www.w3.org/TR/rdfa-syntax/
|
4
|
+
# docs:
|
5
|
+
# - http://www.xml.com/pub/a/2007/02/14/introducing-rdfa.html
|
6
|
+
# - http://www.w3.org/TR/xhtml-rdfa-primer/
|
7
|
+
# W3C test suite: http://www.w3.org/2006/07/SWD/RDFa/testsuite/xhtml1-testcases/
|
8
|
+
|
9
|
+
describe "RDFa parser" do
|
10
|
+
it "should be able to pass xhtml1-0001.xhtml" do
|
11
|
+
sampledoc = <<-EOF;
|
12
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
13
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
|
14
|
+
<html xmlns="http://www.w3.org/1999/xhtml"
|
15
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
16
|
+
<head>
|
17
|
+
<title>Test 0001</title>
|
18
|
+
</head>
|
19
|
+
<body>
|
20
|
+
<p>This photo was taken by <span class="author" about="photo1.jpg" property="dc:creator">Mark Birbeck</span>.</p>
|
21
|
+
</body>
|
22
|
+
</html>
|
23
|
+
EOF
|
24
|
+
|
25
|
+
parser = RdfaParser.new(sampledoc, uri = "http://www.w3.org/2006/07/SWD/RDFa/testsuite/xhtml1-testcases/0001.xhtml")
|
26
|
+
parser.graph.size.should == 1
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
require 'lib/reddy'
|
2
|
+
require 'rexml/document'
|
3
|
+
#require 'lib/rexml_hacks'
|
4
|
+
|
5
|
+
describe "REXML" do
|
6
|
+
before do
|
7
|
+
string = <<-EOF;
|
8
|
+
<?xml version="1.0" ?>
|
9
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/" xml:lang="en" xml:base="http://example.org/">
|
10
|
+
<rdf:Description>
|
11
|
+
<foo>bar</foo>
|
12
|
+
<bar:bar xmlns:bar="http://foo.com/">foo</bar:bar>
|
13
|
+
<ex:ex>fap</ex:ex>
|
14
|
+
</rdf:Description>
|
15
|
+
</rdf:RDF>
|
16
|
+
EOF
|
17
|
+
|
18
|
+
@doc = REXML::Document.new(string)
|
19
|
+
|
20
|
+
string2 = <<-EOF;
|
21
|
+
<?xml version="1.0" ?>
|
22
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/">
|
23
|
+
<rdf:Description>
|
24
|
+
<foo>bar</foo>
|
25
|
+
<bar:bar xmlns:bar="http://foo.com/">foo</bar:bar>
|
26
|
+
<ex:ex>fap</ex:ex>
|
27
|
+
</rdf:Description>
|
28
|
+
</rdf:RDF>
|
29
|
+
EOF
|
30
|
+
@doc2 = REXML::Document.new(string2)
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should have support for xml:base" do
|
34
|
+
@doc.root.elements[1].base?.should == true
|
35
|
+
@doc.root.elements[1].base.should == "http://example.org/"
|
36
|
+
@doc2.root.elements[1].base?.should_not == true
|
37
|
+
@doc2.root.elements[1].base.should == nil
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should have support for xml:lang" do
|
41
|
+
@doc.root.elements[1].lang?.should == true
|
42
|
+
@doc.root.elements[1].lang.should == "en"
|
43
|
+
@doc2.root.elements[1].lang?.should_not == true
|
44
|
+
@doc2.root.elements[1].lang.should == nil
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should allow individual writing-out of XML" do
|
48
|
+
# puts @doc.root.elements[1].write
|
49
|
+
|
50
|
+
sampledoc = <<-EOF;
|
51
|
+
<?xml version="1.0"?>
|
52
|
+
|
53
|
+
<!--
|
54
|
+
Copyright World Wide Web Consortium, (Massachusetts Institute of
|
55
|
+
Technology, Institut National de Recherche en Informatique et en
|
56
|
+
Automatique, Keio University).
|
57
|
+
|
58
|
+
All Rights Reserved.
|
59
|
+
|
60
|
+
Please see the full Copyright clause at
|
61
|
+
<http://www.w3.org/Consortium/Legal/copyright-software.html>
|
62
|
+
|
63
|
+
Description: Visibly used namespaces must be included in XML
|
64
|
+
Literal values. Treatment of namespaces that are not
|
65
|
+
visibly used (e.g. rdf: in this example) is implementation
|
66
|
+
dependent. Based on example from Issues List.
|
67
|
+
|
68
|
+
|
69
|
+
$Id: test001.rdf,v 1.2 2002/11/22 13:52:15 jcarroll Exp $
|
70
|
+
|
71
|
+
-->
|
72
|
+
<rdf:RDF xmlns="http://www.w3.org/1999/xhtml"
|
73
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
74
|
+
xmlns:html="http://NoHTML.example.org"
|
75
|
+
xmlns:my="http://my.example.org/">
|
76
|
+
<rdf:Description rdf:ID="John_Smith">
|
77
|
+
<my:Name rdf:parseType="Literal">
|
78
|
+
<html:h1>
|
79
|
+
<b>John</b>
|
80
|
+
</html:h1>
|
81
|
+
</my:Name>
|
82
|
+
|
83
|
+
</rdf:Description>
|
84
|
+
</rdf:RDF>
|
85
|
+
EOF
|
86
|
+
doc2 = REXML::Document.new(sampledoc)
|
87
|
+
expectedoutput_str = "<html:h1 xmlns:html=\'http://NoHTML.example.org\' xmlns:my=\'http://my.example.org/\' xmlns:rdf=\'http://www.w3.org/1999/02/22-rdf-syntax-ns#\'>\n <b xmlns=\'http://www.w3.org/1999/xhtml\'>John</b>\n </html:h1>"
|
88
|
+
expectedout = REXML::Document.new(expectedoutput_str)
|
89
|
+
doc2.root.elements[1].elements[1].elements[1].write_reddy == expectedout.root
|
90
|
+
|
91
|
+
sampledoc3 = <<-EOF;
|
92
|
+
<?xml version="1.0"?><RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Description><x:li xmlns:x="http://example.org/notRDF" /></Description></RDF>
|
93
|
+
EOF
|
94
|
+
|
95
|
+
doc3 = REXML::Document.new(sampledoc3)
|
96
|
+
out3 = REXML::Document.new(doc3.root.elements[1].write_reddy)
|
97
|
+
out3.root.class == REXML::Element
|
98
|
+
end
|
99
|
+
end
|
data/spec/triple_spec.rb
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
require 'lib/reddy'
|
2
|
+
|
3
|
+
describe "Triples" do
|
4
|
+
it "should have a subject" do
|
5
|
+
f = Triple.new(BNode.new, URIRef.new('http://xmlns.com/foaf/0.1/knows'), BNode.new)
|
6
|
+
f.subject.class.should == BNode
|
7
|
+
# puts f.to_ntriples
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should require that the subject is a URIRef or BNode" do
|
11
|
+
lambda do
|
12
|
+
Triple.new(Literal.new("foo"), URIRef.new("http://xmlns.com/foaf/0.1/knows"), BNode.new)
|
13
|
+
end.should raise_error
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should require that the predicate is a URIRef" do
|
17
|
+
lambda do
|
18
|
+
Triple.new(BNode.new, BNode.new, BNode.new)
|
19
|
+
end.should raise_error
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should require that the object is a URIRef, BNode, Literal or Typed Literal" do
|
23
|
+
lambda do
|
24
|
+
Triple.new(BNode.new, URIRef.new("http://xmlns.com/foaf/0.1/knows"), [])
|
25
|
+
end.should raise_error
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should emit an NTriple" do
|
29
|
+
s = URIRef.new("http://tommorris.org/foaf#me")
|
30
|
+
p = URIRef.new("http://xmlns.com/foaf/0.1/name")
|
31
|
+
o = Literal.untyped("Tom Morris")
|
32
|
+
f = Triple.new(s,p,o)
|
33
|
+
|
34
|
+
f.to_ntriples.should == "<http://tommorris.org/foaf#me> <http://xmlns.com/foaf/0.1/name> \"Tom Morris\" ."
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "#coerce_subject" do
|
38
|
+
it "should accept a URIRef" do
|
39
|
+
ref = URIRef.new('http://localhost/')
|
40
|
+
Triple.coerce_subject(ref).should == ref
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should accept a BNode" do
|
44
|
+
node = BNode.new('a')
|
45
|
+
Triple.coerce_subject(node).should == node
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should accept a uri string and make URIRef" do
|
49
|
+
Triple.coerce_subject('http://localhost/').should == URIRef.new('http://localhost/')
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should accept an Addressable::URI object and make URIRef" do
|
53
|
+
Triple.coerce_subject(Addressable::URI.parse("http://localhost/")).should == URIRef.new("http://localhost/")
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should turn an other string into a BNode" do
|
57
|
+
Triple.coerce_subject('foo').should == BNode.new('foo')
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should raise an InvalidSubject exception with any other class argument" do
|
61
|
+
lambda do
|
62
|
+
Triple.coerce_subject(Object.new)
|
63
|
+
end.should raise_error(Reddy::Triple::InvalidSubject)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe "#coerce_predicate" do
|
68
|
+
it "should make a string into a URI ref" do
|
69
|
+
Triple.coerce_predicate("http://localhost/").should == URIRef.new('http://localhost/')
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should leave a URIRef alone" do
|
73
|
+
ref = URIRef.new('http://localhost/')
|
74
|
+
Triple.coerce_predicate(ref).should == ref
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should barf on an illegal uri string" do
|
78
|
+
lambda do
|
79
|
+
Triple.coerce_predicate("I'm just a soul whose intention is good")
|
80
|
+
end.should raise_error(Reddy::Triple::InvalidPredicate)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
describe "#coerce_object" do
|
85
|
+
it "should leave URIRefs alone" do
|
86
|
+
ref = URIRef.new("http://localhost/")
|
87
|
+
Triple.coerce_object(ref).should == ref
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should accept an Addressable::URI object and make URIRef" do
|
91
|
+
Triple.coerce_object(Addressable::URI.parse("http://localhost/")).should == URIRef.new("http://localhost/")
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should leave BNodes alone" do
|
95
|
+
ref = BNode.new()
|
96
|
+
Triple.coerce_object(ref).should == ref
|
97
|
+
end
|
98
|
+
|
99
|
+
it "should leave Literals alone" do
|
100
|
+
ref = Literal.untyped('foo')
|
101
|
+
Triple.coerce_object(ref).should == ref
|
102
|
+
|
103
|
+
typedref = Literal.build_from('foo')
|
104
|
+
Triple.coerce_object(ref).should == ref
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
end
|
data/spec/uriref_spec.rb
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
require 'webrick'
|
2
|
+
include WEBrick
|
3
|
+
require 'lib/reddy'
|
4
|
+
#require 'lib/uriref'
|
5
|
+
|
6
|
+
describe "URI References" do
|
7
|
+
it "should output NTriples" do
|
8
|
+
f = URIRef.new("http://tommorris.org/foaf/")
|
9
|
+
f.to_ntriples.should == "<http://tommorris.org/foaf/>"
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should handle Unicode symbols inside URLs" do
|
13
|
+
lambda do
|
14
|
+
f = URIRef.new("http://example.org/#Andr%E9")
|
15
|
+
end.should_not raise_error
|
16
|
+
end
|
17
|
+
|
18
|
+
# it "do not contain any control characters (#x00 - #x1F, #x74-#x9F)" do
|
19
|
+
# lambda do
|
20
|
+
# f = URIRef.new("http://tommorris.org/blog/")
|
21
|
+
# f.test_string("http://tommorris.org/blog")
|
22
|
+
# end.should_not raise_error
|
23
|
+
#
|
24
|
+
# lambda do
|
25
|
+
# f = URIRef.new("http://xmlns.com/foaf/0.1/knows")
|
26
|
+
# f.test_string("http://xmlns.com/foaf/0.1/knows")
|
27
|
+
# end.should_not raise_error
|
28
|
+
# end
|
29
|
+
|
30
|
+
it "should return the 'last fragment' name" do
|
31
|
+
fragment = URIRef.new("http://example.org/foo#bar")
|
32
|
+
fragment.short_name.should == "bar"
|
33
|
+
|
34
|
+
path = URIRef.new("http://example.org/foo/bar")
|
35
|
+
path.short_name.should == "bar"
|
36
|
+
|
37
|
+
nonetest = URIRef.new("http://example.org/")
|
38
|
+
nonetest.short_name.should == false
|
39
|
+
end
|
40
|
+
|
41
|
+
it "produce a valid URI character sequence (per RFC 2396 §2.1) representing an absolute URI with optional fragment identifier" do
|
42
|
+
pending "TODO: figure out a series of tests for RFC 2396 §2.1 adherence"
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should throw errors on suspicious protocols and non-protocols" do
|
46
|
+
lambda do
|
47
|
+
URIRef.new("javascript:alert(\"pass\")")
|
48
|
+
end.should raise_error
|
49
|
+
end
|
50
|
+
|
51
|
+
it "must not be a relative URI" do
|
52
|
+
lambda do
|
53
|
+
URIRef.new("foo")
|
54
|
+
end.should raise_error
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should discourage use of %-escaped characters" do
|
58
|
+
pending "TODO: figure out a way to discourage %-escaped character usage"
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should allow another URIRef to be added" do
|
62
|
+
uri = URIRef.new("http://example.org/") + "foo#bar"
|
63
|
+
uri.to_s.should == "http://example.org/foo#bar"
|
64
|
+
uri.class.should == URIRef
|
65
|
+
|
66
|
+
uri2 = URIRef.new("http://example.org/") + Addressable::URI.parse("foo#bar")
|
67
|
+
uri2.to_s.should == "http://example.org/foo#bar"
|
68
|
+
end
|
69
|
+
|
70
|
+
# TEST turned off until parser is working.
|
71
|
+
# it "should allow the programmer to Follow His Nose" do
|
72
|
+
# a = URIRef.new("http://127.0.0.1:3001/test")
|
73
|
+
#
|
74
|
+
# # server
|
75
|
+
# test_proc = lambda { |req, resp|
|
76
|
+
# resp['Content-Type'] = "application/rdf+xml"
|
77
|
+
# resp.body = <<-EOF;
|
78
|
+
# <?xml version="1.0" ?>
|
79
|
+
# <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/">
|
80
|
+
# <rdf:Description rdf:about="http://localhost:3001/test">
|
81
|
+
# <foaf:name>Testy McTest</foaf:name>
|
82
|
+
# </rdf:Description>
|
83
|
+
# </rdf:RDF>
|
84
|
+
# EOF
|
85
|
+
# }
|
86
|
+
# test = HTTPServlet::ProcHandler.new(test_proc)
|
87
|
+
# s = HTTPServer.new(:Port => 3001)
|
88
|
+
# s.mount("/test", test)
|
89
|
+
# trap("INT"){ s.shutdown }
|
90
|
+
# thread = Thread.new { s.start }
|
91
|
+
# graph = a.load_graph
|
92
|
+
# s.shutdown
|
93
|
+
# graph.class.should == Reddy::Graph
|
94
|
+
# graph.size.should == 1
|
95
|
+
# end
|
96
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
describe "Reddy library"
|
2
|
+
it "should allow the programmer to Follow His Nose" do
|
3
|
+
a = URIRef.new("http://127.0.0.1:3001/test")
|
4
|
+
test_proc = lambda { |req, resp|
|
5
|
+
resp['Content-Type'] = "application/rdf+xml"
|
6
|
+
resp.body = <<-EOF;
|
7
|
+
<?xml version="1.0" ?>
|
8
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/">
|
9
|
+
<rdf:Description rdf:about="http://localhost:3001/test">
|
10
|
+
<foaf:name>Testy McTest</foaf:name>
|
11
|
+
</rdf:Description>
|
12
|
+
</rdf:RDF>
|
13
|
+
EOF
|
14
|
+
}
|
15
|
+
test = HTTPServlet::ProcHandler.new(test_proc)
|
16
|
+
s = HTTPServer.new(:Port => 3001)
|
17
|
+
s.mount("/test", test)
|
18
|
+
trap("INT"){ s.shutdown }
|
19
|
+
thread = Thread.new { s.start }
|
20
|
+
graph = a.load_graph
|
21
|
+
s.shutdown
|
22
|
+
graph.class.should == Reddy::Graph
|
23
|
+
graph.size.should == 1
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
|
2
|
+
@prefix lcsh_10: <http://lcsh.info/sh85112589#>.
|
3
|
+
@prefix lcsh_11: <http://lcsh.info/sh85008324#>.
|
4
|
+
@prefix lcsh_12: <http://lcsh.info/sh85029102#>.
|
5
|
+
@prefix lcsh_13: <http://lcsh.info/sh85100849#>.
|
6
|
+
@prefix lcsh_14: <http://lcsh.info/sh85108488#>.
|
7
|
+
@prefix lcsh_15: <http://lcsh.info/sh85043208#>.
|
8
|
+
@prefix lcsh_16: <http://lcsh.info/sh85083186#>.
|
9
|
+
@prefix lcsh_17: <http://lcsh.info/sh85118626#>.
|
10
|
+
@prefix lcsh_18: <http://lcsh.info/sh85108398#>.
|
11
|
+
@prefix lcsh_19: <http://lcsh.info/sh85075529#>.
|
12
|
+
@prefix lcsh_20: <http://lcsh.info/sh85026700#>.
|
13
|
+
@prefix lcsh_6: <http://lcsh.info/sh85062913#>.
|
14
|
+
@prefix lcsh_7: <http://lcsh.info/sh96000718#>.
|
15
|
+
@prefix lcsh_8: <http://lcsh.info/sh91004532#>.
|
16
|
+
@prefix lcsh_9: <http://lcsh.info/sh91002683#>.
|
17
|
+
@prefix dcterms: <http://purl.org/dc/terms/>.
|
18
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
|
19
|
+
@prefix skos: <http://www.w3.org/2004/02/skos/core#>.
|
20
|
+
|
21
|
+
lcsh_6:concept a skos:Concept;
|
22
|
+
dcterms:LCC "AZ";
|
23
|
+
dcterms:created "1986-02-11"^^<http://www.w3.org/2001/XMLSchema#date>;
|
24
|
+
dcterms:modified "2006-08-02T11:15:32"^^<http://www.w3.org/2001/XMLSchema#dateTime>;
|
25
|
+
skos:broader lcsh_19:concept;
|
26
|
+
skos:inScheme <http://lcsh.info/>;
|
27
|
+
skos:narrower lcsh_11:concept,
|
28
|
+
lcsh_12:concept,
|
29
|
+
lcsh_15:concept,
|
30
|
+
lcsh_16:concept,
|
31
|
+
lcsh_13:concept,
|
32
|
+
lcsh_18:concept,
|
33
|
+
lcsh_14:concept,
|
34
|
+
lcsh_10:concept,
|
35
|
+
lcsh_17:concept,
|
36
|
+
lcsh_9:concept,
|
37
|
+
lcsh_8:concept,
|
38
|
+
lcsh_7:concept;
|
39
|
+
skos:prefLabel "Humanities"@en;
|
40
|
+
skos:related lcsh_20:concept;
|
41
|
+
skos:scopeNote "Here are entered works on the branches of learning regarded as having a cultural character, including literature, the arts, history, philosophy, religion, etc."@en.
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> .
|
2
|
+
<http://lcsh.info/sh85062913#concept> <http://purl.org/dc/terms/LCC> "AZ" .
|
3
|
+
<http://lcsh.info/sh85062913#concept> <http://purl.org/dc/terms/created> "1986-02-11"^^<http://www.w3.org/2001/XMLSchema#date> .
|
4
|
+
<http://lcsh.info/sh85062913#concept> <http://purl.org/dc/terms/modified> "2006-08-02T11:15:32"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
|
5
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#broader> <http://lcsh.info/sh85075529#concept> .
|
6
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lcsh.info/> .
|
7
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh85008324#concept> .
|
8
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh85029102#concept> .
|
9
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh85043208#concept> .
|
10
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh85083186#concept> .
|
11
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh85100849#concept> .
|
12
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh85108398#concept> .
|
13
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh85108488#concept> .
|
14
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh85112589#concept> .
|
15
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh85118626#concept> .
|
16
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh91002683#concept> .
|
17
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh91004532#concept> .
|
18
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#narrower> <http://lcsh.info/sh96000718#concept> .
|
19
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#prefLabel> "Humanities"@en .
|
20
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#related> <http://lcsh.info/sh85026700#concept> .
|
21
|
+
<http://lcsh.info/sh85062913#concept> <http://www.w3.org/2004/02/skos/core#scopeNote> "Here are entered works on the branches of learning regarded as having a cultural character, including literature, the arts, history, philosophy, religion, etc."@en .
|
@@ -0,0 +1,157 @@
|
|
1
|
+
|
2
|
+
@prefix lcsh_10: <http://lcsh.info/sh85082365#>.
|
3
|
+
@prefix lcsh_11: <http://lcsh.info/sh85050839#>.
|
4
|
+
@prefix lcsh_12: <http://lcsh.info/sh85093228#>.
|
5
|
+
@prefix lcsh_13: <http://lcsh.info/sh85046844#>.
|
6
|
+
@prefix lcsh_14: <http://lcsh.info/sh85037299#>.
|
7
|
+
@prefix lcsh_15: <http://lcsh.info/sh85018308#>.
|
8
|
+
@prefix lcsh_16: <http://lcsh.info/sh85084442#>.
|
9
|
+
@prefix lcsh_17: <http://lcsh.info/sh85078115#>.
|
10
|
+
@prefix lcsh_18: <http://lcsh.info/sh85052941#>.
|
11
|
+
@prefix lcsh_19: <http://lcsh.info/sh85048251#>.
|
12
|
+
@prefix lcsh_20: <http://lcsh.info/sh85127551#>.
|
13
|
+
@prefix lcsh_21: <http://lcsh.info/sh85007163#>.
|
14
|
+
@prefix lcsh_22: <http://lcsh.info/sh85120237#>.
|
15
|
+
@prefix lcsh_23: <http://lcsh.info/sh85044510#>.
|
16
|
+
@prefix lcsh_24: <http://lcsh.info/sh85034914#>.
|
17
|
+
@prefix lcsh_25: <http://lcsh.info/sh85064861#>.
|
18
|
+
@prefix lcsh_26: <http://lcsh.info/sh85107377#>.
|
19
|
+
@prefix lcsh_27: <http://lcsh.info/sh85066296#>.
|
20
|
+
@prefix lcsh_28: <http://lcsh.info/sh85072381#>.
|
21
|
+
@prefix lcsh_29: <http://lcsh.info/sh85121771#>.
|
22
|
+
@prefix lcsh_30: <http://lcsh.info/sh85063720#>.
|
23
|
+
@prefix lcsh_31: <http://lcsh.info/sh2006005613#>.
|
24
|
+
@prefix lcsh_32: <http://lcsh.info/sh85003425#>.
|
25
|
+
@prefix lcsh_33: <http://lcsh.info/sh85067539#>.
|
26
|
+
@prefix lcsh_34: <http://lcsh.info/sh98004034#>.
|
27
|
+
@prefix lcsh_35: <http://lcsh.info/sh2006005417#>.
|
28
|
+
@prefix lcsh_36: <http://lcsh.info/sh85054133#>.
|
29
|
+
@prefix lcsh_37: <http://lcsh.info/sh85036222#>.
|
30
|
+
@prefix lcsh_38: <http://lcsh.info/sh85137519#>.
|
31
|
+
@prefix lcsh_39: <http://lcsh.info/sh85082181#>.
|
32
|
+
@prefix lcsh_40: <http://lcsh.info/sh85093229#>.
|
33
|
+
@prefix lcsh_41: <http://lcsh.info/sh85031123#>.
|
34
|
+
@prefix lcsh_42: <http://lcsh.info/sh85038555#>.
|
35
|
+
@prefix lcsh_43: <http://lcsh.info/sh85008822#>.
|
36
|
+
@prefix lcsh_44: <http://lcsh.info/sh85092418#>.
|
37
|
+
@prefix lcsh_45: <http://lcsh.info/sh85120387#>.
|
38
|
+
@prefix lcsh_46: <http://lcsh.info/sh85052327#>.
|
39
|
+
@prefix lcsh_47: <http://lcsh.info/sh85048025#>.
|
40
|
+
@prefix lcsh_48: <http://lcsh.info/sh85111827#>.
|
41
|
+
@prefix lcsh_49: <http://lcsh.info/sh85120145#>.
|
42
|
+
@prefix lcsh_50: <http://lcsh.info/sh85058939#>.
|
43
|
+
@prefix lcsh_51: <http://lcsh.info/sh85053967#>.
|
44
|
+
@prefix lcsh_52: <http://lcsh.info/sh85031124#>.
|
45
|
+
@prefix lcsh_53: <http://lcsh.info/sh85065806#>.
|
46
|
+
@prefix lcsh_54: <http://lcsh.info/sh85032235#>.
|
47
|
+
@prefix lcsh_55: <http://lcsh.info/sh85065324#>.
|
48
|
+
@prefix lcsh_56: <http://lcsh.info/sh85014083#>.
|
49
|
+
@prefix lcsh_57: <http://lcsh.info/sh2003001099#>.
|
50
|
+
@prefix lcsh_58: <http://lcsh.info/sh95005230#>.
|
51
|
+
@prefix lcsh_59: <http://lcsh.info/sh85147590#>.
|
52
|
+
@prefix lcsh_6: <http://lcsh.info/sh85082139#>.
|
53
|
+
@prefix lcsh_60: <http://lcsh.info/sh85031122#>.
|
54
|
+
@prefix lcsh_61: <http://lcsh.info/sh85075570#>.
|
55
|
+
@prefix lcsh_62: <http://lcsh.info/sh85014235#>.
|
56
|
+
@prefix lcsh_63: <http://lcsh.info/sh85051099#>.
|
57
|
+
@prefix lcsh_64: <http://lcsh.info/sh85056481#>.
|
58
|
+
@prefix lcsh_65: <http://lcsh.info/sh85107090#>.
|
59
|
+
@prefix lcsh_66: <http://lcsh.info/sh85040869#>.
|
60
|
+
@prefix lcsh_67: <http://lcsh.info/sh85009562#>.
|
61
|
+
@prefix lcsh_68: <http://lcsh.info/sh85051148#>.
|
62
|
+
@prefix lcsh_69: <http://lcsh.info/sh85067656#>.
|
63
|
+
@prefix lcsh_7: <http://lcsh.info/sh85148106#>.
|
64
|
+
@prefix lcsh_70: <http://lcsh.info/sh85010589#>.
|
65
|
+
@prefix lcsh_71: <http://lcsh.info/sh85142449#>.
|
66
|
+
@prefix lcsh_72: <http://lcsh.info/sh85082120#>.
|
67
|
+
@prefix lcsh_73: <http://lcsh.info/sh85083608#>.
|
68
|
+
@prefix lcsh_74: <http://lcsh.info/sh85142090#>.
|
69
|
+
@prefix lcsh_75: <http://lcsh.info/sh85029268#>.
|
70
|
+
@prefix lcsh_76: <http://lcsh.info/sh85135362#>.
|
71
|
+
@prefix lcsh_77: <http://lcsh.info/sh85099995#>.
|
72
|
+
@prefix lcsh_78: <http://lcsh.info/sh85118553#>.
|
73
|
+
@prefix lcsh_8: <http://lcsh.info/sh85028801#>.
|
74
|
+
@prefix lcsh_9: <http://lcsh.info/sh85040316#>.
|
75
|
+
@prefix dcterms: <http://purl.org/dc/terms/>.
|
76
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
|
77
|
+
@prefix skos: <http://www.w3.org/2004/02/skos/core#>.
|
78
|
+
|
79
|
+
lcsh_6:concept a skos:Concept;
|
80
|
+
dcterms:LCC "QA";
|
81
|
+
dcterms:created "1986-02-11"^^<http://www.w3.org/2001/XMLSchema#date>;
|
82
|
+
dcterms:modified "1993-05-27T14:35:44"^^<http://www.w3.org/2001/XMLSchema#dateTime>;
|
83
|
+
skos:altLabel "Math"@en;
|
84
|
+
skos:broader lcsh_78:concept;
|
85
|
+
skos:inScheme <http://lcsh.info/>;
|
86
|
+
skos:narrower lcsh_57:concept,
|
87
|
+
lcsh_35:concept,
|
88
|
+
lcsh_31:concept,
|
89
|
+
lcsh_32:concept,
|
90
|
+
lcsh_21:concept,
|
91
|
+
lcsh_43:concept,
|
92
|
+
lcsh_67:concept,
|
93
|
+
lcsh_70:concept,
|
94
|
+
lcsh_56:concept,
|
95
|
+
lcsh_62:concept,
|
96
|
+
lcsh_15:concept,
|
97
|
+
lcsh_8:concept,
|
98
|
+
lcsh_75:concept,
|
99
|
+
lcsh_60:concept,
|
100
|
+
lcsh_41:concept,
|
101
|
+
lcsh_52:concept,
|
102
|
+
lcsh_54:concept,
|
103
|
+
lcsh_24:concept,
|
104
|
+
lcsh_37:concept,
|
105
|
+
lcsh_14:concept,
|
106
|
+
lcsh_42:concept,
|
107
|
+
lcsh_9:concept,
|
108
|
+
lcsh_66:concept,
|
109
|
+
lcsh_23:concept,
|
110
|
+
lcsh_13:concept,
|
111
|
+
lcsh_47:concept,
|
112
|
+
lcsh_19:concept,
|
113
|
+
lcsh_11:concept,
|
114
|
+
lcsh_63:concept,
|
115
|
+
lcsh_68:concept,
|
116
|
+
lcsh_46:concept,
|
117
|
+
lcsh_18:concept,
|
118
|
+
lcsh_51:concept,
|
119
|
+
lcsh_36:concept,
|
120
|
+
lcsh_64:concept,
|
121
|
+
lcsh_50:concept,
|
122
|
+
lcsh_30:concept,
|
123
|
+
lcsh_25:concept,
|
124
|
+
lcsh_55:concept,
|
125
|
+
lcsh_53:concept,
|
126
|
+
lcsh_27:concept,
|
127
|
+
lcsh_33:concept,
|
128
|
+
lcsh_69:concept,
|
129
|
+
lcsh_28:concept,
|
130
|
+
lcsh_61:concept,
|
131
|
+
lcsh_17:concept,
|
132
|
+
lcsh_72:concept,
|
133
|
+
lcsh_39:concept,
|
134
|
+
lcsh_10:concept,
|
135
|
+
lcsh_73:concept,
|
136
|
+
lcsh_16:concept,
|
137
|
+
lcsh_44:concept,
|
138
|
+
lcsh_12:concept,
|
139
|
+
lcsh_40:concept,
|
140
|
+
lcsh_77:concept,
|
141
|
+
lcsh_65:concept,
|
142
|
+
lcsh_26:concept,
|
143
|
+
lcsh_48:concept,
|
144
|
+
lcsh_49:concept,
|
145
|
+
lcsh_22:concept,
|
146
|
+
lcsh_45:concept,
|
147
|
+
lcsh_29:concept,
|
148
|
+
lcsh_20:concept,
|
149
|
+
lcsh_76:concept,
|
150
|
+
lcsh_38:concept,
|
151
|
+
lcsh_74:concept,
|
152
|
+
lcsh_71:concept,
|
153
|
+
lcsh_59:concept,
|
154
|
+
lcsh_7:concept,
|
155
|
+
lcsh_58:concept,
|
156
|
+
lcsh_34:concept;
|
157
|
+
skos:prefLabel "Mathematics"@en.
|