sdu_smart 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +7 -0
  2. data/lib/sdu_smart/activity.rb +13 -0
  3. data/lib/sdu_smart/agent.rb +13 -0
  4. data/lib/sdu_smart/clause.rb +40 -0
  5. data/lib/sdu_smart/entity.rb +21 -0
  6. data/lib/sdu_smart/organization.rb +13 -0
  7. data/lib/sdu_smart/provision/capability.rb +13 -0
  8. data/lib/sdu_smart/provision/external_constraint.rb +13 -0
  9. data/lib/sdu_smart/provision/instruction.rb +13 -0
  10. data/lib/sdu_smart/provision/permission.rb +13 -0
  11. data/lib/sdu_smart/provision/possibility.rb +13 -0
  12. data/lib/sdu_smart/provision/recommendation.rb +13 -0
  13. data/lib/sdu_smart/provision/requirement.rb +13 -0
  14. data/lib/sdu_smart/provision/statement.rb +13 -0
  15. data/lib/sdu_smart/provision.rb +49 -0
  16. data/lib/sdu_smart/provision_set.rb +13 -0
  17. data/lib/sdu_smart/provision_supplement.rb +29 -0
  18. data/lib/sdu_smart/publication_document.rb +35 -0
  19. data/lib/sdu_smart/rdf/namespaces/isoiec80000_namespace.rb +12 -0
  20. data/lib/sdu_smart/rdf/namespaces/oa_namespace.rb +12 -0
  21. data/lib/sdu_smart/rdf/namespaces/smart_namespace.rb +12 -0
  22. data/lib/sdu_smart/rdf/namespaces.rb +11 -0
  23. data/lib/sdu_smart/rdf.rb +7 -0
  24. data/lib/sdu_smart/taxonomy/bindingness_type.rb +24 -0
  25. data/lib/sdu_smart/taxonomy/part_of_speech_type.rb +24 -0
  26. data/lib/sdu_smart/taxonomy/provision_supplement_type.rb +24 -0
  27. data/lib/sdu_smart/taxonomy/provision_type.rb +24 -0
  28. data/lib/sdu_smart/taxonomy/publication_component_type.rb +24 -0
  29. data/lib/sdu_smart/taxonomy/publication_document_type.rb +28 -0
  30. data/lib/sdu_smart/taxonomy/term_form_type.rb +24 -0
  31. data/lib/sdu_smart/taxonomy.rb +13 -0
  32. data/lib/sdu_smart/term.rb +34 -0
  33. data/lib/sdu_smart/term_entry.rb +25 -0
  34. data/lib/sdu_smart/version.rb +5 -0
  35. data/lib/sdu_smart.rb +23 -0
  36. metadata +95 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b0bb1e204510d82196a5e06c630708d5dedf03ac5b42423e1bc4f49084f58d58
