Skip to content

Commit 8bfd545

Browse files
committed
#230 Fixed location of TDE file in sample project
1 parent af141fb commit 8bfd545

File tree

5 files changed

+314
-0
lines changed

5 files changed

+314
-0
lines changed

examples/schemas-project/src/main/ml-schemas/my.ruleset

Whitespace-only changes.

examples/schemas-project/src/main/ml-schemas/my.tde

Whitespace-only changes.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sem="http://marklogic.com/semantics" xmlns:es="http://marklogic.com/entity-services">
2+
<xs:element name="name" type="xs:string"/>
3+
<xs:element name="comprisedOfRuns" type="RunContainerType"/>
4+
<xs:element name="wonByRunner" type="RunnerContainerType"/>
5+
<xs:element name="courseLength" type="xs:decimal"/>
6+
<xs:complexType name="RunContainerType">
7+
<xs:sequence>
8+
<xs:element ref="Run"/>
9+
</xs:sequence>
10+
<xs:attribute name="datatype"/>
11+
</xs:complexType>
12+
<xs:complexType name="RunnerContainerType">
13+
<xs:sequence>
14+
<xs:element ref="Runner"/>
15+
</xs:sequence>
16+
<xs:attribute name="datatype"/>
17+
</xs:complexType>
18+
<xs:complexType name="RaceType" mixed="true">
19+
<xs:sequence minOccurs="0">
20+
<xs:element ref="name"/>
21+
<xs:element minOccurs="0" maxOccurs="unbounded" ref="comprisedOfRuns"/>
22+
<xs:element minOccurs="0" ref="wonByRunner"/>
23+
<xs:element minOccurs="0" ref="courseLength"/>
24+
</xs:sequence>
25+
</xs:complexType>
26+
<xs:element name="Race" type="RaceType"/>
27+
<xs:element name="id" type="xs:string"/>
28+
<xs:element name="date" type="xs:date"/>
29+
<xs:element name="distance" type="xs:decimal"/>
30+
<xs:element name="distanceLabel" type="xs:string"/>
31+
<xs:element name="duration" type="xs:dayTimeDuration"/>
32+
<xs:element name="runByRunner" type="RunnerContainerType"/>
33+
<xs:complexType name="RunType" mixed="true">
34+
<xs:sequence minOccurs="0">
35+
<xs:element ref="id"/>
36+
<xs:element ref="date"/>
37+
<xs:element ref="distance"/>
38+
<xs:element minOccurs="0" ref="distanceLabel"/>
39+
<xs:element ref="duration"/>
40+
<xs:element ref="runByRunner"/>
41+
</xs:sequence>
42+
</xs:complexType>
43+
<xs:element name="Run" type="RunType"/>
44+
<!--XSD schemas prohibit duplicate element names. This element is commented out because it conflicts with another of the same name.
45+
<xs:element name="name" type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
46+
-->
47+
<xs:element name="age" type="xs:int"/>
48+
<xs:element name="gender" type="xs:string"/>
49+
<xs:complexType name="RunnerType" mixed="true">
50+
<xs:sequence minOccurs="0">
51+
<xs:element ref="name"/>
52+
<xs:element ref="age"/>
53+
<xs:element minOccurs="0" ref="gender"/>
54+
</xs:sequence>
55+
</xs:complexType>
56+
<xs:element name="Runner" type="RunnerType"/>
57+
</xs:schema>

examples/schemas-project/src/main/ml-schemas/tde/my.ruleset

