9
9
from loguru import logger
10
10
from toolz .dicttoolz import get_in , valfilter
11
11
12
- from popit_relationship .common import coro , graph_init , graph_prune , graph_save
12
+ from popit_relationship .common import (
13
+ coro ,
14
+ graph_init ,
15
+ graph_prune ,
16
+ graph_save ,
17
+ schema_generate_uri ,
18
+ )
19
+ from popit_relationship .schema .sinar import Ownership , Sinar
13
20
14
21
TYPE_PERSON = "https://www.w3.org/ns/person#Person"
15
22
TYPE_POST = "http://www.w3.org/ns/org#Post"
16
23
TYPE_ORGANIZATION = "http://www.w3.org/ns/org#Organization"
17
24
TYPE_MEMBERSHIP = "http://www.w3.org/ns/org#Membership"
18
25
TYPE_RELATIONSHIP = "http://purl.org/vocab/relationship/Relationship"
19
26
20
- SINAR_NS_MOCK = "https://sinarproject.org/ns/ownership#"
21
-
22
27
23
28
@click .group ()
24
29
def sync ():
@@ -35,7 +40,7 @@ async def all_sync(_ctx):
35
40
await tree_import (TYPE_POST , "Post" , post_build_node )
36
41
await tree_import (TYPE_MEMBERSHIP , "Membership" , membership_build_node )
37
42
await tree_import (
38
- f" { SINAR_NS_MOCK } ownershipOrControlStatement" ,
43
+ schema_generate_uri ( Sinar . OWNERSHIP , Ownership . OWNERSHIP_OR_CONTROL_STATEMENT ) ,
39
44
"Ownership Control Statement" ,
40
45
ownership_build_node ,
41
46
)
@@ -103,7 +108,7 @@ def membership_build_node(membership):
103
108
@coro
104
109
async def ownership ():
105
110
await tree_import (
106
- f" { SINAR_NS_MOCK } ownershipOrControlStatement" ,
111
+ schema_generate_uri ( Sinar . OWNERSHIP , Ownership . OWNERSHIP_OR_CONTROL_STATEMENT ) ,
107
112
"Ownership Control Statement" ,
108
113
ownership_build_node ,
109
114
)
@@ -117,7 +122,9 @@ def ownership_build_node(ownership):
117
122
{
118
123
"subject" : get_in (["interestedParty" , "@id" ], ownership , None ),
119
124
"predicate" : {
120
- "key" : f"{ SINAR_NS_MOCK } ownershipOrControlStatement" ,
125
+ "key" : schema_generate_uri (
126
+ Sinar .OWNERSHIP , Ownership .OWNERSHIP_OR_CONTROL_STATEMENT
127
+ ),
121
128
"attributes" : predicate_attribute_filter_empty (
122
129
{
123
130
"interest_level" : get_in (
0 commit comments