4
+ data.tar.gz: 377cbc8dfed582ed5d72e65feb8370fe81d73d62643890a8d313855063086793
5
+ SHA512:
6
+ metadata.gz: ccf5fdef54a3a9807686eaa1f421aa34bc1b8195c5ba372c366533eb1abbd5078aa37b57ecb43d65c876c3df21c68a59b69435adddd490e0d4945943dad32c31
7
+ data.tar.gz: c650b9ae306829d4c63ad55036d968a5ab084823e35818368e1cd89b56b62329ecd5737e7efca322dd4b5c6fb685e05c3be22a59b99fc65c35684e9ce083e15f
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Activity < Entity
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:Activity"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Agent < Entity
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:Agent"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Clause < ProvisionSet
5
+ attribute :bindingness_type, :string
6
+ attribute :section_number, :string
7
+ attribute :title, :string
8
+ attribute :is_part_of, :string
9
+ attribute :is_successor_of, :string
10
+
11
+ rdf do
12
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
13
+ Lutaml::Rdf::Namespaces::DctermsNamespace
14
+
15
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
16
+
17
+ type "smart:Clause"
18
+
19
+ predicate :hasBindingnessType,
20
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
21
+ to: :bindingness_type
22
+
23
+ predicate :hasSectionNumber,
24
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
25
+ to: :section_number
26
+
27
+ predicate :title,
28
+ namespace: Lutaml::Rdf::Namespaces::DctermsNamespace,
29
+ to: :title
30
+
31
+ predicate :isPartOf,
32
+ namespace: Lutaml::Rdf::Namespaces::DctermsNamespace,
33
+ to: :is_part_of
34
+
35
+ predicate :isSuccessorOf,
36
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
37
+ to: :is_successor_of
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Entity < Lutaml::Model::Serializable
5
+ attribute :id, :string
6
+
7
+ rdf do
8
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
9
+ Lutaml::Rdf::Namespaces::DctermsNamespace,
10
+ Lutaml::Rdf::Namespaces::SkosNamespace
11
+
12
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
13
+
14
+ type "smart:Entity"
15
+
16
+ predicate :title,
17
+ namespace: Lutaml::Rdf::Namespaces::DctermsNamespace,
18
+ to: :id
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Organization < Agent
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:Organization"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Capability < Provision
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:Capability"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class ExternalConstraint < Provision
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:ExternalConstraint"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Instruction < Provision
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:Instruction"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Permission < Provision
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:Permission"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Possibility < Provision
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:Possibility"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Recommendation < Provision
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:Recommendation"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Requirement < Provision
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:Requirement"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Statement < Provision
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:Statement"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ autoload :Statement, "#{__dir__}/provision/statement"
5
+ autoload :Instruction, "#{__dir__}/provision/instruction"
6
+ autoload :Recommendation, "#{__dir__}/provision/recommendation"
7
+ autoload :Requirement, "#{__dir__}/provision/requirement"
8
+ autoload :Permission, "#{__dir__}/provision/permission"
9
+ autoload :Capability, "#{__dir__}/provision/capability"
10
+ autoload :Possibility, "#{__dir__}/provision/possibility"
11
+ autoload :ExternalConstraint, "#{__dir__}/provision/external_constraint"
12
+
13
+ class Provision < Entity
14
+ attribute :bindingness_type, :string
15
+ attribute :provision_type, :string
16
+ attribute :publication_component_type, :string
17
+ attribute :is_part_of, :string
18
+ attribute :has_supplement, :string, collection: true
19
+
20
+ rdf do
21
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
22
+ Lutaml::Rdf::Namespaces::DctermsNamespace
23
+
24
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
25
+
26
+ type "smart:Provision"
27
+
28
+ predicate :hasBindingnessType,
29
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
30
+ to: :bindingness_type
31
+
32
+ predicate :hasProvisionType,
33
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
34
+ to: :provision_type
35
+
36
+ predicate :hasPublicationComponentType,
37
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
38
+ to: :publication_component_type
39
+
40
+ predicate :isPartOf,
41
+ namespace: Lutaml::Rdf::Namespaces::DctermsNamespace,
42
+ to: :is_part_of
43
+
44
+ predicate :hasSupplement,
45
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
46
+ to: :has_supplement
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class ProvisionSet < Entity
5
+ rdf do
6
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
7
+
8
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
9
+
10
+ type "smart:ProvisionSet"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class ProvisionSupplement < Entity
5
+ attribute :supplement_type, :string
6
+ attribute :bindingness_type, :string
7
+ attribute :publication_component_type, :string
8
+
9
+ rdf do
10
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
11
+
12
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
13
+
14
+ type "smart:ProvisionSupplement"
15
+
16
+ predicate :hasSupplementType,
17
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
18
+ to: :supplement_type
19
+
20
+ predicate :hasBindingnessType,
21
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
22
+ to: :bindingness_type
23
+
24
+ predicate :hasPublicationComponentType,
25
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
26
+ to: :publication_component_type
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class PublicationDocument < Entity
5
+ attribute :publication_type, :string
6
+ attribute :issued, :string
7
+ attribute :has_version, :string, collection: true
8
+ attribute :replaces, :string
9
+
10
+ rdf do
11
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
12
+ Lutaml::Rdf::Namespaces::DctermsNamespace
13
+
14
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
15
+
16
+ type "smart:PublicationDocument"
17
+
18
+ predicate :hasPublicationType,
19
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
20
+ to: :publication_type
21
+
22
+ predicate :issued,
23
+ namespace: Lutaml::Rdf::Namespaces::DctermsNamespace,
24
+ to: :issued
25
+
26
+ predicate :hasVersion,
27
+ namespace: Lutaml::Rdf::Namespaces::DctermsNamespace,
28
+ to: :has_version
29
+
30
+ predicate :replaces,
31
+ namespace: Lutaml::Rdf::Namespaces::DctermsNamespace,
32
+ to: :replaces
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Rdf
5
+ module Namespaces
6
+ class IsoIec80000Namespace < Lutaml::Rdf::Namespace
7
+ uri "https://w3id.org/standards/isoiec80000/ontologies/core/"
8
+ prefix "isoiec80000"
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Rdf
5
+ module Namespaces
6
+ class OaNamespace < Lutaml::Rdf::Namespace
7
+ uri "http://www.w3.org/ns/oa#"
8
+ prefix "oa"
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Rdf
5
+ module Namespaces
6
+ class SmartNamespace < Lutaml::Rdf::Namespace
7
+ uri "https://w3id.org/standards/smart/ontologies/core/"
8
+ prefix "smart"
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Rdf
5
+ module Namespaces
6
+ autoload :SmartNamespace, "#{__dir__}/namespaces/smart_namespace"
7
+ autoload :OaNamespace, "#{__dir__}/namespaces/oa_namespace"
8
+ autoload :IsoIec80000Namespace, "#{__dir__}/namespaces/isoiec80000_namespace"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Rdf
5
+ autoload :Namespaces, "#{__dir__}/rdf/namespaces"
6
+ end
7
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Taxonomy
5
+ class BindingnessType < Lutaml::Model::Serializable
6
+ attribute :label, :string
7
+
8
+ VALUES = %w[normative informative].freeze
9
+
10
+ rdf do
11
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
12
+ Lutaml::Rdf::Namespaces::SkosNamespace
13
+
14
+ subject { |m| "https://w3id.org/standards/smart/taxonomies/bindingness-type/#{m.label}" }
15
+
16
+ type "smart:BindingnessType"
17
+
18
+ predicate :prefLabel,
19
+ namespace: Lutaml::Rdf::Namespaces::SkosNamespace,
20
+ to: :label
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Taxonomy
5
+ class PartOfSpeechType < Lutaml::Model::Serializable
6
+ attribute :label, :string
7
+
8
+ VALUES = %w[adjective adverb noun verb].freeze
9
+
10
+ rdf do
11
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
12
+ Lutaml::Rdf::Namespaces::SkosNamespace
13
+
14
+ subject { |m| "https://w3id.org/standards/smart/taxonomies/part-of-speech-type/#{m.label}" }
15
+
16
+ type "smart:PartOfSpeechType"
17
+
18
+ predicate :prefLabel,
19
+ namespace: Lutaml::Rdf::Namespaces::SkosNamespace,
20
+ to: :label
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Taxonomy
5
+ class ProvisionSupplementType < Lutaml::Model::Serializable
6
+ attribute :label, :string
7
+
8
+ VALUES = %w[example footnote note].freeze
9
+
10
+ rdf do
11
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
12
+ Lutaml::Rdf::Namespaces::SkosNamespace
13
+
14
+ subject { |m| "https://w3id.org/standards/smart/taxonomies/provision-supplement-type/#{m.label}" }
15
+
16
+ type "smart:ProvisionSupplementType"
17
+
18
+ predicate :prefLabel,
19
+ namespace: Lutaml::Rdf::Namespaces::SkosNamespace,
20
+ to: :label
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Taxonomy
5
+ class ProvisionType < Lutaml::Model::Serializable
6
+ attribute :label, :string
7
+
8
+ VALUES = %w[governingProvision assertionalProvision].freeze
9
+
10
+ rdf do
11
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
12
+ Lutaml::Rdf::Namespaces::SkosNamespace
13
+
14
+ subject { |m| "https://w3id.org/standards/smart/taxonomies/provision-type/#{m.label}" }
15
+
16
+ type "smart:ProvisionType"
17
+
18
+ predicate :prefLabel,
19
+ namespace: Lutaml::Rdf::Namespaces::SkosNamespace,
20
+ to: :label
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Taxonomy
5
+ class PublicationComponentType < Lutaml::Model::Serializable
6
+ attribute :label, :string
7
+
8
+ VALUES = %w[code figure mathematicalFormula table textual].freeze
9
+
10
+ rdf do
11
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
12
+ Lutaml::Rdf::Namespaces::SkosNamespace
13
+
14
+ subject { |m| "https://w3id.org/standards/smart/taxonomies/publication-component-type/#{m.label}" }
15
+
16
+ type "smart:PublicationComponentType"
17
+
18
+ predicate :prefLabel,
19
+ namespace: Lutaml::Rdf::Namespaces::SkosNamespace,
20
+ to: :label
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Taxonomy
5
+ class PublicationDocumentType < Lutaml::Model::Serializable
6
+ attribute :label, :string
7
+
8
+ VALUES = %w[
9
+ guide publiclyAvailableSpecification technicalReport
10
+ technicalSpecification normativeDocument standard
11
+ internationalStandard
12
+ ].freeze
13
+
14
+ rdf do
15
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
16
+ Lutaml::Rdf::Namespaces::SkosNamespace
17
+
18
+ subject { |m| "https://w3id.org/standards/smart/taxonomies/publication-type/#{m.label}" }
19
+
20
+ type "smart:PublicationDocumentType"
21
+
22
+ predicate :prefLabel,
23
+ namespace: Lutaml::Rdf::Namespaces::SkosNamespace,
24
+ to: :label
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Taxonomy
5
+ class TermFormType < Lutaml::Model::Serializable
6
+ attribute :label, :string
7
+
8
+ VALUES = %w[abbreviation acronym equation formula fullForm symbol variant].freeze
9
+
10
+ rdf do
11
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
12
+ Lutaml::Rdf::Namespaces::SkosNamespace
13
+
14
+ subject { |m| "https://w3id.org/standards/smart/taxonomies/term-form-type/#{m.label}" }
15
+
16
+ type "smart:TermFormType"
17
+
18
+ predicate :prefLabel,
19
+ namespace: Lutaml::Rdf::Namespaces::SkosNamespace,
20
+ to: :label
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ module Taxonomy
5
+ autoload :BindingnessType, "#{__dir__}/taxonomy/bindingness_type"
6
+ autoload :ProvisionType, "#{__dir__}/taxonomy/provision_type"
7
+ autoload :PublicationComponentType, "#{__dir__}/taxonomy/publication_component_type"
8
+ autoload :PublicationDocumentType, "#{__dir__}/taxonomy/publication_document_type"
9
+ autoload :ProvisionSupplementType, "#{__dir__}/taxonomy/provision_supplement_type"
10
+ autoload :PartOfSpeechType, "#{__dir__}/taxonomy/part_of_speech_type"
11
+ autoload :TermFormType, "#{__dir__}/taxonomy/term_form_type"
12
+ end
13
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class Term < Entity
5
+ attribute :pronunciation, :string
6
+ attribute :used_in_country, :string
7
+ attribute :part_of_speech_type, :string
8
+ attribute :term_form_type, :string
9
+
10
+ rdf do
11
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace
12
+
13
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
14
+
15
+ type "smart:Term"
16
+
17
+ predicate :pronunciation,
18
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
19
+ to: :pronunciation
20
+
21
+ predicate :usedInCountry,
22
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
23
+ to: :used_in_country
24
+
25
+ predicate :hasPartOfSpeechType,
26
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
27
+ to: :part_of_speech_type
28
+
29
+ predicate :hasTermFormType,
30
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
31
+ to: :term_form_type
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ class TermEntry < Entity
5
+ attribute :bindingness_type, :string
6
+ attribute :is_part_of, :string
7
+
8
+ rdf do
9
+ namespace SduSmart::Rdf::Namespaces::SmartNamespace,
10
+ Lutaml::Rdf::Namespaces::DctermsNamespace
11
+
12
+ subject { |m| "https://w3id.org/standards/smart/ontologies/core/#{m.id}" }
13
+
14
+ type "smart:TermEntry"
15
+
16
+ predicate :hasBindingnessType,
17
+ namespace: SduSmart::Rdf::Namespaces::SmartNamespace,
18
+ to: :bindingness_type
19
+
20
+ predicate :isPartOf,
21
+ namespace: Lutaml::Rdf::Namespaces::DctermsNamespace,
22
+ to: :is_part_of
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SduSmart
4
+ VERSION = "0.1.0"
5
+ end
data/lib/sdu_smart.rb ADDED
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "lutaml/model"
4
+ require "lutaml/turtle"
5
+ require "lutaml/jsonld"
6
+
7
+ require_relative "sdu_smart/version"
8
+
9
+ module SduSmart
10
+ autoload :Entity, "#{__dir__}/sdu_smart/entity"
11
+ autoload :Activity, "#{__dir__}/sdu_smart/activity"
12
+ autoload :Agent, "#{__dir__}/sdu_smart/agent"
13
+ autoload :Organization, "#{__dir__}/sdu_smart/organization"
14
+ autoload :Provision, "#{__dir__}/sdu_smart/provision"
15
+ autoload :ProvisionSet, "#{__dir__}/sdu_smart/provision_set"
16
+ autoload :Clause, "#{__dir__}/sdu_smart/clause"
17
+ autoload :ProvisionSupplement, "#{__dir__}/sdu_smart/provision_supplement"
18
+ autoload :Term, "#{__dir__}/sdu_smart/term"
19
+ autoload :TermEntry, "#{__dir__}/sdu_smart/term_entry"
20
+ autoload :PublicationDocument, "#{__dir__}/sdu_smart/publication_document"
21
+ autoload :Taxonomy, "#{__dir__}/sdu_smart/taxonomy"
22
+ autoload :Rdf, "#{__dir__}/sdu_smart/rdf"
23
+ end
metadata ADDED
@@ -0,0 +1,95 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sdu_smart
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Ribose
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: lutaml-model
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 0.8.0
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: 0.8.0
26
+ description: Ruby gem providing the SmartSDU Core Ontology information model. Includes
27
+ Entity, Provision, TermEntry, PublicationDocument, SKOS taxonomy instances, and
28
+ RDF namespace modules. Built on lutaml-model with Turtle and JSON-LD serialization
29
+ support.
30
+ email:
31
+ - open.source@ribose.com
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - lib/sdu_smart.rb
37
+ - lib/sdu_smart/activity.rb
38
+ - lib/sdu_smart/agent.rb
39
+ - lib/sdu_smart/clause.rb
40
+ - lib/sdu_smart/entity.rb
41
+ - lib/sdu_smart/organization.rb
42
+ - lib/sdu_smart/provision.rb
43
+ - lib/sdu_smart/provision/capability.rb
44
+ - lib/sdu_smart/provision/external_constraint.rb
45
+ - lib/sdu_smart/provision/instruction.rb
46
+ - lib/sdu_smart/provision/permission.rb
47
+ - lib/sdu_smart/provision/possibility.rb
48
+ - lib/sdu_smart/provision/recommendation.rb
49
+ - lib/sdu_smart/provision/requirement.rb
50
+ - lib/sdu_smart/provision/statement.rb
51
+ - lib/sdu_smart/provision_set.rb
52
+ - lib/sdu_smart/provision_supplement.rb
53
+ - lib/sdu_smart/publication_document.rb
54
+ - lib/sdu_smart/rdf.rb
55
+ - lib/sdu_smart/rdf/namespaces.rb
56
+ - lib/sdu_smart/rdf/namespaces/isoiec80000_namespace.rb
57
+ - lib/sdu_smart/rdf/namespaces/oa_namespace.rb
58
+ - lib/sdu_smart/rdf/namespaces/smart_namespace.rb
59
+ - lib/sdu_smart/taxonomy.rb
60
+ - lib/sdu_smart/taxonomy/bindingness_type.rb
61
+ - lib/sdu_smart/taxonomy/part_of_speech_type.rb
62
+ - lib/sdu_smart/taxonomy/provision_supplement_type.rb
63
+ - lib/sdu_smart/taxonomy/provision_type.rb
64
+ - lib/sdu_smart/taxonomy/publication_component_type.rb
65
+ - lib/sdu_smart/taxonomy/publication_document_type.rb
66
+ - lib/sdu_smart/taxonomy/term_form_type.rb
67
+ - lib/sdu_smart/term.rb
68
+ - lib/sdu_smart/term_entry.rb
69
+ - lib/sdu_smart/version.rb
70
+ homepage: https://github.com/metanorma/sdu-smart
71
+ licenses:
72
+ - BSD-2-Clause
73
+ metadata:
74
+ homepage_uri: https://github.com/metanorma/sdu-smart
75
+ source_code_uri: https://github.com/metanorma/sdu-smart
76
+ changelog_uri: https://github.com/metanorma/sdu-smart/releases
77
+ rubygems_mfa_required: 'true'
78
+ rdoc_options: []
79
+ require_paths:
80
+ - lib
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 3.0.0
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ requirements: []
92
+ rubygems_version: 3.6.9
93
+ specification_version: 4
94
+ summary: SmartSDU Core Ontology — Lutaml-model classes with RDF serialization.
95
+ test_files: []