rdf-rdfa 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +2 -0
- data/README.rdoc +59 -0
- data/Rakefile +46 -0
- data/VERSION +1 -0
- data/example.rb +27 -0
- data/lib/rdfa/format.rb +19 -0
- data/lib/rdfa/reader.rb +798 -0
- data/lib/rdfa/reader/exceptions.rb +14 -0
- data/lib/rdfa/reader/namespace.rb +72 -0
- data/lib/rdfa/reader/version.rb +23 -0
- data/spec/namespaces_spec.rb +112 -0
- data/spec/rdfa-triples/0001.nt +1 -0
- data/spec/rdfa-triples/0006.nt +2 -0
- data/spec/rdfa-triples/0007.nt +3 -0
- data/spec/rdfa-triples/0008.nt +1 -0
- data/spec/rdfa-triples/0009.nt +1 -0
- data/spec/rdfa-triples/0010.nt +2 -0
- data/spec/rdfa-triples/0011.nt +3 -0
- data/spec/rdfa-triples/0012.nt +1 -0
- data/spec/rdfa-triples/0013.nt +1 -0
- data/spec/rdfa-triples/0014.nt +1 -0
- data/spec/rdfa-triples/0015.nt +2 -0
- data/spec/rdfa-triples/0017.nt +3 -0
- data/spec/rdfa-triples/0018.nt +1 -0
- data/spec/rdfa-triples/0019.nt +1 -0
- data/spec/rdfa-triples/0020.nt +1 -0
- data/spec/rdfa-triples/0021.nt +1 -0
- data/spec/rdfa-triples/0023.nt +1 -0
- data/spec/rdfa-triples/0025.nt +2 -0
- data/spec/rdfa-triples/0026.nt +1 -0
- data/spec/rdfa-triples/0027.nt +1 -0
- data/spec/rdfa-triples/0029.nt +1 -0
- data/spec/rdfa-triples/0030.nt +1 -0
- data/spec/rdfa-triples/0031.nt +1 -0
- data/spec/rdfa-triples/0032.nt +1 -0
- data/spec/rdfa-triples/0033.nt +2 -0
- data/spec/rdfa-triples/0034.nt +1 -0
- data/spec/rdfa-triples/0035.nt +1 -0
- data/spec/rdfa-triples/0036.nt +1 -0
- data/spec/rdfa-triples/0037.nt +1 -0
- data/spec/rdfa-triples/0038.nt +1 -0
- data/spec/rdfa-triples/0039.nt +1 -0
- data/spec/rdfa-triples/0040.nt +1 -0
- data/spec/rdfa-triples/0041.nt +1 -0
- data/spec/rdfa-triples/0042.nt +0 -0
- data/spec/rdfa-triples/0046.nt +3 -0
- data/spec/rdfa-triples/0047.nt +3 -0
- data/spec/rdfa-triples/0048.nt +3 -0
- data/spec/rdfa-triples/0049.nt +2 -0
- data/spec/rdfa-triples/0050.nt +2 -0
- data/spec/rdfa-triples/0051.nt +2 -0
- data/spec/rdfa-triples/0052.nt +1 -0
- data/spec/rdfa-triples/0053.nt +2 -0
- data/spec/rdfa-triples/0054.nt +2 -0
- data/spec/rdfa-triples/0055.nt +2 -0
- data/spec/rdfa-triples/0056.nt +3 -0
- data/spec/rdfa-triples/0057.nt +4 -0
- data/spec/rdfa-triples/0058.nt +6 -0
- data/spec/rdfa-triples/0059.nt +6 -0
- data/spec/rdfa-triples/0060.nt +2 -0
- data/spec/rdfa-triples/0061.nt +1 -0
- data/spec/rdfa-triples/0062.nt +1 -0
- data/spec/rdfa-triples/0063.nt +1 -0
- data/spec/rdfa-triples/0064.nt +1 -0
- data/spec/rdfa-triples/0065.nt +3 -0
- data/spec/rdfa-triples/0066.nt +1 -0
- data/spec/rdfa-triples/0067.nt +1 -0
- data/spec/rdfa-triples/0068.nt +1 -0
- data/spec/rdfa-triples/0069.nt +1 -0
- data/spec/rdfa-triples/0070.nt +1 -0
- data/spec/rdfa-triples/0071.nt +1 -0
- data/spec/rdfa-triples/0072.nt +1 -0
- data/spec/rdfa-triples/0073.nt +1 -0
- data/spec/rdfa-triples/0074.nt +1 -0
- data/spec/rdfa-triples/0075.nt +1 -0
- data/spec/rdfa-triples/0076.nt +23 -0
- data/spec/rdfa-triples/0077.nt +23 -0
- data/spec/rdfa-triples/0078.nt +6 -0
- data/spec/rdfa-triples/0079.nt +3 -0
- data/spec/rdfa-triples/0080.nt +1 -0
- data/spec/rdfa-triples/0081.nt +6 -0
- data/spec/rdfa-triples/0082.nt +8 -0
- data/spec/rdfa-triples/0083.nt +6 -0
- data/spec/rdfa-triples/0084.nt +8 -0
- data/spec/rdfa-triples/0085.nt +4 -0
- data/spec/rdfa-triples/0086.nt +0 -0
- data/spec/rdfa-triples/0087.nt +23 -0
- data/spec/rdfa-triples/0088.nt +3 -0
- data/spec/rdfa-triples/0089.nt +1 -0
- data/spec/rdfa-triples/0090.nt +1 -0
- data/spec/rdfa-triples/0091.nt +3 -0
- data/spec/rdfa-triples/0092.nt +3 -0
- data/spec/rdfa-triples/0093.nt +2 -0
- data/spec/rdfa-triples/0094.nt +3 -0
- data/spec/rdfa-triples/0099.nt +1 -0
- data/spec/rdfa-triples/0100.nt +3 -0
- data/spec/rdfa-triples/0101.nt +3 -0
- data/spec/rdfa-triples/0102.nt +1 -0
- data/spec/rdfa-triples/0103.nt +1 -0
- data/spec/rdfa-triples/0104.nt +3 -0
- data/spec/rdfa-triples/0105.nt +1 -0
- data/spec/rdfa-triples/0106.nt +1 -0
- data/spec/rdfa-triples/0107.nt +0 -0
- data/spec/rdfa-triples/0108.nt +1 -0
- data/spec/rdfa-triples/0109.nt +1 -0
- data/spec/rdfa-triples/0110.nt +1 -0
- data/spec/rdfa-triples/0111.nt +2 -0
- data/spec/rdfa-triples/0112.nt +1 -0
- data/spec/rdfa-triples/0113.nt +2 -0
- data/spec/rdfa-triples/0114.nt +3 -0
- data/spec/rdfa-triples/0115.nt +4 -0
- data/spec/rdfa-triples/0116.nt +2 -0
- data/spec/rdfa-triples/0117.nt +2 -0
- data/spec/rdfa-triples/0118.nt +1 -0
- data/spec/rdfa-triples/0119.nt +1 -0
- data/spec/rdfa-triples/0120.nt +1 -0
- data/spec/rdfa-triples/0121.nt +2 -0
- data/spec/rdfa-triples/0122.nt +1 -0
- data/spec/rdfa-triples/0123.nt +3 -0
- data/spec/rdfa-triples/0124.nt +4 -0
- data/spec/rdfa-triples/0125.nt +1 -0
- data/spec/rdfa-triples/0126.nt +3 -0
- data/spec/rdfa-triples/1001.nt +6 -0
- data/spec/rdfa_helper.rb +188 -0
- data/spec/rdfa_parser_spec.rb +146 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +8 -0
- metadata +246 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
module RDF::RDFa
|
2
|
+
class RdfException < RuntimeError; end
|
3
|
+
|
4
|
+
class ParserException < RdfException; end
|
5
|
+
class SparqlException < RdfException; end
|
6
|
+
class GraphException < RdfException; end
|
7
|
+
class StoreException < RdfException; end
|
8
|
+
class BNodeException < RdfException; end
|
9
|
+
class TypeError < RdfException; end
|
10
|
+
class InvalidNode < RdfException; end
|
11
|
+
class InvalidPredicate < RdfException; end
|
12
|
+
|
13
|
+
class ReadOnlyGraphException < GraphException; end
|
14
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
module RDF::RDFa class Reader
|
2
|
+
# From RdfContext
|
3
|
+
class Namespace
|
4
|
+
attr_accessor :prefix, :fragment
|
5
|
+
|
6
|
+
# Creates a new namespace given a URI and the prefix.
|
7
|
+
def initialize(uri, prefix)
|
8
|
+
prefix = prefix.to_s
|
9
|
+
|
10
|
+
@uri = uri.to_s
|
11
|
+
|
12
|
+
raise ParserException, "Invalid prefix '#{prefix}'" unless prefix_valid?(prefix)
|
13
|
+
@prefix = prefix
|
14
|
+
end
|
15
|
+
|
16
|
+
# Allows the construction of arbitrary URIs on the namespace.
|
17
|
+
def method_missing(methodname, *args)
|
18
|
+
self + methodname
|
19
|
+
end
|
20
|
+
|
21
|
+
# Construct a URIRef from a namespace as in method_missing, but without method collision issues.
|
22
|
+
# Rules are somewhat different than for normal URI unions, as the raw URI is used as the source,
|
23
|
+
# not a normalized URI, and the result is not normalized
|
24
|
+
def +(suffix)
|
25
|
+
prefix = @uri
|
26
|
+
suffix = suffix.to_s.sub(/^\#/, "") if prefix.index("#")
|
27
|
+
suffix = suffix.to_s.sub(/_$/, '')
|
28
|
+
# FIXME: URIRef.new(prefix + suffix.to_s, :normalize => false, :namespace => self)
|
29
|
+
RDF::URI.new(prefix + suffix.to_s)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Make sure to attach fragment
|
33
|
+
def uri
|
34
|
+
self + ""
|
35
|
+
end
|
36
|
+
|
37
|
+
# Bind this namespace to a Graph
|
38
|
+
def bind(graph)
|
39
|
+
graph.bind(self)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Compare namespaces
|
43
|
+
def eql?(other)
|
44
|
+
self.uri == other.uri
|
45
|
+
end
|
46
|
+
alias_method :==, :eql?
|
47
|
+
|
48
|
+
# Output xmlns attribute name
|
49
|
+
def xmlns_attr
|
50
|
+
prefix.empty? ? "xmlns" : "xmlns:#{prefix}"
|
51
|
+
end
|
52
|
+
|
53
|
+
# Output namespace definition as a hash
|
54
|
+
def xmlns_hash
|
55
|
+
{xmlns_attr => @uri.to_s}
|
56
|
+
end
|
57
|
+
|
58
|
+
def to_s
|
59
|
+
"#{prefix}: #{@uri}"
|
60
|
+
end
|
61
|
+
|
62
|
+
def inspect
|
63
|
+
"Namespace[abbr='#{prefix}',uri='#{@uri}']"
|
64
|
+
end
|
65
|
+
|
66
|
+
private
|
67
|
+
# The Namespace prefix must be an NCName
|
68
|
+
def prefix_valid?(prefix)
|
69
|
+
NC_REGEXP.match(prefix.to_s) || prefix.to_s.empty?
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module RDFa
|
2
|
+
module VERSION
|
3
|
+
MAJOR = 0
|
4
|
+
MINOR = 1
|
5
|
+
TINY = 0
|
6
|
+
EXTRA = nil
|
7
|
+
|
8
|
+
STRING = [MAJOR, MINOR, TINY].join('.')
|
9
|
+
STRING << "-#{EXTRA}" if EXTRA
|
10
|
+
|
11
|
+
##
|
12
|
+
# @return [String]
|
13
|
+
def self.to_s() STRING end
|
14
|
+
|
15
|
+
##
|
16
|
+
# @return [String]
|
17
|
+
def self.to_str() STRING end
|
18
|
+
|
19
|
+
##
|
20
|
+
# @return [Array(Integer, Integer, Integer)]
|
21
|
+
def self.to_a() [MAJOR, MINOR, TINY] end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
|
3
|
+
describe RDFa::Reader::Namespace do
|
4
|
+
subject { RDFa::Reader::Namespace.new("http://xmlns.com/foaf/0.1/", "foaf") }
|
5
|
+
|
6
|
+
describe "method_missing" do
|
7
|
+
it "should create URI" do
|
8
|
+
subject.knows.to_s.should == "http://xmlns.com/foaf/0.1/knows"
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should create URI for frag" do
|
12
|
+
foaf_frag = RDFa::Reader::Namespace.new("http://xmlns.com/foaf/0.1/", "foaf")
|
13
|
+
foaf_frag.knows.to_s.should == "http://xmlns.com/foaf/0.1/knows"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should have a URI" do
|
18
|
+
lambda do
|
19
|
+
test = RDFa::Reader::Namespace.new(prefix='foaf')
|
20
|
+
end.should raise_error
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should have equality with URIs" do
|
24
|
+
foaf_name = RDF::URI.new("http://xmlns.com/foaf/0.1/name")
|
25
|
+
subject.name.should == foaf_name
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should have an XML and N3-friendly prefix" do
|
29
|
+
lambda do
|
30
|
+
test = RDFa::Reader::Namespace.new('http://xmlns.com/foaf/0.1/', '*~{')
|
31
|
+
end.should raise_error
|
32
|
+
end
|
33
|
+
|
34
|
+
# it "should be able to attach to the graph for substitution" do
|
35
|
+
# # rdflib does this using graph.bind('prefix', namespace)
|
36
|
+
# g = RDF::Graph.new
|
37
|
+
# subject.bind(g)
|
38
|
+
# #puts g.nsbinding.inspect
|
39
|
+
# should == g.nsbinding["foaf"]
|
40
|
+
# end
|
41
|
+
|
42
|
+
it "should not allow you to attach to non-graphs" do
|
43
|
+
lambda do
|
44
|
+
subject.bind("cheese")
|
45
|
+
end.should raise_error
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should construct URI" do
|
49
|
+
subject.foo.class.should == RDF::URI
|
50
|
+
subject.foo.to_s.should == "http://xmlns.com/foaf/0.1/foo"
|
51
|
+
end
|
52
|
+
|
53
|
+
describe "no URI normalization" do
|
54
|
+
specify {RDFa::Reader::Namespace.new("http://foo", "foo").uri.to_s.should == "http://foo"}
|
55
|
+
specify {RDFa::Reader::Namespace.new("http://foo#", "foo").uri.to_s.should == "http://foo#"}
|
56
|
+
specify {RDFa::Reader::Namespace.new("http://foo/", "foo").uri.to_s.should == "http://foo/"}
|
57
|
+
specify {RDFa::Reader::Namespace.new("xyz:foo", "foo").uri.to_s.should == "xyz:foo"}
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should not normalize URI" do
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "serialization" do
|
64
|
+
specify {subject.to_s.should == "foaf: http://xmlns.com/foaf/0.1/"}
|
65
|
+
end
|
66
|
+
|
67
|
+
describe '#+' do
|
68
|
+
it "should construct URI with +" do
|
69
|
+
(subject + "foo").class.should == RDF::URI
|
70
|
+
(subject + "foo").to_s.should == "http://xmlns.com/foaf/0.1/foo"
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should strip trailing _ (used to work around reserved method names)" do
|
74
|
+
(subject + "type_").to_s.should == "http://xmlns.com/foaf/0.1/type"
|
75
|
+
end
|
76
|
+
|
77
|
+
it "will cause method conflict" do
|
78
|
+
(subject + "class").to_s.should == "http://xmlns.com/foaf/0.1/class"
|
79
|
+
subject.class.should == RDFa::Reader::Namespace
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
describe "normalization" do
|
84
|
+
{
|
85
|
+
%w(http://foo ) => "http://foo",
|
86
|
+
%w(http://foo a) => "http://fooa",
|
87
|
+
|
88
|
+
%w(http://foo/ ) => "http://foo/",
|
89
|
+
%w(http://foo/ a) => "http://foo/a",
|
90
|
+
|
91
|
+
%w(http://foo# ) => "http://foo#",
|
92
|
+
%w(http://foo# a) => "http://foo#a",
|
93
|
+
|
94
|
+
%w(http://foo/bar ) => "http://foo/bar",
|
95
|
+
%w(http://foo/bar a) => "http://foo/bara",
|
96
|
+
|
97
|
+
%w(http://foo/bar/ ) => "http://foo/bar/",
|
98
|
+
%w(http://foo/bar/ a) => "http://foo/bar/a",
|
99
|
+
|
100
|
+
%w(http://foo/bar# ) => "http://foo/bar#",
|
101
|
+
%w(http://foo/bar# a) => "http://foo/bar#a",
|
102
|
+
}.each_pair do |input, result|
|
103
|
+
it "should create <#{result}> from <#{input[0]}> and '#{input[1]}'" do
|
104
|
+
(RDFa::Reader::Namespace.new(input[0], "test") + input[1].to_s).to_s.should == result
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
it "should be be equivalent" do
|
110
|
+
RDFa::Reader::Namespace.new("http://a", "aa").should == RDFa::Reader::Namespace.new("http://a", "aa")
|
111
|
+
end
|
112
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/photo1.jpg> <http://purl.org/dc/elements/1.1/creator> "Mark Birbeck" .
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<http://www.blogger.com/profile/1109404> <http://xmlns.com/foaf/0.1/img> <$TCPATH/photo1.jpg> .
|
2
|
+
<$TCPATH/photo1.jpg> <http://purl.org/dc/elements/1.1/title> "Portrait of Mark" .
|
3
|
+
<$TCPATH/photo1.jpg> <http://purl.org/dc/elements/1.1/creator> <http://www.blogger.com/profile/1109404> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0008.xhtml> <http://creativecommons.org/ns#license> <http://creativecommons.org/licenses/by-nc-nd/2.5/> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://example.org/people#Person2> <http://xmlns.com/foaf/0.1/knows> <http://example.org/people#Person1> .
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<$TCPATH/0011.xhtml> <http://purl.org/dc/elements/1.1/creator> "Albert Einstein" .
|
2
|
+
# This is one of the allowed result XML Literals
|
3
|
+
<$TCPATH/0011.xhtml> <http://purl.org/dc/elements/1.1/title> "E = mc<sup xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\">2</sup>: The Most Urgent Problem of Our Time"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://example.org/node> <http://example.org/property> "chat"@fr .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://example.org/node> <http://example.org/property> "chat"@fr .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://example.org/foo> <http://example.org/bar> "10"^^<http://www.w3.org/2001/XMLSchema#integer> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/photo1.jpg> <http://purl.org/dc/elements/1.1/creator> <http://www.blogger.com/profile/1109404> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<mailto:manu.sporny@digitalbazaar.com> <http://xmlns.com/foaf/0.1/knows> <mailto:michael.hausenblas@joanneum.at> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/photo1.jpg> <http://purl.org/dc/elements/1.1/creator> "Mark Birbeck" .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0021.xhtml> <http://purl.org/dc/elements/1.1/creator> "Mark Birbeck" .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0023.xhtml> <http://purl.org/dc/elements/1.1/creator> "Mark Birbeck" .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://internet-apps.blogspot.com/> <http://purl.org/dc/elements/1.1/creator> "Mark Birbeck" .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://internet-apps.blogspot.com/> <http://purl.org/dc/elements/1.1/creator> "Mark Birbeck" .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://example.org/foo> <http://purl.org/dc/elements/1.1/creator> "Mark Birbeck"^^<http://www.w3.org/2001/XMLSchema#string> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0030.xhtml> <http://creativecommons.org/ns#license> <http://creativecommons.org/licenses/by-nc-nd/2.5/> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0031.xhtml#wtw> <http://purl.org/dc/elements/1.1/identifier> <urn:ISBN:0752820907> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0032.xhtml#wtw> <http://purl.org/dc/elements/1.1/identifier> <urn:ISBN:0752820907> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://sw-app.org/mic.xhtml#i> <http://xmlns.com/foaf/0.1/img> <http://sw-app.org/img/mic_2007_01.jpg> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://sw-app.org/mic.xhtml#i> <http://xmlns.com/foaf/0.1/img> <http://sw-app.org/img/mic_2006_03.jpg> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://sw-app.org/mic.xhtml#i> <http://xmlns.com/foaf/0.1/img> <http://sw-app.org/img/mic_2006_03.jpg> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://sw-app.org/mic.xhtml#i> <http://xmlns.com/foaf/0.1/img> <http://sw-app.org/mic.xhtml#photo> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://sw-app.org/img/mic_2007_01.jpg> <http://xmlns.com/foaf/0.1/depicts> <http://sw-app.org/mic.xhtml#i> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://sw-app.org/img/mic_2006_03.jpg> <http://xmlns.com/foaf/0.1/depicts> <http://sw-app.org/mic.xhtml#i> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://sw-app.org/img/mic_2006_03.jpg> <http://www.w3.org/1999/xhtml/vocab#alternate> <http://sw-app.org/img/mic_2007_01.jpg> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://sw-app.org/mic.xhtml#photo> <http://xmlns.com/foaf/0.1/depicts> <http://sw-app.org/mic.xhtml#i> .
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
<http://www.example.org/#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<http://www.example.org/#ben> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
|
2
|
+
<http://www.example.org/#ben> <http://xmlns.com/foaf/0.1/knows> <http://www.example.org/#mark> .
|
3
|
+
<http://www.example.org/#mark> <http://xmlns.com/foaf/0.1/name> "Mark Birbeck" .
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<http://www.example.org/#ben> <http://xmlns.com/foaf/0.1/knows> <http://www.example.org/#mark> .
|
2
|
+
<http://www.example.org/#ben> <http://xmlns.com/foaf/0.1/knows> <http://www.example.org/#ivan> .
|
3
|
+
<http://www.example.org/#mark> <http://xmlns.com/foaf/0.1/name> "Mark Birbeck" .
|
4
|
+
<http://www.example.org/#ivan> <http://xmlns.com/foaf/0.1/name> "Ivan Herman" .
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<http://www.example.org/#ben> <http://xmlns.com/foaf/0.1/knows> _:a .
|
2
|
+
<http://www.example.org/#ben> <http://xmlns.com/foaf/0.1/knows> _:b .
|
3
|
+
_:a <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
|
4
|
+
_:a <http://xmlns.com/foaf/0.1/name> "Mark Birbeck" .
|
5
|
+
_:b <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
|
6
|
+
_:b <http://xmlns.com/foaf/0.1/name> "Ivan Herman" .
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<$TCPATH/0059.xhtml> <http://purl.org/dc/elements/1.1/creator> <http://www.example.org/#manu> .
|
2
|
+
<$TCPATH/0059.xhtml> <http://purl.org/dc/elements/1.1/publisher> <http://www.example.org/#manu> .
|
3
|
+
<$TCPATH/0059.xhtml> <http://purl.org/dc/elements/1.1/creator> <http://www.example.org/#fabien> .
|
4
|
+
<$TCPATH/0059.xhtml> <http://purl.org/dc/elements/1.1/publisher> <http://www.example.org/#fabien> .
|
5
|
+
<http://www.example.org/#manu> <http://xmlns.com/foaf/0.1/name> "Manu Sporny" .
|
6
|
+
<http://www.example.org/#fabien> <http://xmlns.com/foaf/0.1/name> "Fabien Gandon" .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0061.xhtml> <http://www.w3.org/1999/xhtml/vocab#next> <$TCPATH/0062.xhtml> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0063.xhtml> <http://www.w3.org/1999/xhtml/vocab#prev> <$TCPATH/0062.xhtml> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0063.xhtml> <http://www.w3.org/1999/xhtml/vocab#next> <$TCPATH/0064.xhtml> .
|
@@ -0,0 +1 @@
|
|
1
|
+
_:michael <http://xmlns.com/foaf/0.1/knows> <http://digitalbazaar.com/people/manu> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0066.xhtml> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0067.xhtml> <http://xmlns.com/foaf/0.1/topic> "Test 0067" .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0067.xhtml> <http://purl.org/dc/elements/1.1/title> "Test 0067" .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0069.xhtml> <http://www.w3.org/1999/xhtml/vocab#next> <$TCPATH/0070.xhtml> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0070.xhtml> <http://www.w3.org/1999/xhtml/vocab#prev> <$TCPATH/0069.xhtml> .
|
@@ -0,0 +1 @@
|
|
1
|
+
<$TCPATH/0071.xhtml> <http://creativecommons.org/ns#license> <http://creativecommons.org/licenses/by-nd/3.0/> .
|