├── .coveralls.yml ├── .github └── workflows │ ├── ci.yml │ └── generate-docs.yml ├── .gitignore ├── .yardopts ├── CONTRIBUTING.md ├── Gemfile ├── LICENSE ├── README.md ├── Rakefile ├── VERSION ├── dependencyci.yml ├── etc ├── as.ttl ├── bibo.ttl ├── cc.ttl ├── crm.rdf ├── data-vocab.ttl ├── doap.ttl ├── dwcterms.rdf ├── iana-metadata.json ├── iana.ttl ├── rdf.data-vocab.ttl ├── template.erb └── template.haml ├── examples ├── load-test.html └── load-test.rb ├── lib └── rdf │ ├── vocab.rb │ └── vocab │ ├── acl.rb │ ├── as.rb │ ├── bf2.rb │ ├── bibframe.rb │ ├── bibo.rb │ ├── cc.rb │ ├── cert.rb │ ├── cnt.rb │ ├── crm.rb │ ├── datacite.rb │ ├── dbo.rb │ ├── dc.rb │ ├── dc11.rb │ ├── dcat.rb │ ├── dcmitype.rb │ ├── disco.rb │ ├── doap.rb │ ├── dwc.rb │ ├── earl.rb │ ├── ebucore.rb │ ├── edm.rb │ ├── exif.rb │ ├── extensions.rb │ ├── fcrepo4.rb │ ├── foaf.rb │ ├── geo.rb │ ├── geojson.rb │ ├── geonames.rb │ ├── gr.rb │ ├── gs1.rb │ ├── ht.rb │ ├── hydra.rb │ ├── iana.rb │ ├── ical.rb │ ├── identifiers.rb │ ├── iiif.rb │ ├── jsonld.rb │ ├── ldp.rb │ ├── lrmi.rb │ ├── ma.rb │ ├── mads.rb │ ├── marcrelators.rb │ ├── mo.rb │ ├── mods.rb │ ├── nfo.rb │ ├── oa.rb │ ├── og.rb │ ├── ogc.rb │ ├── ore.rb │ ├── org.rb │ ├── pcdm.rb │ ├── pplan.rb │ ├── premis.rb │ ├── premiseventtype.rb │ ├── prov.rb │ ├── ptr.rb │ ├── rdau.rb │ ├── rightsstatements.rb │ ├── rsa.rb │ ├── rss.rb │ ├── schema.rb │ ├── schemas.rb │ ├── sd.rb │ ├── sh.rb │ ├── sioc.rb │ ├── siocservices.rb │ ├── sioctypes.rb │ ├── skos.rb │ ├── skosxl.rb │ ├── v.rb │ ├── vcard.rb │ ├── version.rb │ ├── vmd.rb │ ├── void.rb │ ├── vs.rb │ ├── wdrs.rb │ ├── wot.rb │ ├── xhtml.rb │ ├── xhv.rb │ └── xkos.rb ├── rdf-vocab.gemspec └── spec ├── extensions_spec.rb ├── matchers.rb ├── spec_helper.rb └── vocab_spec.rb /.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: zI9EF2MPB9OjIZXOqB8T0GmgTKMoshAZJ 2 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | # This workflow runs continuous CI across different versions of ruby on all branches and pull requests to develop. 2 | 3 | name: CI 4 | on: 5 | push: 6 | branches: [ '**' ] 7 | pull_request: 8 | branches: [ develop ] 9 | workflow_dispatch: 10 | 11 | jobs: 12 | tests: 13 | name: Ruby ${{ matrix.ruby }} 14 | if: "contains(github.event.commits[0].message, '[ci skip]') == false" 15 | runs-on: ubuntu-latest 16 | env: 17 | CI: true 18 | ALLOW_FAILURES: ${{ endsWith(matrix.ruby, 'head') }} 19 | strategy: 20 | fail-fast: false 21 | matrix: 22 | ruby: ['3.0', 3.1, 3.2, 3.3, ruby-head, jruby] 23 | steps: 24 | - name: Clone repository 25 | uses: actions/checkout@v3 26 | - name: Set up Ruby 27 | uses: ruby/setup-ruby@v1 28 | with: 29 | ruby-version: ${{ matrix.ruby }} 30 | - name: Install dependencies 31 | run: bundle install --jobs 4 --retry 3 32 | - name: Run tests 33 | run: ruby --version; bundle exec rspec spec || $ALLOW_FAILURES 34 | - name: Coveralls GitHub Action 35 | uses: coverallsapp/github-action@v2 36 | if: "matrix.ruby == '3.2'" 37 | with: 38 | github-token: ${{ secrets.GITHUB_TOKEN }} 39 | 40 | -------------------------------------------------------------------------------- /.github/workflows/generate-docs.yml: -------------------------------------------------------------------------------- 1 | name: Build & deploy documentation 2 | on: 3 | push: 4 | branches: 5 | - master 6 | workflow_dispatch: 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | name: Update gh-pages with docs 11 | steps: 12 | - name: Clone repository 13 | uses: actions/checkout@v3 14 | - name: Set up Ruby 15 | uses: ruby/setup-ruby@v1 16 | with: 17 | ruby-version: "3.1" 18 | - name: Install required gem dependencies 19 | run: gem install yard --no-document 20 | - name: Build YARD Ruby Documentation 21 | run: yardoc 22 | - name: Deploy 23 | uses: peaceiris/actions-gh-pages@v3 24 | with: 25 | github_token: ${{ secrets.GITHUB_TOKEN }} 26 | publish_dir: ./doc/yard 27 | publish_branch: gh-pages 28 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | *.rbc 3 | .byebug_history 4 | /.config 5 | /coverage/ 6 | /InstalledFiles 7 | /pkg/ 8 | /spec/reports/ 9 | /test/tmp/ 10 | /test/version_tmp/ 11 | /tmp/ 12 | 13 | ## Specific to RubyMotion: 14 | .dat* 15 | .repl_history 16 | build/ 17 | 18 | ## Documentation cache and generated files: 19 | /.yardoc/ 20 | /_yardoc/ 21 | /doc/ 22 | /rdoc/ 23 | 24 | ## Environment normalisation: 25 | /.bundle/ 26 | /lib/bundler/man/ 27 | 28 | # for a library or gem, you might want to ignore these files since the code is 29 | # intended to run in multiple environments; otherwise, check them in: 30 | Gemfile.lock 31 | # .ruby-version 32 | # .ruby-gemset 33 | 34 | # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: 35 | .rvmrc 36 | /.byebug_history 37 | -------------------------------------------------------------------------------- /.yardopts: -------------------------------------------------------------------------------- 1 | --title "A library of RDF vocabularies for RDF.rb" 2 | --output-dir doc/yard 3 | --protected 4 | --no-private 5 | --hide-void-return 6 | --markup markdown 7 | --readme README.md 8 | - 9 | VERSION 10 | LICENSE 11 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How to contribute 2 | 3 | Community contributions are essential for keeping Ruby RDF great. We want to keep it as easy as possible to contribute changes that get things working in your environment. There are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things. 4 | 5 | ## Development 6 | 7 | This repository uses [Git Flow](https://github.com/nvie/gitflow) to manage development and release activity. All submissions _must_ be on a feature branch based on the _develop_ branch to ease staging and integration. 8 | 9 | * create or respond to an issue on the [Github Repository](https://github.com/ruby-rdf/rdf-vocab/issues) 10 | * Fork and clone the repo: 11 | `git clone git@github.com:your-username/rdf-vocab.git` 12 | * Install bundle: 13 | `bundle install` 14 | * Create tests in RSpec and make sure you achieve at least 90% code coverage for the feature your adding or behavior being modified. 15 | * Push to your fork and [submit a pull request][pr]. 16 | 17 | ## Do's and Dont's 18 | * Do your best to adhere to the existing coding conventions and idioms. 19 | * Don't use hard tabs, and don't leave trailing whitespace on any line. 20 | Before committing, run `git diff --check` to make sure of this. 21 | * Do document every method you add using [YARD][] annotations. Read the 22 | [tutorial][YARD-GS] or just look at the existing code for examples. 23 | * Don't touch the `.gemspec` or `VERSION` files. If you need to change them, 24 | do so on your private branch only. 25 | * Do feel free to add yourself to the `CREDITS` file and the 26 | corresponding list in the the `README`. Alphabetical order applies. 27 | * Don't touch the `AUTHORS` file. If your contributions are significant 28 | enough, be assured we will eventually add you in there. 29 | * Do note that in order for us to merge any non-trivial changes (as a rule 30 | of thumb, additions larger than about 15 lines of code), we need an 31 | explicit [public domain dedication][PDD] on record from you, 32 | which you will be asked to agree to on the first commit to a repo within the organization. 33 | Note that the agreement applies to all repos in the [Ruby RDF](https://github.com/ruby-rdf/) organization. 34 | 35 | [YARD]: https://yardoc.org/ 36 | [YARD-GS]: https://rubydoc.info/docs/yard/file/docs/GettingStarted.md 37 | [PDD]: https://unlicense.org/#unlicensing-contributions 38 | [pr]: https://github.com/ruby-rdf/rdf-vocab/compare/ 39 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gemspec 4 | 5 | gem 'ld-patch', 6 | git: 'https://github.com/ruby-rdf/ld-patch.git', 7 | branch: 'develop' 8 | 9 | gem 'rdf', 10 | git: 'https://github.com/ruby-rdf/rdf.git', 11 | branch: 'develop' 12 | 13 | group :development, :test do 14 | gem 'ebnf', git: 'https://github.com/dryruby/ebnf.git', branch: 'develop' 15 | gem 'json-ld', git: 'https://github.com/ruby-rdf/json-ld.git', branch: 'develop' 16 | gem 'rdf-aggregate-repo', git: 'https://github.com/ruby-rdf/rdf-aggregate-repo.git', branch: 'develop' 17 | gem 'rdf-isomorphic', git: 'https://github.com/ruby-rdf/rdf-isomorphic.git', branch: 'develop' 18 | gem 'rdf-ordered-repo', git: 'https://github.com/ruby-rdf/rdf-ordered-repo.git', branch: 'develop' 19 | gem 'rdf-rdfa', git: 'https://github.com/ruby-rdf/rdf-rdfa.git', branch: 'develop' 20 | gem 'rdf-rdfxml', git: 'https://github.com/ruby-rdf/rdf-rdfxml.git', branch: 'develop' 21 | gem 'rdf-reasoner', git: 'https://github.com/ruby-rdf/rdf-reasoner.git', branch: 'develop' 22 | gem 'rdf-spec', git: 'https://github.com/ruby-rdf/rdf-spec.git', branch: 'develop' 23 | gem 'rdf-turtle', git: 'https://github.com/ruby-rdf/rdf-turtle.git', branch: 'develop' 24 | gem 'rdf-xsd', git: 'https://github.com/ruby-rdf/rdf-xsd.git', branch: 'develop' 25 | gem 'ruby-prof', platform: :mri 26 | gem 'sparql', git: 'https://github.com/ruby-rdf/sparql.git', branch: 'develop' 27 | gem 'sparql-client', git: 'https://github.com/ruby-rdf/sparql-client.git', branch: 'develop' 28 | gem 'sxp', git: 'https://github.com/dryruby/sxp.rb.git', branch: 'develop' 29 | #gem 'linkeddata', git: 'https://github.com/ruby-rdf/linkeddata.git', branch: 'develop' 30 | 31 | gem 'simplecov', '~> 0.22', platforms: :mri 32 | gem 'simplecov-lcov', '~> 0.8', platforms: :mri 33 | end 34 | 35 | group :debug do 36 | gem 'byebug', platform: :mri 37 | end 38 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | 26 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), 'lib'))) 3 | require 'rdf' 4 | require 'rdf/vocab' 5 | require 'json' 6 | require 'uri' 7 | begin 8 | require 'linkeddata' 9 | rescue LoadError 10 | end 11 | require 'rake/testtask' 12 | 13 | namespace :gem do 14 | desc "Build the rdf-vocab-#{RDF::Vocab::VERSION}.gem file" 15 | task :build do 16 | sh "gem build rdf-vocab.gemspec && mv rdf-vocab-#{RDF::Vocab::VERSION}.gem pkg/" 17 | end 18 | 19 | desc "Release the rdf-vocab-#{RDF::Vocab::VERSION}.gem file" 20 | task :release do 21 | sh "gem push pkg/rdf-vocab-#{RDF::Vocab::VERSION}.gem" 22 | end 23 | end 24 | 25 | desc 'Default: run specs.' 26 | task :default => :spec 27 | task :specs => :spec 28 | 29 | require 'rspec/core/rake_task' 30 | desc 'Run specifications' 31 | RSpec::Core::RakeTask.new do |spec| 32 | spec.rspec_opts = %w(--options spec/spec.opts) if File.exists?('spec/spec.opts') 33 | end 34 | 35 | desc "Run specifications for continuous integration" 36 | RSpec::Core::RakeTask.new("spec:ci") do |spec| 37 | spec.rspec_opts = %w(--options spec/spec.opts) if File.exists?('spec/spec.opts') 38 | end 39 | 40 | desc "Generate Vocabularies" 41 | task :gen_vocabs => RDF::Vocab::VOCABS.select{|k, v| !v[:alias]}.keys.map {|v| "lib/rdf/vocab/#{v}.rb"} 42 | 43 | RDF::Vocab::VOCABS.each do |id, v| 44 | next if v[:alias] || v[:skip] 45 | file "lib/rdf/vocab/#{id}.rb" => :do_build do 46 | puts "Generate lib/rdf/vocab/#{id}.rb" 47 | touch "lib/rdf/vocab/#{id}.rb" 48 | cmd = "bundle exec rdf" 49 | if v[:patch] 50 | File.open("lib/rdf/vocab/#{id}.rb_p", "w") {|f| f.write v[:patch]} 51 | cmd += " patch --patch-file lib/rdf/vocab/#{id}.rb_p" 52 | end 53 | cmd += " serialize --uri '#{v[:uri]}' --output-format vocabulary --ordered" 54 | cmd += " --module-name #{v.fetch(:module_name, "RDF::Vocab")}" 55 | cmd += " --class-name #{v[:class_name] ? v[:class_name] : id.to_s.upcase}" 56 | cmd += " --strict" if v.fetch(:strict, true) 57 | cmd += " --noDoc" 58 | cmd += " --extra #{URI.encode_www_form_component v[:extra].to_json}" if v[:extra] 59 | cmd += " -o lib/rdf/vocab/#{id}.rb_t" 60 | cmd += " '" + v.fetch(:source, v[:uri]) + "'" 61 | puts " #{cmd}" 62 | begin 63 | %x{#{cmd} && ruby -pe 'gsub(/\r/,"")' lib/rdf/vocab/#{id}.rb_t > lib/rdf/vocab/#{id}.rb} 64 | rescue 65 | puts "Failed to load #{id}: #{$!.message}" 66 | ensure 67 | rm_f ["lib/rdf/vocab/#{id}.rb_t", "lib/rdf/vocab/#{id}.rb_p"] 68 | end 69 | end 70 | end 71 | 72 | # Build etc/iana.ttl from etc/iana-metadata.json using the following: 73 | # rdf-tabular/script/parse etc/iana-metadata.json --minimal --format ttl -o etc/iana.ttl 74 | 75 | task :do_build 76 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 3.3.2 2 | -------------------------------------------------------------------------------- /dependencyci.yml: -------------------------------------------------------------------------------- 1 | platform: 2 | Rubygems: 3 | rdf-isomorphic: 4 | tests: 5 | unmaintained: skip -------------------------------------------------------------------------------- /etc/cc.ttl: -------------------------------------------------------------------------------- 1 | @prefix cc: . 2 | @prefix dc: . 3 | @prefix owl: . 4 | @prefix rdf: . 5 | @prefix rdfs: . 6 | @prefix xhv: . 7 | 8 | a rdfs:Class; 9 | rdfs:label "Jurisdiction"@en-us; 10 | rdfs:comment """the legal jurisdiction 11 | of a license"""@en-us . 12 | 13 | a rdfs:Class; 14 | rdfs:label "License"@en-us; 15 | rdfs:comment """a set of 16 | requests/permissions to users of a Work, e.g. a 17 | copyright license, the public domain, information 18 | for distributors"""@en-us; 19 | rdfs:subClassOf dc:LicenseDocument . 20 | 21 | a rdfs:Class; 22 | rdfs:label "Permission"@en-us; 23 | rdfs:comment """an action that may or 24 | may not be allowed or desired"""@en-us . 25 | 26 | a rdfs:Class; 27 | rdfs:label "Prohibition"@en-us; 28 | rdfs:comment """something you may be 29 | asked not to do"""@en-us . 30 | 31 | a rdfs:Class; 32 | rdfs:label "Requirement"@en-us; 33 | rdfs:comment """an action that may or 34 | may not be requested of you"""@en-us . 35 | 36 | a rdfs:Class; 37 | rdfs:label "Work"@en-us; 38 | rdfs:comment """a potentially 39 | copyrightable work"""@en-us . 40 | 41 | owl:equivalentClass . 42 | 43 | owl:equivalentClass . 44 | 45 | owl:equivalentClass . 46 | 47 | owl:equivalentClass . 48 | 49 | owl:equivalentClass . 50 | 51 | owl:equivalentClass . 52 | 53 | owl:equivalentClass . 54 | 55 | owl:equivalentClass . 56 | 57 | owl:equivalentClass . 58 | 59 | owl:equivalentClass . 60 | 61 | owl:equivalentClass . 62 | 63 | owl:equivalentClass . 64 | 65 | owl:equivalentClass . 66 | 67 | owl:equivalentProperty . 68 | 69 | owl:equivalentProperty . 70 | 71 | owl:equivalentProperty . 72 | 73 | owl:equivalentProperty . 74 | 75 | xhv:license ; 76 | xhv:stylesheet . 77 | 78 | a cc:Requirement; 79 | rdfs:label "Copyleft"@en-us; 80 | rdfs:comment """derivative and 81 | combined works must be licensed under specified 82 | terms, similar to those on the original 83 | work"""@en-us . 84 | 85 | a cc:Prohibition; 86 | rdfs:label "High Income Nation Use"@en-us; 87 | rdfs:comment """use in a 88 | non-developing country"""@en-us . 89 | 90 | a cc:Requirement; 91 | rdfs:label "Lesser Copyleft"@en-us; 92 | rdfs:comment """derivative works must 93 | be licensed under specified terms, with at least 94 | the same conditions as the original work; 95 | combinations with the work may be licensed under 96 | different terms"""@en-us . 97 | 98 | a cc:Permission; 99 | rdfs:label "Sharing"@en-us; 100 | rdfs:comment """permits commercial 101 | derivatives, but only non-commercial 102 | distribution"""@en-us . 103 | 104 | a rdf:Property; 105 | rdfs:domain ; 106 | rdfs:range rdfs:Literal . 107 | 108 | a rdf:Property; 109 | rdfs:domain ; 110 | rdfs:range . 111 | 112 | a rdf:Property; 113 | rdfs:label """deprecated 114 | on"""@en-us; 115 | rdfs:domain ; 116 | rdfs:range . 117 | 118 | a rdf:Property; 119 | rdfs:label "jurisdiction"@en-us; 120 | rdfs:domain ; 121 | rdfs:range . 122 | 123 | a rdf:Property; 124 | rdfs:domain ; 125 | rdfs:range . 126 | 127 | a rdf:Property; 128 | rdfs:domain ; 129 | rdfs:range rdfs:Resource; 130 | rdfs:subPropertyOf dc:relation . 131 | 132 | a rdf:Property; 133 | rdfs:domain ; 134 | rdfs:range rdfs:Resource; 135 | rdfs:subPropertyOf dc:relation . 136 | 137 | a cc:Requirement; 138 | rdfs:label "Attribution"@en-us; 139 | rdfs:comment """credit be given to 140 | copyright holder and/or author"""@en-us . 141 | 142 | a cc:Prohibition; 143 | rdfs:label "Commercial Use"@en-us; 144 | rdfs:comment """exercising rights for 145 | commercial purposes"""@en-us . 146 | 147 | a cc:Permission; 148 | rdfs:label "Derivative Works"@en-us; 149 | rdfs:comment """distribution of 150 | derivative works"""@en-us . 151 | 152 | a cc:Permission; 153 | rdfs:label "Distribution"@en-us; 154 | rdfs:comment """distribution, public 155 | display, and publicly performance"""@en-us . 156 | 157 | a cc:Requirement; 158 | rdfs:label "Notice"@en-us; 159 | rdfs:comment """copyright and license 160 | notices be kept intact"""@en-us . 161 | 162 | a cc:Permission; 163 | rdfs:label "Reproduction"@en-us; 164 | rdfs:comment """making multiple 165 | copies"""@en-us . 166 | 167 | a cc:Requirement; 168 | rdfs:label "Share Alike"@en-us; 169 | rdfs:comment """derivative works be 170 | licensed under the same terms or compatible terms 171 | as the original work"""@en-us . 172 | 173 | a cc:Requirement; 174 | rdfs:label "Source Code"@en-us; 175 | rdfs:comment """source code (the 176 | preferred form for making modifications) must be 177 | provided when exercising some rights granted by 178 | the license."""@en-us . 179 | 180 | a rdf:Property; 181 | rdfs:label """has 182 | license"""@en-us; 183 | rdfs:domain ; 184 | rdfs:range ; 185 | rdfs:subPropertyOf ; 186 | owl:sameAs . 187 | 188 | a rdf:Property; 189 | rdfs:label "permits"@en-us; 190 | rdfs:domain ; 191 | rdfs:range . 192 | 193 | a rdf:Property; 194 | rdfs:label "prohibits"@en-us; 195 | rdfs:domain ; 196 | rdfs:range . 197 | 198 | a rdf:Property; 199 | rdfs:label "requires"@en-us; 200 | rdfs:domain ; 201 | rdfs:range . 202 | -------------------------------------------------------------------------------- /etc/data-vocab.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdf: . 2 | @prefix rdfs: . 3 | @prefix owl: . 4 | @prefix vmd: . 5 | @prefix xsd: . 6 | 7 | vmd:Address a rdfs:Class; 8 | rdfs:comment "Postal address for a Person or Organization." . 9 | 10 | vmd:Breadcrumb a rdfs:Class, owl:Class; 11 | rdfs:comment """Represents a single Breadcrumb in a Breadcrumb trail.""" . 12 | 13 | vmd:Offer a rdfs:Class, owl:Class; 14 | rdfs:comment "Represents an offer to sell a product." . 15 | 16 | vmd:OfferAggregate a rdfs:Class, owl:Class; 17 | rdfs:comment """Represents a collection of offers to sell a product.""" . 18 | 19 | vmd:Organization a rdfs:Class, owl:Class; 20 | rdfs:comment "An Organization is a business, agency, school, etc." . 21 | 22 | vmd:Person a rdfs:Class, owl:Class; 23 | rdfs:comment "Represents a Person, living/dead/fictional." . 24 | 25 | vmd:Product a rdfs:Class, owl:Class; 26 | rdfs:comment "Represents a product or service in a Review or Review-aggregate." . 27 | 28 | vmd:Rating a rdfs:Class, owl:Class; 29 | rdfs:comment "Represents a rating in a Review or Review-aggregate." . 30 | 31 | vmd:Recipe a rdfs:Class, owl:Class; 32 | rdfs:comment "A single instance of a Recipe." . 33 | 34 | vmd:Review a rdfs:Class, owl:Class; 35 | rdfs:comment "A single instance of a Review." . 36 | 37 | vmd:Review-aggregate a rdfs:Class; 38 | rdfs:comment """Represents data from a collection of reviews. 39 | Can be used whether or not there is instance-level Review data on the page. 40 | """; 41 | rdfs:subClassOf vmd:Review . 42 | 43 | vmd:RecipeIngredient a rdfs:Class; 44 | rdfs:comment "Represents ingredients used in a recipe." . 45 | 46 | vmd:ingredient a rdf:Property; 47 | rdfs:comment "Represents ingredients used in a recipe."; 48 | rdfs:domain vmd:Recipe; 49 | rdfs:range vmd:RecipeIngredient . 50 | 51 | vmd:Instructions a rdfs:Class; 52 | rdfs:comment "Represents the steps to make a dish." . 53 | 54 | vmd:instructions a rdf:Property; 55 | rdfs:comment "Represents the steps to make a dish."; 56 | rdfs:domain vmd:Recipe; 57 | rdfs:range vmd:Instructions . 58 | 59 | vmd:Nutrition a rdfs:Class; 60 | rdfs:comment "Represents the nutrition information about a recipe." . 61 | 62 | vmd:nutrition a rdf:Property; 63 | rdfs:comment "Represents the nutrition information about a recipe."; 64 | rdfs:domain vmd:Recipe; 65 | rdfs:range vmd:Nutrition . 66 | 67 | vmd:TimeRange a rdfs:Class, owl:Class;; 68 | rdfs:comment "Represents the length of time it takes to prepare a recipe." . 69 | 70 | vmd:timeRange a rdf:Property; 71 | rdfs:comment "Represents the length of time it takes to prepare a recipe."; 72 | rdfs:domain vmd:Recipe; 73 | rdfs:range vmd:TimeRange . 74 | 75 | vmd:acquaintance a rdf:Property; 76 | rdfs:domain vmd:Person . 77 | 78 | vmd:address a rdf:Property; 79 | rdfs:domain [ 80 | a owl:Class; 81 | owl:unionOf (vmd:Person vmd:Organization) 82 | ]; 83 | rdfs:range vmd:Address . 84 | 85 | vmd:affiliation a rdf:Property; 86 | rdfs:comment "An affiliation can be specified by a string literal or an Organization instance."; 87 | rdfs:domain vmd:Person; 88 | rdfs:range [ 89 | a owl:Class; 90 | owl:unionOf (vmd:Organization xsd:string) 91 | ] . 92 | 93 | vmd:amount a rdf:Property; 94 | rdfs:domain vmd:RecipeIngredient . 95 | 96 | vmd:author a rdf:Property; 97 | rdfs:comment "An author of the recipe can be specified by a string literal or a Person instance."; 98 | rdfs:domain vmd:Recipe; 99 | rdfs:range [ 100 | a owl:Class; 101 | owl:unionOf (vmd:Person xsd:string) 102 | ] . 103 | 104 | vmd:availability a rdf:Property; 105 | rdfs:domain vmd:Offer . 106 | 107 | vmd:average a rdf:Property; 108 | rdfs:comment "The average of an aggregate value."; 109 | rdfs:domain vmd:Rating . 110 | 111 | vmd:best a rdf:Property; 112 | rdfs:comment "The best value of a rating scale (default 5)."; 113 | rdfs:domain vmd:Rating . 114 | 115 | vmd:brand a rdf:Property; 116 | rdfs:domain vmd:Product . 117 | 118 | vmd:calories a rdf:Property; 119 | rdfs:domain vmd:Nutrition . 120 | 121 | vmd:carbohydrates a rdf:Property; 122 | rdfs:domain vmd:Nutrition . 123 | 124 | vmd:category a rdf:Property; 125 | rdfs:domain [ 126 | a owl:Class; 127 | owl:unionOf (vmd:Organization vmd:Product) 128 | ] . 129 | 130 | vmd:child a rdf:Property; 131 | rdfs:domain vmd:Breadcrumb . 132 | 133 | vmd:cholesterol a rdf:Property; 134 | rdfs:domain vmd:Nutrition . 135 | 136 | vmd:colleague a rdf:Property; 137 | rdfs:domain vmd:Person . 138 | 139 | vmd:condition a rdf:Property; 140 | rdfs:domain [ 141 | a owl:Class; 142 | owl:unionOf (vmd:Offer vmd:OfferAggregate) 143 | ] . 144 | 145 | vmd:contact a rdf:Property; 146 | rdfs:domain vmd:Person . 147 | 148 | vmd:cookTime a rdf:Property; 149 | rdfs:domain vmd:Recipe; 150 | rdfs:range [ 151 | a owl:Class; 152 | owl:unionOf (vmd:TimeRange xsd:string) 153 | ] . 154 | 155 | vmd:count a rdf:Property; 156 | rdfs:comment "The total number of items used in an aggregate (e.g., number of reviews)."; 157 | rdfs:domain vmd:Review-aggregate . 158 | 159 | vmd:country-name a rdf:Property; 160 | rdfs:domain vmd:Address . 161 | 162 | vmd:currency a rdf:Property; 163 | rdfs:domain [ 164 | a owl:Class; 165 | owl:unionOf (vmd:Offer vmd:OfferAggregate) 166 | ] . 167 | 168 | vmd:description a rdf:Property; 169 | rdfs:domain [ 170 | a owl:Class; 171 | owl:unionOf (vmd:Review vmd:Product) 172 | ] . 173 | 174 | vmd:dtreviewed a rdf:Property; 175 | rdfs:comment "The date of the review."; 176 | rdfs:domain vmd:Review . 177 | 178 | vmd:duration a rdf:Property; 179 | rdfs:domain vmd:Recipe; 180 | rdfs:range [ 181 | a owl:Class; 182 | owl:unionOf (vmd:TimeRange xsd:string) 183 | ] . 184 | 185 | vmd:fat a rdf:Property; 186 | rdfs:domain vmd:Nutrition . 187 | 188 | vmd:fiber a rdf:Property; 189 | rdfs:domain vmd:Nutrition . 190 | 191 | vmd:friend a rdf:Property; 192 | rdfs:domain vmd:Person . 193 | 194 | vmd:highprice a rdf:Property; 195 | rdfs:domain vmd:OfferAggregate . 196 | 197 | vmd:identifier a rdf:Property; 198 | rdfs:domain [ 199 | a owl:Class; 200 | owl:unionOf (vmd:Product vmd:Offer) 201 | ] . 202 | 203 | vmd:image a rdf:Property; 204 | rdfs:domain vmd:Product . 205 | 206 | vmd:instruction a rdf:Property; 207 | rdfs:domain vmd:Instructions . 208 | 209 | vmd:itemoffered a rdf:Property; 210 | rdfs:domain [ 211 | a owl:Class; 212 | owl:unionOf (vmd:Offer vmd:OfferAggregate) 213 | ] . 214 | 215 | vmd:itemreviewed a rdf:Property; 216 | rdfs:domain vmd:Review . 217 | 218 | vmd:locality a rdf:Property; 219 | rdfs:domain vmd:Address . 220 | 221 | vmd:lowprice a rdf:Property; 222 | rdfs:domain vmd:OfferAggregate . 223 | 224 | vmd:max a rdf:Property; 225 | rdfs:comment "The maximum value of an aggregated Rating."; 226 | rdfs:domain [ 227 | a owl:Class; 228 | owl:unionOf (vmd:Rating vmd:TimeRange) 229 | ] . 230 | 231 | vmd:min a rdf:Property; 232 | rdfs:comment "The minimum value of an aggregated Rating."; 233 | rdfs:domain [ 234 | a owl:Class; 235 | owl:unionOf (vmd:Rating vmd:TimeRange) 236 | ] . 237 | 238 | vmd:name a rdf:Property . 239 | 240 | vmd:nickname a rdf:Property; 241 | rdfs:domain vmd:Person . 242 | 243 | vmd:offercount a rdf:Property; 244 | rdfs:domain vmd:OfferAggregate . 245 | 246 | vmd:offerdetails a rdf:Property; 247 | rdfs:domain vmd:Product . 248 | 249 | vmd:offerurl a rdf:Property; 250 | rdfs:domain [ 251 | a owl:Class; 252 | owl:unionOf (vmd:Offer vmd:OfferAggregate) 253 | ] . 254 | 255 | vmd:photo a rdf:Property . 256 | 257 | vmd:postal-code a rdf:Property; 258 | rdfs:domain vmd:Address . 259 | 260 | vmd:prepTime a rdf:Property; 261 | rdfs:domain vmd:Recipe; 262 | rdfs:range [ 263 | a owl:Class; 264 | owl:unionOf (vmd:TimeRange xsd:string) 265 | ] . 266 | 267 | vmd:price a rdf:Property; 268 | rdfs:domain vmd:Offer . 269 | 270 | vmd:pricerange a rdf:Property; 271 | rdfs:comment """The price range of products and services offered 272 | by a restaurant, business or other organization. 273 | """; 274 | rdfs:domain vmd:Organization . 275 | 276 | vmd:pricevaliduntil a rdf:Property; 277 | rdfs:domain vmd:Offer . 278 | 279 | vmd:protein a rdf:Property; 280 | rdfs:domain vmd:Nutrition . 281 | 282 | vmd:published a rdf:Property; 283 | rdfs:domain vmd:Recipe . 284 | 285 | vmd:quantity a rdf:Property; 286 | rdfs:domain vmd:Offer . 287 | 288 | vmd:rating a rdf:Property; 289 | rdfs:comment "A rating can be specified by a string literal or a Rating instance."; 290 | rdfs:domain vmd:Review; 291 | rdfs:range [ 292 | a owl:Class; 293 | owl:unionOf (vmd:Rating xsd:string) 294 | ] . 295 | 296 | vmd:recipeType a rdf:Property; 297 | rdfs:domain vmd:Recipe . 298 | 299 | vmd:region a rdf:Property; 300 | rdfs:domain vmd:Address . 301 | 302 | vmd:reviewer a rdf:Property; 303 | rdfs:comment "A reviewer can be specified by a string literal or a Person instance."; 304 | rdfs:domain vmd:Review; 305 | rdfs:range [ 306 | a owl:Class; 307 | owl:unionOf (vmd:Person xsd:string) 308 | ] . 309 | 310 | vmd:role a rdf:Property; 311 | rdfs:domain vmd:Person . 312 | 313 | vmd:saturatedFat a rdf:Property; 314 | rdfs:domain vmd:Nutrition . 315 | 316 | vmd:seller a rdf:Property; 317 | rdfs:domain vmd:Offer . 318 | 319 | vmd:servingSize a rdf:Property; 320 | rdfs:domain vmd:Nutrition . 321 | 322 | vmd:street-address a rdf:Property; 323 | rdfs:domain vmd:Address . 324 | 325 | vmd:sugar a rdf:Property; 326 | rdfs:domain vmd:Nutrition . 327 | 328 | vmd:summary a rdf:Property; 329 | rdfs:domain [ 330 | a owl:Class; 331 | owl:unionOf (vmd:Review vmd:Recipe) 332 | ] . 333 | 334 | vmd:tag a rdf:Property; 335 | rdfs:domain vmd:Recipe . 336 | 337 | vmd:tel a rdf:Property; 338 | rdfs:domain [ 339 | a owl:Class; 340 | owl:unionOf (vmd:Person vmd:Organization) 341 | ] . 342 | 343 | vmd:title a rdf:Property; 344 | rdfs:domain [ 345 | a owl:Class; 346 | owl:unionOf (vmd:Person vmd:Breadcrumb) 347 | ] . 348 | 349 | vmd:totalTime a rdf:Property; 350 | rdfs:domain vmd:Recipe; 351 | rdfs:range [ 352 | a owl:Class; 353 | owl:unionOf (vmd:TimeRange xsd:string) 354 | ] . 355 | 356 | vmd:unsaturatedFat a rdf:Property; 357 | rdfs:domain vmd:Nutrition . 358 | 359 | vmd:url a rdf:Property; 360 | rdfs:domain [ 361 | a owl:Class; 362 | owl:unionOf (vmd:Person vmd:Organization vmd:Product vmd:Breadcrumb) 363 | ] . 364 | 365 | vmd:value a rdf:Property; 366 | rdfs:comment "The value of a single Rating."; 367 | rdfs:domain vmd:Rating . 368 | 369 | vmd:worst a rdf:Property; 370 | rdfs:comment "The poorest value of a rating scale (default 1)."; 371 | rdfs:domain vmd:Rating . 372 | 373 | vmd:yield a rdf:Property; 374 | rdfs:domain vmd:Recipe . 375 | -------------------------------------------------------------------------------- /etc/doap.ttl: -------------------------------------------------------------------------------- 1 | @base . 2 | @prefix rdf: . 3 | @prefix rdfs: . 4 | @prefix dc: . 5 | @prefix earl: . 6 | @prefix foaf: . 7 | @prefix doap: . 8 | @prefix xsd: . 9 | 10 | <> a doap:Project, earl:TestSubject, earl:Software ; 11 | doap:name "RDF::Vocab" ; 12 | doap:homepage ; 13 | doap:license ; 14 | doap:shortdesc "A library of RDF vocabularies for RDF.rb."@en ; 15 | doap:description "Defines several standard RDF vocabularies for the Ruby RDF.rb library suite."@en ; 16 | doap:created "2015-04-04"^^xsd:date ; 17 | doap:programming-language "Ruby" ; 18 | doap:category , 19 | ; 20 | doap:download-page <> ; 21 | doap:mailing-list ; 22 | doap:bug-database ; 23 | doap:blog ; 24 | doap:developer , 25 | [ a foaf:Person; foaf:name "David Chandek-Stark"], 26 | [ a foaf:Person; foaf:name "Aaron Coburn"]; 27 | doap:maintainer ; 28 | doap:documenter ; 29 | foaf:maker ; 30 | dc:title "RDF::Vocab" ; 31 | dc:description "Defines several standard RDF vocabularies"@en ; 32 | dc:date "2015-04-04"^^xsd:date ; 33 | dc:creator ; 34 | dc:isPartOf . 35 | -------------------------------------------------------------------------------- /etc/iana-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": ["http://www.w3.org/ns/csvw", {"@base": "http://www.iana.org/assignments/relation/"}], 3 | "url": "http://www.iana.org/assignments/link-relations/link-relations-1.csv", 4 | "tableSchema": { 5 | "aboutUrl": "{name}", 6 | "lang": "en", 7 | "columns": [ 8 | {"name": "name", "title": "Relation Name", "propertyUrl": "rdfs:label"}, 9 | {"name": "comment", "title": "Description", "propertyUrl": "rdfs:comment"}, 10 | {"name": "type", "title": "Reference", "propertyUrl": "rdf:type", "valueUrl": "rdf:Property"}, 11 | {"title": "Notes", "suppressOutput": true} 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /etc/rdf.data-vocab.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdf: . 2 | @prefix rdfs: . 3 | @prefix owl: . 4 | @prefix vmd: . 5 | @prefix xsd: . 6 | 7 | vmd:Address a rdfs:Class; 8 | rdfs:comment "Postal address for a Person or Organization." . 9 | 10 | vmd:Breadcrumb a rdfs:Class, owl:Class; 11 | rdfs:comment """Represents a single Breadcrumb in a Breadcrumb trail.""" . 12 | 13 | vmd:Offer a rdfs:Class, owl:Class; 14 | rdfs:comment "Represents an offer to sell a product." . 15 | 16 | vmd:OfferAggregate a rdfs:Class, owl:Class; 17 | rdfs:comment """Represents a collection of offers to sell a product.""" . 18 | 19 | vmd:Organization a rdfs:Class, owl:Class; 20 | rdfs:comment "An Organization is a business, agency, school, etc." . 21 | 22 | vmd:Person a rdfs:Class, owl:Class; 23 | rdfs:comment "Represents a Person, living/dead/fictional." . 24 | 25 | vmd:Product a rdfs:Class, owl:Class; 26 | rdfs:comment "Represents a product or service in a Review or Review-aggregate." . 27 | 28 | vmd:Rating a rdfs:Class, owl:Class; 29 | rdfs:comment "Represents a rating in a Review or Review-aggregate." . 30 | 31 | vmd:Recipe a rdfs:Class, owl:Class; 32 | rdfs:comment "A single instance of a Recipe." . 33 | 34 | vmd:Review a rdfs:Class, owl:Class; 35 | rdfs:comment "A single instance of a Review." . 36 | 37 | vmd:Review-aggregate a rdfs:Class; 38 | rdfs:comment """Represents data from a collection of reviews. 39 | Can be used whether or not there is instance-level Review data on the page. 40 | """; 41 | rdfs:subClassOf vmd:Review . 42 | 43 | vmd:RecipeIngredient a rdfs:Class; 44 | rdfs:comment "Represents ingredients used in a recipe." . 45 | 46 | vmd:ingredient a rdf:Property; 47 | rdfs:comment "Represents ingredients used in a recipe."; 48 | rdfs:domain vmd:Recipe; 49 | rdfs:range vmd:RecipeIngredient . 50 | 51 | vmd:Instructions a rdfs:Class; 52 | rdfs:comment "Represents the steps to make a dish." . 53 | 54 | vmd:instructions a rdf:Property; 55 | rdfs:comment "Represents the steps to make a dish."; 56 | rdfs:domain vmd:Recipe; 57 | rdfs:range vmd:Instructions . 58 | 59 | vmd:Nutrition a rdfs:Class; 60 | rdfs:comment "Represents the nutrition information about a recipe." . 61 | 62 | vmd:nutrition a rdf:Property; 63 | rdfs:comment "Represents the nutrition information about a recipe."; 64 | rdfs:domain vmd:Recipe; 65 | rdfs:range vmd:Nutrition . 66 | 67 | vmd:TimeRange a rdfs:Class, owl:Class;; 68 | rdfs:comment "Represents the length of time it takes to prepare a recipe." . 69 | 70 | vmd:timeRange a rdf:Property; 71 | rdfs:comment "Represents the length of time it takes to prepare a recipe."; 72 | rdfs:domain vmd:Recipe; 73 | rdfs:range vmd:TimeRange . 74 | 75 | vmd:acquaintance a rdf:Property; 76 | rdfs:domain vmd:Person . 77 | 78 | vmd:address a rdf:Property; 79 | rdfs:domain [ 80 | a owl:Class; 81 | owl:unionOf (vmd:Person vmd:Organization) 82 | ]; 83 | rdfs:range vmd:Address . 84 | 85 | vmd:affiliation a rdf:Property; 86 | rdfs:comment "An affiliation can be specified by a string literal or an Organization instance."; 87 | rdfs:domain vmd:Person; 88 | rdfs:range [ 89 | a owl:Class; 90 | owl:unionOf (vmd:Organization xsd:string) 91 | ] . 92 | 93 | vmd:amount a rdf:Property; 94 | rdfs:domain vmd:RecipeIngredient . 95 | 96 | vmd:author a rdf:Property; 97 | rdfs:comment "An author of the recipe can be specified by a string literal or a Person instance."; 98 | rdfs:domain vmd:Recipe; 99 | rdfs:range [ 100 | a owl:Class; 101 | owl:unionOf (vmd:Person xsd:string) 102 | ] . 103 | 104 | vmd:availability a rdf:Property; 105 | rdfs:domain vmd:Offer . 106 | 107 | vmd:average a rdf:Property; 108 | rdfs:comment "The average of an aggregate value."; 109 | rdfs:domain vmd:Rating . 110 | 111 | vmd:best a rdf:Property; 112 | rdfs:comment "The best value of a rating scale (default 5)."; 113 | rdfs:domain vmd:Rating . 114 | 115 | vmd:brand a rdf:Property; 116 | rdfs:domain vmd:Product . 117 | 118 | vmd:calories a rdf:Property; 119 | rdfs:domain vmd:Nutrition . 120 | 121 | vmd:carbohydrates a rdf:Property; 122 | rdfs:domain vmd:Nutrition . 123 | 124 | vmd:category a rdf:Property; 125 | rdfs:domain [ 126 | a owl:Class; 127 | owl:unionOf (vmd:Organization vmd:Product) 128 | ] . 129 | 130 | vmd:child a rdf:Property; 131 | rdfs:domain vmd:Breadcrumb . 132 | 133 | vmd:cholesterol a rdf:Property; 134 | rdfs:domain vmd:Nutrition . 135 | 136 | vmd:colleague a rdf:Property; 137 | rdfs:domain vmd:Person . 138 | 139 | vmd:condition a rdf:Property; 140 | rdfs:domain [ 141 | a owl:Class; 142 | owl:unionOf (vmd:Offer vmd:OfferAggregate) 143 | ] . 144 | 145 | vmd:contact a rdf:Property; 146 | rdfs:domain vmd:Person . 147 | 148 | vmd:cookTime a rdf:Property; 149 | rdfs:domain vmd:Recipe; 150 | rdfs:range [ 151 | a owl:Class; 152 | owl:unionOf (vmd:TimeRange xsd:string) 153 | ] . 154 | 155 | vmd:count a rdf:Property; 156 | rdfs:comment "The total number of items used in an aggregate (e.g., number of reviews)."; 157 | rdfs:domain vmd:Review-aggregate . 158 | 159 | vmd:country-name a rdf:Property; 160 | rdfs:domain vmd:Address . 161 | 162 | vmd:currency a rdf:Property; 163 | rdfs:domain [ 164 | a owl:Class; 165 | owl:unionOf (vmd:Offer vmd:OfferAggregate) 166 | ] . 167 | 168 | vmd:description a rdf:Property; 169 | rdfs:domain [ 170 | a owl:Class; 171 | owl:unionOf (vmd:Review vmd:Product) 172 | ] . 173 | 174 | vmd:dtreviewed a rdf:Property; 175 | rdfs:comment "The date of the review."; 176 | rdfs:domain vmd:Review . 177 | 178 | vmd:duration a rdf:Property; 179 | rdfs:domain vmd:Recipe; 180 | rdfs:range [ 181 | a owl:Class; 182 | owl:unionOf (vmd:TimeRange xsd:string) 183 | ] . 184 | 185 | vmd:fat a rdf:Property; 186 | rdfs:domain vmd:Nutrition . 187 | 188 | vmd:fiber a rdf:Property; 189 | rdfs:domain vmd:Nutrition . 190 | 191 | vmd:friend a rdf:Property; 192 | rdfs:domain vmd:Person . 193 | 194 | vmd:highprice a rdf:Property; 195 | rdfs:domain vmd:OfferAggregate . 196 | 197 | vmd:identifier a rdf:Property; 198 | rdfs:domain [ 199 | a owl:Class; 200 | owl:unionOf (vmd:Product vmd:Offer) 201 | ] . 202 | 203 | vmd:image a rdf:Property; 204 | rdfs:domain vmd:Product . 205 | 206 | vmd:instruction a rdf:Property; 207 | rdfs:domain vmd:Instructions . 208 | 209 | vmd:itemoffered a rdf:Property; 210 | rdfs:domain [ 211 | a owl:Class; 212 | owl:unionOf (vmd:Offer vmd:OfferAggregate) 213 | ] . 214 | 215 | vmd:itemreviewed a rdf:Property; 216 | rdfs:domain vmd:Review . 217 | 218 | vmd:locality a rdf:Property; 219 | rdfs:domain vmd:Address . 220 | 221 | vmd:lowprice a rdf:Property; 222 | rdfs:domain vmd:OfferAggregate . 223 | 224 | vmd:max a rdf:Property; 225 | rdfs:comment "The maximum value of an aggregated Rating."; 226 | rdfs:domain [ 227 | a owl:Class; 228 | owl:unionOf (vmd:Rating vmd:TimeRange) 229 | ] . 230 | 231 | vmd:min a rdf:Property; 232 | rdfs:comment "The minimum value of an aggregated Rating."; 233 | rdfs:domain [ 234 | a owl:Class; 235 | owl:unionOf (vmd:Rating vmd:TimeRange) 236 | ] . 237 | 238 | vmd:name a rdf:Property . 239 | 240 | vmd:nickname a rdf:Property; 241 | rdfs:domain vmd:Person . 242 | 243 | vmd:offercount a rdf:Property; 244 | rdfs:domain vmd:OfferAggregate . 245 | 246 | vmd:offerdetails a rdf:Property; 247 | rdfs:domain vmd:Product . 248 | 249 | vmd:offerurl a rdf:Property; 250 | rdfs:domain [ 251 | a owl:Class; 252 | owl:unionOf (vmd:Offer vmd:OfferAggregate) 253 | ] . 254 | 255 | vmd:photo a rdf:Property . 256 | 257 | vmd:postal-code a rdf:Property; 258 | rdfs:domain vmd:Address . 259 | 260 | vmd:prepTime a rdf:Property; 261 | rdfs:domain vmd:Recipe; 262 | rdfs:range [ 263 | a owl:Class; 264 | owl:unionOf (vmd:TimeRange xsd:string) 265 | ] . 266 | 267 | vmd:price a rdf:Property; 268 | rdfs:domain vmd:Offer . 269 | 270 | vmd:pricerange a rdf:Property; 271 | rdfs:comment """The price range of products and services offered 272 | by a restaurant, business or other organization. 273 | """; 274 | rdfs:domain vmd:Organization . 275 | 276 | vmd:pricevaliduntil a rdf:Property; 277 | rdfs:domain vmd:Offer . 278 | 279 | vmd:protein a rdf:Property; 280 | rdfs:domain vmd:Nutrition . 281 | 282 | vmd:published a rdf:Property; 283 | rdfs:domain vmd:Recipe . 284 | 285 | vmd:quantity a rdf:Property; 286 | rdfs:domain vmd:Offer . 287 | 288 | vmd:rating a rdf:Property; 289 | rdfs:comment "A rating can be specified by a string literal or a Rating instance."; 290 | rdfs:domain vmd:Review; 291 | rdfs:range [ 292 | a owl:Class; 293 | owl:unionOf (vmd:Rating xsd:string) 294 | ] . 295 | 296 | vmd:recipeType a rdf:Property; 297 | rdfs:domain vmd:Recipe . 298 | 299 | vmd:region a rdf:Property; 300 | rdfs:domain vmd:Address . 301 | 302 | vmd:reviewer a rdf:Property; 303 | rdfs:comment "A reviewer can be specified by a string literal or a Person instance."; 304 | rdfs:domain vmd:Review; 305 | rdfs:range [ 306 | a owl:Class; 307 | owl:unionOf (vmd:Person xsd:string) 308 | ] . 309 | 310 | vmd:role a rdf:Property; 311 | rdfs:domain vmd:Person . 312 | 313 | vmd:saturatedFat a rdf:Property; 314 | rdfs:domain vmd:Nutrition . 315 | 316 | vmd:seller a rdf:Property; 317 | rdfs:domain vmd:Offer . 318 | 319 | vmd:servingSize a rdf:Property; 320 | rdfs:domain vmd:Nutrition . 321 | 322 | vmd:street-address a rdf:Property; 323 | rdfs:domain vmd:Address . 324 | 325 | vmd:sugar a rdf:Property; 326 | rdfs:domain vmd:Nutrition . 327 | 328 | vmd:summary a rdf:Property; 329 | rdfs:domain [ 330 | a owl:Class; 331 | owl:unionOf (vmd:Review vmd:Recipe) 332 | ] . 333 | 334 | vmd:tag a rdf:Property; 335 | rdfs:domain vmd:Recipe . 336 | 337 | vmd:tel a rdf:Property; 338 | rdfs:domain [ 339 | a owl:Class; 340 | owl:unionOf (vmd:Person vmd:Organization) 341 | ] . 342 | 343 | vmd:title a rdf:Property; 344 | rdfs:domain [ 345 | a owl:Class; 346 | owl:unionOf (vmd:Person vmd:Breadcrumb) 347 | ] . 348 | 349 | vmd:totalTime a rdf:Property; 350 | rdfs:domain vmd:Recipe; 351 | rdfs:range [ 352 | a owl:Class; 353 | owl:unionOf (vmd:TimeRange xsd:string) 354 | ] . 355 | 356 | vmd:unsaturatedFat a rdf:Property; 357 | rdfs:domain vmd:Nutrition . 358 | 359 | vmd:url a rdf:Property; 360 | rdfs:domain [ 361 | a owl:Class; 362 | owl:unionOf (vmd:Person vmd:Organization vmd:Product vmd:Breadcrumb) 363 | ] . 364 | 365 | vmd:value a rdf:Property; 366 | rdfs:comment "The value of a single Rating."; 367 | rdfs:domain vmd:Rating . 368 | 369 | vmd:worst a rdf:Property; 370 | rdfs:comment "The poorest value of a rating scale (default 1)."; 371 | rdfs:domain vmd:Rating . 372 | 373 | vmd:yield a rdf:Property; 374 | rdfs:domain vmd:Recipe . 375 | -------------------------------------------------------------------------------- /etc/template.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | <%= @ont["rdfs:label"].first['@value'] %> 7 | 22 | 23 | <% pfx = RDF::Vocabulary.find(@ont['@id']).__name__.split(':').last.downcase %> 24 | <% pfxs = @prefixes.inject([]) {|m, (k,v)| m << "#{k}: #{v}"}.join(' ')%> 25 | <% typeof = @ont['@type'].map {|t| RDF::URI(t).pname}.join(' ') %> 26 | 27 |
28 |