Whitespace-only changes.
Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,257 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<tde:template xmlns:tde="http://marklogic.com/xdmp/tde">
3+
<tde:description>
4+
Extraction Template Generated from Entity Type Document
5+
graph uri: http://grechaw.github.io/entity-types#Race-0.0.1</tde:description>
6+
<!-- The following line matches JSON and XML instances, but may be slower to index documents. -->
7+
<tde:context>//*:instance[*:info/*:version = "0.0.1"]</tde:context>
8+
<!-- Replace the above with the following line to match XML instances only. This may speed up indexing
9+
<tde:context>//es:instance[es:info/es:version = "{$model=>map:get("info")=>map:get("version")}"]</tde:context>
10+
-->
11+
<!-- Replace the above with the following line to match JSON instances only. This may speed up indexing
12+
<tde:context>//instance[info/version = "{$model=>map:get("info")=>map:get("version")}"]</tde:context>
13+
-->
14+
<tde:vars>
15+
<tde:var>
16+
<tde:name>RDF</tde:name>
17+
<tde:val>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</tde:val>
18+
</tde:var>
19+
<tde:var>
20+
<tde:name>RDF_TYPE</tde:name>
21+
<tde:val>sem:iri(concat($RDF, "type"))</tde:val>
22+
</tde:var>
23+
</tde:vars>
24+
<tde:path-namespaces>
25+
<tde:path-namespace>
26+
<tde:prefix>es</tde:prefix>
27+
<tde:namespace-uri>http://marklogic.com/entity-services</tde:namespace-uri>
28+
</tde:path-namespace>
29+
</tde:path-namespaces>
30+
<tde:templates>
31+
<tde:template>
32+
<tde:context>./Runner</tde:context>
33+
<tde:vars>
34+
<tde:var>
35+
<tde:name>subject-iri</tde:name>
36+
<tde:val>sem:iri(concat("http://grechaw.github.io/entity-types/Race-0.0.1/Runner/", fn:encode-for-uri(./name)))</tde:val>
37+
</tde:var>
38+
</tde:vars>
39+
<tde:triples>
40+
<tde:triple>
41+
<tde:subject>
42+
<tde:val>$subject-iri</tde:val>
43+
</tde:subject>
44+
<tde:predicate>
45+
<tde:val>$RDF_TYPE</tde:val>
46+
</tde:predicate>
47+
<tde:object>
48+
<tde:val>sem:iri("http://grechaw.github.io/entity-types/Race-0.0.1/Runner")</tde:val>
49+
</tde:object>
50+
</tde:triple>
51+
<tde:triple>
52+
<tde:subject>
53+
<tde:val>$subject-iri</tde:val>
54+
</tde:subject>
55+
<tde:predicate>
56+
<tde:val>sem:iri("http://www.w3.org/2000/01/rdf-schema#isDefinedBy")</tde:val>
57+
</tde:predicate>
58+
<tde:object>
59+
<tde:val>fn:base-uri(.)</tde:val>
60+
</tde:object>
61+
</tde:triple>
62+
</tde:triples>
63+
</tde:template>
64+
<tde:template>
65+
<tde:context>./Runner</tde:context>
66+
<tde:rows>
67+
<tde:row>
68+
<tde:schema-name>Race</tde:schema-name>
69+
<tde:view-name>Runner</tde:view-name>
70+
<tde:view-layout>sparse</tde:view-layout>
71+
<tde:columns>
72+
<tde:column>
73+
<tde:name>name</tde:name>
74+
<tde:scalar-type>string</tde:scalar-type>
75+
<tde:val>name</tde:val>
76+
</tde:column>
77+
<tde:column>
78+
<tde:name>age</tde:name>
79+
<tde:scalar-type>int</tde:scalar-type>
80+
<tde:val>age</tde:val>
81+
</tde:column>
82+
<tde:column>
83+
<tde:name>gender</tde:name>
84+
<tde:scalar-type>string</tde:scalar-type>
85+
<tde:val>gender</tde:val>
86+
<tde:nullable>true</tde:nullable>
87+
</tde:column>
88+
</tde:columns>
89+
</tde:row>
90+
</tde:rows>
91+
</tde:template>
92+
<tde:template>
93+
<tde:context>./Race</tde:context>
94+
<tde:vars>
95+
<tde:var>
96+
<tde:name>subject-iri</tde:name>
97+
<tde:val>sem:iri(concat("http://grechaw.github.io/entity-types/Race-0.0.1/Race/", fn:encode-for-uri(./name)))</tde:val>
98+
</tde:var>
99+
</tde:vars>
100+
<tde:triples>
101+
<tde:triple>
102+
<tde:subject>
103+
<tde:val>$subject-iri</tde:val>
104+
</tde:subject>
105+
<tde:predicate>
106+
<tde:val>$RDF_TYPE</tde:val>
107+
</tde:predicate>
108+
<tde:object>
109+
<tde:val>sem:iri("http://grechaw.github.io/entity-types/Race-0.0.1/Race")</tde:val>
110+
</tde:object>
111+
</tde:triple>
112+
<tde:triple>
113+
<tde:subject>
114+
<tde:val>$subject-iri</tde:val>
115+
</tde:subject>
116+
<tde:predicate>
117+
<tde:val>sem:iri("http://www.w3.org/2000/01/rdf-schema#isDefinedBy")</tde:val>
118+
</tde:predicate>
119+
<tde:object>
120+
<tde:val>fn:base-uri(.)</tde:val>
121+
</tde:object>
122+
</tde:triple>
123+
</tde:triples>
124+
</tde:template>
125+
<tde:template>
126+
<tde:context>./Race</tde:context>
127+
<tde:rows>
128+
<tde:row>
129+
<tde:schema-name>Race</tde:schema-name>
130+
<tde:view-name>Race</tde:view-name>
131+
<tde:view-layout>sparse</tde:view-layout>
132+
<tde:columns>
133+
<tde:column>
134+
<tde:name>name</tde:name>
135+
<tde:scalar-type>string</tde:scalar-type>
136+
<tde:val>name</tde:val>
137+
</tde:column>
138+
<tde:column>
139+
<tde:name>wonByRunner</tde:name>
140+
<tde:scalar-type>string</tde:scalar-type>
141+
<tde:val>wonByRunner/Runner</tde:val>
142+
<tde:nullable>true</tde:nullable>
143+
</tde:column>
144+
<tde:column>
145+
<tde:name>courseLength</tde:name>
146+
<tde:scalar-type>decimal</tde:scalar-type>
147+
<tde:val>courseLength</tde:val>
148+
<tde:nullable>true</tde:nullable>
149+
</tde:column>
150+
</tde:columns>
151+
</tde:row>
152+
</tde:rows>
153+
<tde:templates>
154+
<tde:template>
155+
<tde:context>./comprisedOfRuns</tde:context>
156+
<tde:rows>
157+
<tde:row>
158+
<tde:schema-name>Race</tde:schema-name>
159+
<tde:view-name>Race_comprisedOfRuns</tde:view-name>
160+
<tde:view-layout>sparse</tde:view-layout>
161+
<tde:columns>
162+
<tde:column>
163+
<!--This column joins to property name of Race-->
164+
<tde:name>name</tde:name>
165+
<tde:scalar-type>string</tde:scalar-type>
166+
<tde:val>../name</tde:val>
167+
</tde:column>
168+
<tde:column>
169+
<!--This column joins to primary key of Run-->
170+
<tde:name>comprisedOfRuns_id</tde:name>
171+
<tde:scalar-type>string</tde:scalar-type>
172+
<tde:val>Run</tde:val>
173+
</tde:column>
174+
</tde:columns>
175+
</tde:row>
176+
</tde:rows>
177+
</tde:template>
178+
</tde:templates>
179+
</tde:template>
180+
<tde:template>
181+
<tde:context>./Run</tde:context>
182+
<tde:vars>
183+
<tde:var>
184+
<tde:name>subject-iri</tde:name>
185+
<tde:val>sem:iri(concat("http://grechaw.github.io/entity-types/Race-0.0.1/Run/", fn:encode-for-uri(./id)))</tde:val>
186+
</tde:var>
187+
</tde:vars>
188+
<tde:triples>
189+
<tde:triple>
190+
<tde:subject>
191+
<tde:val>$subject-iri</tde:val>
192+
</tde:subject>
193+
<tde:predicate>
194+
<tde:val>$RDF_TYPE</tde:val>
195+
</tde:predicate>
196+
<tde:object>
197+
<tde:val>sem:iri("http://grechaw.github.io/entity-types/Race-0.0.1/Run")</tde:val>
198+
</tde:object>
199+
</tde:triple>
200+
<tde:triple>
201+
<tde:subject>
202+
<tde:val>$subject-iri</tde:val>
203+
</tde:subject>
204+
<tde:predicate>
205+
<tde:val>sem:iri("http://www.w3.org/2000/01/rdf-schema#isDefinedBy")</tde:val>
206+
</tde:predicate>
207+
<tde:object>
208+
<tde:val>fn:base-uri(.)</tde:val>
209+
</tde:object>
210+
</tde:triple>
211+
</tde:triples>
212+
</tde:template>
213+
<tde:template>
214+
<tde:context>./Run</tde:context>
215+
<tde:rows>
216+
<tde:row>
217+
<tde:schema-name>Race</tde:schema-name>
218+
<tde:view-name>Run</tde:view-name>
219+
<tde:view-layout>sparse</tde:view-layout>
220+
<tde:columns>
221+
<tde:column>
222+
<tde:name>id</tde:name>
223+
<tde:scalar-type>string</tde:scalar-type>
224+
<tde:val>id</tde:val>
225+
</tde:column>
226+
<tde:column>
227+
<tde:name>date</tde:name>
228+
<tde:scalar-type>date</tde:scalar-type>
229+
<tde:val>date</tde:val>
230+
</tde:column>
231+
<tde:column>
232+
<tde:name>distance</tde:name>
233+
<tde:scalar-type>decimal</tde:scalar-type>
234+
<tde:val>distance</tde:val>
235+
</tde:column>
236+
<tde:column>
237+
<tde:name>distanceLabel</tde:name>
238+
<tde:scalar-type>string</tde:scalar-type>
239+
<tde:val>distanceLabel</tde:val>
240+
<tde:nullable>true</tde:nullable>
241+
</tde:column>
242+
<tde:column>
243+
<tde:name>duration</tde:name>
244+
<tde:scalar-type>dayTimeDuration</tde:scalar-type>
245+
<tde:val>duration</tde:val>
246+
</tde:column>
247+
<tde:column>
248+
<tde:name>runByRunner</tde:name>
249+
<tde:scalar-type>string</tde:scalar-type>
250+
<tde:val>runByRunner/Runner</tde:val>
251+
</tde:column>
252+
</tde:columns>
253+
</tde:row>
254+
</tde:rows>
255+
</tde:template>
256+
</tde:templates>
257+
</tde:template>

0 commit comments

Comments
 (0)