rdf 1.1.7 → 1.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README +5 -5
- data/VERSION +1 -1
- data/lib/rdf/cli/vocab-loader.rb +10 -6
- data/lib/rdf/model/graph.rb +5 -11
- data/lib/rdf/model/statement.rb +1 -1
- data/lib/rdf/model/uri.rb +5 -4
- data/lib/rdf/repository.rb +1 -1
- data/lib/rdf/util/file.rb +33 -11
- data/lib/rdf/vocab.rb +1 -1
- data/lib/rdf/vocab/dcat.rb +213 -0
- data/lib/rdf/vocab/og.rb +76 -41
- data/lib/rdf/vocab/ogc.rb +57 -0
- data/lib/rdf/vocab/schema.rb +230 -154
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 644c6163b7f04341f59f666dc563e29032e6143b
|
4
|
+
data.tar.gz: acc35d375a889a6a05c7e4d459504fca58ff1210
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db9a55622ac5c7316ea8ab92eb69466142a61c11e7c8f0ea3c1da6492c4e1c51107907daf79cfb35b69fd6b86625b6de3c36aced7639bdf30a02b052ea607f68
|
7
|
+
data.tar.gz: fead177f692a90e6a6fd90c3bb9a85976588c4752a2e92e3612e98748cf0ae3d52b5140ea39ff0479e954006e861abc960bace86a3f54b7a9c4afcf8b7b510ab
|
data/README
CHANGED
@@ -302,10 +302,10 @@ from BNode identity (i.e., they each entail the other)
|
|
302
302
|
* {RDF::Mutable}
|
303
303
|
* {RDF::Durable}
|
304
304
|
* {RDF::Transaction}
|
305
|
-
* [RDF::AllegroGraph](http://rubydoc.info/github/
|
306
|
-
* [RDF::Mongo](http://rubydoc.info/github/
|
307
|
-
* [RDF::DataObjects](http://rubydoc.info/github/ruby-rdf/rdf-do
|
308
|
-
* [RDF::Sesame](http://
|
305
|
+
* [RDF::AllegroGraph](http://rubydoc.info/github/ruby-rdf/rdf-agraph) (extension)
|
306
|
+
* [RDF::Mongo](http://rubydoc.info/github/ruby-rdf/rdf-mongo) (extension)
|
307
|
+
* [RDF::DataObjects](http://rubydoc.info/github/ruby-rdf/rdf-do) (extension)
|
308
|
+
* [RDF::Sesame](http://www.rubydoc.info/github/ruby-rdf/rdf-sesame) (extension)
|
309
309
|
|
310
310
|
### RDF Querying
|
311
311
|
|
@@ -315,7 +315,7 @@ from BNode identity (i.e., they each entail the other)
|
|
315
315
|
* {RDF::Query::Solution}
|
316
316
|
* {RDF::Query::Solutions}
|
317
317
|
* {RDF::Query::Variable}
|
318
|
-
* [SPARQL](http://rubydoc.info/github/ruby-rdf/sparql
|
318
|
+
* [SPARQL](http://rubydoc.info/github/ruby-rdf/sparql) (extension)
|
319
319
|
|
320
320
|
|
321
321
|
### RDF Vocabularies
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.8
|
data/lib/rdf/cli/vocab-loader.rb
CHANGED
@@ -148,14 +148,18 @@ module RDF
|
|
148
148
|
other: {}
|
149
149
|
}
|
150
150
|
|
151
|
-
# FIXME: This can try to resolve referenced terms against the previous version of this vocabulary, which may be strict, and fail if the referenced term hasn't been created yet.
|
152
151
|
vocab.each.to_a.sort.each do |term|
|
153
152
|
name = term.to_s[uri.length..-1].to_sym
|
154
|
-
kind =
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
153
|
+
kind = begin
|
154
|
+
case term.type.to_s
|
155
|
+
when /Class/ then :class
|
156
|
+
when /Property/ then :property
|
157
|
+
when /Datatype/ then :datatype
|
158
|
+
else :other
|
159
|
+
end
|
160
|
+
rescue KeyError
|
161
|
+
# This can try to resolve referenced terms against the previous version of this vocabulary, which may be strict, and fail if the referenced term hasn't been created yet.
|
162
|
+
:other
|
159
163
|
end
|
160
164
|
term_nodes[kind][name] = term.attributes
|
161
165
|
end
|
data/lib/rdf/model/graph.rb
CHANGED
@@ -13,18 +13,12 @@ module RDF
|
|
13
13
|
# a projection of an underlying {RDF::Repository} supporting contexts.
|
14
14
|
#
|
15
15
|
# @example Creating an empty unnamed graph
|
16
|
-
# graph = Graph.new
|
16
|
+
# graph = RDF::Graph.new
|
17
17
|
#
|
18
18
|
# @example Loading graph data from a URL
|
19
|
-
# graph = Graph.
|
19
|
+
# graph = RDF::Graph.load("http://ruby-rdf.github.io/rdf/etc/doap.nt")
|
20
20
|
#
|
21
|
-
# @example Loading graph data from a URL
|
22
|
-
# require 'rdf/rdfxml' # for RDF/XML support
|
23
|
-
#
|
24
|
-
# graph = RDF::Graph.new("http://www.bbc.co.uk/programmes/b0081dq5.rdf")
|
25
|
-
# graph.load!
|
26
|
-
#
|
27
|
-
# @example Loading graph data from a URL (2)
|
21
|
+
# @example Loading graph data from a URL
|
28
22
|
# require 'rdf/rdfxml' # for RDF/XML support
|
29
23
|
#
|
30
24
|
# graph = RDF::Graph.load("http://www.bbc.co.uk/programmes/b0081dq5.rdf")
|
@@ -32,8 +26,8 @@ module RDF
|
|
32
26
|
# @example Accessing a specific named graph within a {RDF::Repository}
|
33
27
|
# require 'rdf/trig' # for TriG support
|
34
28
|
#
|
35
|
-
# repository = RDF::Repository.load("https://raw.
|
36
|
-
# graph = RDF::Graph.new(:
|
29
|
+
# repository = graph = RDF::Repository.load("https://raw.githubusercontent.com/ruby-rdf/rdf-trig/develop/etc/doap.trig", format: :trig))
|
30
|
+
# graph = RDF::Graph.new(data: repository, context: RDF::URI("http://greggkellogg.net/foaf#me"))
|
37
31
|
class Graph
|
38
32
|
include RDF::Value
|
39
33
|
include RDF::Countable
|
data/lib/rdf/model/statement.rb
CHANGED
data/lib/rdf/model/uri.rb
CHANGED
@@ -7,16 +7,17 @@ module RDF
|
|
7
7
|
# Also compatible with International Resource Identifier (IRI)
|
8
8
|
#
|
9
9
|
# @example Creating a URI reference (1)
|
10
|
-
# uri = RDF::URI.new("http://
|
10
|
+
# uri = RDF::URI.new("http://rubygems.org/gems/rdf")
|
11
11
|
#
|
12
12
|
# @example Creating a URI reference (2)
|
13
|
-
# uri = RDF::URI.new(:scheme => 'http', :
|
13
|
+
# uri = RDF::URI.new(:scheme => 'http', host: 'rubygems.org', path: '/rdf')
|
14
|
+
# #=> RDF::URI.new("http://rubygems.org/gems/rdf")
|
14
15
|
#
|
15
16
|
# @example Creating an interned URI reference
|
16
|
-
# uri = RDF::URI.intern("http://
|
17
|
+
# uri = RDF::URI.intern("http://rubygems.org/gems/rdf")
|
17
18
|
#
|
18
19
|
# @example Getting the string representation of a URI
|
19
|
-
# uri.to_s #=> "http://
|
20
|
+
# uri.to_s #=> "http://rubygems.org/gems/rdf"
|
20
21
|
#
|
21
22
|
# http://en.wikipedia.org/wiki/Internationalized_Resource_Identifier
|
22
23
|
# @see http://en.wikipedia.org/wiki/Uniform_Resource_Identifier
|
data/lib/rdf/repository.rb
CHANGED
@@ -140,7 +140,7 @@ module RDF
|
|
140
140
|
#
|
141
141
|
# @example
|
142
142
|
# repository.transaction do |tx|
|
143
|
-
# tx.insert [RDF::URI("http://
|
143
|
+
# tx.insert [RDF::URI("http://rubygems.org/gems/rdf"), RDF::DC.title, "RDF.rb"]
|
144
144
|
# end
|
145
145
|
#
|
146
146
|
# @param [RDF::Resource] context
|
data/lib/rdf/util/file.rb
CHANGED
@@ -23,6 +23,8 @@ module RDF; module Util
|
|
23
23
|
# Adds Accept header based on available reader content types to allow
|
24
24
|
# for content negotiation based on available readers.
|
25
25
|
#
|
26
|
+
# HTTP resources may be retrieved via proxy using the `proxy` option. If `RestClient` is loaded, they will use the proxy globally by setting something like the following:
|
27
|
+
# `RestClient.proxy = "http://proxy.example.com/"`.
|
26
28
|
# When retrieving documents over HTTP(S), use the mechanism described in [Providing and Discovering URI Documentation](http://www.w3.org/2001/tag/awwsw/issue57/latest/) to pass the appropriate `base_uri` to the block or as the return.
|
27
29
|
#
|
28
30
|
# Applications needing HTTP caching may consider
|
@@ -43,15 +45,19 @@ module RDF; module Util
|
|
43
45
|
# to override this implementation to provide more control over HTTP
|
44
46
|
# headers and redirect following. If opening as a file,
|
45
47
|
# options are passed to `Kernel.open`.
|
48
|
+
# @option options [String] :proxy
|
49
|
+
# HTTP Proxy to use for requests.
|
46
50
|
# @option options [Array, String] :headers
|
47
51
|
# HTTP Request headers, passed to Kernel.open.
|
48
52
|
# @option options [Boolean] :verify_none (false)
|
49
53
|
# Don't verify SSL certificates
|
50
|
-
# @return [
|
51
|
-
# @yield [
|
54
|
+
# @return [RemoteDocument, Object] A {RemoteDocument}. If a block is given, the result of evaluating the block is returned.
|
55
|
+
# @yield [ RemoteDocument] A {RemoteDocument} for local files
|
52
56
|
# @yieldreturn [Object] returned from open_file
|
53
57
|
def self.open_file(filename_or_url, options = {}, &block)
|
54
58
|
filename_or_url = $1 if filename_or_url.to_s.match(/^file:(.*)$/)
|
59
|
+
remote_document = nil
|
60
|
+
|
55
61
|
if filename_or_url.to_s =~ /^https?/
|
56
62
|
# Open as a URL with Net::HTTP
|
57
63
|
headers = options.fetch(:headers, {})
|
@@ -61,12 +67,12 @@ module RDF; module Util
|
|
61
67
|
end
|
62
68
|
headers['Accept'] ||= (reader_types + %w(*/*;q=0.1)).join(", ")
|
63
69
|
|
64
|
-
remote_document = nil
|
65
70
|
base_uri = filename_or_url.to_s
|
66
71
|
ssl_verify = options[:verify_none] ? OpenSSL::SSL::VERIFY_NONE : OpenSSL::SSL::VERIFY_PEER
|
67
72
|
|
68
73
|
if defined?(RestClient) && !options[:use_net_http]
|
69
74
|
# If RestClient is loaded, prefer it
|
75
|
+
RestClient.proxy = options[:proxy].to_s if options[:proxy]
|
70
76
|
client = RestClient::Resource.new(base_uri, verify_ssl: ssl_verify)
|
71
77
|
client.get(headers) do |response, request, res, &blk|
|
72
78
|
case response.code
|
@@ -94,11 +100,12 @@ module RDF; module Util
|
|
94
100
|
# Otherwise, fallback to Net::HTTP
|
95
101
|
redirect_count = 0
|
96
102
|
max_redirects = 5
|
97
|
-
remote_document = nil
|
98
103
|
parsed_url = ::URI.parse(filename_or_url.to_s)
|
104
|
+
parsed_proxy = ::URI.parse(options[:proxy].to_s)
|
99
105
|
base_uri = parsed_url.to_s
|
100
106
|
until remote_document do
|
101
107
|
Net::HTTP::start(parsed_url.host, parsed_url.port,
|
108
|
+
parsed_proxy.host, parsed_proxy.port,
|
102
109
|
open_timeout: 60 * 1000,
|
103
110
|
use_ssl: parsed_url.scheme == 'https',
|
104
111
|
verify_mode: ssl_verify
|
@@ -140,15 +147,29 @@ module RDF; module Util
|
|
140
147
|
end
|
141
148
|
end
|
142
149
|
end
|
150
|
+
else
|
151
|
+
# Fake content type based on found format
|
152
|
+
format = RDF::Format.for(filename_or_url.to_s)
|
153
|
+
content_type = format ? format.content_type.first : 'text/plain'
|
154
|
+
# Open as a file, passing any options
|
155
|
+
Kernel.open(filename_or_url, "r:utf-8", options) do |file|
|
156
|
+
document_options = {
|
157
|
+
base_uri: filename_or_url.to_s,
|
158
|
+
charset: file.external_encoding,
|
159
|
+
code: 200,
|
160
|
+
content_type: content_type,
|
161
|
+
last_modified:file.mtime,
|
162
|
+
headers: {'Content-Type' => content_type, 'Last-Modified' => file.mtime.xmlschema}
|
163
|
+
}
|
143
164
|
|
144
|
-
|
145
|
-
yield remote_document
|
146
|
-
else
|
147
|
-
remote_document
|
165
|
+
remote_document = RemoteDocument.new(file.read, document_options)
|
148
166
|
end
|
167
|
+
end
|
168
|
+
|
169
|
+
if block_given?
|
170
|
+
yield remote_document
|
149
171
|
else
|
150
|
-
|
151
|
-
Kernel.open(filename_or_url, "r", options, &block)
|
172
|
+
remote_document
|
152
173
|
end
|
153
174
|
end
|
154
175
|
|
@@ -193,6 +214,7 @@ module RDF; module Util
|
|
193
214
|
|
194
215
|
##
|
195
216
|
# Set content
|
217
|
+
# @param [String] body entiry content of request.
|
196
218
|
def initialize(body, options = {})
|
197
219
|
super(body)
|
198
220
|
options.each do |key, value|
|
@@ -236,7 +258,7 @@ module RDF; module Util
|
|
236
258
|
# @example
|
237
259
|
#
|
238
260
|
# d = RemoteDocument.new(...)
|
239
|
-
# describedby = links.find_link('rel'
|
261
|
+
# describedby = links.find_link(['rel', 'describedby']).href
|
240
262
|
#
|
241
263
|
# @return [::LinkHeader]
|
242
264
|
def links
|
data/lib/rdf/vocab.rb
CHANGED
@@ -338,7 +338,7 @@ module RDF
|
|
338
338
|
|
339
339
|
value = if statement.object.uri?
|
340
340
|
statement.object.pname
|
341
|
-
elsif statement.object.literal? && (statement.object.language || :en)
|
341
|
+
elsif statement.object.literal? && (statement.object.language || :en).to_s =~ /^en-?/
|
342
342
|
statement.object.to_s
|
343
343
|
end
|
344
344
|
|
@@ -0,0 +1,213 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
# This file generated automatically using vocab-fetch from http://www.w3.org/ns/dcat#
|
3
|
+
require 'rdf'
|
4
|
+
module RDF
|
5
|
+
class DCAT < RDF::StrictVocabulary("http://www.w3.org/ns/dcat#")
|
6
|
+
|
7
|
+
# Class definitions
|
8
|
+
term :Catalog,
|
9
|
+
comment: %(A curated collection of metadata about datasets).freeze,
|
10
|
+
"http://purl.org/vocab/vann/usageNote" => %(Typically, a web-based data catalog is represented as a single instance of this class.).freeze,
|
11
|
+
label: "Catalog".freeze,
|
12
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
13
|
+
type: ["rdfs:Class".freeze, "owl:Class".freeze]
|
14
|
+
term :CatalogRecord,
|
15
|
+
comment: %(A record in a data catalog, describing a single dataset.).freeze,
|
16
|
+
"http://purl.org/vocab/vann/usageNote" => %(This class is optional and not all catalogs will use it. It exists for
|
17
|
+
catalogs where a distinction is made between metadata about a dataset and
|
18
|
+
metadata about the dataset's entry in the catalog. For example, the publication
|
19
|
+
date property of the dataset reflects the date when the information was originally
|
20
|
+
made available by the publishing agency, while the publication date of the catalog
|
21
|
+
record is the date when the dataset was added to the catalog. In cases where both
|
22
|
+
dates differ, or where only the latter is known, the publication date should only
|
23
|
+
be specified for the catalog record. Notice that the W3C PROV Ontology allows
|
24
|
+
describing further provenance information such as the details of the process and the
|
25
|
+
agent involved in a particular change to a dataset.).freeze,
|
26
|
+
label: "Catalog Record".freeze,
|
27
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
28
|
+
type: ["rdfs:Class".freeze, "owl:Class".freeze]
|
29
|
+
term :Dataset,
|
30
|
+
comment: %(A collection of data, published or curated by a single source, and available for access or download in one or more formats).freeze,
|
31
|
+
"http://purl.org/vocab/vann/usageNote" => %(This class represents the actual dataset as published by the dataset publisher. In
|
32
|
+
cases where a distinction between the actual dataset and its entry in the catalog is
|
33
|
+
necessary \(because metadata such as modification date and maintainer might differ\), the
|
34
|
+
catalog record class can be used for the latter.).freeze,
|
35
|
+
label: "Dataset".freeze,
|
36
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
37
|
+
subClassOf: "http://purl.org/dc/dcmitype/Dataset".freeze,
|
38
|
+
type: ["rdfs:Class".freeze, "owl:Class".freeze]
|
39
|
+
term :Distribution,
|
40
|
+
comment: %(Represents a specific available form of a dataset. Each dataset might be available in
|
41
|
+
different forms, these forms might represent different formats of the dataset or different
|
42
|
+
endpoints. Examples of distributions include a downloadable CSV file, an API or an RSS feed).freeze,
|
43
|
+
"http://purl.org/vocab/vann/usageNote" => %(This represents a general availability of a dataset it implies no information about the
|
44
|
+
actual access method of the data, i.e. whether it is a direct download, API, or some
|
45
|
+
through Web page. The use of dcat:downloadURL property indicates directly downloadable distributions.).freeze,
|
46
|
+
label: "Distribution".freeze,
|
47
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
48
|
+
type: ["rdfs:Class".freeze, "owl:Class".freeze]
|
49
|
+
term :Download,
|
50
|
+
comment: %(represents a downloadable distribution of a dataset. This term has been deprecated).freeze,
|
51
|
+
label: "Download (Deprecated)".freeze,
|
52
|
+
"owl:deprecated" => %(true).freeze,
|
53
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/ns/dcat#).freeze,
|
54
|
+
subClassOf: "http://www.w3.org/ns/dcat#Distribution".freeze,
|
55
|
+
type: ["rdfs:Class".freeze, "owl:Class".freeze]
|
56
|
+
term :Feed,
|
57
|
+
comment: %(represents availability of a dataset as a feed. This term has been deprecated).freeze,
|
58
|
+
label: "Feed (Deprecated)".freeze,
|
59
|
+
"owl:deprecated" => %(true).freeze,
|
60
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/ns/dcat#).freeze,
|
61
|
+
subClassOf: "http://www.w3.org/ns/dcat#Distribution".freeze,
|
62
|
+
type: ["rdfs:Class".freeze, "owl:Class".freeze]
|
63
|
+
term :WebService,
|
64
|
+
comment: %(represents a web service that enables access to the data of a dataset. This term has been deprecated).freeze,
|
65
|
+
label: "Web Service (Deprecated)".freeze,
|
66
|
+
"owl:deprecated" => %(true).freeze,
|
67
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/ns/dcat#).freeze,
|
68
|
+
subClassOf: "http://www.w3.org/ns/dcat#Distribution".freeze,
|
69
|
+
type: ["rdfs:Class".freeze, "owl:Class".freeze]
|
70
|
+
|
71
|
+
# Property definitions
|
72
|
+
property :accessURL,
|
73
|
+
comment: %(Could be any kind of URL that gives access to a distribution of the dataset. E.g. landing page,
|
74
|
+
download, feed URL, SPARQL endpoint. Use when your catalog does not have information on which it
|
75
|
+
is or when it is definitely not a download.).freeze,
|
76
|
+
domain: "http://www.w3.org/ns/dcat#Distribution".freeze,
|
77
|
+
"http://purl.org/vocab/vann/usageNote" => %(The value is a URL.
|
78
|
+
If the distribution\(s\) are accessible only through a landing page \(i.e. direct download URLs are
|
79
|
+
not known\), then the landing page link should be duplicated as accessURL on a distribution.).freeze,
|
80
|
+
label: "access URL".freeze,
|
81
|
+
range: "rdfs:Resource".freeze,
|
82
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
83
|
+
type: ["rdf:Property".freeze, "owl:ObjectProperty".freeze]
|
84
|
+
property :byteSize,
|
85
|
+
comment: %(The size of a distribution in bytes.).freeze,
|
86
|
+
domain: "http://www.w3.org/ns/dcat#Distribution".freeze,
|
87
|
+
"http://purl.org/vocab/vann/usageNote" => %(The size in bytes can be approximated when the precise size is not known.
|
88
|
+
The literal value of dcat:byteSize should by typed as xsd:decimal).freeze,
|
89
|
+
label: "byte size".freeze,
|
90
|
+
range: "rdfs:Literal".freeze,
|
91
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
92
|
+
type: ["rdf:Property".freeze, "owl:DatatypeProperty".freeze]
|
93
|
+
property :bytes,
|
94
|
+
comment: %(describe size of resource in bytes. This term has been deprecated).freeze,
|
95
|
+
domain: "http://www.w3.org/ns/dcat#Distribution".freeze,
|
96
|
+
label: "size in bytes (Deprecated)".freeze,
|
97
|
+
"owl:deprecated" => %(true).freeze,
|
98
|
+
range: "xsd:integer".freeze,
|
99
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/ns/dcat#).freeze,
|
100
|
+
type: ["rdf:Property".freeze, "owl:DatatypeProperty".freeze]
|
101
|
+
property :contactPoint,
|
102
|
+
comment: %(Links a dataset to relevant contact information which is provided using VCard.).freeze,
|
103
|
+
domain: "http://www.w3.org/ns/dcat#Dataset".freeze,
|
104
|
+
label: "contact point".freeze,
|
105
|
+
range: "vcard:Kind".freeze,
|
106
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
107
|
+
type: ["rdf:Property".freeze, "owl:ObjectProperty".freeze]
|
108
|
+
property :dataDictionary,
|
109
|
+
comment: %(links a dataset to a dictionary that helps interpreting the data. This term has been deprecated).freeze,
|
110
|
+
domain: "http://www.w3.org/ns/dcat#Dataset".freeze,
|
111
|
+
label: "data dictionary (Deprecated)".freeze,
|
112
|
+
"owl:deprecated" => %(true).freeze,
|
113
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/ns/dcat#).freeze,
|
114
|
+
type: "rdf:Property".freeze
|
115
|
+
property :dataQuality,
|
116
|
+
comment: %(describes the quality of data e.g. precision. This should not be used to describe the data collection characteristics, other more specialized statistical properties can be used instead. This term has been deprecated).freeze,
|
117
|
+
domain: "http://www.w3.org/ns/dcat#Dataset".freeze,
|
118
|
+
label: "data quality (Deprecated)".freeze,
|
119
|
+
"owl:deprecated" => %(true).freeze,
|
120
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/ns/dcat#).freeze,
|
121
|
+
type: "rdf:Property".freeze
|
122
|
+
property :dataset,
|
123
|
+
comment: %(Links a catalog to a dataset that is part of the catalog.).freeze,
|
124
|
+
domain: "http://www.w3.org/ns/dcat#Catalog".freeze,
|
125
|
+
label: "dataset".freeze,
|
126
|
+
range: "http://www.w3.org/ns/dcat#Dataset".freeze,
|
127
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
128
|
+
subPropertyOf: "dc:hasPart".freeze,
|
129
|
+
type: ["rdf:Property".freeze, "owl:ObjectProperty".freeze]
|
130
|
+
property :distribution,
|
131
|
+
comment: %(Connects a dataset to one of its available distributions.).freeze,
|
132
|
+
domain: "http://www.w3.org/ns/dcat#Dataset".freeze,
|
133
|
+
label: "distribution".freeze,
|
134
|
+
range: "http://www.w3.org/ns/dcat#Distribution".freeze,
|
135
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
136
|
+
type: ["rdf:Property".freeze, "owl:ObjectProperty".freeze]
|
137
|
+
property :downloadURL,
|
138
|
+
comment: %(This is a direct link to a downloadable file in a given format. E.g. CSV file or RDF file. The
|
139
|
+
format is described by the distribution's dc:format and/or dcat:mediaType).freeze,
|
140
|
+
domain: "http://www.w3.org/ns/dcat#Distribution".freeze,
|
141
|
+
"http://purl.org/vocab/vann/usageNote" => %(The value is a URL.).freeze,
|
142
|
+
label: "download URL".freeze,
|
143
|
+
range: "rdfs:Resource".freeze,
|
144
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
145
|
+
type: ["rdf:Property".freeze, "owl:ObjectProperty".freeze]
|
146
|
+
property :granularity,
|
147
|
+
comment: %(describes the level of granularity of data in a dataset. The granularity can be in time, place etc. This term has been deprecated).freeze,
|
148
|
+
domain: "http://www.w3.org/ns/dcat#Dataset".freeze,
|
149
|
+
label: "granularity (Deprecated)".freeze,
|
150
|
+
"owl:deprecated" => %(true).freeze,
|
151
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/ns/dcat#).freeze,
|
152
|
+
type: "rdf:Property".freeze
|
153
|
+
property :keyword,
|
154
|
+
comment: %(A keyword or tag describing the dataset.).freeze,
|
155
|
+
domain: "http://www.w3.org/ns/dcat#Dataset".freeze,
|
156
|
+
label: "keyword".freeze,
|
157
|
+
range: "rdfs:Literal".freeze,
|
158
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
159
|
+
subPropertyOf: "dc:subject".freeze,
|
160
|
+
type: ["rdf:Property".freeze, "owl:DatatypeProperty".freeze]
|
161
|
+
property :landingPage,
|
162
|
+
comment: %(A Web page that can be navigated to in a Web browser to gain access to the dataset, its distributions and/or additional information.).freeze,
|
163
|
+
domain: "http://www.w3.org/ns/dcat#Dataset".freeze,
|
164
|
+
"http://purl.org/vocab/vann/usageNote" => %(If the distribution\(s\) are accessible only through a landing page \(i.e. direct download
|
165
|
+
URLs are not known\), then the landing page link should be duplicated as accessURL on a distribution.).freeze,
|
166
|
+
label: "landing page".freeze,
|
167
|
+
range: "foaf:Document".freeze,
|
168
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
169
|
+
subPropertyOf: "foaf:Page".freeze,
|
170
|
+
type: ["rdf:Property".freeze, "owl:ObjectProperty".freeze]
|
171
|
+
property :mediaType,
|
172
|
+
comment: %(This property SHOULD be used when the media type of the distribution is defined
|
173
|
+
in IANA, otherwise dct:format MAY be used with different values.).freeze,
|
174
|
+
domain: "http://www.w3.org/ns/dcat#Distribution".freeze,
|
175
|
+
label: "media type".freeze,
|
176
|
+
range: "dc:MediaTypeOrExtent".freeze,
|
177
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
178
|
+
subPropertyOf: "dc:format".freeze,
|
179
|
+
type: ["rdf:Property".freeze, "owl:ObjectProperty".freeze]
|
180
|
+
property :record,
|
181
|
+
comment: %(Links a catalog to its records.).freeze,
|
182
|
+
domain: "http://www.w3.org/ns/dcat#Catalog".freeze,
|
183
|
+
label: "record".freeze,
|
184
|
+
range: "http://www.w3.org/ns/dcat#CatalogRecord".freeze,
|
185
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
186
|
+
type: ["rdf:Property".freeze, "owl:ObjectProperty".freeze]
|
187
|
+
property :size,
|
188
|
+
comment: %(the size of a distribution. This term has been deprecated).freeze,
|
189
|
+
domain: "http://www.w3.org/ns/dcat#Distribution".freeze,
|
190
|
+
label: "size (Deprecated)".freeze,
|
191
|
+
"owl:deprecated" => %(true).freeze,
|
192
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/ns/dcat#).freeze,
|
193
|
+
subPropertyOf: "dc:extent".freeze,
|
194
|
+
type: "rdf:Property".freeze
|
195
|
+
property :theme,
|
196
|
+
comment: %(The main category of the dataset. A dataset can have multiple themes.).freeze,
|
197
|
+
domain: "http://www.w3.org/ns/dcat#Dataset".freeze,
|
198
|
+
"http://purl.org/vocab/vann/usageNote" => %(The set of skos:Concepts used to categorize the datasets are organized in
|
199
|
+
a skos:ConceptScheme describing all the categories and their relations in the catalog.).freeze,
|
200
|
+
label: "theme".freeze,
|
201
|
+
range: "skos:Concept".freeze,
|
202
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
203
|
+
subPropertyOf: "dc:subject".freeze,
|
204
|
+
type: ["rdf:Property".freeze, "owl:ObjectProperty".freeze]
|
205
|
+
property :themeTaxonomy,
|
206
|
+
comment: %(The knowledge organization system \(KOS\) used to classify catalog's datasets.).freeze,
|
207
|
+
domain: "http://www.w3.org/ns/dcat#Catalog".freeze,
|
208
|
+
label: "theme taxonomy".freeze,
|
209
|
+
range: "skos:ConceptScheme".freeze,
|
210
|
+
"rdfs:isDefinedBy" => %(http://www.w3.org/TR/vocab-dcat/).freeze,
|
211
|
+
type: ["rdf:Property".freeze, "owl:ObjectProperty".freeze]
|
212
|
+
end
|
213
|
+
end
|