Abstract

29 |

This document describes 30 | <%= @binding.value_to_html('rdfs:label', @ont['rdfs:label'], 'span')%>.

31 |

Alternate versions of the vocabulary definition exist in 32 | Turtle and 33 | JSON-LD, 34 | which also includes the @context required for metadata descriptions. 35 |

36 |
37 |
38 |

Introduction

39 | <% %w(rdfs:comment dc:description dc11:description).each do |prop| -%> 40 | <% next unless @ont[prop] -%> 41 | <%= @binding.value_to_html(prop, @ont[prop], 'p')%> 42 | <% end -%> 43 |
44 | <% @ont.keys.sort.each do |key| -%> 45 | <% next if %(@id @type rdfs:label rdfs:comment dc:description dc11:description rdfs_classes rdfs_properties rdfs_datatypes rdfs_instances).include?(key) -%> 46 | <% term = RDF::Vocabulary.expand_pname(key) -%> 47 | <% next unless term -%> 48 | <% label = term.label rescue term.to_s -%> 49 |
<%= label %>:
50 | <%= @binding.value_to_html(key, @ont[key], 'dd')%> 51 | <% end -%> 52 |
53 |

This specification makes use of the following namespaces:

54 |
55 | <% @prefixes.keys.sort_by(&:to_s).each do |pfx| -%> 56 |
<%=pfx%>:
57 |
<%=@prefixes[pfx]%>
58 | <% end -%> 59 |
60 |
61 | <% 62 | [{ 63 | heading: "Class Definitions", 64 | key: "rdfs_classes" 65 | }, { 66 | heading: "Property Definitions", 67 | key: "rdfs_properties" 68 | }, { 69 | heading: "Datatype Definitions", 70 | key: "rdfs_datatypes" 71 | }, { 72 | heading: "Instance Definitions", 73 | key: "rdfs_instances" 74 | }].each do |sect| 75 | -%> 76 | <% next unless @ont[sect[:key]] -%> 77 |
78 |

