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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ddfa925cad6c8ba8b0a482f1c96fb2ff449375d7
4
- data.tar.gz: f75488ae0b17adcb07b2e8aebc3b463fac2ee8d4
3
+ metadata.gz: 644c6163b7f04341f59f666dc563e29032e6143b
4
+ data.tar.gz: acc35d375a889a6a05c7e4d459504fca58ff1210
5
5
  SHA512:
6
- metadata.gz: 67b20f4223c30f49ae1285548d5bf05006e69f1fac2be4a057f8bb55ad571856dfa19421ab3e4f8ad5d868c746c2c036dac638703c028bc9c1423cff55482643
7
- data.tar.gz: 0ea65a206b4016dc85e6f52530a72831a58c8b7ba9ce9294447d8cbb77b3b73d5989f7e10325fab0125c737390e7b811024f654f0ab238ae81e71d5dfa80d4c2
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/emk/rdf-agraph/master/frames) (extension)
306
- * [RDF::Mongo](http://rubydoc.info/github/pius/rdf-mongo/master/frames) (extension)
307
- * [RDF::DataObjects](http://rubydoc.info/github/ruby-rdf/rdf-do/frames) (extension)
308
- * [RDF::Sesame](http://rdf.rubyforge.org/sesame/) (extension)
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/frames) (extension)
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.7
1
+ 1.1.8
@@ -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 = case term.type.to_s
155
- when /Class/ then :class
156
- when /Property/ then :property
157
- when /Datatype/ then :datatype
158
- else :other
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
@@ -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.new("http://rubygems.org/")
19
+ # graph = RDF::Graph.load("http://ruby-rdf.github.io/rdf/etc/doap.nt")
20
20
  #
21
- # @example Loading graph data from a URL (1)
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.github.com/ruby-rdf/rdf-trig/master/etc/doap.trig")
36
- # graph = RDF::Graph.new(:data => repository, :context => RDF::URI("http://greggkellogg.net/foaf#me"))
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
@@ -219,7 +219,7 @@ module RDF
219
219
  # @param [Object] other
220
220
  # @return [Boolean]
221
221
  def ==(other)
222
- to_a == other.to_a
222
+ to_a == Array(other)
223
223
  end
224
224
 
225
225
  ##
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://rdf.rubyforge.org/")
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', :host => 'rdf.rubyforge.org', :path => '/')
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://rdf.rubyforge.org/")
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://rdf.rubyforge.org/"
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
@@ -140,7 +140,7 @@ module RDF
140
140
  #
141
141
  # @example
142
142
  # repository.transaction do |tx|
143
- # tx.insert [RDF::URI("http://rdf.rubyforge.org/"), RDF::DC.title, "RDF.rb"]
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 [IO, RemoteDocument, Object] A {RemoteDocument} or `IO` for local files. If a block is given, the result of evaluating the block is returned.
51
- # @yield [IO, RemoteDocument] A {RemoteDocument} or `IO` for local files
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
- if block_given?
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
- # Open as a file, passing any options
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' => 'describedby)
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) == :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