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.
- checksums.yaml +7 -0
- data/lib/sdu_smart/activity.rb +13 -0
- data/lib/sdu_smart/agent.rb +13 -0
- data/lib/sdu_smart/clause.rb +40 -0
- data/lib/sdu_smart/entity.rb +21 -0
- data/lib/sdu_smart/organization.rb +13 -0
- data/lib/sdu_smart/provision/capability.rb +13 -0
- data/lib/sdu_smart/provision/external_constraint.rb +13 -0
- data/lib/sdu_smart/provision/instruction.rb +13 -0
- data/lib/sdu_smart/provision/permission.rb +13 -0
- data/lib/sdu_smart/provision/possibility.rb +13 -0
- data/lib/sdu_smart/provision/recommendation.rb +13 -0
- data/lib/sdu_smart/provision/requirement.rb +13 -0
- data/lib/sdu_smart/provision/statement.rb +13 -0
- data/lib/sdu_smart/provision.rb +49 -0
- data/lib/sdu_smart/provision_set.rb +13 -0
- data/lib/sdu_smart/provision_supplement.rb +29 -0
- data/lib/sdu_smart/publication_document.rb +35 -0
- data/lib/sdu_smart/rdf/namespaces/isoiec80000_namespace.rb +12 -0
- data/lib/sdu_smart/rdf/namespaces/oa_namespace.rb +12 -0
- data/lib/sdu_smart/rdf/namespaces/smart_namespace.rb +12 -0
- data/lib/sdu_smart/rdf/namespaces.rb +11 -0
- data/lib/sdu_smart/rdf.rb +7 -0
- data/lib/sdu_smart/taxonomy/bindingness_type.rb +24 -0
- data/lib/sdu_smart/taxonomy/part_of_speech_type.rb +24 -0
- data/lib/sdu_smart/taxonomy/provision_supplement_type.rb +24 -0
- data/lib/sdu_smart/taxonomy/provision_type.rb +24 -0
- data/lib/sdu_smart/taxonomy/publication_component_type.rb +24 -0
- data/lib/sdu_smart/taxonomy/publication_document_type.rb +28 -0
- data/lib/sdu_smart/taxonomy/term_form_type.rb +24 -0
- data/lib/sdu_smart/taxonomy.rb +13 -0
- data/lib/sdu_smart/term.rb +34 -0
- data/lib/sdu_smart/term_entry.rb +25 -0
- data/lib/sdu_smart/version.rb +5 -0
- data/lib/sdu_smart.rb +23 -0
- 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,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,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
|
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: []
|