<%= sect[:heading] %>

79 |

The following are <%= sect[:heading].downcase %> in the <%=pfx%> namespace:

80 | 81 | <% @ont[sect[:key]].each do |defn| -%> 82 | <% pname = RDF::URI(defn['@id']).pname -%> 83 | 84 | <% typeof = defn['@type'].map {|t| RDF::URI(t).pname}.join(' ') %> 85 | 102 | 103 | <% end -%> 104 |
<%= pname %> 86 | <%= @binding.value_to_html('rdfs:label', defn['rdfs:label'], 'em')%> 87 | <% %w(rdfs:comment dc:description dc11:description).each do |prop| -%> 88 | <% next unless defn[prop] -%> 89 | <%= @binding.value_to_html(prop, defn[prop], 'p')%> 90 | <% end -%> 91 |
92 | <% defn.keys.sort.each do |key| -%> 93 | <% next if %(@id @type rdfs:label rdfs:comment dc:description dc11:description).include?(key) -%> 94 | <% term = RDF::Vocabulary.expand_pname(key) -%> 95 | <% next unless term -%> 96 | <% label = term.label rescue term.to_s -%> 97 |
<%= label %>:
98 | <%= @binding.value_to_html(key, defn[key], 'dd')%> 99 | <% end -%> 100 |
101 |
105 |
106 | <% end -%> 107 |
108 |

Term Definitions

109 |
110 | <% @context.keys.sort.each do |term|%> 111 | <% next if term.to_s.empty? -%> 112 | <% defn = @context[term] %> 113 |
<%= term %>
114 |
115 | <% if defn.is_a?(String) %> 116 | <%= defn %> 117 | <% elsif defn.is_a?(Hash) && defn['@id'] %> 118 | <%= defn['@id'] %> 119 | <% elsif defn.is_a?(Hash) && defn['@reverse'] %> 120 | reverse of <%= defn['@reverse'] %> 121 | <% else %> 122 | <%= term %> 123 | <% end %> 124 | <% if defn.is_a?(Hash) && defn['@type'] %> 125 | with string values interpreted as <%= defn['@type'] %> 126 | <% end%> 127 | <% if defn.is_a?(Hash) && defn['@container'] %> 128 | <% if defn['@container'] == '@language' %> 129 | with object values interpreted as language-specific, indexed by language 130 | <% elsif defn['@container'] == '@index' %> 131 | with object values interpreted indexed by index 132 | <% else %> 133 | with array values interpreted as <%= defn['@container'] %> 134 | <% end %> 135 | <% end%> 136 |
137 | <% end %> 138 |
139 |
140 | 141 | 142 | -------------------------------------------------------------------------------- /etc/template.haml: -------------------------------------------------------------------------------- 1 | -# This template is used for generating RDFS/OWL Vocabulary documents in HTML+RDFa. 2 | -# It expects to be called with the following variables: 3 | -# * _ont_ - The ontology node, with compact keys and expanded values, 4 | -# * _prefixes_ - A hash of prefix to expanded URI, 5 | -# * _context_ - The JSON-LD context associated with _ont_. 6 | - require 'cgi' 7 | 8 | !!! 5 9 | %html 10 | %head 11 | %meta{"http-equiv" => "Content-Type", :content => "text/html;charset=utf-8"} 12 | %meta{name: "viewport", content: "width=device-width, initial-scale=1.0"} 13 | %title 14 | = ont["rdfs:label"].first['@value'] 15 | :css 16 | dl.terms dt { 17 | float: left; 18 | clear: left; 19 | width: 17vw; 20 | } 21 | dl.terms dd:after { 22 | content: ''; 23 | display: block; 24 | clear: both; 25 | margin-bottom: 5px; 26 | } 27 | table.rdfs-definition td {vertical-align: top;} 28 | .bold {font-weight: bold;} 29 | - pfx = RDF::Vocabulary.find(ont['@id']).__name__.split(':').last.downcase 30 | - pfxs = prefixes.inject([]) {|m, (k,v)| m << "#{k}: #{v}"}.join(' ') 31 | - typeof = ont['@type'].map {|t| RDF::URI(t).pname}.join(' ') 32 | %body{resource: ont['@id'], typeof: typeof, prefix: pfxs} 33 | %section#abstract 34 | %h2="Abstract" 35 | %p 36 | This document describes 37 | != value_to_html('rdfs:label', ont['rdfs:label'], 'span') 38 | %p 39 | Alternate versions of the vocabulary definition exist in 40 | %a{rel: :alternate, href: "#{pfx}.ttl"}="Turtle" 41 | and 42 | %a{rel: :alternate, href: "#{pfx}.jsonld"}="JSON-LD" 43 | which also includes the 44 | %code 45 | @context 46 | required for metadata descriptions. 47 | %section 48 | %h2="Introduction" 49 | - %w(rdfs:comment dc:description dc11:description).each do |prop| 50 | - next unless ont[prop] 51 | = value_to_html(prop, ont[prop], 'p') 52 | %dl 53 | - ont.keys.sort.each do |key| 54 | - next if %(@id @type rdfs:label rdfs:comment dc:description dc11:description rdfs_classes rdfs_properties rdfs_datatypes rdfs_instances).include?(key) 55 | - term = RDF::Vocabulary.expand_pname(key) 56 | - next unless term 57 | %dt= term.label rescue term.to_s 58 | = value_to_html(key, ont[key], 'dd') 59 | %p 60 | This specification makes use of the following namespaces: 61 | %dl.terms 62 | - prefixes.keys.sort_by(&:to_s).each do |pfx| 63 | %dt 64 | %code=pfx 65 | %dd 66 | %code= prefixes[pfx] 67 | - [{ heading: "Class Definitions", key: "rdfs_classes"}, 68 | { heading: "Property Definitions", key: "rdfs_properties"}, 69 | { heading: "Datatype Definitions", key: "rdfs_datatypes"}, 70 | { heading: "Instance Definitions", key: "rdfs_instances"}].each do |sect| 71 | - next unless ont[sect[:key]] 72 | %section 73 | %h2= sect[:heading] 74 | %p 75 | The following are 76 | = sect[:heading].downcase 77 | in the 78 | %code=pfx 79 | namespace: 80 | %table.rdfs-definition 81 | - ont[sect[:key]].each do |defn| 82 | - pname = RDF::URI(defn['@id']).pname 83 | %tr 84 | %td.bold= pname 85 | - typeof = defn['@type'].map {|t| RDF::URI(t).pname}.join(' ') 86 | %td{resource: RDF::URI(defn['@id']).pname, typeof: typeof} 87 | != value_to_html('rdfs:label', defn['rdfs:label'], 'em') 88 | - %w(rdfs:comment dc:description dc11:description).each do |prop| 89 | - next unless defn[prop] 90 | != value_to_html(prop, defn[prop], 'p') 91 | %dl.terms 92 | - defn.keys.sort.each do |key| 93 | - next if %(@id @type rdfs:label rdfs:comment dc:description dc11:description).include?(key) 94 | - term = RDF::Vocabulary.expand_pname(key) 95 | - next unless term 96 | %dt= term.label rescue term.to_s 97 | != value_to_html(key, defn[key], 'dd') 98 | %section 99 | %h2="Term Definitions" 100 | %dl.terms 101 | - context.keys.sort.each do |term| 102 | - next if term.to_s.empty? 103 | - defn = context[term] 104 | %dt=term 105 | %dd 106 | - if defn.is_a?(String) 107 | = defn 108 | - elsif defn['@id'] 109 | = defn['@id'] 110 | - elsif defn['@reverse'] 111 | reverse of 112 | = defn['@reverse'] 113 | - else 114 | = term 115 | - if defn.is_a?(Hash) && defn['@type'] 116 | - if defn['@container'] == '@language' 117 | with object values interpreted as language-specific, indexed by language 118 | - elsif defn['@container'] == '@index' 119 | with object values interpreted indexed by index 120 | - else 121 | with array values interpreted as 122 | = defn['@container'] 123 | -------------------------------------------------------------------------------- /examples/load-test.rb: -------------------------------------------------------------------------------- 1 | require 'ruby-prof' 2 | require 'rdf/vocab' 3 | require 'byebug' 4 | 5 | # profile the code 6 | result = RubyProf.profile do 7 | # ... code to profile ... 8 | puts RDF::Vocabulary.each {}.count 9 | end 10 | 11 | # print a flat profile to text 12 | printer = RubyProf::GraphHtmlPrinter.new(result) 13 | File.open("load-test.html", "w") do |f| 14 | printer.print(f) 15 | end -------------------------------------------------------------------------------- /lib/rdf/vocab/acl.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://www.w3.org/ns/auth/acl# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | ACL = Class.new(RDF::StrictVocabulary("http://www.w3.org/ns/auth/acl#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://www.w3.org/ns/auth/acl#", 12 | comment: "Defines the class Authorization and its essential properties,\n and also some classes of access such as read and write. ", 13 | "http://purl.org/dc/terms/title": "Basic Access Control ontology" 14 | 15 | # Class definitions 16 | term :Access, 17 | comment: "Any kind of access to a resource. Don't use this, use R W and RW", 18 | label: {en: "access"}, 19 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 20 | term :Append, 21 | comment: "Append accesses are specific write access which only add information, and do not remove information.\n For text files, for example, append access allows bytes to be added onto the end of the file.\n For RDF graphs, Append access allows adds triples to the graph but does not remove any.\n Append access is useful for dropbox functionality.\n Dropbox can be used for link notification, which the information added is a notification\n that a some link has been made elsewhere relevant to the given resource.\n ", 22 | label: {en: "append"}, 23 | subClassOf: ["http://www.w3.org/ns/auth/acl#Access", "http://www.w3.org/ns/auth/acl#Write"], 24 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 25 | term :AuthenticatedAgent, 26 | comment: "A class of agents who have been authenticated.\nIn other words, anyone can access this resource, but not anonymously.\nThe social expectation is that the authentication process will provide an\nidentify and a name, or pseudonym.\n(A new ID should not be minted for every access: the intent is that the user\nis able to continue to use the ID for continues interactions with peers,\nand for example to develop a reputation)\n", 27 | label: "Anyone authenticated", 28 | subClassOf: "http://xmlns.com/foaf/0.1/Agent", 29 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 30 | term :Authorization, 31 | comment: "An element of access control,\n allowing agent to agents access of some kind to resources or classes of resources", 32 | label: "authorization", 33 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 34 | term :Control, 35 | comment: "Allows read/write access to the ACL for the resource(s)", 36 | label: {en: "control"}, 37 | subClassOf: "http://www.w3.org/ns/auth/acl#Access", 38 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 39 | term :Origin, 40 | comment: "An Origin is basically a web site\n (Note WITHOUT the trailing slash after the domain name and port in its URI)\n and is the basis for controlling access to data by web apps\n in the Same Origin Model of web security.\n All scripts from the same origin are given the same right.", 41 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin", 42 | label: "Origin", 43 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 44 | term :Read, 45 | comment: "The class of read operations", 46 | label: {en: "read"}, 47 | subClassOf: "http://www.w3.org/ns/auth/acl#Access", 48 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 49 | term :Write, 50 | label: {en: "write"}, 51 | subClassOf: "http://www.w3.org/ns/auth/acl#Access", 52 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 53 | 54 | # Property definitions 55 | property :accessControl, 56 | comment: "The Access Control file for this information resource.\n This may of course be a virtual resource implemented by the access control system.\n Note that HTTP header `Link: ; rel=\"acl\"` can also be used for this.", 57 | domain: "http://www.w3.org/2006/gen/ont#InformationResource", 58 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "https://solidproject.org/TR/wac#acl-link-relation", 59 | label: "access control", 60 | range: "http://www.w3.org/2006/gen/ont#InformationResource", 61 | subPropertyOf: "http://www.w3.org/2000/01/rdf-schema#seeAlso", 62 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 63 | property :accessTo, 64 | comment: "The information resource to which access is being granted.", 65 | domain: "http://www.w3.org/ns/auth/acl#Authorization", 66 | label: "to", 67 | range: "http://www.w3.org/2006/gen/ont#InformationResource", 68 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 69 | property :accessToClass, 70 | comment: "A class of information resources to which access is being granted.", 71 | domain: "http://www.w3.org/ns/auth/acl#Authorization", 72 | label: "to all in", 73 | range: "http://www.w3.org/2000/01/rdf-schema#Class", 74 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 75 | property :agent, 76 | comment: "A person or social entity to being given the right", 77 | domain: "http://www.w3.org/ns/auth/acl#Authorization", 78 | label: "agent", 79 | range: "http://xmlns.com/foaf/0.1/Agent", 80 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 81 | property :agentClass, 82 | comment: "A class of persons or social entities to being given the right", 83 | domain: "http://www.w3.org/ns/auth/acl#Authorization", 84 | label: "agent class", 85 | range: "http://www.w3.org/2000/01/rdf-schema#Class", 86 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 87 | property :agentGroup, 88 | comment: "A group of persons or social entities to being given the right.\n The right is given to any entity which is a vcard:member of the group,\n as defined by the document received when the Group is dereferenced.", 89 | domain: "http://www.w3.org/ns/auth/acl#Authorization", 90 | label: "agent group", 91 | range: "http://www.w3.org/2006/vcard/ns#Group", 92 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 93 | property :default, 94 | comment: "If a resource has no ACL file (it is 404),\n then access to the resource is given by the ACL of the immediately\n containing directory, or failing that (404) the ACL of the recursively next\n containing directory which has an ACL file.\n Within that ACL file,\n any Authorization which has that directory as its acl:default applies to the\n resource. (The highest directory must have an ACL file.)\n", 95 | domain: "http://www.w3.org/ns/auth/acl#Authorization", 96 | label: "default access for things in this", 97 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 98 | property :defaultForNew, 99 | comment: "THIS IS OBSOLETE AS OF 2017-08-01. See 'default'.\n Was: A directory for which this authorization is used for new files in the directory.", 100 | domain: "http://www.w3.org/ns/auth/acl#Authorization", 101 | label: "default access for new things in the object", 102 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 103 | property :delegates, 104 | comment: "Delegates a person or another agent to act on behalf of the agent.\n For example, Alice delegates Bob to act on behalf of Alice for ACL purposes.", 105 | label: {en: "delegates"}, 106 | range: "http://xmlns.com/foaf/0.1/Agent", 107 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 108 | property :mode, 109 | comment: "A mode of access such as read or write.", 110 | domain: "http://www.w3.org/ns/auth/acl#Authorization", 111 | label: "access mode", 112 | range: "http://www.w3.org/2000/01/rdf-schema#Class", 113 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 114 | property :origin, 115 | comment: "A web application, identified by its Origin, such as\n , being given the right.\n When a user of the web application at a certain origin accesses the server,\n then the browser sets the Origin: header to warn that a possibly untrusted webapp\n is being used.\n Then, BOTH the user AND the origin must have the required access.", 116 | domain: "http://www.w3.org/ns/auth/acl#Authorization", 117 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin", 118 | label: "origin", 119 | range: "http://www.w3.org/ns/auth/acl#Origin", 120 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 121 | property :owner, 122 | comment: "The person or other agent which owns this.\n For example, the owner of a file in a filesystem.\n There is a sense of \"right to control\". Typically defaults to the agent who created\n something, but can be changed.", 123 | label: {en: "owner"}, 124 | range: "http://xmlns.com/foaf/0.1/Agent", 125 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 126 | end 127 | end 128 | -------------------------------------------------------------------------------- /lib/rdf/vocab/cc.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://creativecommons.org/ns# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | CC = Class.new(RDF::StrictVocabulary("http://creativecommons.org/ns#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://creativecommons.org/ns#", 12 | "http://www.w3.org/1999/xhtml/vocab#license": "https://creativecommons.org/licenses/by/4.0/", 13 | "http://www.w3.org/1999/xhtml/vocab#stylesheet": "https://creativecommons.org/includes/bootstrap.min.css" 14 | 15 | # Class definitions 16 | term :Jurisdiction, 17 | comment: {"en-us": "the legal jurisdiction\nof a license"}, 18 | label: {"en-us": "Jurisdiction"}, 19 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 20 | term :License, 21 | comment: {"en-us": "a set of\nrequests/permissions to users of a Work, e.g. a\ncopyright license, the public domain, information\nfor distributors"}, 22 | label: {"en-us": "License"}, 23 | subClassOf: "http://purl.org/dc/terms/LicenseDocument", 24 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 25 | term :Permission, 26 | comment: {"en-us": "an action that may or\nmay not be allowed or desired"}, 27 | label: {"en-us": "Permission"}, 28 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 29 | term :Prohibition, 30 | comment: {"en-us": "something you may be\nasked not to do"}, 31 | label: {"en-us": "Prohibition"}, 32 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 33 | term :Requirement, 34 | comment: {"en-us": "an action that may or\nmay not be requested of you"}, 35 | label: {"en-us": "Requirement"}, 36 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 37 | term :Work, 38 | comment: {"en-us": "a potentially\ncopyrightable work"}, 39 | label: {"en-us": "Work"}, 40 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 41 | 42 | # Property definitions 43 | property :attributionName, 44 | domain: "http://creativecommons.org/ns#Work", 45 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 46 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 47 | property :attributionURL, 48 | domain: "http://creativecommons.org/ns#Work", 49 | range: "http://www.w3.org/2000/01/rdf-schema#Resource", 50 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 51 | property :deprecatedOn, 52 | domain: "http://creativecommons.org/ns#License", 53 | label: {"en-us": "deprecated\non"}, 54 | range: "http://www.w3.org/2001/XMLSchema-datatypes#date", 55 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 56 | property :jurisdiction, 57 | domain: "http://creativecommons.org/ns#License", 58 | label: {"en-us": "jurisdiction"}, 59 | range: "http://creativecommons.org/ns#Jurisdiction", 60 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 61 | property :legalcode, 62 | domain: "http://creativecommons.org/ns#License", 63 | range: "http://www.w3.org/2000/01/rdf-schema#Resource", 64 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 65 | property :license, 66 | domain: "http://creativecommons.org/ns#Work", 67 | "http://www.w3.org/2002/07/owl#sameAs": "http://www.w3.org/1999/xhtml/vocab#license", 68 | label: {"en-us": "has\nlicense"}, 69 | range: "http://creativecommons.org/ns#License", 70 | subPropertyOf: "http://purl.org/dc/terms/license", 71 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 72 | property :morePermissions, 73 | domain: "http://creativecommons.org/ns#Work", 74 | range: "http://www.w3.org/2000/01/rdf-schema#Resource", 75 | subPropertyOf: "http://purl.org/dc/terms/relation", 76 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 77 | property :permits, 78 | domain: "http://creativecommons.org/ns#License", 79 | label: {"en-us": "permits"}, 80 | range: "http://creativecommons.org/ns#Permission", 81 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 82 | property :prohibits, 83 | domain: "http://creativecommons.org/ns#License", 84 | label: {"en-us": "prohibits"}, 85 | range: "http://creativecommons.org/ns#Prohibition", 86 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 87 | property :requires, 88 | domain: "http://creativecommons.org/ns#License", 89 | label: {"en-us": "requires"}, 90 | range: "http://creativecommons.org/ns#Requirement", 91 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 92 | property :useGuidelines, 93 | domain: "http://creativecommons.org/ns#Work", 94 | range: "http://www.w3.org/2000/01/rdf-schema#Resource", 95 | subPropertyOf: "http://purl.org/dc/terms/relation", 96 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 97 | 98 | # Extra definitions 99 | term :Attribution, 100 | comment: {"en-us": "credit be given to\ncopyright holder and/or author"}, 101 | label: {"en-us": "Attribution"}, 102 | type: "http://creativecommons.org/ns#Requirement" 103 | term :CommercialUse, 104 | comment: {"en-us": "exercising rights for\ncommercial purposes"}, 105 | label: {"en-us": "Commercial Use"}, 106 | type: "http://creativecommons.org/ns#Prohibition" 107 | term :Copyleft, 108 | comment: {"en-us": "derivative and\ncombined works must be licensed under specified\nterms, similar to those on the original\nwork"}, 109 | label: {"en-us": "Copyleft"}, 110 | type: "http://creativecommons.org/ns#Requirement" 111 | term :DerivativeWorks, 112 | comment: {"en-us": "distribution of\nderivative works"}, 113 | label: {"en-us": "Derivative Works"}, 114 | type: "http://creativecommons.org/ns#Permission" 115 | term :Distribution, 116 | comment: {"en-us": "distribution, public\ndisplay, and publicly performance"}, 117 | label: {"en-us": "Distribution"}, 118 | type: "http://creativecommons.org/ns#Permission" 119 | term :HighIncomeNationUse, 120 | comment: {"en-us": "use in a\nnon-developing country"}, 121 | label: {"en-us": "High Income Nation Use"}, 122 | type: "http://creativecommons.org/ns#Prohibition" 123 | term :LesserCopyleft, 124 | comment: {"en-us": "derivative works must\nbe licensed under specified terms, with at least\nthe same conditions as the original work;\ncombinations with the work may be licensed under\ndifferent terms"}, 125 | label: {"en-us": "Lesser Copyleft"}, 126 | type: "http://creativecommons.org/ns#Requirement" 127 | term :Notice, 128 | comment: {"en-us": "copyright and license\nnotices be kept intact"}, 129 | label: {"en-us": "Notice"}, 130 | type: "http://creativecommons.org/ns#Requirement" 131 | term :Reproduction, 132 | comment: {"en-us": "making multiple\ncopies"}, 133 | label: {"en-us": "Reproduction"}, 134 | type: "http://creativecommons.org/ns#Permission" 135 | term :ShareAlike, 136 | comment: {"en-us": "derivative works be\nlicensed under the same terms or compatible terms\nas the original work"}, 137 | label: {"en-us": "Share Alike"}, 138 | type: "http://creativecommons.org/ns#Requirement" 139 | term :Sharing, 140 | comment: {"en-us": "permits commercial\nderivatives, but only non-commercial\ndistribution"}, 141 | label: {"en-us": "Sharing"}, 142 | type: "http://creativecommons.org/ns#Permission" 143 | term :SourceCode, 144 | comment: {"en-us": "source code (the\npreferred form for making modifications) must be\nprovided when exercising some rights granted by\nthe license."}, 145 | label: {"en-us": "Source Code"}, 146 | type: "http://creativecommons.org/ns#Requirement" 147 | end 148 | end 149 | -------------------------------------------------------------------------------- /lib/rdf/vocab/cnt.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://www.w3.org/2011/content# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | CNT = Class.new(RDF::StrictVocabulary("http://www.w3.org/2011/content#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://www.w3.org/2011/content#", 12 | comment: {en: "Representing Content in RDF as defined by http://www.w3.org/TR/Content-in-RDF/"}, 13 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://www.w3.org/WAI/intro/earl", 14 | "http://www.w3.org/2002/07/owl#imports": "http://purl.org/dc/terms/", 15 | "http://www.w3.org/2002/07/owl#versionInfo": {en: "Working Draft 29 April 2011"}, 16 | isDefinedBy: "http://www.w3.org/TR/Content-in-RDF/", 17 | label: {en: "Representing Content in RDF"}, 18 | type: "http://www.w3.org/2002/07/owl#Ontology" 19 | 20 | # Class definitions 21 | term :Content, 22 | comment: {en: "The content."}, 23 | label: {en: "Content"}, 24 | type: ["http://www.w3.org/2000/01/rdf-schema#Class", "http://www.w3.org/2002/07/owl#Class"] 25 | term :ContentAsBase64, 26 | comment: {en: "The base64 encoded content (can be used for binary content)."}, 27 | label: {en: "Base64 content"}, 28 | subClassOf: "http://www.w3.org/2011/content#Content", 29 | type: ["http://www.w3.org/2000/01/rdf-schema#Class", "http://www.w3.org/2002/07/owl#Class"] 30 | term :ContentAsText, 31 | comment: {en: "The text content (can be used for text content)."}, 32 | label: {en: "Text content"}, 33 | subClassOf: "http://www.w3.org/2011/content#Content", 34 | type: ["http://www.w3.org/2000/01/rdf-schema#Class", "http://www.w3.org/2002/07/owl#Class"] 35 | term :ContentAsXML, 36 | comment: {en: "The XML content (can only be used for XML-wellformed content)."}, 37 | label: {en: "XML content"}, 38 | subClassOf: "http://www.w3.org/2011/content#Content", 39 | type: ["http://www.w3.org/2000/01/rdf-schema#Class", "http://www.w3.org/2002/07/owl#Class"] 40 | term :DoctypeDecl, 41 | comment: {en: "The document type declaration."}, 42 | label: {en: "Document type declaration"}, 43 | type: ["http://www.w3.org/2000/01/rdf-schema#Class", "http://www.w3.org/2002/07/owl#Class"] 44 | 45 | # Property definitions 46 | property :bytes, 47 | comment: {en: "The Base64 encoded byte sequence of the content."}, 48 | domain: "http://www.w3.org/2011/content#ContentAsBase64", 49 | label: {en: "Base64 encoded byte sequence"}, 50 | range: "http://www.w3.org/2001/XMLSchema#base64Binary", 51 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 52 | property :characterEncoding, 53 | comment: {en: "The character encoding used to create a character sequence from a byte sequence or vice versa."}, 54 | domain: "http://www.w3.org/2011/content#Content", 55 | label: {en: "Character encoding"}, 56 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 57 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 58 | property :chars, 59 | comment: {en: "The character sequence of the text content."}, 60 | domain: "http://www.w3.org/2011/content#ContentAsText", 61 | label: {en: "Character sequence"}, 62 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 63 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 64 | property :declaredEncoding, 65 | comment: {en: "The character encoding declared in the XML declaration."}, 66 | domain: "http://www.w3.org/2011/content#ContentAsXML", 67 | label: {en: "XML character encoding"}, 68 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 69 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 70 | property :doctypeName, 71 | comment: {en: "The document type name."}, 72 | domain: "http://www.w3.org/2011/content#DoctypeDecl", 73 | label: {en: "Document type name"}, 74 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 75 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 76 | property :dtDecl, 77 | comment: {en: "The document type declaration."}, 78 | domain: "http://www.w3.org/2011/content#ContentAsXML", 79 | label: {en: "Document type declaration"}, 80 | range: "http://www.w3.org/2011/content#DoctypeDecl", 81 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 82 | property :internalSubset, 83 | comment: {en: "The internal document type definition subset within the document type declarations."}, 84 | domain: "http://www.w3.org/2011/content#DoctypeDecl", 85 | label: {en: "Internal DTD subset"}, 86 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 87 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 88 | property :leadingMisc, 89 | comment: {en: "The XML content preceding the document type declaration."}, 90 | domain: "http://www.w3.org/2011/content#ContentAsXML", 91 | label: {en: "XML leading misc"}, 92 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral", 93 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 94 | property :publicId, 95 | comment: {en: "The document type declarations's public identifier."}, 96 | domain: "http://www.w3.org/2011/content#DoctypeDecl", 97 | label: {en: "Public ID"}, 98 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 99 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 100 | property :rest, 101 | comment: {en: "The XML content following the document type declaration."}, 102 | domain: "http://www.w3.org/2011/content#ContentAsXML", 103 | label: {en: "XML rest"}, 104 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral", 105 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 106 | property :standalone, 107 | comment: {en: "The standalone declaration in the XML declaration."}, 108 | domain: "http://www.w3.org/2011/content#ContentAsXML", 109 | label: {en: "XML standalone document declaration"}, 110 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 111 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 112 | property :systemId, 113 | comment: {en: "The document type declarations's system identifier (typed: xsd:anyURI)"}, 114 | domain: "http://www.w3.org/2011/content#DoctypeDecl", 115 | label: {en: "System ID"}, 116 | range: "http://www.w3.org/2001/XMLSchema#anyURI", 117 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 118 | property :version, 119 | comment: {en: "The XML version declared in the XML declaration."}, 120 | domain: "http://www.w3.org/2011/content#ContentAsXML", 121 | label: {en: "XML version"}, 122 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 123 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 124 | end 125 | end 126 | -------------------------------------------------------------------------------- /lib/rdf/vocab/dcmitype.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://purl.org/dc/dcmitype/ 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | DCMIType = Class.new(RDF::StrictVocabulary("http://purl.org/dc/dcmitype/")) do 9 | 10 | # Ontology definition 11 | ontology :"http://purl.org/dc/dcmitype/", 12 | "http://purl.org/dc/terms/modified": "2012-06-14", 13 | "http://purl.org/dc/terms/publisher": "http://purl.org/dc/aboutdcmi#DCMI", 14 | "http://purl.org/dc/terms/title": {en: "DCMI Type Vocabulary"} 15 | 16 | # Class definitions 17 | term :Collection, 18 | comment: {en: "An aggregation of resources."}, 19 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 20 | "http://purl.org/dc/terms/description": {en: "A collection is described as a group; its parts may also be separately described."}, 21 | "http://purl.org/dc/terms/issued": "2000-07-11", 22 | isDefinedBy: "http://purl.org/dc/dcmitype/", 23 | label: {en: "Collection"}, 24 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 25 | term :Dataset, 26 | comment: {en: "Data encoded in a defined structure."}, 27 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 28 | "http://purl.org/dc/terms/description": {en: "Examples include lists, tables, and databases. A dataset may be useful for direct machine processing."}, 29 | "http://purl.org/dc/terms/issued": "2000-07-11", 30 | isDefinedBy: "http://purl.org/dc/dcmitype/", 31 | label: {en: "Dataset"}, 32 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 33 | term :Event, 34 | comment: {en: "A non-persistent, time-based occurrence."}, 35 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 36 | "http://purl.org/dc/terms/description": {en: "Metadata for an event provides descriptive information that is the basis for discovery of the purpose, location, duration, and responsible agents associated with an event. Examples include an exhibition, webcast, conference, workshop, open day, performance, battle, trial, wedding, tea party, conflagration."}, 37 | "http://purl.org/dc/terms/issued": "2000-07-11", 38 | isDefinedBy: "http://purl.org/dc/dcmitype/", 39 | label: {en: "Event"}, 40 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 41 | term :Image, 42 | comment: {en: "A visual representation other than text."}, 43 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 44 | "http://purl.org/dc/terms/description": {en: "Examples include images and photographs of physical objects, paintings, prints, drawings, other images and graphics, animations and moving pictures, film, diagrams, maps, musical notation. Note that Image may include both electronic and physical representations."}, 45 | "http://purl.org/dc/terms/issued": "2000-07-11", 46 | isDefinedBy: "http://purl.org/dc/dcmitype/", 47 | label: {en: "Image"}, 48 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 49 | term :InteractiveResource, 50 | comment: {en: "A resource requiring interaction from the user to be understood, executed, or experienced."}, 51 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 52 | "http://purl.org/dc/terms/description": {en: "Examples include forms on Web pages, applets, multimedia learning objects, chat services, or virtual reality environments."}, 53 | "http://purl.org/dc/terms/issued": "2000-07-11", 54 | isDefinedBy: "http://purl.org/dc/dcmitype/", 55 | label: {en: "Interactive Resource"}, 56 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 57 | term :MovingImage, 58 | comment: {en: "A series of visual representations imparting an impression of motion when shown in succession."}, 59 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 60 | "http://purl.org/dc/terms/description": {en: "Examples include animations, movies, television programs, videos, zoetropes, or visual output from a simulation. Instances of the type Moving Image must also be describable as instances of the broader type Image."}, 61 | "http://purl.org/dc/terms/issued": "2003-11-18", 62 | isDefinedBy: "http://purl.org/dc/dcmitype/", 63 | label: {en: "Moving Image"}, 64 | subClassOf: "http://purl.org/dc/dcmitype/Image", 65 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 66 | term :PhysicalObject, 67 | comment: {en: "An inanimate, three-dimensional object or substance."}, 68 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 69 | "http://purl.org/dc/terms/description": {en: "Note that digital representations of, or surrogates for, these objects should use Image, Text or one of the other types."}, 70 | "http://purl.org/dc/terms/issued": "2002-07-13", 71 | isDefinedBy: "http://purl.org/dc/dcmitype/", 72 | label: {en: "Physical Object"}, 73 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 74 | term :Service, 75 | comment: {en: "A system that provides one or more functions."}, 76 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 77 | "http://purl.org/dc/terms/description": {en: "Examples include a photocopying service, a banking service, an authentication service, interlibrary loans, a Z39.50 or Web server."}, 78 | "http://purl.org/dc/terms/issued": "2000-07-11", 79 | isDefinedBy: "http://purl.org/dc/dcmitype/", 80 | label: {en: "Service"}, 81 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 82 | term :Software, 83 | comment: {en: "A computer program in source or compiled form."}, 84 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 85 | "http://purl.org/dc/terms/description": {en: "Examples include a C source file, MS-Windows .exe executable, or Perl script."}, 86 | "http://purl.org/dc/terms/issued": "2000-07-11", 87 | isDefinedBy: "http://purl.org/dc/dcmitype/", 88 | label: {en: "Software"}, 89 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 90 | term :Sound, 91 | comment: {en: "A resource primarily intended to be heard."}, 92 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 93 | "http://purl.org/dc/terms/description": {en: "Examples include a music playback file format, an audio compact disc, and recorded speech or sounds."}, 94 | "http://purl.org/dc/terms/issued": "2000-07-11", 95 | isDefinedBy: "http://purl.org/dc/dcmitype/", 96 | label: {en: "Sound"}, 97 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 98 | term :StillImage, 99 | comment: {en: "A static visual representation."}, 100 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 101 | "http://purl.org/dc/terms/description": {en: "Examples include paintings, drawings, graphic designs, plans and maps. Recommended best practice is to assign the type Text to images of textual materials. Instances of the type Still Image must also be describable as instances of the broader type Image."}, 102 | "http://purl.org/dc/terms/issued": "2003-11-18", 103 | isDefinedBy: "http://purl.org/dc/dcmitype/", 104 | label: {en: "Still Image"}, 105 | subClassOf: "http://purl.org/dc/dcmitype/Image", 106 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 107 | term :Text, 108 | comment: {en: "A resource consisting primarily of words for reading."}, 109 | "http://purl.org/dc/dcam/memberOf": "http://purl.org/dc/terms/DCMIType", 110 | "http://purl.org/dc/terms/description": {en: "Examples include books, letters, dissertations, poems, newspapers, articles, archives of mailing lists. Note that facsimiles or images of texts are still of the genre Text."}, 111 | "http://purl.org/dc/terms/issued": "2000-07-11", 112 | isDefinedBy: "http://purl.org/dc/dcmitype/", 113 | label: {en: "Text"}, 114 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 115 | end 116 | end 117 | -------------------------------------------------------------------------------- /lib/rdf/vocab/geo.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://www.w3.org/2003/01/geo/wgs84_pos# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | GEO = Class.new(RDF::StrictVocabulary("http://www.w3.org/2003/01/geo/wgs84_pos#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://www.w3.org/2003/01/geo/wgs84_pos#", 12 | comment: "\nRecent changes to this namespace:\n$Log: wgs84_pos.rdf,v $\nRevision 1.22 2009/04/20 15:00:30 timbl\nRemove the time bits which have been deal with elsewhere eg in iCal.\n\nRevision 1.21 2009/04/20 12:52:47 timbl\ntry again\n\nRevision 1.20 2009/04/20 12:42:11 timbl\nAdd Event (edited ages ago and never checked in), and location (following discussion http://chatlogs.planetrdf.com/swig/2009-04-20#T12-36-09)\n\nRevision 1.19 2009/04/20 12:36:31 timbl\nAdd Event (edited ages ago and never checked in), and location (following discussion http://chatlogs.planetrdf.com/swig/2009-04-20#T12-36-09)\n\nRevision 1.18 2006/02/01 22:01:04 danbri\nClarified that lat and long are decimal degrees, and that alt is decimal metres about local reference ellipsoid\n\nRevision 1.17 2004/02/06 17:38:12 danbri\nFixed a bad commit screwup\n\nRevision 1.15 2003/04/19 11:24:08 danbri\nFixed the typo even more.\n\nRevision 1.14 2003/04/19 11:16:56 danbri\nfixed a typo\n\nRevision 1.13 2003/02/19 22:27:27 connolly\nrelaxed domain constraints on lat/long/alt from Point to SpatialThing\n\nRevision 1.12 2003/01/12 01:41:41 danbri\nTrying local copy of XSLT doc.\n\nRevision 1.11 2003/01/12 01:20:18 danbri\nadded a link to morten's xslt rdfs viewer.\n\nRevision 1.10 2003/01/11 18:56:49 danbri\nRemoved datatype range from lat and long properties, since they would\nhave required each occurance of the property to mention the datatype.\n\nRevision 1.9 2003/01/11 11:41:31 danbri\nAnother typo; repaired rdfs:Property to rdf:Property x4\n\nRevision 1.8 2003/01/11 11:05:02 danbri\nAdded an rdfs:range for each lat/long/alt property,\nhttp://www.w3.org/2001/XMLSchema#float\n\nRevision 1.7 2003/01/10 20:25:16 danbri\nLonger rdfs:comment for Point, trying to be Earth-centric and neutral about\ncoordinate system(s) at the same time. Feedback welcomed.\n\nRevision 1.6 2003/01/10 20:18:30 danbri\nAdded CVS log comments into the RDF/XML as an rdfs:comment property of the\nvocabulary. Note that this is not common practice (but seems both harmless\nand potentially useful).\n\n\nrevision 1.5\ndate: 2003/01/10 20:14:31; author: danbri; state: Exp; lines: +16 -5\nUpdated schema:\nAdded a dc:date, added url for more info. Changed the rdfs:label of the\nnamespace from gp to geo. Added a class Point, set as the rdfs:domain of\neach property. Added XML comment on the lat_long property suggesting that\nwe might not need it (based on #rdfig commentary from implementors).\n\nrevision 1.4\ndate: 2003/01/10 20:01:07; author: danbri; state: Exp; lines: +6 -5\nFixed typo; several rdfs:about attributes are now rdf:about. Thanks to MortenF in\n#rdfig for catching this error.\n\nrevision 1.3\ndate: 2003/01/10 11:59:03; author: danbri; state: Exp; lines: +4 -3\nfixed buglet in vocab, added more wgs links\n\nrevision 1.2\ndate: 2003/01/10 11:01:11; author: danbri; state: Exp; lines: +4 -4\nRemoved alt from the as-a-flat-string property, and switched from\nspace separated to comma separated.\n\nrevision 1.1\ndate: 2003/01/10 10:53:23; author: danbri; state: Exp;\nbasic geo vocab\n\n", 13 | "http://purl.org/dc/elements/1.1/date": "$Date: 2009/04/20 15:00:30 $", 14 | "http://purl.org/dc/elements/1.1/description": "A vocabulary for representing latitude, longitude and \n altitude information in the WGS84 geodetic reference datum. \n Version $Id: wgs84_pos.rdf,v 1.22 2009/04/20 15:00:30 timbl Exp $. See http://www.w3.org/2003/01/geo/ for more details.", 15 | "http://purl.org/dc/elements/1.1/title": "WGS84 Geo Positioning: an RDF vocabulary", 16 | label: "geo" 17 | 18 | # Class definitions 19 | term :Point, 20 | comment: [" \nUniquely identified by lat/long/alt. i.e.\n\nspaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT),\n lat(P2, LAT), long(P2, LONG), alt(P2, ALT).\n\nsameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2).\n ", "A point, typically described using a coordinate system relative to Earth, such as WGS84.\n "], 21 | label: "point", 22 | subClassOf: "http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing", 23 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 24 | term :SpatialThing, 25 | comment: "Anything with spatial extent, i.e. size, shape, or position.\n e.g. people, places, bowling balls, as well as abstract areas like cubes.\n", 26 | label: "SpatialThing", 27 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 28 | 29 | # Property definitions 30 | property :alt, 31 | comment: "The WGS84 altitude of a SpatialThing (decimal meters \nabove the local reference ellipsoid).", 32 | domain: "http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing", 33 | label: "altitude", 34 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 35 | property :lat, 36 | comment: "The WGS84 latitude of a SpatialThing (decimal degrees).", 37 | domain: "http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing", 38 | label: "latitude", 39 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 40 | property :lat_long, 41 | comment: "A comma-separated representation of a latitude, longitude coordinate.", 42 | label: "lat/long", 43 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 44 | property :location, 45 | comment: "The relation between something and the point, \n or other geometrical thing in space, where it is. For example, the realtionship between\n a radio tower and a Point with a given lat and long.\n Or a relationship between a park and its outline as a closed arc of points, or a road and\n its location as a arc (a sequence of points).\n Clearly in practice there will be limit to the accuracy of any such statement, but one would expect\n an accuracy appropriate for the size of the object and uses such as mapping .\n ", 46 | label: "location", 47 | range: "http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing", 48 | subPropertyOf: "http://xmlns.com/foaf/0.1/based_near", 49 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 50 | property :long, 51 | comment: "The WGS84 longitude of a SpatialThing (decimal degrees).", 52 | domain: "http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing", 53 | label: "longitude", 54 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 55 | end 56 | end 57 | -------------------------------------------------------------------------------- /lib/rdf/vocab/geojson.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from https://purl.org/geojson/vocab# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | GEOJSON = Class.new(RDF::StrictVocabulary("https://purl.org/geojson/vocab#")) do 9 | 10 | # Class definitions 11 | term :Feature, 12 | comment: {en: "See RFC 7946 Section 3.2."}, 13 | isDefinedBy: "http://purl.org/geojson/vocab#", 14 | label: {en: "Feature"}, 15 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 16 | term :FeatureCollection, 17 | comment: {en: "See RFC 7946 Section 3.3."}, 18 | isDefinedBy: "http://purl.org/geojson/vocab#", 19 | label: {en: "FeatureCollection"}, 20 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 21 | term :GeometryCollection, 22 | comment: {en: "See RFC 7946 Section 3.1.8."}, 23 | isDefinedBy: "http://purl.org/geojson/vocab#", 24 | label: {en: "GeometryCollection"}, 25 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 26 | term :LineString, 27 | comment: {en: "See RFC 7946 Section 3.1.4."}, 28 | isDefinedBy: "http://purl.org/geojson/vocab#", 29 | label: {en: "LineString"}, 30 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 31 | term :MultiLineString, 32 | comment: {en: "See RFC 7946 Section 3.1.5."}, 33 | isDefinedBy: "http://purl.org/geojson/vocab#", 34 | label: {en: "MultiLineString"}, 35 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 36 | term :MultiPoint, 37 | comment: {en: "See RFC 7946 Section 3.1.3."}, 38 | isDefinedBy: "http://purl.org/geojson/vocab#", 39 | label: {en: "MultiPoint"}, 40 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 41 | term :MultiPolygon, 42 | comment: {en: "See RFC 7946 Section 3.1.7."}, 43 | isDefinedBy: "http://purl.org/geojson/vocab#", 44 | label: {en: "MultiPolygon"}, 45 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 46 | term :Point, 47 | comment: {en: "See RFC 7946 Section 3.1.2."}, 48 | isDefinedBy: "http://purl.org/geojson/vocab#", 49 | label: {en: "Point"}, 50 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 51 | term :Polygon, 52 | comment: {en: "See RFC 7946 Section 3.1.6."}, 53 | isDefinedBy: "http://purl.org/geojson/vocab#", 54 | label: {en: "Polygon"}, 55 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 56 | 57 | # Property definitions 58 | property :bbox, 59 | comment: {en: "See RFC 7946 Section 5."}, 60 | isDefinedBy: "http://purl.org/geojson/vocab#", 61 | label: {en: "bbox"}, 62 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 63 | property :coordinates, 64 | comment: {en: "RFC 7946 Section 3.1.1."}, 65 | isDefinedBy: "http://purl.org/geojson/vocab#", 66 | label: {en: "coordinates"}, 67 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 68 | property :features, 69 | comment: {en: "RFC 7946 Section 3.3."}, 70 | isDefinedBy: "http://purl.org/geojson/vocab#", 71 | label: {en: "features"}, 72 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 73 | property :geometry, 74 | comment: {en: "RFC 7946 Section 3.2."}, 75 | isDefinedBy: "http://purl.org/geojson/vocab#", 76 | label: {en: "geometry"}, 77 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 78 | property :id, 79 | comment: {en: "RFC 7946 Section 3.2."}, 80 | isDefinedBy: "http://purl.org/geojson/vocab#", 81 | label: {en: "id"}, 82 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 83 | property :properties, 84 | comment: {en: "RFC 7946 Section 3.2."}, 85 | isDefinedBy: "http://purl.org/geojson/vocab#", 86 | label: {en: "properties"}, 87 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 88 | property :type, 89 | comment: {en: "RFC 7946 Section 3."}, 90 | isDefinedBy: "http://purl.org/geojson/vocab#", 91 | label: {en: "type"}, 92 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 93 | end 94 | end 95 | -------------------------------------------------------------------------------- /lib/rdf/vocab/iiif.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://iiif.io/api/presentation/2# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | IIIF = Class.new(RDF::StrictVocabulary("http://iiif.io/api/presentation/2#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://iiif.io/api/presentation/2#", 12 | "http://www.w3.org/2002/07/owl#versionInfo": "2015-12-13 23:00:00Z", 13 | type: "http://www.w3.org/2002/07/owl#Ontology" 14 | 15 | # Class definitions 16 | term :AnnotationList, 17 | comment: "AnnotationLists are an ordered list of Annotation objects. Typically all Annnotations in a list target the same Canvas", 18 | isDefinedBy: "http://iiif.io/api/presentation/2#", 19 | label: "AnnotationList", 20 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 21 | term :Canvas, 22 | comment: "The canvas represents an individual page or view and acts as a central point for laying out the different content resources that make up the display.", 23 | isDefinedBy: "http://iiif.io/api/presentation/2#", 24 | label: "Canvas", 25 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 26 | term :Collection, 27 | comment: "Collections are used to list the manifests available for viewing, and to describe the structures, hierarchies or collections that the physical objects are part of.", 28 | isDefinedBy: "http://iiif.io/api/presentation/2#", 29 | label: "Collection", 30 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 31 | term :Layer, 32 | comment: "Layers are lists of AnnotationLists to group them together, for example to create the set of lists that make up a particular translation/edition of a text", 33 | isDefinedBy: "http://iiif.io/api/presentation/2#", 34 | label: "Layer", 35 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 36 | term :Manifest, 37 | comment: "The manifest resource represents a single object and any intellectual work or works embodied within that object", 38 | isDefinedBy: "http://iiif.io/api/presentation/2#", 39 | label: "Manifest", 40 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 41 | term :Range, 42 | comment: "Ranges describe additional structure within an object, such as newspaper articles that span pages, the range of non-content-bearing pages at the beginning of a work, or chapters within a book", 43 | isDefinedBy: "http://iiif.io/api/presentation/2#", 44 | label: "Range", 45 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 46 | term :Sequence, 47 | comment: "The sequence conveys the ordering of the views of the object.", 48 | isDefinedBy: "http://iiif.io/api/presentation/2#", 49 | label: "Sequence", 50 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 51 | term :ViewingDirection, 52 | isDefinedBy: "http://iiif.io/api/presentation/2#", 53 | label: "ViewingDirection", 54 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 55 | term :ViewingHint, 56 | isDefinedBy: "http://iiif.io/api/presentation/2#", 57 | label: "ViewingHint", 58 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 59 | term :Zone, 60 | comment: "Used to group annotations together in an area of a Canvas, for example to model columns, foldouts or palimpsests; Note that Zones are not currently used in the IIIF Presentation API.", 61 | isDefinedBy: "http://iiif.io/api/presentation/2#", 62 | label: "Zone", 63 | subClassOf: "http://iiif.io/api/presentation/2#Canvas", 64 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 65 | 66 | # Property definitions 67 | property :attributionLabel, 68 | comment: "A string containing an attribution description that must be displayed when using the resource", 69 | isDefinedBy: "http://iiif.io/api/presentation/2#", 70 | label: "attributionLabel", 71 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 72 | property :hasAnnotations, 73 | isDefinedBy: "http://iiif.io/api/presentation/2#", 74 | label: "hasAnnotations", 75 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#List", 76 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 77 | property :hasCanvases, 78 | isDefinedBy: "http://iiif.io/api/presentation/2#", 79 | label: "hasCanvases", 80 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#List", 81 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 82 | property :hasCollections, 83 | domain: "http://iiif.io/api/presentation/2#Collection", 84 | isDefinedBy: "http://iiif.io/api/presentation/2#", 85 | label: "hasCollections", 86 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#List", 87 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 88 | property :hasContentLayer, 89 | comment: "A link from a Range to a Layer that provides the content resources of that Range", 90 | domain: "http://iiif.io/api/presentation/2#Range", 91 | isDefinedBy: "http://iiif.io/api/presentation/2#", 92 | label: "hasContentLayer", 93 | range: "http://iiif.io/api/presentation/2#Layer", 94 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 95 | property :hasImageAnnotations, 96 | isDefinedBy: "http://iiif.io/api/presentation/2#", 97 | label: "hasImageAnnotations", 98 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#List", 99 | subPropertyOf: "http://iiif.io/api/presentation/2#hasAnnotations", 100 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 101 | property :hasLists, 102 | isDefinedBy: "http://iiif.io/api/presentation/2#", 103 | label: "hasLists", 104 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#List", 105 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 106 | property :hasManifests, 107 | domain: "http://iiif.io/api/presentation/2#Collection", 108 | isDefinedBy: "http://iiif.io/api/presentation/2#", 109 | label: "hasManifests", 110 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#List", 111 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 112 | property :hasRanges, 113 | isDefinedBy: "http://iiif.io/api/presentation/2#", 114 | label: "hasRanges", 115 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#List", 116 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 117 | property :hasSequences, 118 | domain: "http://iiif.io/api/presentation/2#Manifest", 119 | isDefinedBy: "http://iiif.io/api/presentation/2#", 120 | label: "hasSequences", 121 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#List", 122 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 123 | property :hasStartCanvas, 124 | comment: "A link from a Manifest or Sequence to the Canvas that the rendering agent should initialize their view with.", 125 | isDefinedBy: "http://iiif.io/api/presentation/2#", 126 | label: "hasStartCanvas", 127 | range: "http://iiif.io/api/presentation/2#Canvas", 128 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 129 | property :metadataLabels, 130 | comment: "An rdf:List of label/value pairs providing descriptive metadata about the resource, intended for human audience", 131 | isDefinedBy: "http://iiif.io/api/presentation/2#", 132 | label: "metadataLabels", 133 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#List", 134 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 135 | property :viewingDirection, 136 | comment: "References the sc:ViewingDirection that defines the direction that the resource should be viewed in", 137 | isDefinedBy: "http://iiif.io/api/presentation/2#", 138 | label: "viewingDirection", 139 | range: "http://iiif.io/api/presentation/2#ViewingDirection", 140 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 141 | property :viewingHint, 142 | comment: "A hint to a user agent as to how to render the resource", 143 | isDefinedBy: "http://iiif.io/api/presentation/2#", 144 | label: "viewingHint", 145 | range: "http://iiif.io/api/presentation/2#ViewingHint", 146 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 147 | 148 | # Extra definitions 149 | term :bottomToTopDirection, 150 | comment: "Bottom-to-Top Viewing Direction", 151 | type: "http://iiif.io/api/presentation/2#ViewingDirection" 152 | term :continuousHint, 153 | comment: "Each canvas represents a segment of a continuous object such as a long scroll", 154 | type: "http://iiif.io/api/presentation/2#ViewingHint" 155 | term :facingPagesHint, 156 | comment: "Canvases with this hint depict both parts of an opening.", 157 | type: "http://iiif.io/api/presentation/2#ViewingHint" 158 | term :individualsHint, 159 | comment: "Each canvas represents a separate individual object, and should not have transitions", 160 | type: "http://iiif.io/api/presentation/2#ViewingHint" 161 | term :leftToRightDirection, 162 | comment: "Left-to-Right Viewing Direction", 163 | type: "http://iiif.io/api/presentation/2#ViewingDirection" 164 | term :multiPartHint, 165 | comment: "Collections with this hint consist of multiple manifests that each form part of a logical whole.", 166 | type: "http://iiif.io/api/presentation/2#ViewingHint" 167 | term :nonPagedHint, 168 | comment: "Viewing Hint that the Canvas MUST NOT be presented in a page turner", 169 | type: "http://iiif.io/api/presentation/2#ViewingHint" 170 | term :pagedHint, 171 | comment: "Viewing Hint that object has canvases that represent pages that can be turned", 172 | type: "http://iiif.io/api/presentation/2#ViewingHint" 173 | term :painting, 174 | type: "http://www.w3.org/ns/oa#Motivation" 175 | term :rightToLeftDirection, 176 | comment: "Right-to-Left Viewing Direction", 177 | type: "http://iiif.io/api/presentation/2#ViewingDirection" 178 | term :topHint, 179 | comment: "The topmost range in a nested hierarchy, such as a table of contents", 180 | type: "http://iiif.io/api/presentation/2#ViewingHint" 181 | term :topToBottomDirection, 182 | comment: "Top-to-Bottom Viewing Direction", 183 | type: "http://iiif.io/api/presentation/2#ViewingDirection" 184 | end 185 | end 186 | -------------------------------------------------------------------------------- /lib/rdf/vocab/ogc.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://ogp.me/ns/class# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | OGC = Class.new(RDF::Vocabulary("http://ogp.me/ns/class#")) do 9 | 10 | # Datatype definitions 11 | term :boolean_str, 12 | comment: {"en-us": "A string representation of a true or false value. The lexical space contains: \"true\", \"false\", \"1\", and \"0\"."}, 13 | isDefinedBy: "http://ogp.me/ns/class#", 14 | label: {"en-us": "boolean string"}, 15 | subClassOf: "http://www.w3.org/2001/XMLSchema#string", 16 | type: "http://www.w3.org/2000/01/rdf-schema#Datatype" 17 | term :date_time_str, 18 | comment: {"en-us": "A string representation of a temporal value composed of a date (year, month, day) and an optional time component (hours, minutes). The lexical space is defined by ISO 8601."}, 19 | isDefinedBy: "http://ogp.me/ns/class#", 20 | label: {"en-us": "date/time string"}, 21 | subClassOf: "http://www.w3.org/2001/XMLSchema#string", 22 | type: "http://www.w3.org/2000/01/rdf-schema#Datatype" 23 | term :determiner_str, 24 | comment: {"en-us": "The lexical space: \"\", \"the\", \"a\", \"an\", and \"auto\"."}, 25 | "http://www.w3.org/2002/07/owl#oneOf": list("", "the", "a", "an", "auto"), 26 | isDefinedBy: "http://ogp.me/ns/class#", 27 | label: {"en-us": "determiner"}, 28 | subClassOf: "http://www.w3.org/2001/XMLSchema#string", 29 | type: "http://www.w3.org/2000/01/rdf-schema#Datatype" 30 | term :float_str, 31 | comment: {"en-us": "A string representation of a 64-bit signed floating point number. Example lexical values include \"1.234\", \"-1.234\", \"1.2e3\", \"-1.2e3\", and \"7E-10\"."}, 32 | isDefinedBy: "http://ogp.me/ns/class#", 33 | label: {"en-us": "float string"}, 34 | subClassOf: "http://www.w3.org/2001/XMLSchema#string", 35 | type: "http://www.w3.org/2000/01/rdf-schema#Datatype" 36 | term :integer_str, 37 | comment: {"en-us": "A string representation of a 32-bit signed integer. Example lexical values include \"1234\" and \"-123\"."}, 38 | isDefinedBy: "http://ogp.me/ns/class#", 39 | label: {"en-us": "integer string"}, 40 | subClassOf: "http://www.w3.org/2001/XMLSchema#string", 41 | type: "http://www.w3.org/2000/01/rdf-schema#Datatype" 42 | term :mime_type_str, 43 | comment: {"en-us": "Valid mime type strings (e.g., \"application/mp3\")."}, 44 | isDefinedBy: "http://ogp.me/ns#", 45 | label: {"en-us": "mime type string"}, 46 | subClassOf: "http://www.w3.org/2001/XMLSchema#string", 47 | type: "http://www.w3.org/2000/01/rdf-schema#Datatype" 48 | term :string, 49 | comment: {"en-us": "A string of Unicode characters."}, 50 | isDefinedBy: "http://ogp.me/ns/class#", 51 | label: {"en-us": "Unicode string"}, 52 | subClassOf: "http://www.w3.org/2001/XMLSchema#string", 53 | type: "http://www.w3.org/2000/01/rdf-schema#Datatype" 54 | term :url, 55 | comment: {"en-us": "A string of Unicode characters forming a valid URL having the http or https scheme."}, 56 | isDefinedBy: "http://ogp.me/ns/class#", 57 | label: {"en-us": "URL"}, 58 | subClassOf: "http://ogp.me/ns/class#string", 59 | type: "http://www.w3.org/2000/01/rdf-schema#Datatype" 60 | end 61 | end 62 | -------------------------------------------------------------------------------- /lib/rdf/vocab/ore.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://www.openarchives.org/ore/terms/ 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | ORE = Class.new(RDF::StrictVocabulary("http://www.openarchives.org/ore/terms/")) do 9 | 10 | # Ontology definition 11 | ontology :"http://www.openarchives.org/ore/terms/", 12 | comment: "The set of terms provided by the OAI ORE initiative", 13 | "http://purl.org/dc/terms/license": "http://creativecommons.org/licenses/by-sa/3.0/", 14 | "http://purl.org/dc/terms/publisher": term( 15 | label: "The Open Archives Initiative ORE Project" 16 | ), 17 | "http://purl.org/dc/terms/title": "The OAI ORE terms vocabulary", 18 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://www.openarchives.org/ore/toc", 19 | label: "The OAI ORE terms vocabulary" 20 | 21 | # Class definitions 22 | term :AggregatedResource, 23 | comment: "A resource which is included in an Aggregation. Note that asserting that a resource is a member of the class of Aggregated Resources does not imply anything other than that it is aggregated by at least one Aggregation.", 24 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 25 | label: "Aggregated Resource", 26 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 27 | term :Aggregation, 28 | comment: "A set of related resources (Aggregated Resources), grouped together such that the set can be treated as a single resource. This is the entity described within the ORE interoperability framework by a Resource Map.", 29 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 30 | label: "Aggregation", 31 | subClassOf: "http://purl.org/dc/dcmitype/Collection", 32 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 33 | term :Proxy, 34 | comment: "A Proxy represents an Aggregated Resource as it exists in a specific Aggregation. All assertions made about an entity are globally true, not only within the context of the Aggregation. As such, in order to make assertions which are only true of a resource as it exists in an Aggregation, a Proxy object is required. For example, one might want to cite an article as it appears in a specific journal, or assign aggregation-specific metadata to a Resource.", 35 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 36 | label: "Proxy", 37 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 38 | term :ResourceMap, 39 | comment: "A description of an Aggregation according to the OAI-ORE data model. Resource Maps are serialised to a machine readable format according to the implementation guidelines.", 40 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 41 | label: "Resource Map", 42 | subClassOf: "http://www.w3.org/2004/03/trix/rdfg-1/Graph", 43 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 44 | 45 | # Property definitions 46 | property :aggregates, 47 | comment: "Aggregations, by definition, aggregate resources. The ore:aggregates relationship expresses that the object resource is a member of the set of Aggregated Resources of the subject (the Aggregation). This relationship between the Aggregation and its Aggregated Resources is thus more specific than a simple part/whole relationship, as expressed by dcterms:hasPart for example.", 48 | domain: "http://www.openarchives.org/ore/terms/Aggregation", 49 | inverseOf: "http://www.openarchives.org/ore/terms/isAggregatedBy", 50 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 51 | label: "Aggregates", 52 | range: "http://www.openarchives.org/ore/terms/AggregatedResource", 53 | subPropertyOf: "http://purl.org/dc/terms/hasPart", 54 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 55 | property :describes, 56 | comment: "This relationship asserts that the subject (a Resource Map) describes the object (an Aggregation).", 57 | domain: "http://www.openarchives.org/ore/terms/ResourceMap", 58 | inverseOf: "http://www.openarchives.org/ore/terms/isDescribedBy", 59 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 60 | label: "Describes", 61 | range: "http://www.openarchives.org/ore/terms/Aggregation", 62 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 63 | property :isAggregatedBy, 64 | comment: "The inverse relationship of ore:aggregates, ore:isAggregatedBy asserts that an Aggregated Resource is aggregated by an Aggregation.", 65 | domain: "http://www.openarchives.org/ore/terms/AggregatedResource", 66 | inverseOf: "http://www.openarchives.org/ore/terms/aggregates", 67 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 68 | label: "Is Aggregated By", 69 | range: "http://www.openarchives.org/ore/terms/Aggregation", 70 | subPropertyOf: "http://purl.org/dc/terms/isPartOf", 71 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 72 | property :isDescribedBy, 73 | comment: "The inverse relationship of ore:describes, in this case the object of the relationship is the Resource Map and the subject is the Aggregation which it describes.", 74 | domain: "http://www.openarchives.org/ore/terms/Aggregation", 75 | inverseOf: "http://www.openarchives.org/ore/terms/describes", 76 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 77 | label: "Is Described By", 78 | range: "http://www.openarchives.org/ore/terms/ResourceMap", 79 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 80 | property :lineage, 81 | comment: "ore:lineage is a relationship between two Proxy objects, both of which MUST have the same Resource for which they are proxies. The meaning is that the Resource for which the subject of the relationship is a Proxy was discovered in the Aggregation in which the object Proxy's resource is aggregated.", 82 | domain: "http://www.openarchives.org/ore/terms/Proxy", 83 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 84 | label: "Lineage", 85 | range: "http://www.openarchives.org/ore/terms/Proxy", 86 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 87 | property :proxyFor, 88 | comment: "Proxy objects are used to represent a Resource as it is aggregated in a particular Aggregation. The ore:proxyFor relationship is used to link the proxy to the Aggregated Resource it is a proxy for. The subject of the relationship is a Proxy object, and the object of the relationship is the Aggregated Resource.", 89 | domain: "http://www.openarchives.org/ore/terms/Proxy", 90 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 91 | label: "Proxy For", 92 | range: "http://www.openarchives.org/ore/terms/AggregatedResource", 93 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 94 | property :proxyIn, 95 | comment: "Proxy objects must link to the Aggregation in which the resource being proxied is aggregated. The ore:proxyIn relationship is used for this purpose. The subject of the relationship is a Proxy object, and the object of the relationship is the Aggregation.", 96 | domain: "http://www.openarchives.org/ore/terms/Proxy", 97 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 98 | label: "Proxy In", 99 | range: "http://www.openarchives.org/ore/terms/Aggregation", 100 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 101 | property :similarTo, 102 | comment: "The subject of this relationship MUST be an Aggregation. This Aggregation should be considered an expression within the ORE context of the object of the relationship, as it is broadly equivalent to the resource. For example, the Aggregation may consist of the resources which, together, make up a journal article which has a DOI assigned to it. The Aggregation is not the article to which the DOI was assigned, but is a representation of it in some manner.", 103 | domain: "http://www.openarchives.org/ore/terms/Aggregation", 104 | isDefinedBy: "http://www.openarchives.org/ore/terms/", 105 | label: "Similar To", 106 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 107 | end 108 | end 109 | -------------------------------------------------------------------------------- /lib/rdf/vocab/pcdm.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://pcdm.org/models# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | PCDM = Class.new(RDF::StrictVocabulary("http://pcdm.org/models#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://pcdm.org/models#", 12 | comment: {en: "Ontology for the Portland Common Data Model, intended to underlie a wide array of repository and DAMS applications."}, 13 | "http://purl.org/dc/terms/modified": "2016/04/18", 14 | "http://purl.org/dc/terms/publisher": "http://www.duraspace.org/", 15 | "http://purl.org/dc/terms/title": {en: "Portland Common Data Model"}, 16 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "https://github.com/duraspace/pcdm/wiki", 17 | "http://www.w3.org/2002/07/owl#priorVersion": "http://pcdm.org/2015/09/28/models", 18 | "http://www.w3.org/2002/07/owl#versionInfo": "2016/04/18" 19 | 20 | # Class definitions 21 | term :AlternateOrder, 22 | comment: {en: "\n An AlternateOrder is an alternate ordering of its parent's members. It should only order the\n parent's members, and otherwise has all of the features of ordering (some members may be\n omitted from the order, members may appear more than once in the order, etc.).\n "}, 23 | isDefinedBy: "http://pcdm.org/models#", 24 | label: {en: "Alternate Order"}, 25 | subClassOf: "http://pcdm.org/models#Object", 26 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 27 | term :Collection, 28 | comment: {en: "\n A Collection is a group of resources. Collections have descriptive metadata, access metadata,\n and may links to works and/or collections. By default, member works and collections are an\n unordered set, but can be ordered using the ORE Proxy class.\n "}, 29 | isDefinedBy: "http://pcdm.org/models#", 30 | label: {en: "Collection"}, 31 | subClassOf: "http://www.openarchives.org/ore/terms/Aggregation", 32 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 33 | term :File, 34 | comment: {en: "\n A File is a sequence of binary data and is described by some accompanying metadata.\n The metadata typically includes at least basic technical metadata (size, content type,\n modification date, etc.), but can also include properties related to preservation,\n digitization process, provenance, etc. Files MUST be contained by exactly one Object.\n "}, 35 | isDefinedBy: "http://pcdm.org/models#", 36 | label: {en: "File"}, 37 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 38 | term :Object, 39 | comment: {en: "\n An Object is an intellectual entity, sometimes called a \"work\", \"digital object\", etc.\n Objects have descriptive metadata, access metadata, may contain files and other Objects as\n member \"components\". Each level of a work is therefore represented by an Object instance,\n and is capable of standing on its own, being linked to from Collections and other Objects.\n Member Objects can be ordered using the ORE Proxy class.\n "}, 40 | isDefinedBy: "http://pcdm.org/models#", 41 | label: {en: "Object"}, 42 | subClassOf: "http://www.openarchives.org/ore/terms/Aggregation", 43 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 44 | 45 | # Property definitions 46 | property :fileOf, 47 | comment: {en: "Links from a File to its containing Object."}, 48 | domain: "http://pcdm.org/models#File", 49 | inverseOf: "http://pcdm.org/models#hasFile", 50 | isDefinedBy: "http://pcdm.org/models#", 51 | label: {en: "is file of"}, 52 | range: "http://pcdm.org/models#Object", 53 | subPropertyOf: "http://www.openarchives.org/ore/terms/isAggregatedBy", 54 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 55 | property :hasFile, 56 | comment: {en: "Links to a File contained by this Object."}, 57 | domain: "http://pcdm.org/models#Object", 58 | isDefinedBy: "http://pcdm.org/models#", 59 | label: {en: "has file"}, 60 | range: "http://pcdm.org/models#File", 61 | subPropertyOf: "http://www.openarchives.org/ore/terms/aggregates", 62 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 63 | property :hasMember, 64 | comment: {en: "Links to a subsidiary Object or Collection. Typically used to link\n to component parts, such as a book linking to a page. Note on transitivity: hasMember is\n not defined as transitive, but applications may treat it as transitive as local needs\n dictate."}, 65 | domain: "http://www.openarchives.org/ore/terms/Aggregation", 66 | isDefinedBy: "http://pcdm.org/models#", 67 | label: {en: "has member"}, 68 | range: "http://www.openarchives.org/ore/terms/Aggregation", 69 | subPropertyOf: "http://www.openarchives.org/ore/terms/aggregates", 70 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 71 | property :hasRelatedObject, 72 | comment: {en: "Links to a related Object that is not a component part, such as an object representing a donor agreement or policies that govern the resource."}, 73 | domain: "http://www.openarchives.org/ore/terms/Aggregation", 74 | isDefinedBy: "http://pcdm.org/models#", 75 | label: {en: "has related object"}, 76 | range: "http://pcdm.org/models#Object", 77 | subPropertyOf: "http://www.openarchives.org/ore/terms/aggregates", 78 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 79 | property :memberOf, 80 | comment: {en: "Links from an Object or Collection to a containing Object or Collection."}, 81 | domain: "http://www.openarchives.org/ore/terms/Aggregation", 82 | inverseOf: "http://pcdm.org/models#hasMember", 83 | isDefinedBy: "http://pcdm.org/models#", 84 | label: {en: "is member of"}, 85 | range: "http://www.openarchives.org/ore/terms/Aggregation", 86 | subPropertyOf: "http://www.openarchives.org/ore/terms/isAggregatedBy", 87 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 88 | property :relatedObjectOf, 89 | comment: {en: "Links from an Object to a Object or Collection that it is related to."}, 90 | domain: "http://pcdm.org/models#Object", 91 | inverseOf: "http://pcdm.org/models#hasRelatedObject", 92 | isDefinedBy: "http://pcdm.org/models#", 93 | label: {en: "is related object of"}, 94 | range: "http://www.openarchives.org/ore/terms/Aggregation", 95 | subPropertyOf: "http://www.openarchives.org/ore/terms/isAggregatedBy", 96 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 97 | end 98 | end 99 | -------------------------------------------------------------------------------- /lib/rdf/vocab/pplan.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://purl.org/net/p-plan# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | PPLAN = Class.new(RDF::StrictVocabulary("http://purl.org/net/p-plan#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://purl.org/net/p-plan#", 12 | comment: "PROV extension for linking Plans and parts of plans to their respective executions. Created by Daniel Garijo and Yolanda Gil", 13 | "http://purl.org/dc/terms/created": "2012-11-10", 14 | "http://purl.org/dc/terms/creator": ["http://delicias.dia.fi.upm.es/members/DGarijo#me", "http://www.isi.edu/~gil/"], 15 | "http://purl.org/dc/terms/description": {en: "PROV extension for linking Plans and parts of plans to their respective executions."}, 16 | "http://purl.org/dc/terms/license": "http://creativecommons.org/licenses/by-nc-sa/2.0/", 17 | "http://purl.org/dc/terms/modified": "2013-05-17", 18 | "http://purl.org/dc/terms/title": {en: "The P-Plan ontology"}, 19 | "http://purl.org/vocab/vann/preferredNamespacePrefix": "p-plan", 20 | "http://purl.org/vocab/vann/preferredNamespaceUri": "http://purl.org/net/p-plan#", 21 | "http://www.w3.org/2002/07/owl#versionInfo": "1.2", 22 | type: ["http://www.w3.org/2002/07/owl#NamedIndividual", "http://www.w3.org/2002/07/owl#Ontology", "http://www.w3.org/2002/07/owl#Thing"] 23 | 24 | # Class definitions 25 | term :Activity, 26 | comment: "A p-plan:Activity represents the execution process planned in a p-plan:Step", 27 | isDefinedBy: "http://purl.org/net/p-plan#", 28 | label: "Activity", 29 | subClassOf: "http://www.w3.org/ns/prov#Activity", 30 | type: "http://www.w3.org/2002/07/owl#Class" 31 | term :Bundle, 32 | "http://www.w3.org/ns/prov#definition": "A p-plan:Bundle is a specific type of prov:Bundle that contains the provenance assertions of the execution of a p-plan:Plan", 33 | isDefinedBy: "http://purl.org/net/p-plan#", 34 | label: "Bundle", 35 | subClassOf: "http://www.w3.org/ns/prov#Bundle", 36 | type: "http://www.w3.org/2002/07/owl#Class" 37 | term :Entity, 38 | "http://www.w3.org/ns/prov#definition": "a p-plan:Entity represents the input of the execution of a p-plan:Activity. It corresponds to a p-plan:Variable.", 39 | isDefinedBy: "http://purl.org/net/p-plan#", 40 | label: "Entity", 41 | subClassOf: "http://www.w3.org/ns/prov#Entity", 42 | type: "http://www.w3.org/2002/07/owl#Class" 43 | term :Plan, 44 | "http://www.w3.org/ns/prov#definition": "A p-plan:Plan is a specific type of prov:Plan. It is composed of smaller steps that use and produce Variables.", 45 | isDefinedBy: "http://purl.org/net/p-plan#", 46 | label: "Plan", 47 | subClassOf: "http://www.w3.org/ns/prov#Plan", 48 | type: "http://www.w3.org/2002/07/owl#Class" 49 | term :Step, 50 | "http://www.w3.org/ns/prov#definition": "A p-plan:Step represents the planned execution activity", 51 | isDefinedBy: "http://purl.org/net/p-plan#", 52 | label: "Step", 53 | type: "http://www.w3.org/2002/07/owl#Class" 54 | term :Variable, 55 | "http://www.w3.org/ns/prov#definition": "A p-plan:Variable represents a description of the input of the planned Activity (p-plan:Step)", 56 | isDefinedBy: "http://purl.org/net/p-plan#", 57 | label: "Variable", 58 | type: "http://www.w3.org/2002/07/owl#Class" 59 | 60 | # Property definitions 61 | property :correspondsToStep, 62 | domain: "http://purl.org/net/p-plan#Activity", 63 | "http://www.w3.org/ns/prov#definition": {en: "p-plan:correspondsToStep links a p-plan:Activity to its planned p-plan:Step"}, 64 | isDefinedBy: "http://purl.org/net/p-plan#", 65 | label: {en: "correspondsToStep"}, 66 | range: "http://purl.org/net/p-plan#Step", 67 | type: ["http://www.w3.org/2002/07/owl#FunctionalProperty", "http://www.w3.org/2002/07/owl#ObjectProperty"] 68 | property :correspondsToVariable, 69 | domain: "http://purl.org/net/p-plan#Entity", 70 | "http://www.w3.org/ns/prov#definition": {en: "p-plan:correspondsToVariable binds a p-plan:Entity (used by a p-plan:Activity in the execution of a plan) to the p-plan:Variable it represented it in the p-plan:Plan."}, 71 | isDefinedBy: "http://purl.org/net/p-plan#", 72 | label: {en: "correspondsToVariable"}, 73 | range: "http://purl.org/net/p-plan#Variable", 74 | type: ["http://www.w3.org/2002/07/owl#FunctionalProperty", "http://www.w3.org/2002/07/owl#ObjectProperty"] 75 | property :hasInputVar, 76 | domain: "http://purl.org/net/p-plan#Step", 77 | "http://www.w3.org/ns/prov#definition": {en: "p-plan:hasInputVar binds a p-plan:Step to the p-plan:Variable that takes as input for the planned execution"}, 78 | isDefinedBy: "http://purl.org/net/p-plan#", 79 | label: {en: "hasInputVar"}, 80 | range: "http://purl.org/net/p-plan#Variable", 81 | type: "http://www.w3.org/2002/07/owl#ObjectProperty" 82 | property :hasOutputVar, 83 | domain: "http://purl.org/net/p-plan#Step", 84 | "http://www.w3.org/ns/prov#definition": {en: "p-plan:hasOutputVar binds a p-plan:Step to the p-plan:Variable that will be produced as output in the planned execution"}, 85 | inverseOf: "http://purl.org/net/p-plan#isOutputVarOf", 86 | isDefinedBy: "http://purl.org/net/p-plan#", 87 | label: {en: "hasOutputVar"}, 88 | range: "http://purl.org/net/p-plan#Variable", 89 | type: "http://www.w3.org/2002/07/owl#ObjectProperty" 90 | property :isInputVarOf, 91 | domain: "http://purl.org/net/p-plan#Variable", 92 | "http://www.w3.org/ns/prov#definition": {en: "p-plan:isInputVarOf links an input variable of a step to the step."}, 93 | inverseOf: "http://purl.org/net/p-plan#hasInputVar", 94 | isDefinedBy: "http://purl.org/net/p-plan#", 95 | label: {en: "isInputVarOf"}, 96 | range: "http://purl.org/net/p-plan#Step", 97 | type: "http://www.w3.org/2002/07/owl#ObjectProperty" 98 | property :isOutputVarOf, 99 | domain: "http://purl.org/net/p-plan#Variable", 100 | "http://www.w3.org/ns/prov#definition": {en: "p-plan:isOutputVarOf is intended to link an output variable of a step to the step."}, 101 | isDefinedBy: "http://purl.org/net/p-plan#", 102 | label: {en: "isOutputVarOf"}, 103 | range: "http://purl.org/net/p-plan#Step", 104 | type: ["http://www.w3.org/2002/07/owl#FunctionalProperty", "http://www.w3.org/2002/07/owl#ObjectProperty"] 105 | property :isPreceededBy, 106 | comment: "http://purl.org/net/p-plan#", 107 | domain: "http://purl.org/net/p-plan#Step", 108 | isDefinedBy: {en: "Property that asserts which Step preceeds the current one. "}, 109 | label: {en: "isPreceededBy"}, 110 | range: "http://purl.org/net/p-plan#Step", 111 | type: ["http://www.w3.org/2002/07/owl#ObjectProperty", "http://www.w3.org/2002/07/owl#TransitiveProperty"] 112 | property :isStepOfPlan, 113 | domain: "http://purl.org/net/p-plan#Step", 114 | "http://www.w3.org/ns/prov#definition": {en: "p-plan:isStepOfPlan links a p-plan:Step to the p-plan:Plan which it corresponds to."}, 115 | isDefinedBy: "http://purl.org/net/p-plan#", 116 | label: {en: "isStepOfPlan"}, 117 | range: "http://purl.org/net/p-plan#Plan", 118 | type: "http://www.w3.org/2002/07/owl#ObjectProperty" 119 | property :isVariableOfPlan, 120 | domain: "http://purl.org/net/p-plan#Variable", 121 | "http://www.w3.org/ns/prov#definition": {en: "p-plan:IsVariableOfPlan binds a p-plan:Variable to the p-plan:Plan it corresponds to."}, 122 | isDefinedBy: "http://purl.org/net/p-plan#", 123 | label: {en: "isVariableofPlan"}, 124 | range: "http://purl.org/net/p-plan#Plan", 125 | type: "http://www.w3.org/2002/07/owl#ObjectProperty" 126 | end 127 | end 128 | -------------------------------------------------------------------------------- /lib/rdf/vocab/ptr.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://www.w3.org/2009/pointers# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | PTR = Class.new(RDF::StrictVocabulary("http://www.w3.org/2009/pointers#")) do 9 | 10 | # Class definitions 11 | term :ByteOffsetCompoundPointer, 12 | comment: {en: "Pointer to a byte range with a defined start and a byte offset from there."}, 13 | label: {en: "Byte Offset Compound Pointer"}, 14 | subClassOf: "http://www.w3.org/2009/pointers#CompoundPointer", 15 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 16 | term :ByteOffsetPointer, 17 | comment: {en: "Single pointer using a byte offset from the start of the reference."}, 18 | label: {en: "Byte Offset Pointer"}, 19 | subClassOf: "http://www.w3.org/2009/pointers#OffsetPointer", 20 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 21 | term :ByteSnippetCompoundPointer, 22 | comment: {en: "Pointer to a range with a defined start and a byte snippet from there."}, 23 | label: {en: "Byte Snippet Compound Pointer"}, 24 | subClassOf: "http://www.w3.org/2009/pointers#CompoundPointer", 25 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 26 | term :CSSSelectorPointer, 27 | comment: {en: "Single pointer using a CSS selector."}, 28 | label: {en: "CSS selector Pointer"}, 29 | subClassOf: "http://www.w3.org/2009/pointers#ExpressionPointer", 30 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 31 | term :CharOffsetCompoundPointer, 32 | comment: {en: "Pointer to a char range with a defined start and a char offset from there."}, 33 | label: {en: "Char Offset Compound Pointer"}, 34 | subClassOf: "http://www.w3.org/2009/pointers#CompoundPointer", 35 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 36 | term :CharOffsetPointer, 37 | comment: {en: "Single pointer using a character offset from the start of the reference."}, 38 | label: {en: "Char Offset Pointer"}, 39 | subClassOf: "http://www.w3.org/2009/pointers#OffsetPointer", 40 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 41 | term :CharSnippetCompoundPointer, 42 | comment: {en: "Pointer to a range with a defined start and a character snippet from there."}, 43 | label: {en: "Char Snippet Compound Pointer"}, 44 | subClassOf: "http://www.w3.org/2009/pointers#CompoundPointer", 45 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 46 | term :CompoundPointer, 47 | comment: {en: "An abstract method made of a pair of pointers to a defined section to be subclassed for extensibility."}, 48 | label: {en: "Compound Pointer"}, 49 | subClassOf: "http://www.w3.org/2009/pointers#Pointer", 50 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 51 | term :EquivalentPointers, 52 | comment: {en: "Group of equivalent pointers that point to the same places."}, 53 | label: {en: "Equivalent Pointers"}, 54 | subClassOf: "http://www.w3.org/2009/pointers#PointersGroup", 55 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 56 | term :ExpressionPointer, 57 | comment: {en: "Generic single pointer that make use of an expression language such as xPath, CSS selectors, etc."}, 58 | label: {en: "Expression Pointer"}, 59 | subClassOf: "http://www.w3.org/2009/pointers#SinglePointer", 60 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 61 | term :LineCharPointer, 62 | comment: {en: "Single pointer using line and char numbers."}, 63 | label: {en: "Line-Char Pointer"}, 64 | subClassOf: "http://www.w3.org/2009/pointers#SinglePointer", 65 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 66 | term :OffsetPointer, 67 | comment: {en: "Generic single pointer based on an offset."}, 68 | label: {en: "Offset Pointer"}, 69 | subClassOf: "http://www.w3.org/2009/pointers#SinglePointer", 70 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 71 | term :Pointer, 72 | comment: {en: "Abstract Pointer to be subclassed for extensibility."}, 73 | label: {en: "Pointer"}, 74 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 75 | term :PointersGroup, 76 | comment: {en: "Generic container for a group of Pointers"}, 77 | label: {en: "Pointers Group"}, 78 | subClassOf: "http://www.w3.org/2009/pointers#Pointer", 79 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 80 | term :RelatedPointers, 81 | comment: {en: "Group of related pointers you use together for some purpose."}, 82 | label: {en: "Related Pointers"}, 83 | subClassOf: "http://www.w3.org/2009/pointers#PointersGroup", 84 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 85 | term :SinglePointer, 86 | comment: {en: "Abstract pointer to a single point to be subclassed for extensibility."}, 87 | label: {en: "Single Pointer"}, 88 | subClassOf: "http://www.w3.org/2009/pointers#Pointer", 89 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 90 | term :StartEndPointer, 91 | comment: {en: "Compound pointer to a range with a start and an end point."}, 92 | label: {en: "Start-End Pointer"}, 93 | subClassOf: "http://www.w3.org/2009/pointers#CompoundPointer", 94 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 95 | term :XMLNamespace, 96 | comment: {en: "An XML Namespace."}, 97 | label: {en: "XMLNamespace"}, 98 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 99 | term :XPathPointer, 100 | comment: {en: "Single pointer using an XPath expression."}, 101 | label: {en: "XPath Pointer"}, 102 | subClassOf: "http://www.w3.org/2009/pointers#ExpressionPointer", 103 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 104 | term :XPointerPointer, 105 | comment: {en: "Single pointer using an XPointer expression."}, 106 | label: {en: "XPointer Pointer"}, 107 | subClassOf: "http://www.w3.org/2009/pointers#XPathPointer", 108 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 109 | 110 | # Property definitions 111 | property :byteOffset, 112 | comment: "Number of bytes counting from the start point.", 113 | domain: "http://www.w3.org/2009/pointers#ByteOffsetCompoundPointer", 114 | label: "byte offset", 115 | range: "http://www.w3.org/2001/XMLSchema#positiveInteger", 116 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 117 | property :charNumber, 118 | comment: {en: "Char number within a line starting at one.\n\t\t"}, 119 | domain: "http://www.w3.org/2009/pointers#LineCharPointer", 120 | label: {en: "char number"}, 121 | range: "http://www.w3.org/2001/XMLSchema#positiveInteger", 122 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 123 | property :charOffset, 124 | comment: {en: "Number of characters counting from the start point."}, 125 | domain: "http://www.w3.org/2009/pointers#CharOffsetCompoundPointer", 126 | label: {en: "char offset"}, 127 | range: "http://www.w3.org/2001/XMLSchema#positiveInteger", 128 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 129 | property :endPointer, 130 | comment: {en: "Pointer to the end point of the range."}, 131 | domain: "http://www.w3.org/2009/pointers#StartEndPointer", 132 | label: {en: "end pointer"}, 133 | range: "http://www.w3.org/2009/pointers#SinglePointer", 134 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 135 | property :expression, 136 | comment: {en: "Expressions, such as xPath or CSS selectors, that identify points."}, 137 | domain: "http://www.w3.org/2009/pointers#ExpressionPointer", 138 | label: {en: "expression"}, 139 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 140 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 141 | property :groupPointer, 142 | comment: {en: "A Pointer that is part of a Group"}, 143 | domain: "http://www.w3.org/2009/pointers#PointersGroup", 144 | label: {en: "groupPointer"}, 145 | range: "http://www.w3.org/2009/pointers#Pointer", 146 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 147 | property :lineNumber, 148 | comment: {en: "Line number within the reference starting at one.\n\t\t"}, 149 | domain: "http://www.w3.org/2009/pointers#LineCharPointer", 150 | label: {en: "line number"}, 151 | range: "http://www.w3.org/2001/XMLSchema#positiveInteger", 152 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 153 | property :namespace, 154 | comment: {en: "The namespace being used for the XPath expression."}, 155 | domain: "http://www.w3.org/2009/pointers#XPathPointer", 156 | label: {en: "namespace"}, 157 | range: "http://www.w3.org/2009/pointers#XMLNamespace", 158 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 159 | property :namespaceName, 160 | comment: {en: "The namespace name being used for an XML Namespace."}, 161 | domain: "http://www.w3.org/2009/pointers#XMLNamespace", 162 | label: {en: "namespace name"}, 163 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 164 | property :offset, 165 | comment: {en: "Offset from the start of the reference."}, 166 | domain: "http://www.w3.org/2009/pointers#OffsetPointer", 167 | label: {en: "offset"}, 168 | range: "http://www.w3.org/2001/XMLSchema#positiveInteger", 169 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 170 | property :prefix, 171 | comment: {en: "The namespace prefix being used for an XML Namespace."}, 172 | domain: "http://www.w3.org/2009/pointers#XMLNamespace", 173 | label: {en: "prefix"}, 174 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 175 | property :reference, 176 | comment: {en: "Scope within which a single pointer operates."}, 177 | domain: "http://www.w3.org/2009/pointers#SinglePointer", 178 | label: {en: "reference"}, 179 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 180 | property :startPointer, 181 | comment: {en: "Pointer to the start point of the range in a compound pointer."}, 182 | domain: "http://www.w3.org/2009/pointers#CompoundPointer", 183 | label: {en: "start pointer"}, 184 | range: "http://www.w3.org/2009/pointers#SinglePointer", 185 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 186 | property :version, 187 | comment: {en: "Version for the expression language being used."}, 188 | domain: "http://www.w3.org/2009/pointers#ExpressionPointer", 189 | label: {en: "version"}, 190 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 191 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 192 | end 193 | end 194 | -------------------------------------------------------------------------------- /lib/rdf/vocab/rightsstatements.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://rightsstatements.org/vocab/ 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | RightsStatements = Class.new(RDF::StrictVocabulary("http://rightsstatements.org/vocab/")) do 9 | 10 | # Extra definitions 11 | term :"1.0/", 12 | "http://purl.org/dc/elements/1.1/identifier": "rscs", 13 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 14 | "http://purl.org/dc/terms/title": {en: "RightsStatements.org Standardized International Rights Statements"}, 15 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 16 | type: "http://www.w3.org/2004/02/skos/core#ConceptScheme" 17 | term :"CNE/1.0/", 18 | "http://purl.org/dc/elements/1.1/identifier": "CNE", 19 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 20 | "http://purl.org/dc/terms/modified": "2022-04-27", 21 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 22 | "http://www.w3.org/2004/02/skos/core#closeMatch": "http://www.europeana.eu/rights/unknown/", 23 | "http://www.w3.org/2004/02/skos/core#relatedMatch": "http://id.loc.gov/vocabulary/preservation/copyrightStatus/unk", 24 | inScheme: "http://rightsstatements.org/vocab/1.0/", 25 | notation: "CNE", 26 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 27 | term :"InC-EDU/1.0/", 28 | "http://purl.org/dc/elements/1.1/identifier": "InC-EDU", 29 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 30 | "http://purl.org/dc/terms/modified": "2022-04-27", 31 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 32 | "http://www.w3.org/2004/02/skos/core#relatedMatch": "http://id.loc.gov/vocabulary/preservation/copyrightStatus/cpr", 33 | inScheme: "http://rightsstatements.org/vocab/1.0/", 34 | notation: "InC-EDU", 35 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 36 | term :"InC-NC/1.0/", 37 | "http://creativecommons.org/ns#prohibits": "http://creativecommons.org/ns#CommercialUse", 38 | "http://purl.org/dc/elements/1.1/identifier": "InC-NC", 39 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 40 | "http://purl.org/dc/terms/modified": "2022-04-27", 41 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 42 | "http://www.w3.org/2004/02/skos/core#closeMatch": "http://creativecommons.org/licenses/by-nc/4.0/", 43 | "http://www.w3.org/2004/02/skos/core#relatedMatch": "http://id.loc.gov/vocabulary/preservation/copyrightStatus/cpr", 44 | inScheme: "http://rightsstatements.org/vocab/1.0/", 45 | notation: "InC-NC", 46 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 47 | term :"InC-OW-EU/1.0/", 48 | "http://purl.org/dc/elements/1.1/identifier": "InC-OW-EU", 49 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 50 | "http://purl.org/dc/terms/modified": "2022-04-27", 51 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 52 | "http://www.w3.org/2004/02/skos/core#closeMatch": "http://www.europeana.eu/rights/orphan-work-eu/", 53 | "http://www.w3.org/2004/02/skos/core#relatedMatch": "http://id.loc.gov/vocabulary/preservation/copyrightStatus/cpr", 54 | inScheme: "http://rightsstatements.org/vocab/1.0/", 55 | notation: "InC-OW-EU", 56 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 57 | term :"InC-RUU/1.0/", 58 | "http://purl.org/dc/elements/1.1/identifier": "InC-RUU", 59 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 60 | "http://purl.org/dc/terms/modified": "2022-04-27", 61 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 62 | "http://www.w3.org/2004/02/skos/core#relatedMatch": "http://id.loc.gov/vocabulary/preservation/copyrightStatus/cpr", 63 | inScheme: "http://rightsstatements.org/vocab/1.0/", 64 | notation: "InC-RUU", 65 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 66 | term :"InC/1.0/", 67 | "http://purl.org/dc/elements/1.1/identifier": "InC", 68 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 69 | "http://purl.org/dc/terms/modified": "2022-04-27", 70 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 71 | "http://www.w3.org/2004/02/skos/core#closeMatch": "http://www.europeana.eu/rights/rr-f/", 72 | "http://www.w3.org/2004/02/skos/core#relatedMatch": "http://id.loc.gov/vocabulary/preservation/copyrightStatus/cpr", 73 | inScheme: "http://rightsstatements.org/vocab/1.0/", 74 | notation: "InC", 75 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 76 | term :"NKC/1.0/", 77 | "http://purl.org/dc/elements/1.1/identifier": "NKC", 78 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 79 | "http://purl.org/dc/terms/modified": "2022-04-27", 80 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 81 | "http://www.w3.org/2004/02/skos/core#relatedMatch": "http://id.loc.gov/vocabulary/preservation/copyrightStatus/unk", 82 | inScheme: "http://rightsstatements.org/vocab/1.0/", 83 | notation: "NKC", 84 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 85 | term :"NoC-CR/1.0/", 86 | "http://purl.org/dc/elements/1.1/identifier": "NoC-CR", 87 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 88 | "http://purl.org/dc/terms/modified": "2022-04-27", 89 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 90 | "http://www.w3.org/2004/02/skos/core#relatedMatch": "http://id.loc.gov/vocabulary/preservation/copyrightStatus/pub", 91 | inScheme: "http://rightsstatements.org/vocab/1.0/", 92 | notation: "NoC-CR", 93 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 94 | term :"NoC-NC/1.0/", 95 | "http://creativecommons.org/ns#prohibits": "http://creativecommons.org/ns#CommercialUse", 96 | "http://purl.org/dc/elements/1.1/identifier": "NoC-NC", 97 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 98 | "http://purl.org/dc/terms/modified": "2022-04-27", 99 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 100 | "http://www.w3.org/2004/02/skos/core#relatedMatch": "http://id.loc.gov/vocabulary/preservation/copyrightStatus/pub", 101 | inScheme: "http://rightsstatements.org/vocab/1.0/", 102 | notation: "NoC-NC", 103 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 104 | term :"NoC-OKLR/1.0/", 105 | "http://purl.org/dc/elements/1.1/identifier": "NoC-OKLR", 106 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 107 | "http://purl.org/dc/terms/modified": "2022-04-27", 108 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 109 | "http://www.w3.org/2004/02/skos/core#relatedMatch": "http://id.loc.gov/vocabulary/preservation/copyrightStatus/pub", 110 | inScheme: "http://rightsstatements.org/vocab/1.0/", 111 | notation: "NoC-OKLR", 112 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 113 | term :"NoC-US/1.0/", 114 | "http://purl.org/dc/elements/1.1/identifier": "NoC-US", 115 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 116 | "http://purl.org/dc/terms/modified": "2022-04-27", 117 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 118 | inScheme: "http://rightsstatements.org/vocab/1.0/", 119 | notation: "NoC-US", 120 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 121 | term :"UND/1.0/", 122 | "http://purl.org/dc/elements/1.1/identifier": "UND", 123 | "http://purl.org/dc/terms/creator": "http://rightsstatements.org/vocab/irswg", 124 | "http://purl.org/dc/terms/modified": "2022-04-27", 125 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 126 | inScheme: "http://rightsstatements.org/vocab/1.0/", 127 | notation: "UND", 128 | type: ["http://purl.org/dc/terms/RightsStatement", "http://www.w3.org/2004/02/skos/core#Concept"] 129 | term :"collection-ic/1.0/", 130 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 131 | inScheme: "http://rightsstatements.org/vocab/1.0/", 132 | member: ["http://rightsstatements.org/vocab/InC-EDU/1.0/", "http://rightsstatements.org/vocab/InC-NC/1.0/", "http://rightsstatements.org/vocab/InC-OW-EU/1.0/", "http://rightsstatements.org/vocab/InC-RUU/1.0/", "http://rightsstatements.org/vocab/InC/1.0/"], 133 | type: "http://www.w3.org/2004/02/skos/core#Collection" 134 | term :"collection-nc/1.0/", 135 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 136 | inScheme: "http://rightsstatements.org/vocab/1.0/", 137 | member: ["http://rightsstatements.org/vocab/NoC-CR/1.0/", "http://rightsstatements.org/vocab/NoC-NC/1.0/", "http://rightsstatements.org/vocab/NoC-OKLR/1.0/", "http://rightsstatements.org/vocab/NoC-US/1.0/"], 138 | type: "http://www.w3.org/2004/02/skos/core#Collection" 139 | term :"collection-other/1.0/", 140 | "http://www.w3.org/2002/07/owl#versionInfo": "1.0", 141 | inScheme: "http://rightsstatements.org/vocab/1.0/", 142 | member: ["http://rightsstatements.org/vocab/CNE/1.0/", "http://rightsstatements.org/vocab/NKC/1.0/", "http://rightsstatements.org/vocab/UND/1.0/"], 143 | type: "http://www.w3.org/2004/02/skos/core#Collection" 144 | term :irswg, 145 | "http://xmlns.com/foaf/0.1/homepage": "http://rightsstatements.org/", 146 | "http://xmlns.com/foaf/0.1/name": {en: "RightsStatements.org Consortium"}, 147 | prefLabel: {en: "RightsStatements.org Consortium"}, 148 | type: ["http://www.europeana.eu/schemas/edm/Agent", "http://xmlns.com/foaf/0.1/Group"] 149 | end 150 | end 151 | -------------------------------------------------------------------------------- /lib/rdf/vocab/rsa.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://www.w3.org/ns/auth/rsa# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | RSA = Class.new(RDF::StrictVocabulary("http://www.w3.org/ns/auth/rsa#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://www.w3.org/ns/auth/rsa#", 12 | comment: {en: "ontology for the RSA public private keys "}, 13 | "http://purl.org/dc/terms/contributor": term( 14 | "http://xmlns.com/foaf/0.1/homepage": "http://ii.uwb.edu.pl/~dtomaszuk/card" 15 | ), 16 | "http://purl.org/dc/terms/created": "2008-11-13", 17 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": ["http://en.wikipedia.org/wiki/RSA", "http://lists.foaf-project.org/mailman/listinfo/foaf-protocols", "http://www.w3.org/ns/auth/X509Uml.svg"], 18 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 19 | "http://xmlns.com/foaf/0.1/maker": "http://bblfish.net/people/henry/card#me", 20 | type: "http://www.w3.org/2002/07/owl#Ontology" 21 | 22 | # Class definitions 23 | term :RSAKey, 24 | comment: {en: "\n The union of the public and private components of an RSAKey.\n Usually those pieces are not kept together\n "}, 25 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 26 | label: {en: "RSA Key"}, 27 | subClassOf: "http://www.w3.org/ns/auth/cert#Key", 28 | type: "http://www.w3.org/2002/07/owl#Class" 29 | term :RSAPrivateKey, 30 | comment: {en: "\n A Private Key in the RSA framework \n "}, 31 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://en.wikipedia.org/wiki/RSA", 32 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 33 | label: {en: "RSA Private Key"}, 34 | subClassOf: ["http://www.w3.org/ns/auth/cert#PrivateKey", "http://www.w3.org/ns/auth/rsa#RSAKey"], 35 | type: "http://www.w3.org/2002/07/owl#Class" 36 | term :RSAPublicKey, 37 | comment: {en: "\n The RSA public key. Padded message m are encrypted by applying the function\n modulus(power(m,exponent),modulus)\n "}, 38 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://en.wikipedia.org/wiki/RSA", 39 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 40 | label: {en: "RSA Public Key"}, 41 | subClassOf: ["http://www.w3.org/ns/auth/cert#PublicKey", "http://www.w3.org/ns/auth/rsa#RSAKey"], 42 | type: "http://www.w3.org/2002/07/owl#Class" 43 | 44 | # Property definitions 45 | property :modulus, 46 | comment: {en: " \n The modulus of an RSA public and private key. \n This is defined as n = p*q\n "}, 47 | domain: "http://www.w3.org/ns/auth/rsa#RSAKey", 48 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 49 | label: {en: "modulus"}, 50 | range: ["http://www.w3.org/2001/XMLSchema#base64Binary", "http://www.w3.org/2001/XMLSchema#hexBinary"], 51 | type: "http://www.w3.org/2002/07/owl#DatatypeProperty" 52 | property :private_exponent, 53 | comment: {en: "\n The exponent used to decrypt the message\n calculated as \n public_exponent*private_exponent = 1 modulo totient(p*q)\n The private exponent is often named 'd'\n "}, 54 | domain: "http://www.w3.org/ns/auth/rsa#RSAPrivateKey", 55 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 56 | label: {en: "private"}, 57 | range: "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", 58 | type: "http://www.w3.org/2002/07/owl#DatatypeProperty" 59 | property :public_exponent, 60 | comment: {en: "\n The exponent used to encrypt the message. Number chosen between\n 1 and the totient(p*q). Often named 'e' .\n "}, 61 | domain: "http://www.w3.org/ns/auth/rsa#RSAPublicKey", 62 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 63 | label: {en: "public_exponent"}, 64 | range: "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", 65 | type: "http://www.w3.org/2002/07/owl#DatatypeProperty" 66 | end 67 | end 68 | -------------------------------------------------------------------------------- /lib/rdf/vocab/rss.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://purl.org/rss/1.0/ 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | RSS = Class.new(RDF::StrictVocabulary("http://purl.org/rss/1.0/")) do 9 | 10 | # Class definitions 11 | term :channel, 12 | comment: "An RSS information channel.", 13 | isDefinedBy: "http://purl.org/rss/1.0/", 14 | label: "Channel", 15 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 16 | term :image, 17 | comment: "An RSS image.", 18 | isDefinedBy: "http://purl.org/rss/1.0/", 19 | label: "Image", 20 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 21 | term :item, 22 | comment: "An RSS item.", 23 | isDefinedBy: "http://purl.org/rss/1.0/", 24 | label: "Item", 25 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 26 | term :textinput, 27 | comment: "An RSS text input.", 28 | isDefinedBy: "http://purl.org/rss/1.0/", 29 | label: "Text Input", 30 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 31 | 32 | # Property definitions 33 | property :description, 34 | comment: "A short text description of the subject.", 35 | isDefinedBy: "http://purl.org/rss/1.0/", 36 | label: "Description", 37 | subPropertyOf: "http://purl.org/dc/elements/1.1/description", 38 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 39 | property :items, 40 | comment: "Points to a list of rss:item elements that are members of the subject channel.", 41 | isDefinedBy: "http://purl.org/rss/1.0/", 42 | label: "Items", 43 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 44 | property :link, 45 | comment: "The URL to which an HTML rendering of the subject will link.", 46 | isDefinedBy: "http://purl.org/rss/1.0/", 47 | label: "Link", 48 | subPropertyOf: "http://purl.org/dc/elements/1.1/identifier", 49 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 50 | property :name, 51 | comment: "The text input field's (variable) name.", 52 | isDefinedBy: "http://purl.org/rss/1.0/", 53 | label: "Name", 54 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 55 | property :title, 56 | comment: "A descriptive title for the channel.", 57 | isDefinedBy: "http://purl.org/rss/1.0/", 58 | label: "Title", 59 | subPropertyOf: "http://purl.org/dc/elements/1.1/title", 60 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 61 | property :url, 62 | comment: "The URL of the image to used in the 'src' attribute of the channel's image tag when rendered as HTML.", 63 | isDefinedBy: "http://purl.org/rss/1.0/", 64 | label: "URL", 65 | subPropertyOf: "http://purl.org/dc/elements/1.1/identifier", 66 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 67 | end 68 | end 69 | -------------------------------------------------------------------------------- /lib/rdf/vocab/siocservices.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://rdfs.org/sioc/services# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | SiocServices = Class.new(RDF::StrictVocabulary("http://rdfs.org/sioc/services#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://rdfs.org/sioc/services#", 12 | "http://purl.org/dc/terms/description": "Extends the SIOC Core Ontology (Semantically-Interlinked Online Communities) by defining basic information on community-related web services.", 13 | "http://purl.org/dc/terms/title": "SIOC Services Ontology Module Namespace", 14 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://rdfs.org/sioc/spec/#sec-modules", 15 | "http://www.w3.org/2002/07/owl#imports": "http://rdfs.org/sioc/ns#", 16 | type: ["http://www.w3.org/2002/07/owl#Ontology", "http://www.w3.org/2002/07/owl#Thing"] 17 | 18 | # Class definitions 19 | term :Service, 20 | comment: {en: "A Service is web service associated with a Site or part of it."}, 21 | isDefinedBy: "http://rdfs.org/sioc/services#", 22 | label: {en: "Service"}, 23 | type: ["http://www.w3.org/2000/01/rdf-schema#Class", "http://www.w3.org/2002/07/owl#Class"] 24 | 25 | # Property definitions 26 | property :has_service, 27 | comment: {en: "A Service associated with this SIOC object."}, 28 | inverseOf: "http://rdfs.org/sioc/services#service_of", 29 | isDefinedBy: "http://rdfs.org/sioc/services#", 30 | label: {en: "has service"}, 31 | range: "http://rdfs.org/sioc/services#Service", 32 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 33 | property :max_results, 34 | comment: {en: "Maximum number of results results returned by a web service."}, 35 | domain: "http://rdfs.org/sioc/services#Service", 36 | isDefinedBy: "http://rdfs.org/sioc/services#", 37 | label: {en: "max results"}, 38 | range: "http://www.w3.org/2001/XMLSchema#integer", 39 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 40 | property :results_format, 41 | comment: {en: "Format of results returned by a web service."}, 42 | domain: "http://rdfs.org/sioc/services#Service", 43 | isDefinedBy: "http://rdfs.org/sioc/services#", 44 | label: {en: "results format"}, 45 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 46 | property :service_definition, 47 | comment: {en: "Links to a web service definition of this sioc:Service."}, 48 | domain: "http://rdfs.org/sioc/services#Service", 49 | isDefinedBy: "http://rdfs.org/sioc/services#", 50 | label: {en: "service definition"}, 51 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 52 | property :service_endpoint, 53 | comment: {en: "URL of a web service endpoint."}, 54 | domain: "http://rdfs.org/sioc/services#Service", 55 | isDefinedBy: "http://rdfs.org/sioc/services#", 56 | label: {en: "service endpoint"}, 57 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 58 | property :service_of, 59 | comment: {en: "A SIOC object this Service is associated with."}, 60 | domain: "http://rdfs.org/sioc/services#Service", 61 | inverseOf: "http://rdfs.org/sioc/services#has_service", 62 | isDefinedBy: "http://rdfs.org/sioc/services#", 63 | label: {en: "service of"}, 64 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 65 | property :service_protocol, 66 | comment: {en: "A protocol used by a web service. Possible protocol values include SOAP, REST, SPARQL-QUERY, GData and OpenSearch. These will be added to this module later."}, 67 | domain: "http://rdfs.org/sioc/services#Service", 68 | isDefinedBy: "http://rdfs.org/sioc/services#", 69 | label: {en: "service protocol"}, 70 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 71 | end 72 | end 73 | -------------------------------------------------------------------------------- /lib/rdf/vocab/skosxl.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://www.w3.org/2008/05/skos-xl# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | SKOSXL = Class.new(RDF::StrictVocabulary("http://www.w3.org/2008/05/skos-xl#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://www.w3.org/2008/05/skos-xl#", 12 | "http://purl.org/dc/terms/contributor": "Participants in W3C's Semantic Web Deployment Working Group.", 13 | "http://purl.org/dc/terms/creator": ["Alistair Miles", "Sean Bechhofer"], 14 | "http://purl.org/dc/terms/description": {en: "An RDF vocabulary extending SKOS and allowing the description and linking of lexical entities."}, 15 | "http://purl.org/dc/terms/title": {en: "SKOS XL Vocabulary"}, 16 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://www.w3.org/2008/05/skos", 17 | "http://www.w3.org/2002/07/owl#imports": "http://www.w3.org/2004/02/skos/core", 18 | type: "http://www.w3.org/2002/07/owl#Ontology" 19 | 20 | # Class definitions 21 | term :Label, 22 | definition: {en: "A special class of lexical entities."}, 23 | "http://www.w3.org/2002/07/owl#disjointWith": ["http://www.w3.org/2004/02/skos/core#Collection", "http://www.w3.org/2004/02/skos/core#Concept", "http://www.w3.org/2004/02/skos/core#ConceptScheme"], 24 | isDefinedBy: "http://www.w3.org/2008/05/skos-xl", 25 | label: {en: "Label"}, 26 | subClassOf: term( 27 | cardinality: "1", 28 | onProperty: "http://www.w3.org/2008/05/skos-xl#literalForm", 29 | type: "http://www.w3.org/2002/07/owl#Restriction" 30 | ), 31 | type: "http://www.w3.org/2002/07/owl#Class" 32 | 33 | # Property definitions 34 | property :altLabel, 35 | comment: {en: "If C skosxl:altLabel L and L skosxl:literalForm V, then X skos:altLabel V."}, 36 | definition: {en: "The property skosxl:altLabel is used to associate an skosxl:Label with a skos:Concept. The property is analogous to skos:altLabel."}, 37 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://www.w3.org/2004/02/skos/core#altLabel", 38 | isDefinedBy: "http://www.w3.org/2008/05/skos-xl", 39 | label: {en: "alternative label"}, 40 | range: "http://www.w3.org/2008/05/skos-xl#Label", 41 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 42 | property :hiddenLabel, 43 | comment: {en: "If C skosxl:hiddenLabel L and L skosxl:literalForm V, then C skos:hiddenLabel V."}, 44 | definition: {en: "The property skosxl:hiddenLabel is used to associate an skosxl:Label with a skos:Concept. The property is analogous to skos:hiddenLabel."}, 45 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://www.w3.org/2004/02/skos/core#hiddenLabel", 46 | isDefinedBy: "http://www.w3.org/2008/05/skos-xl", 47 | label: {en: "hidden label"}, 48 | range: "http://www.w3.org/2008/05/skos-xl#Label", 49 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 50 | property :labelRelation, 51 | definition: {en: "The property skosxl:labelRelation is used for representing binary ('direct') relations between instances of the class skosxl:Label."}, 52 | domain: "http://www.w3.org/2008/05/skos-xl#Label", 53 | "http://www.w3.org/2004/02/skos/core#scopeNote": {en: "skosxl:labelRelation is not intended to be used directly, but rather as the basis for a design pattern which can be refined for more specific labeling scenarios."}, 54 | isDefinedBy: "http://www.w3.org/2008/05/skos-xl", 55 | label: {en: "label relation"}, 56 | range: "http://www.w3.org/2008/05/skos-xl#Label", 57 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty", "http://www.w3.org/2002/07/owl#SymmetricProperty"] 58 | property :literalForm, 59 | comment: {en: "The range of skosxl:literalForm is the class of RDF plain literals."}, 60 | definition: {en: "The property skosxl:literalForm is used to give the literal form of an skosxl:Label."}, 61 | domain: "http://www.w3.org/2008/05/skos-xl#Label", 62 | isDefinedBy: "http://www.w3.org/2008/05/skos-xl", 63 | label: {en: "literal form"}, 64 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 65 | property :prefLabel, 66 | comment: {en: "If C skosxl:prefLabel L and L skosxl:literalForm V, then X skos:prefLabel V."}, 67 | definition: {en: "The property skosxl:prefLabel is used to associate an skosxl:Label with a skos:Concept. The property is analogous to skos:prefLabel."}, 68 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://www.w3.org/2004/02/skos/core#prefLabel", 69 | isDefinedBy: "http://www.w3.org/2008/05/skos-xl", 70 | label: {en: "preferred label"}, 71 | range: "http://www.w3.org/2008/05/skos-xl#Label", 72 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#ObjectProperty"] 73 | end 74 | end 75 | -------------------------------------------------------------------------------- /lib/rdf/vocab/version.rb: -------------------------------------------------------------------------------- 1 | module RDF::Vocab::VERSION 2 | # frozen_string_literal: true 3 | VERSION_FILE = File.join(File.expand_path(File.dirname(__FILE__)), "..", "..", "..", "VERSION") 4 | MAJOR, MINOR, TINY, EXTRA = File.read(VERSION_FILE).chop.split(".") 5 | 6 | STRING = [MAJOR, MINOR, TINY, EXTRA].compact.join('.') 7 | 8 | ## 9 | # @return [String] 10 | def self.to_s() STRING end 11 | 12 | ## 13 | # @return [String] 14 | def self.to_str() STRING end 15 | 16 | ## 17 | # @return [Array(Integer, Integer, Integer)] 18 | def self.to_a() STRING.split(".") end 19 | end 20 | -------------------------------------------------------------------------------- /lib/rdf/vocab/void.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://rdfs.org/ns/void# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | VOID = Class.new(RDF::StrictVocabulary("http://rdfs.org/ns/void#")) do 9 | 10 | # Class definitions 11 | term :Dataset, 12 | comment: "A set of RDF triples that are published, maintained or aggregated by a single provider.", 13 | label: "dataset", 14 | type: ["http://www.w3.org/2000/01/rdf-schema#Class", "http://www.w3.org/2002/07/owl#Class"] 15 | term :DatasetDescription, 16 | comment: "A web resource whose foaf:primaryTopic or foaf:topics include void:Datasets.", 17 | label: "dataset description", 18 | subClassOf: "http://xmlns.com/foaf/0.1/Document", 19 | type: ["http://www.w3.org/2000/01/rdf-schema#Class", "http://www.w3.org/2002/07/owl#Class"] 20 | term :Linkset, 21 | comment: "A collection of RDF links between two void:Datasets.", 22 | label: "linkset", 23 | subClassOf: "http://rdfs.org/ns/void#Dataset", 24 | type: ["http://www.w3.org/2000/01/rdf-schema#Class", "http://www.w3.org/2002/07/owl#Class"] 25 | term :TechnicalFeature, 26 | comment: "A technical feature of a void:Dataset, such as a supported RDF serialization format.", 27 | label: "technical feature", 28 | type: ["http://www.w3.org/2000/01/rdf-schema#Class", "http://www.w3.org/2002/07/owl#Class"] 29 | 30 | # Property definitions 31 | property :class, 32 | comment: "The rdfs:Class that is the rdf:type of all entities in a class-based partition.", 33 | domain: "http://rdfs.org/ns/void#Dataset", 34 | label: "class", 35 | range: "http://www.w3.org/2000/01/rdf-schema#Class", 36 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#FunctionalProperty"] 37 | property :classPartition, 38 | comment: "A subset of a void:Dataset that contains only the entities of a certain rdfs:Class.", 39 | domain: "http://rdfs.org/ns/void#Dataset", 40 | label: "class partition", 41 | range: "http://rdfs.org/ns/void#Dataset", 42 | subPropertyOf: "http://rdfs.org/ns/void#subset", 43 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 44 | property :classes, 45 | comment: "The total number of distinct classes in a void:Dataset. In other words, the number of distinct resources occuring as objects of rdf:type triples in the dataset.", 46 | domain: "http://rdfs.org/ns/void#Dataset", 47 | label: "classes", 48 | range: "http://www.w3.org/2001/XMLSchema#integer", 49 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 50 | property :dataDump, 51 | comment: "An RDF dump, partial or complete, of a void:Dataset.", 52 | domain: "http://rdfs.org/ns/void#Dataset", 53 | label: "Data Dump", 54 | range: "http://www.w3.org/2000/01/rdf-schema#Resource", 55 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 56 | property :distinctObjects, 57 | comment: "The total number of distinct objects in a void:Dataset. In other words, the number of distinct resources that occur in the object position of triples in the dataset. Literals are included in this count.", 58 | domain: "http://rdfs.org/ns/void#Dataset", 59 | label: "distinct objects", 60 | range: "http://www.w3.org/2001/XMLSchema#integer", 61 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 62 | property :distinctSubjects, 63 | comment: "The total number of distinct subjects in a void:Dataset. In other words, the number of distinct resources that occur in the subject position of triples in the dataset.", 64 | domain: "http://rdfs.org/ns/void#Dataset", 65 | label: "distinct subjects", 66 | range: "http://www.w3.org/2001/XMLSchema#integer", 67 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 68 | property :documents, 69 | comment: "The total number of documents, for datasets that are published as a set of individual documents, such as RDF/XML documents or RDFa-annotated web pages. Non-RDF documents, such as web pages in HTML or images, are usually not included in this count. This property is intended for datasets where the total number of triples or entities is hard to determine. void:triples or void:entities should be preferred where practical.", 70 | domain: "http://rdfs.org/ns/void#Dataset", 71 | label: "number of documents", 72 | range: "http://www.w3.org/2001/XMLSchema#integer", 73 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 74 | property :entities, 75 | comment: "The total number of entities that are described in a void:Dataset.", 76 | domain: "http://rdfs.org/ns/void#Dataset", 77 | label: "number of entities", 78 | range: "http://www.w3.org/2001/XMLSchema#integer", 79 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 80 | property :exampleResource, 81 | domain: "http://rdfs.org/ns/void#Dataset", 82 | label: "example resource of dataset", 83 | range: "http://www.w3.org/2000/01/rdf-schema#Resource", 84 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 85 | property :feature, 86 | domain: "http://rdfs.org/ns/void#Dataset", 87 | label: "feature", 88 | range: "http://rdfs.org/ns/void#TechnicalFeature", 89 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 90 | property :inDataset, 91 | comment: "Points to the void:Dataset that a document is a part of.", 92 | domain: "http://xmlns.com/foaf/0.1/Document", 93 | label: "in dataset", 94 | range: "http://rdfs.org/ns/void#Dataset", 95 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 96 | property :linkPredicate, 97 | domain: "http://rdfs.org/ns/void#Linkset", 98 | label: "a link predicate", 99 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", 100 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 101 | property :objectsTarget, 102 | comment: "The dataset describing the objects of the triples contained in the Linkset.", 103 | domain: "http://rdfs.org/ns/void#Linkset", 104 | label: "Objects Target", 105 | range: "http://rdfs.org/ns/void#Dataset", 106 | subPropertyOf: "http://rdfs.org/ns/void#target", 107 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#FunctionalProperty"] 108 | property :openSearchDescription, 109 | comment: "An OpenSearch description document for a free-text search service over a void:Dataset.", 110 | domain: "http://rdfs.org/ns/void#Dataset", 111 | label: "open search description", 112 | range: "http://xmlns.com/foaf/0.1/Document", 113 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 114 | property :properties, 115 | comment: "The total number of distinct properties in a void:Dataset. In other words, the number of distinct resources that occur in the predicate position of triples in the dataset.", 116 | domain: "http://rdfs.org/ns/void#Dataset", 117 | label: "number of properties", 118 | range: "http://www.w3.org/2001/XMLSchema#integer", 119 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 120 | property :property, 121 | comment: "The rdf:Property that is the predicate of all triples in a property-based partition.", 122 | domain: "http://rdfs.org/ns/void#Dataset", 123 | label: "property", 124 | range: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", 125 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#FunctionalProperty"] 126 | property :propertyPartition, 127 | comment: "A subset of a void:Dataset that contains only the triples of a certain rdf:Property.", 128 | domain: "http://rdfs.org/ns/void#Dataset", 129 | label: "property partition", 130 | range: "http://rdfs.org/ns/void#Dataset", 131 | subPropertyOf: "http://rdfs.org/ns/void#subset", 132 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 133 | property :rootResource, 134 | comment: "A top concept or entry point for a void:Dataset that is structured in a tree-like fashion. All resources in a dataset can be reached by following links from its root resources in a small number of steps.", 135 | domain: "http://rdfs.org/ns/void#Dataset", 136 | label: "root resource", 137 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 138 | property :sparqlEndpoint, 139 | domain: "http://rdfs.org/ns/void#Dataset", 140 | label: "has a SPARQL endpoint at", 141 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 142 | property :subjectsTarget, 143 | comment: "The dataset describing the subjects of triples contained in the Linkset.", 144 | domain: "http://rdfs.org/ns/void#Linkset", 145 | label: "Subjects Target", 146 | range: "http://rdfs.org/ns/void#Dataset", 147 | subPropertyOf: "http://rdfs.org/ns/void#target", 148 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#FunctionalProperty"] 149 | property :subset, 150 | domain: "http://rdfs.org/ns/void#Dataset", 151 | label: "has subset", 152 | range: "http://rdfs.org/ns/void#Dataset", 153 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 154 | property :target, 155 | comment: "One of the two datasets linked by the Linkset.", 156 | domain: "http://rdfs.org/ns/void#Linkset", 157 | label: "Target", 158 | range: "http://rdfs.org/ns/void#Dataset", 159 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 160 | property :triples, 161 | comment: "The total number of triples contained in a void:Dataset.", 162 | domain: "http://rdfs.org/ns/void#Dataset", 163 | label: "number of triples", 164 | range: "http://www.w3.org/2001/XMLSchema#integer", 165 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 166 | property :uriLookupEndpoint, 167 | comment: "Defines a simple URI look-up protocol for accessing a dataset.", 168 | domain: "http://rdfs.org/ns/void#Dataset", 169 | label: "has an URI look-up endpoint at", 170 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 171 | property :uriRegexPattern, 172 | comment: "Defines a regular expression pattern matching URIs in the dataset.", 173 | domain: "http://rdfs.org/ns/void#Dataset", 174 | label: "has URI regular expression pattern", 175 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 176 | property :uriSpace, 177 | comment: "A URI that is a common string prefix of all the entity URIs in a void:Dataset.", 178 | domain: "http://rdfs.org/ns/void#Dataset", 179 | label: "URI space", 180 | range: "http://www.w3.org/2000/01/rdf-schema#Literal", 181 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 182 | property :vocabulary, 183 | comment: "A vocabulary that is used in the dataset.", 184 | domain: "http://rdfs.org/ns/void#Dataset", 185 | label: "vocabulary", 186 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 187 | end 188 | end 189 | -------------------------------------------------------------------------------- /lib/rdf/vocab/vs.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://www.w3.org/2003/06/sw-vocab-status/ns# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | VS = Class.new(RDF::StrictVocabulary("http://www.w3.org/2003/06/sw-vocab-status/ns#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://www.w3.org/2003/06/sw-vocab-status/ns#", 12 | comment: {en: "This vocabulary was created in the FOAF project, based on experience with FOAF, Dublin Core and other early RDF vocabularies. Deployment experience shows that changing namespace URIs is expensive and unrewarding, so this vocabulary provides terms to support in-place evolution of structured data vocabularies. By indicating status at the level of terms rather than vocabularies, dictionary-style, fine grained improvements become easier. Different organizations and parties can agree or disagree on the status of a vocabulary term; however the status published alongside the term may deserve special attention. Future work could include patterns for citing announcements and decisions, or using SKOS to decentralise the extension of the basic status levels."}, 13 | "http://purl.org/dc/elements/1.1/contributor": "Pierre-Yves Vandenbussche", 14 | "http://purl.org/dc/elements/1.1/creator": ["Dan Brickley", "Leigh Dodds", "Libby Miller"], 15 | "http://purl.org/dc/elements/1.1/description": "An RDF vocabulary for relating SW vocabulary terms to their status.", 16 | "http://purl.org/dc/elements/1.1/issued": "2003-06-01", 17 | "http://purl.org/dc/elements/1.1/modified": "2011-12-12", 18 | "http://purl.org/dc/elements/1.1/title": "SemWeb Vocab Status ontology", 19 | "http://purl.org/vocab/vann/preferredNamespacePrefix": "vs", 20 | "http://purl.org/vocab/vann/preferredNamespaceUri": "http://www.w3.org/2003/06/sw-vocab-status/ns#", 21 | type: "http://www.w3.org/2002/07/owl#Ontology" 22 | 23 | # Property definitions 24 | property :moreinfo, 25 | comment: "more information about the status etc of a term, typically human oriented", 26 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 27 | isDefinedBy: "http://www.w3.org/2003/06/sw-vocab-status/ns#", 28 | label: "more info", 29 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 30 | property :term_status, 31 | comment: "the status of a vocabulary term, expressed as a short symbolic string; known values include 'unstable','testing', 'stable' and 'archaic'", 32 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 33 | isDefinedBy: "http://www.w3.org/2003/06/sw-vocab-status/ns#", 34 | label: "term status", 35 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 36 | property :userdocs, 37 | comment: "human-oriented documentation, examples etc for use of this term", 38 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 39 | isDefinedBy: "http://www.w3.org/2003/06/sw-vocab-status/ns#", 40 | label: "user docs", 41 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 42 | end 43 | end 44 | -------------------------------------------------------------------------------- /lib/rdf/vocab/wdrs.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://www.w3.org/2007/05/powder-s# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | WDRS = Class.new(RDF::StrictVocabulary("http://www.w3.org/2007/05/powder-s#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://www.w3.org/2007/05/powder-s#", 12 | comment: "This file specifies the set of classes and properties used in the RDF/OWL version of POWDER documents.", 13 | "http://purl.org/dc/terms/issued": "2009-09-01", 14 | "http://purl.org/dc/terms/modified": ["2010-11-08", "2017-06-02"], 15 | "http://purl.org/vocab/vann/preferredNamespacePrefix": "wdrs", 16 | "http://purl.org/vocab/vann/preferredNamespaceUri": "http://www.w3.org/2007/05/powder-s#", 17 | "http://www.w3.org/2002/07/owl#priorVersion": "http://www.w3.org/2007/05/powder-s", 18 | "http://www.w3.org/2002/07/owl#versionInfo": "2 June 2017", 19 | label: "POWDER-S Vocabulary", 20 | type: ["http://purl.org/vocommons/voaf#Vocabulary", "http://www.w3.org/2002/07/owl#Ontology"] 21 | 22 | # Class definitions 23 | term :Document, 24 | comment: {en: "A POWDER document."}, 25 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#structure", 26 | label: {en: "POWDER document"}, 27 | subClassOf: "http://www.w3.org/2002/07/owl#Ontology", 28 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 29 | term :Processor, 30 | comment: {en: "A software agent able to process POWDER documents."}, 31 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#powderprocessor", 32 | label: {en: "POWDER processor"}, 33 | subClassOf: "http://purl.org/dc/terms/Agent", 34 | type: "http://www.w3.org/2000/01/rdf-schema#Class" 35 | 36 | # Property definitions 37 | property :authenticate, 38 | comment: {en: "A pointer to a document that describes how Description Resources created by a FOAF Agent or a DC Terms Agent may be authenticated"}, 39 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#discover", 40 | label: {en: "authenticate"}, 41 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 42 | property :certified, 43 | comment: {en: "A property that takes a Boolean value to declare whether the author of the data certifies the described resource."}, 44 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#certification", 45 | label: {en: "certified"}, 46 | range: "http://www.w3.org/2001/XMLSchema#boolean", 47 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 48 | property :certifiedby, 49 | comment: {en: "A property that links a resource to a POWDER document that certifies it."}, 50 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#certification", 51 | label: {en: "certified by"}, 52 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#AnnotationProperty"] 53 | property :data_error, 54 | comment: {en: "A property denoting a description of the specific error found in a given POWDER document."}, 55 | domain: "http://www.w3.org/2007/05/powder-s#Document", 56 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#ppErrorhandling", 57 | label: {en: "data error"}, 58 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 59 | property :describedby, 60 | comment: {en: "An RDF property to exactly match the describedby relationship type introduced in http://www.w3.org/TR/powder-dr/#assoc-linking and formally defined in appendix D of the same document, i.e. the relationship A 'describedby' B asserts that resource B provides a description of resource A. There are no constraints on the format or representation of either A or B, neither are there any further constraints on either resource."}, 61 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#semlink", 62 | label: {en: "described by"}, 63 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 64 | property :error_code, 65 | comment: {en: "A property denoting the code of any error encountered by the POWDER processor."}, 66 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#ppErrorhandling", 67 | label: {en: "error code"}, 68 | range: "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", 69 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 70 | property :hasIRI, 71 | comment: {en: "This property is meant to be used in OWL2 instead of wdrs:matchesregex. It denotes the string data range corresponding to a set of IRIs."}, 72 | domain: "http://www.w3.org/2000/01/rdf-schema#Resource", 73 | isDefinedBy: "http://www.w3.org/TR/powder-formal/#oxRegexSemantics", 74 | label: {en: "has IRI"}, 75 | range: "http://www.w3.org/2001/XMLSchema#anyURI", 76 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 77 | property :issuedby, 78 | comment: {en: "This property denotes the author of a POWDER document."}, 79 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#line3", 80 | label: {en: "issued by"}, 81 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#AnnotationProperty"] 82 | property :logo, 83 | comment: {en: "Points to a graphic summary for the resources in a given class. Typically, it is a logo denoting conformance of a given (set of) resource(s) to a given set of criteria."}, 84 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#line13", 85 | label: {en: "logo"}, 86 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#AnnotationProperty"] 87 | property :matchesregex, 88 | comment: {en: "This is the key 'include' property for IRI set definitions in POWDER-S. It is necessary to take account of the POWDER Semantic Extension to process this fully. The value is a regular expression that is matched against an IRI."}, 89 | domain: "http://www.w3.org/2000/01/rdf-schema#Resource", 90 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://www.w3.org/TR/xpath-functions/#regex-syntax", 91 | isDefinedBy: "http://www.w3.org/TR/powder-formal/#regexSemantics", 92 | label: {en: "matches regular expression"}, 93 | range: "http://www.w3.org/2001/XMLSchema#string", 94 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 95 | property :notknownto, 96 | comment: {en: "Property used in results returned from a POWDER Processor that has no data about the candidate resource. The value is the IRI of the processor."}, 97 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#powderprocessor", 98 | label: {en: "not known to"}, 99 | range: "http://www.w3.org/2007/05/powder-s#Processor", 100 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 101 | property :notmatchesregex, 102 | comment: {en: "This is the key 'exclude' property for IRI set definitions in POWDER-S. It is necessary to take account of the POWDER Semantic Extension to process this fully. The value is a regular expression that is matched against an IRI."}, 103 | domain: "http://www.w3.org/2000/01/rdf-schema#Resource", 104 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://www.w3.org/TR/xpath-functions/#regex-syntax", 105 | isDefinedBy: "http://www.w3.org/TR/powder-formal/#regexSemantics", 106 | label: {en: "matches regular expression"}, 107 | range: "http://www.w3.org/2001/XMLSchema#string", 108 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 109 | property :proc_error, 110 | comment: {en: "A property denoting a description of the specific software error."}, 111 | domain: "http://www.w3.org/2007/05/powder-s#Processor", 112 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#ppErrorhandling", 113 | label: {en: "processing error"}, 114 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 115 | property :sha1sum, 116 | comment: {en: "Links to a Base64-encoded binary SHA-1 hash of the described resource. May be used by POWDER Processors when assessing trustworthiness of a DR."}, 117 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#certification", 118 | label: {en: "SHA-1 sum"}, 119 | range: "http://www.w3.org/2001/XMLSchema#base64Binary", 120 | type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" 121 | property :supportedby, 122 | comment: {en: "A property that links a POWDER document to some other data source that supports the descriptions provided."}, 123 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#supportedBy", 124 | label: {en: "supported by"}, 125 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#AnnotationProperty"] 126 | property :tag, 127 | comment: {en: "Property linking to a free-text tag which may include spaces."}, 128 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#tags", 129 | label: {en: "tag"}, 130 | range: "http://www.w3.org/2001/XMLSchema#token", 131 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#DatatypeProperty"] 132 | property :text, 133 | comment: {en: "This property provides a summary of the descriptorset that it annotates, suitable for display to end users."}, 134 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#line13", 135 | label: {en: "text that may be displayed"}, 136 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#AnnotationProperty"] 137 | property :validfrom, 138 | comment: {en: "Provides a timestamp that a POWDER Processor may use when assessing trustworthiness of a POWDER document. Informally, a POWDER Processor should normally ignore data in the document before the given date."}, 139 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#certification", 140 | label: {en: "valid from"}, 141 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#AnnotationProperty"] 142 | property :validuntil, 143 | comment: {en: "Provides a timestamp that a POWDER Processor may use when assessing trustworthiness of a POWDER document. Informally, a POWDER Processor should normally ignore data in the document after the given date."}, 144 | isDefinedBy: "http://www.w3.org/TR/powder-dr/#certification", 145 | label: {en: "valid until"}, 146 | type: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", "http://www.w3.org/2002/07/owl#AnnotationProperty"] 147 | end 148 | end 149 | -------------------------------------------------------------------------------- /lib/rdf/vocab/wot.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://xmlns.com/wot/0.1/ 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | WOT = Class.new(RDF::StrictVocabulary("http://xmlns.com/wot/0.1/")) do 9 | 10 | # Ontology definition 11 | ontology :"http://xmlns.com/wot/0.1/", 12 | "http://purl.org/dc/elements/1.1/date": "2004-02-23", 13 | "http://purl.org/dc/elements/1.1/description": "Web Of Trust (wot) RDF vocabulary, described using W3C RDF Schema and the Web Ontology Language.", 14 | "http://purl.org/dc/elements/1.1/title": "Web Of Trust vocabulary", 15 | "http://www.w3.org/2000/01/rdf-schema#seeAlso": "http://xmlns.com/foaf/0.1/", 16 | "http://www.w3.org/2002/07/owl#imports": ["http://www.w3.org/2000/01/rdf-schema", "http://www.w3.org/2002/07/owl"], 17 | type: "http://www.w3.org/2002/07/owl#Ontology" 18 | 19 | # Class definitions 20 | term :EncryptedDocument, 21 | comment: "An encrypted document intended for a set of recipients.", 22 | "http://www.w3.org/2002/07/owl#disjointWith": ["http://xmlns.com/wot/0.1/Endorsement", "http://xmlns.com/wot/0.1/PubKey", "http://xmlns.com/wot/0.1/SigEvent", "http://xmlns.com/wot/0.1/User"], 23 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 24 | isDefinedBy: "http://xmlns.com/wot/0.1/", 25 | label: "Encrypted Document", 26 | subClassOf: ["http://xmlns.com/foaf/0.1/Document", "http://xmlns.com/wordnet/1.6/Endorsement-4"], 27 | type: "http://www.w3.org/2002/07/owl#Class" 28 | term :Endorsement, 29 | comment: "An endorsement resource containing a detached ascii signature.", 30 | "http://www.w3.org/2002/07/owl#disjointWith": ["http://xmlns.com/wot/0.1/EncryptedDocument", "http://xmlns.com/wot/0.1/PubKey", "http://xmlns.com/wot/0.1/SigEvent", "http://xmlns.com/wot/0.1/User"], 31 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 32 | isDefinedBy: "http://xmlns.com/wot/0.1/", 33 | label: "Endorsement", 34 | subClassOf: ["http://xmlns.com/foaf/0.1/Document", "http://xmlns.com/wordnet/1.6/Endorsement-4"], 35 | type: "http://www.w3.org/2002/07/owl#Class" 36 | term :PubKey, 37 | comment: "A class used to represent a PGP/GPG public key for a user (an agent, person, group or organization).", 38 | "http://www.w3.org/2002/07/owl#disjointWith": ["http://xmlns.com/wot/0.1/EncryptedDocument", "http://xmlns.com/wot/0.1/Endorsement", "http://xmlns.com/wot/0.1/SigEvent", "http://xmlns.com/wot/0.1/User"], 39 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "stable", 40 | isDefinedBy: "http://xmlns.com/wot/0.1/", 41 | label: "Public Key", 42 | subClassOf: "http://xmlns.com/wordnet/1.6/Credential", 43 | type: "http://www.w3.org/2002/07/owl#Class" 44 | term :SigEvent, 45 | comment: "An event describing the action of a public key being signed by some other public key.", 46 | "http://www.w3.org/2002/07/owl#disjointWith": ["http://xmlns.com/wot/0.1/EncryptedDocument", "http://xmlns.com/wot/0.1/Endorsement", "http://xmlns.com/wot/0.1/PubKey", "http://xmlns.com/wot/0.1/User"], 47 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "testing", 48 | isDefinedBy: "http://xmlns.com/wot/0.1/", 49 | label: "Key Signing Event", 50 | subClassOf: ["http://www.w3.org/2002/12/cal/ical#Vevent", "http://xmlns.com/wordnet/1.6/Event"], 51 | type: "http://www.w3.org/2002/07/owl#Class" 52 | term :User, 53 | comment: "A user (agent, person, group or organization) of a PGP/GPG public key.", 54 | "http://www.w3.org/2002/07/owl#disjointWith": ["http://xmlns.com/wot/0.1/EncryptedDocument", "http://xmlns.com/wot/0.1/Endorsement", "http://xmlns.com/wot/0.1/PubKey", "http://xmlns.com/wot/0.1/SigEvent"], 55 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "stable", 56 | isDefinedBy: "http://xmlns.com/wot/0.1/", 57 | label: "Key User", 58 | subClassOf: "http://xmlns.com/foaf/0.1/Agent", 59 | type: "http://www.w3.org/2002/07/owl#Class" 60 | 61 | # Property definitions 62 | property :assurance, 63 | comment: "A property linking a document to an endorsement resource containing a detached ascii signature.", 64 | domain: "http://xmlns.com/foaf/0.1/Document", 65 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "stable", 66 | isDefinedBy: "http://xmlns.com/wot/0.1/", 67 | label: "Assurance", 68 | range: "http://xmlns.com/wot/0.1/Endorsement", 69 | type: "http://www.w3.org/2002/07/owl#ObjectProperty" 70 | property :encryptedTo, 71 | comment: "A property linking an encrypted document to a recipient.", 72 | domain: "http://xmlns.com/wot/0.1/EncryptedDocument", 73 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 74 | isDefinedBy: "http://xmlns.com/wot/0.1/", 75 | label: "Encrypted to", 76 | range: "http://xmlns.com/wot/0.1/PubKey", 77 | type: "http://www.w3.org/2002/07/owl#ObjectProperty" 78 | property :encrypter, 79 | comment: "A property linking an encrypted document to the public key that was used to encrypt it.", 80 | domain: "http://xmlns.com/wot/0.1/EncryptedDocument", 81 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 82 | isDefinedBy: "http://xmlns.com/wot/0.1/", 83 | label: "Encrypted by", 84 | range: "http://xmlns.com/wot/0.1/PubKey", 85 | type: ["http://www.w3.org/2002/07/owl#FunctionalProperty", "http://www.w3.org/2002/07/owl#ObjectProperty"] 86 | property :fingerprint, 87 | comment: "A public key hex fingerprint string (40 digits, white space insignificant).", 88 | domain: "http://xmlns.com/wot/0.1/PubKey", 89 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "testing", 90 | isDefinedBy: "http://xmlns.com/wot/0.1/", 91 | label: "Fingerprint", 92 | range: "http://www.w3.org/2001/XMLSchema#string", 93 | type: ["http://www.w3.org/2002/07/owl#DatatypeProperty", "http://www.w3.org/2002/07/owl#InverseFunctionalProperty"] 94 | property :hasKey, 95 | comment: "A property to link a PubKey from a User", 96 | domain: "http://xmlns.com/wot/0.1/User", 97 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "testing", 98 | inverseOf: "http://xmlns.com/wot/0.1/identity", 99 | isDefinedBy: "http://xmlns.com/wot/0.1/", 100 | label: "has Key", 101 | range: "http://xmlns.com/wot/0.1/PubKey", 102 | type: "http://www.w3.org/2002/07/owl#ObjectProperty" 103 | property :hex_id, 104 | comment: "A public key hex identifier string (8 digits).", 105 | domain: "http://xmlns.com/wot/0.1/PubKey", 106 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "stable", 107 | isDefinedBy: "http://xmlns.com/wot/0.1/", 108 | label: "Hex identifier", 109 | range: "http://www.w3.org/2001/XMLSchema#string", 110 | type: "http://www.w3.org/2002/07/owl#DatatypeProperty" 111 | property :identity, 112 | comment: "A property linking a public key to the user of the key.", 113 | domain: "http://xmlns.com/wot/0.1/PubKey", 114 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "testing", 115 | isDefinedBy: "http://xmlns.com/wot/0.1/", 116 | label: "Identity", 117 | range: "http://xmlns.com/wot/0.1/User", 118 | type: ["http://www.w3.org/2002/07/owl#FunctionalProperty", "http://www.w3.org/2002/07/owl#ObjectProperty"] 119 | property :length, 120 | comment: "A numeric string representing the length, in bytes, of a public key.", 121 | domain: "http://xmlns.com/wot/0.1/PubKey", 122 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "stable", 123 | isDefinedBy: "http://xmlns.com/wot/0.1/", 124 | label: "Length", 125 | range: "http://www.w3.org/2001/XMLSchema#integer", 126 | type: "http://www.w3.org/2002/07/owl#DatatypeProperty" 127 | property :pubkeyAddress, 128 | comment: "The location of an ascii version of a public key.", 129 | domain: "http://xmlns.com/wot/0.1/PubKey", 130 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "testing", 131 | isDefinedBy: "http://xmlns.com/wot/0.1/", 132 | label: "Address", 133 | range: "http://xmlns.com/foaf/0.1/Document", 134 | type: "http://www.w3.org/2002/07/owl#ObjectProperty" 135 | property :sigdate, 136 | comment: "The date of a public key signature event.", 137 | domain: "http://xmlns.com/wot/0.1/SigEvent", 138 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "testing", 139 | isDefinedBy: "http://xmlns.com/wot/0.1/", 140 | label: "Signature date", 141 | range: "http://www.w3.org/2001/XMLSchema#date", 142 | type: "http://www.w3.org/2002/07/owl#DatatypeProperty" 143 | property :signed, 144 | comment: "A property linking a public key to a public key signature event.", 145 | domain: "http://xmlns.com/wot/0.1/PubKey", 146 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "testing", 147 | isDefinedBy: "http://xmlns.com/wot/0.1/", 148 | label: "Signed", 149 | range: "http://xmlns.com/wot/0.1/SigEvent", 150 | type: "http://www.w3.org/2002/07/owl#ObjectProperty" 151 | property :signer, 152 | comment: "A property linking a public key signature event to the public key that was used to sign.", 153 | domain: "http://xmlns.com/wot/0.1/SigEvent", 154 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 155 | isDefinedBy: "http://xmlns.com/wot/0.1/", 156 | label: "Signer", 157 | range: "http://xmlns.com/wot/0.1/PubKey", 158 | type: ["http://www.w3.org/2002/07/owl#FunctionalProperty", "http://www.w3.org/2002/07/owl#ObjectProperty"] 159 | property :sigtime, 160 | comment: "The time (of day) of a public key signature event.", 161 | domain: "http://xmlns.com/wot/0.1/SigEvent", 162 | "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": "unstable", 163 | isDefinedBy: "http://xmlns.com/wot/0.1/", 164 | label: "Signature time", 165 | range: "http://www.w3.org/2001/XMLSchema#time", 166 | type: "http://www.w3.org/2002/07/owl#DatatypeProperty" 167 | end 168 | end 169 | -------------------------------------------------------------------------------- /lib/rdf/vocab/xhtml.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # frozen_string_literal: true 3 | # This file generated automatically using rdf vocabulary format from http://www.w3.org/1999/xhtml# 4 | require 'rdf' 5 | module RDF::Vocab 6 | # Vocabulary for 7 | # @!visibility private 8 | XHTML = Class.new(RDF::Vocabulary("http://www.w3.org/1999/xhtml#")) do 9 | 10 | # Ontology definition 11 | ontology :"http://www.w3.org/1999/xhtml#", 12 | "http://www.w3.org/1999/xhtml/vocab#stylesheet": "https://www.w3.org/StyleSheets/TR/base", 13 | "http://www.w3.org/2003/g/data-view#namespaceTransformation": "https://www.w3.org/2008/07/rdfa-xslt" 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /rdf-vocab.gemspec: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby -rubygems 2 | # coding: utf-8 3 | 4 | Gem::Specification.new do |gem| 5 | gem.version = File.read('VERSION').chomp 6 | gem.date = File.mtime('VERSION').strftime('%Y-%m-%d') 7 | 8 | gem.name = "rdf-vocab" 9 | gem.authors = ["David Chandek-Stark", "Aaron Coburn", "Gregg Kellogg"] 10 | gem.email = "public-rdf-ruby@w3.org" 11 | gem.summary = %q{A library of RDF vocabularies} 12 | gem.description = %q{Defines several standard RDF vocabularies} 13 | gem.homepage = "https://github.com/ruby-rdf/rdf-vocab" 14 | gem.license = "Unlicense" 15 | gem.metadata = { 16 | "documentation_uri" => "https://ruby-rdf.github.io/rdf-vocab", 17 | "bug_tracker_uri" => "https://github.com/ruby-rdf/rdf-vocab/issues", 18 | "homepage_uri" => "https://github.com/ruby-rdf/rdf-vocab", 19 | "mailing_list_uri" => "https://lists.w3.org/Archives/Public/public-rdf-ruby/", 20 | "source_code_uri" => "https://github.com/ruby-rdf/rdf-vocab", 21 | } 22 | 23 | gem.platform = Gem::Platform::RUBY 24 | gem.files = %w(README.md LICENSE VERSION) + Dir.glob('lib/**/*.rb') 25 | gem.test_files = Dir.glob('spec/*.rb') 26 | gem.require_paths = %w(lib) 27 | 28 | gem.required_ruby_version = '>= 3.0' 29 | 30 | gem.add_runtime_dependency 'rdf', '~> 3.3' 31 | 32 | # Either of these are required for HTML vocabulary generation 33 | gem.add_development_dependency 'haml', '~> 6.3' 34 | gem.add_development_dependency 'erubis', '~> 2.7' 35 | 36 | gem.add_development_dependency 'json-ld', '~> 3.3' 37 | gem.add_development_dependency 'json-schema', '~> 4.3' 38 | gem.add_development_dependency 'jsonpath', '~> 1.1' 39 | gem.add_development_dependency 'ld-patch', '~> 3.3' 40 | gem.add_development_dependency 'nokogiri', '~> 1.16', '>= 1.16.5' 41 | gem.add_development_dependency 'rake', '~> 13.2' 42 | gem.add_development_dependency 'rdf-ordered-repo', '~> 3.3' 43 | gem.add_development_dependency 'rdf-rdfa', '~> 3.3' 44 | gem.add_development_dependency 'rdf-rdfxml', '~> 3.3' 45 | gem.add_development_dependency 'rdf-reasoner', '~> 0.8' 46 | gem.add_development_dependency 'rdf-turtle', '~> 3.3' 47 | gem.add_development_dependency 'rspec', '~> 3.13' 48 | gem.add_development_dependency 'rspec-its', '~> 1.3' 49 | gem.add_development_dependency 'uri', '~> 0.13' 50 | gem.add_development_dependency 'uuidtools', '~> 2.2' # needed by json-schema 51 | gem.add_development_dependency 'yard', '~> 0.9' 52 | 53 | gem.extra_rdoc_files = %w(LICENSE README.md) 54 | end 55 | -------------------------------------------------------------------------------- /spec/matchers.rb: -------------------------------------------------------------------------------- 1 | require 'rspec/matchers' # @see http://rubygems.org/gems/rspec 2 | require 'json-schema' 3 | require 'jsonpath' 4 | 5 | RSpec::Matchers.define :match_json_schema do |schema| 6 | match do |actual| 7 | @error_message = JSON::Validator.fully_validate(schema, actual, validate_schema: true).join("") 8 | @error_message.empty? 9 | end 10 | 11 | failure_message do |actual| 12 | @error_message + 13 | "\nActual: #{actual.to_json(JSON::LD::JSON_STATE)}" + 14 | "\nSchema: #{schema.to_json(JSON::LD::JSON_STATE)}" 15 | end 16 | end 17 | 18 | RSpec::Matchers.define :match_json_path do |path| 19 | match do |actual| 20 | matched = JsonPath.new(path).on(actual) 21 | !matched.empty? 22 | end 23 | 24 | failure_message do |actual| 25 | "Path #{path} not found in data" + 26 | "\nActual: #{actual.to_json(JSON::LD::JSON_STATE)}" 27 | end 28 | end 29 | 30 | RSpec::Matchers.define :have_errors do |errors| 31 | match do |actual| 32 | return false unless actual.keys == errors.keys 33 | actual.each do |area_key, area_values| 34 | return false unless area_values.length == errors[area_key].length 35 | area_values.each do |term, values| 36 | return false unless values.length == errors[area_key][term].length 37 | values.each_with_index do |v, i| 38 | return false unless case m = errors[area_key][term][i] 39 | when Regexp then m.match v 40 | else m == v 41 | end 42 | end 43 | end 44 | end 45 | true 46 | end 47 | 48 | failure_message do |actual| 49 | "expected errors to match #{errors.to_json(JSON::LD::JSON_STATE)}\nwas #{actual.to_json(JSON::LD::JSON_STATE)}" 50 | end 51 | 52 | failure_message_when_negated do |actual| 53 | "expected errors not to match #{errors.to_json(JSON::LD::JSON_STATE)}" 54 | end 55 | end 56 | -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | require "bundler/setup" 3 | require 'matchers' 4 | 5 | begin 6 | require 'simplecov' 7 | require 'simplecov-lcov' 8 | 9 | SimpleCov::Formatter::LcovFormatter.config do |config| 10 | #Coveralls is coverage by default/lcov. Send info results 11 | config.report_with_single_file = true 12 | config.single_report_path = 'coverage/lcov.info' 13 | end 14 | 15 | SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([ 16 | SimpleCov::Formatter::HTMLFormatter, 17 | SimpleCov::Formatter::LcovFormatter 18 | ]) 19 | SimpleCov.start do 20 | add_filter "/spec/" 21 | end 22 | rescue LoadError 23 | end 24 | 25 | require 'rdf/vocab' 26 | 27 | RSpec.configure do |config| 28 | config.filter_run focus: true 29 | config.filter_run_excluding slow: true 30 | config.run_all_when_everything_filtered = true 31 | end 32 | -------------------------------------------------------------------------------- /spec/vocab_spec.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | require File.expand_path("../spec_helper", __FILE__) 3 | require 'rdf/reasoner' 4 | require 'rdf/turtle' 5 | 6 | describe RDF::Vocab do 7 | before(:all) { 8 | RDF::Reasoner.apply(:rdfs, :owl) 9 | } 10 | describe ".each" do 11 | it "enumerates pre-defined vocabularies" do 12 | expect {|b| RDF::Vocabulary.each(&b)}.to yield_control.at_least(RDF::Vocab::VOCABS.keys.length).times 13 | end 14 | end 15 | 16 | context "schema.org" do 17 | %w(domainIncludes rangeIncludes inverseOf).each do |prop| 18 | it "defines schema:#{prop}" do 19 | expect {RDF::Vocab::SCHEMA[prop]}.not_to raise_error 20 | end 21 | end 22 | 23 | context "detects superseded terms" do 24 | { 25 | "members superseded by member" => [ 26 | %( 27 | @prefix schema: . 28 | a schema:Organization; schema:members "Manny" . 29 | ), 30 | { 31 | property: {"schema:members" => ["Term is superseded by schema:member"]}, 32 | } 33 | ], 34 | }.each do |name, (input, errors)| 35 | it name do 36 | graph = RDF::Graph.new << RDF::Turtle::Reader.new(input) 37 | expect(graph.lint).to have_errors errors 38 | end 39 | end 40 | end 41 | end 42 | 43 | context "pre-defined vocabularies" do 44 | RDF::Vocab::VOCABS.each do |id, params| 45 | class_name = params.fetch(:class_name, id.to_s.upcase).to_sym 46 | context id do 47 | it "defines RDF::Vocab::#{class_name}" do 48 | expect { RDF::Vocab.const_get(class_name) }.not_to raise_error 49 | end 50 | 51 | it "#{class_name} is included in RDF::Vocabulary.each" do 52 | expect(RDF::Vocabulary.each.to_a).to include(RDF::Vocab.const_get(class_name)) 53 | end 54 | 55 | it "represents #{params[:uri]}" do 56 | expect(RDF::Vocab.const_get(class_name).to_s).to eql params[:uri] 57 | end 58 | 59 | it "has at least one term", unless: id == :xhtml do 60 | expect(RDF::Vocab.const_get(class_name).each.to_a).not_to be_empty 61 | end 62 | end 63 | end 64 | 65 | context "non standard prefixes" do 66 | { 67 | RDF::Vocab::DOAP.blog.range => RDF::Vocab::SiocTypes.Weblog, 68 | RDF::Vocab::SiocServices.has_service.range => RDF::Vocab::SiocServices.Service, 69 | }.each do |a, b| 70 | specify {expect(a).to include(b)} 71 | end 72 | end 73 | end 74 | 75 | context "entailments" do 76 | RDF::Vocabulary.each do |vocab| 77 | vocab.each do |term| 78 | if term.type.to_s =~ /Class/ 79 | context term.pname do 80 | it "subClassOf" do 81 | expect {term.subClassOf}.not_to raise_error 82 | end 83 | it "equivalentClass" do 84 | expect {term.equivalentClass}.not_to raise_error 85 | end 86 | end 87 | elsif term.type.to_s =~ /Property/ 88 | context term.pname do 89 | it "subPropertyOf" do 90 | expect {term.subPropertyOf}.not_to raise_error 91 | end 92 | it "domain" do 93 | expect {term.domain}.not_to raise_error 94 | end 95 | it "range" do 96 | expect {term.range}.not_to raise_error 97 | end 98 | it "equivalentProperty" do 99 | expect {term.equivalentProperty}.not_to raise_error 100 | end 101 | end 102 | end 103 | end 104 | end 105 | end 106 | end 107 | --------------------------------------------------------------------------------