From ecac43230ae9190a1ebc5f1bf404ad1b0651cebe Mon Sep 17 00:00:00 2001 From: situx Date: Mon, 30 Dec 2024 02:21:10 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20opengeos?= =?UTF-8?q?patial/ogc-geosparql@c554de4963b6757e22f2d74e03cc8ebcfac45ee3?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- geosparql10/citeme.bib | 11 + geosparql10/document.pdf | Bin 0 -> 845043 bytes geosparql10/functions.html | 1158 ++++ geosparql10/functions.json | 5110 +++++++++++++++++ geosparql10/functions.n3 | 1184 ++++ geosparql10/functions.ttl | 1194 ++++ geosparql10/geo.html | 2143 +++++++ geosparql10/geo.json | 3759 ++++++++++++ geosparql10/geo.n3 | 1122 ++++ geosparql10/geo.ttl | 1281 +++++ geosparql10/logfile.json | 189 + geosparql10/logfile.txt | 352 ++ geosparql10/profile.ttl | 78 + geosparql10/pylode.log | 0 geosparql10/rules.html | 888 +++ geosparql10/rules.json | 1394 +++++ geosparql10/rules.n3 | 302 + geosparql10/rules.ttl | 355 ++ .../servicedescription_all_functions.html | 323 ++ .../servicedescription_all_functions.json | 155 + .../servicedescription_all_functions.n3 | 53 + .../servicedescription_all_functions.ttl | 57 + ...servicedescription_conformanceclasses.html | 325 ++ ...servicedescription_conformanceclasses.json | 103 + .../servicedescription_conformanceclasses.n3 | 39 + .../servicedescription_conformanceclasses.ttl | 42 + .../servicedescription_extensions.html | 321 ++ .../servicedescription_extensions.json | 62 + geosparql10/servicedescription_extensions.n3 | 21 + geosparql10/servicedescription_extensions.ttl | 25 + geosparql10/sf_geometries.html | 798 +++ geosparql10/sf_geometries.json | 548 ++ geosparql10/sf_geometries.n3 | 212 + geosparql10/sf_geometries.ttl | 265 + 34 files changed, 23869 insertions(+) create mode 100644 geosparql10/citeme.bib create mode 100644 geosparql10/document.pdf create mode 100644 geosparql10/functions.html create mode 100644 geosparql10/functions.json create mode 100644 geosparql10/functions.n3 create mode 100644 geosparql10/functions.ttl create mode 100644 geosparql10/geo.html create mode 100644 geosparql10/geo.json create mode 100644 geosparql10/geo.n3 create mode 100644 geosparql10/geo.ttl create mode 100644 geosparql10/logfile.json create mode 100644 geosparql10/logfile.txt create mode 100644 geosparql10/profile.ttl create mode 100644 geosparql10/pylode.log create mode 100644 geosparql10/rules.html create mode 100644 geosparql10/rules.json create mode 100644 geosparql10/rules.n3 create mode 100644 geosparql10/rules.ttl create mode 100644 geosparql10/servicedescription_all_functions.html create mode 100644 geosparql10/servicedescription_all_functions.json create mode 100644 geosparql10/servicedescription_all_functions.n3 create mode 100644 geosparql10/servicedescription_all_functions.ttl create mode 100644 geosparql10/servicedescription_conformanceclasses.html create mode 100644 geosparql10/servicedescription_conformanceclasses.json create mode 100644 geosparql10/servicedescription_conformanceclasses.n3 create mode 100644 geosparql10/servicedescription_conformanceclasses.ttl create mode 100644 geosparql10/servicedescription_extensions.html create mode 100644 geosparql10/servicedescription_extensions.json create mode 100644 geosparql10/servicedescription_extensions.n3 create mode 100644 geosparql10/servicedescription_extensions.ttl create mode 100644 geosparql10/sf_geometries.html create mode 100644 geosparql10/sf_geometries.json create mode 100644 geosparql10/sf_geometries.n3 create mode 100644 geosparql10/sf_geometries.ttl diff --git a/geosparql10/citeme.bib b/geosparql10/citeme.bib new file mode 100644 index 000000000..7bc7fc04b --- /dev/null +++ b/geosparql10/citeme.bib @@ -0,0 +1,11 @@ +@techreport{perry2012ogc, + type = {{OGC} {Implementation} {Standard}}, + title = {{OGC} {GeoSPARQL} - {A} {Geographic} {Query} {Language} for {RDF} {Data}}, + url = {http://www.opengis.net/doc/IS/geosparql/1.0}, + number = {OGC 11-052r4}, + institution = {Open Geospatial Consortium}, + author = {{Matthew Perry} and {John Herring}}, + month = sep, + year = {2012}, + version = {1.0}, +} \ No newline at end of file diff --git a/geosparql10/document.pdf b/geosparql10/document.pdf new file mode 100644 index 0000000000000000000000000000000000000000..823a288a31d276197e69526f025b718fb797d9ec GIT binary patch literal 845043 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�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%0DmZ4;%w;oMN#6{!#5THmBgI`F^2CP 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

omv`3!*3ElKDutI1_$#&^xu3Ed`_ z+5Jd;63M|Z2OY#Z(S7_>o&n%4l?}^HPX=PdkSs4u1|PiQsc69kpA2F6LU%pfR7oV`o8M*jAY-5Z>nW`oiwyeOB09#kaN zcKJAqnCHG6smxacr}8dPsC^LkVNT!K6$zmRGv^@^AhWZv4AJDfi%gnb+a2(yye#Vh zfjeHzuJlj_3WaA^IQ<}MxFWmaimH)B_$ePq(8fk-cC##7-@QlpF~`1;0N2yhPwNU|d03OUWI z`~#%6mDF(GoyNP@AVNvBf6hil}kzGVtcq$4N>YvN4HI_aaq3H<}OukQhy!KA&VREoT@DZVQ0Q#D(&!uS4e^9FD;M7oi-6Rb#W7(A+!lE@U(u| z^r60!c=mx;OWX%Ri+XL%55uD+LO#pIhnQzkHh<(ME6Xo+$!&=Tc-?1^$e zx~Nfbr{_2 z=@1XQg)wKI#gs$I_aWT;AJRh-~l2=I(DkZ_Dwn0+79L!NNwj5M~g!?x> zGhPfvB9;e5O?Y9bO?Y9b^<#Nq^@}w;Z6Jt4Z6OvY)E2|cJQP}P}5Q?!yAu`^0Z`a@+UR4sd zu~;TZ(=O%4Wk%$t$-*{TvM?l*g)4b4mLS%HQfQQHnk>vyGOjE%f;LGO#^h9!g+_o} zca6b9_HsR@60$Jvu97SiIk-Vth@DX2^KBZTmPVp5rx6xcHx}(^aS(*Adc4aEdiP>b ztH)x{H4w{zf(E=0)CRl|bhTqKVYLf2LaiP|psVjCpq3A-)3n?h4WqveGi?sFe3q#wdaJSsY(oTUxIjMQG4_`%j`%XZ zYb*JV?+VBtTTcX_koTZB*|@f{;$G>>ugpe_O2>1c##F^TF=LBIogUd1=Rl9?iZMME z<)iTzb;UFVDFGQRMpXg1_b}{%8&DS8U0jY~ydK`;)D^8XDIo2GTy@W=+ImVrCaRl& zwBodYv@de~n}D?9gn+bS)-Do|R-O`&R-Wr!ugtbFq|`G(P!Ut*UPLMrmSo24m67NAhZ1$q+p`hgkW4;q$$SbMVev@zG6WHdLbI_I!Qn0 zRwv+8W&i`K7!6ynP9y{*-a>nqb{Vb+F@UxWqz|TSI13$><1E(<>5q=QS7ot+y2VQ3+BE2{eh{tyq@xnAJ zRFRjkHrSi(*zyv2Py8cGPT|yG7(wxmK6-F{U9w|qZSGtYm6O4 zxPl#kY41#(DtuW^T!VycE-9v!#ER34lV^7vz3=D zbFvRRV62UNAI1k(p5lYJ12_Rk>trXCwZI+Yrjm^k)}Z9eM1Pg_4ya z__*go832meMZT9Pwggj}yxJj8t+(R4*t&MGP1Sw4o&(tN8I=kGtM^W?tewS|r}$kIj|k);gfE^weZ0Q}RJjv9;4EMg zmatOunn)F71l1`I9RRCB6t>#N1r%`j_&mzfc-6t|97O!@kp$Wh1_*3M#)PP1ND9ja zCV+C)bP?$;WKxNCn7K;#a_^J`Kt=-u`5Hcnv_{xdnSe`S3Ve|YxOB@U;Ux|$$E`$t zPsnYlgVW?fiFLF9PR}Ctc@$h~-wd&ceVgaIYz5B*B*>dS5p2>%1Wfd29Q%p+5Wjds zvJ0_>BG0gn_5qV}#6fxfGU2}fq%J}2tqHwOqyiQr;Z`6`8*s>iQ$PAgBs$+mVbM5J zS4q^#NFs)0G9ac=kA+dwiA4%C7UyLNi8Oc*nQk%o7*JYjNQ4-4X!`z(;b|Gw$cTC2 z!(%!ystI7nP8Y{&G%sGtgnb1t5(Mc+l2V3eFm0ar+=`t<4gffvAOO*SF+99cjf@yx zwCsqI${(VHF=@>re{M9qBlQu-6(a}3(1G0rw6XlqBQ8{RvO&a>v^rT*Om)(VW3WCm zh$tAJeUjHvJbx$w5tO0XLo^XVss+CU$relxO0_Vm+~!C(zYM`|?30G|NG>sNR;QN7 z7UguQOrX|{C(x<;oF9T28V}|>kIM^s_tP77PzZLIYTvL96ZHGZPqpvo79TL=C{KS} zUO@kd;vy6dDA_p_4n)8;&j$(zuir3vH)>yB7!Ey~a7Ce?MhkDK2p9(fQ*ojSJ}QO` z<4_&W)FkkpGC_VY)qTd>r;botZr1xNXL*1uA`J7?!W#apLDy(VyfSCFb`^gF&Q1*} zi=jOCnfDwT89rncXt=218Ui2#G+;JnrR%5dR-mVN5McloMdrsL8J4)bba1T(<_a>z z%*f*yZU3`D1wcv~;!GlF6S3Ep&5 zp=McPG1a=bjsY>EAe7%H7Gn|$N^N`K=q*4I(_A=#sAwvKf=T&>)09|nd zW6uXbC5BsZWL)L2jYrQ%6HAKR^yf%P6aEiFtvE_{(T`OCQOc*J)!}sZB`r7x z4Yd*xV(|3kw6qbg(wu=*8>R)SoY%d(xD)dXVOlhVl)^#=tu|xIugckhp9&G zeu3BLLYBRXHUL%vewsm~a%jLY)On(K79uR)p-pr^k1wOS33Yd-+sM-FZeI>Il7p@r z=-`N4ee!K|?L^0_Ms=}Eirp6IqnR$Ho@Axz#CP_E*E5|OWqL%S*ho_blFED)(p*}; zcB0&!MNrbx`E}6U9ke=!b(Q>9c5g|W+?qB#`PB>9^Hw2x^Zs;FN|#6eHbw$ z6+{rjJns#jB%kBk!HloD zP}KGiJ%G=FPANyZT7Ru;fP}laRW^U>?43l2)4DNnx$TnZ+;52D-bWNCR5w#Ry8wGL znJe>+H%}bvP}rb^#qeH!y$CWEA(f>JL}r+DGOY?+S(DsUci^z~E9D>SOKbANsrIi` zWJY%^N2SsMt@?ahuq^`j*yR?l4Ho+AOD71HD&>Iu^`O8x^P-+oKobp_aPw9}HM{{( zxi<&cZjccPTb!nZ*EXjqZxXm#2WkEoGhUU@tYw&)aGPD+ zIT(=PQQscRi__*{tKlYsWw+UGz%4P0t!ChBxGnPJfinWp?95tOiXi3XXEC@M(U<_P zHr9-9D!5u0wB*}~c+8vyIyP$hdW<<}j6QFtYa(}IhdO&^%n4|UG@&j<>MhD-k)V#(Q_>OwumGRhdM0aHOB#z1b_9opg(OoyTaJ5+tE&k+gDQEJOI#%h$CiRpXZ z#YK&wjvl6QTp%>)=TKyda5393^2cn(V>*M=Ct7R7X3+0(SXY$YrS|VW7fNf}oOPOfCfd%22Y31(Bj2bY%6#GCl@=Uqg zC|2H>lJh6}qJ>E#dYXNaZ=r=KXMqP*5}ibk8ffDMs;mLqtJVSbYR>D#RCD_xPr|5j zT?At&sU96UHp!`So5NJO%}}b`CLmRAF3TuTQ?s8$d-80!`H~ z?ZmNCK_|f;H39-n)io@pSh$J|zTv{^U%TT#9~-c8zT2!8x>Mob6x9IFRER#Zv`e8R0);Doy^@F%`)x%~ltnL?4rzR41 zu6_^(h4oF8DI3bndKO@?k2^1nNAl%> zWwh}tPEaDvHiH&bm}xg&nB}_}TbOm)K1+(TRL9Roqr{n~MtBbEwo!7tILnbUwm4IY zyg1t^L0+6i1XUDgN`e<>2@(?GEb6b4INQ7T68t~@m$kVfsR(~jis{HrMdWHP&Vr67 z@=S|^Jk#=cQx?_t%&H9piKY$2ySAtSFVlPjUZ!aa@xCrz4S2bx z4McKHTZlzNQ41#7lpRcRIc|s~TcX_0QKH<>K%(3aFj4NwPm~AAhN}@HPMl8A|IkM_J`&QxoYng)&OdiOIAXD}tRZj=w zWMg_T*)f=HqaBT*nru8w!HECq>wvwH6-!0;BBE1}pdcErYtvFsg{)6_ox?o>di&%y7m2$SAJuPYf*%Cx)vY z3&VoW{dwW5`}4xpkA-DHeScbL{cu{i>ai>>sP4}Stsb2fu6`_Q3+mfRp_@ZyR`!OT zG=B0@ANc7>ec;ER`oNDc^?@Hk>H~jX&{>iC?D(2+3+@vZy{4a+Bn5}*)&DC zg&3(Ay`#4fxeJXrH3BihcblLG=cyU@)G&%RO%ILMA=4(F$FkJ%-Et#De|Ih6hT?l%~aKx3`!6FtNFZ%fDGWnyA1*&&$z8xNtXOx$~z=7Ahx71X@eG-yb>R9SHl ziaA}yKJaRyFL#D4D-U8(KL}gDm;e)up#d)#wS^!Yid!(zXe|WMs0{?^QQUwDM{6Jw zj@m+yFU2jGcvN;U@#wfA*anPU^5uSx67~HIB+C5&6Xl-#M0pU82>0PVdjq;&+hN2} zM2UDrmdfMe8CfhMwIeSg6Gk<>?pJ%nX|>&%pA(Vh3O!0ndU8xkZj>G`C3EzQEhUvA zFC|A21jckhvhsr$Xb~AAC9i;}^wJ|*n#^T+G8q7pc88_^-TRcQ(F^3L7-^jd7CL0r0GyV+TJuD0orRvd(-s~*dNg3i6DRNA7q za92N;69x6Xpw#+7P`c`|7%8ak#iUk`#H6bqi_tYoKgOG%iA`Qe|Nahdyqye?XoY&4_vcBj;9->_sOsFmG#0$uLCskD&uS3Gr zrOujaLJdI|qokv!#iZj#iSg1gN6gsLQ7Q7$aiauzK^75I@j9#|cu|%hAtB15{wj+y zAPa3sl!2k?RO^M2Dm5m{v^dBzE%(AKQQu25Ef3O68;Eyo5dmJF`391zUxEZL(X>2B zG$kS4^hG3inWhayGEG~E#X?aFCe@T3OsY9+)K4YxgTJn+>@Uu_foA1 z*diM1#+PbMxC)qLL1vq^Ifyo@7=?1py4f_jM#wiFHnHLtXc!^c0yUc@+4AI!E7^>q zO_OXfLDeLik+3nz7WY?8vOz_YH*c?&V$l%yRN+$FL?i;S0=;B&dWZ@(D-D9p6`NeM z@?32bYgQb@nyYR**2;6$O{iIMQc1H9a`jE5S#c0)u6x_?R-UVF0?mpef#&L)K(G&T z^;Mi14@ha`zY`Vn4LM!8xRh=PY+B!+Ata>*!F2G;qJk*jbzEN1x?eVJKDlg(=KZp2 z{oK&}vij!zS>@){1a)fW;_?FW{jzKO$z@NF@7bc5e9snIoMwwe`<`uz+aFOpA~=m| zp~-MDvV~YHUPY^cqJ`9228z};_yY~d3WotawD{y1&n;20h|dz zC#%3;=;1%$mJuWf`KZ@`GRCCZL<>4eI5ParulR2XQ2|;*i`WmX`V4;Mf6dBEXpxah zY-159YOE_LX$n0ANHhFK`eNt&{H%;I8X3TYrtP`fKON_s<{4zA;15UY5YjC{WJ_SA zT~E}uIRR!Pa2iq6&OU;{BzfF72<$9Q4q`vL8H@?ca`JA}L{J^|E1u(r7ZwM#`K398 zMFTDD+cLA{sQHbaU zm}|Xdg0vlJ90N$*37NzRZ99Nm9GN{9l$<&Vl7G(CPWM+yHPoOb*ua?ibbT;j&?3SL z`3WY$Vkt+`7=x%qEXv43h1MW`Mpv87#~tdpVW6c`m@xbP(<@6dhk{@>K>Xw!oJa5< zA}%?h4jFfC5yRI;!#%Sientby$j$$e9*7~KbXfj~UjupuqCsXlh=Gb57#l944M?1! zR*Vdn`*j2vh&!8^Mx4euk>Rlp0DSFpdm9-&$-G!jh6m4x8yI^wJa|Ujijm=xo|Ti) z1b!D}1)>i5aoH@IE7pap*A&x z0RD5LqYZH~)QZtzX!_+7(w>Da2``z$bin`1-|CRLFa|;J@C(6@x$6E79F5#nCaCiy zhZ)291z8ulq74cD29pT3aaJ{=2AvRf$Qb7giqV)sfNr4;mtp+rQfjGIO51a%>o8`s z3bcKZQxr`TN))RCZR;YH{i=kVJgIW0NP)aGC`JP)RhdZt3_rjE$yaPKsSA?gIf7!u zz1=fGF?c?aS0mmn2DOMWI0ir<04i#>-g(ExAXlW3C#a4zU2Q2r0L{7{OZ(zI-H#mZm*?7o@qrPblTS! z&W_Q{h-znO3Irm7ixEvsDC%7L;vp$*3OIN#)rBhUb;X)NP&A z%Gcg5+#Ef4t-}IuexqG`5Am`px7HP2S$Wg-7h3+quDt7Zo3{J2+?R(h#$9(Y_HB&3 z6yro}f{n0T@Zpx3&hnMOPvkGfxZ$qymJalUR()xX_~vT@Q{Lx~xR!V7*Yl^7{G}9Q zh>fZG;?i0E8du~F(S$qoMfZCkly~Y&(i$<%IS*(!v!io zgD4^dDgF=jC#%iWIn^;^nrB`CwR}y*3O^jtveOwcsyORq62HkWnMl!3QVfD8IlGk%02d z;lUxJHpV8z-v(k_DM!ivG9k=dnQz3=aoytD!s0SFW;v6z z0aV+aMOLR_I^yd@2ch#&J8_-Bz>BaUt1`Cdrw%Y4O=RiRMNf)l_sJ$+IJV&9^8GoIHPS%Xu9RfFUrhlbDyDc-Z@`4X%bD@lV(r{mM=A@dsJ{-l>d6n>9awFsS*%7o_&Tsb61d1~Rv8XJ z0*S!1{-P61A`#OXn2~4**}ekHMxDtOSkAr5;E-uB$eU7VkUXz4ltDS~c#ubff6QJ^ zW57iLh8$`nf}tFo%vN@|d_y(9?m&?pVDIoa&T$}Ej2vvGX%4n8hU@b}+)+l6Qt*k( z4(~6-9lTlB)i;=@1yJphT+Hn8;9~ zw@asj*Q;PfHe@fAU`57h{RkUb1twD3TrI(hQ~^-mAU-5f7#l1mZ9L!{Q*5r-!+}i4xfc z__jXoM$f0&r%r#P<824BI)R#Iq;}9XEKy48XgtfTiK2mn8>cQPL#hGg_9OL8go#un z9-VNaQX{;$P)y&Qj_)#ZU`OPMGv@pQl8v*@@1V~5|hFyes13sNY zi#$?457>`NI>39g5To)qBl5v94g;_&vkk~i=XN4O4Dw!)C%sVq`d~k{mBrlHs&QD( zizUlp@TtN>-7KU)%wgvX`caq8QD2Sc0zxZ(%A?&%QajwBV~$G!KV~h0c;d|1195ul z4GV9pi4Yd*r|DAar&fxqO&8~hXu#^F=g=1IgPi8vz~l?AsrD^rE$9PcqEjZCJo6|u zi-}{g93xiW9V4MWWQU{=OVnqv2xYDBgmS2EZgPq0<|b#wZfl0>)UN3bVdYX%x!Bf4 znMdkDEs!S|dW!4J78m=8D=zl)Qe5oEU0m$PRb1@d3EFVd5>zx%A`5U4lJ7_DCSai< z|9K-%0z4}3XeX*T74#A===oD88*SkgEto+pOwCzng4H&dNZqwW>@|3(GDb9F93!3s zF<$@45mVVi+*sSzK=h4sAV^PpoO2OH)m+4l58VDZ2O9iQ7m;wZ4u|l)@}KhoFI=K% zGiA`ayoF1|82DL2wUS~?KgexlFUGVuEyjxLd+xFNNikMj--|IVPKvSO>Rya#aZ-#G zSGTEEMw7XbHC79qmsF__ysS!n;H6dS123;qA9#tC`oPO9B6(B&rj-sU+>l+aGTs?( zD7>FhW|bg0I;myd1gVwpXKbkjD2^EPEc?h)xG93%^5l5AwNY}s+{%$NuG}(;94{BF zL)G~Sax0>!n%puPyxiL8q_Va%&tEtW>#4tyH-QtyH#) ztW+>BH7c;YA+#tKPeqpYqatg#qpCa7^el14(f*yDm3<5z zC9{kk$8{U0$3#}1p0P!iErh6A8>h!hteBvR5=%*NTVdlQn81oDfTAU6iba5mKEanf z1Bg=W-VT%}vWm8E9SK6sH`x2xK zZd0rKO-i}lVExD#K8!tvKJdp!ss(?3q(1NmNa_QBf}}nOM+h>-&bQ$Bq5v&gicmmh4x_3qNQKVG6Er-d-%5=ZoI&6&&?lH z9cJDQzsHpZx5v+6rTxJb%`5bHI~S|S8KY%&_giQ4^6}en0AH z;w#d%k<$v&svQRoWK1-arz}mMR>jr54ASECX;oa`pH@~sd0G|M_uD~>lc!a2ba%-v-fDCsFRtszkXzsuJb?q)L?ggDO$(&nYCJmM3_3P8Aph(&rQ$ zB*{0FTxYyjW8pDnoot?IrbQP5?c5zx!Lf40DdmZA{8ljJu}`TSG2@<6M$zUOX5#6o zcFi#w+%`CeN%5jBniSr1AX1rCW3*wWh4*>lM$4A66I*<~M7P$`w6rR&?xmF$r=?YK zeJ`!7eo|T$*Z0y&i<8o-xVo2CTAY+t#nn|>*&@rV`ZW&HDphXMDphXMDphXMDphXM zDpek&6&{7C8+&P$hc8S@t0vNWn!qT*NOE==j+fm8d6n;{s)#VdOcM{)mR`-tE8rb? zpr%n0%gFH(Yop|tUY#drY>8#-uxU?VF+~+6meSxQ)L#&t zk);$8i+-IMYk+Olp%1*wO10pHR_X&UwNf8=v6cED$gL)_$2yA;p1_8Uh-t9}$NXFd zhqO7lsl9BPIT@D3ObUm=$vCiLl+-e6oYWc~bX6JZg;tK5v4xf`LPcY8_R8jO?D3=s zqAzaDKFY;#&#R6twAyx13Dl;m0QuTlyKS}c$@Ri7np_G$Ucm9+kX4jUBxXD|(?o92 z*?IFFL<7uTbz^%pVSH>-y&Hzc`X>v z#`Zd;T5zCY#Bt)OalCd8)cErxN6onBiBaUZw*o;~Q4vIcM8|@kT z4a-gV&Y0#v%z0^$2r6(U70DP29{dJ?pVnuPfi^_9!zv6hWNph1)}I2=Sml`EFzcIs z)xJ1rgCJ9G4zTst;v4LHR6N6i}kCr9J3 z2^*TjPAMWuZcXLrMCc(Lj@`1S>Q1mZdhY zDa0)7x%X;wzh+cA@7(_I(W?XGzZ{-g937tdyG5b_6Oh(HbbM+H{**|x;15tOkM3sL zf4fvxb(SSchwLBc6+JHZd5)J4vY9c~r*-Ho?qse00UHl^Ww+FIh zx|AzqrO^syFMp}N%|Fr_$aQY(XT{O_x%O@OQtij(1%tEI_3fwBqg4C0_|`yQMHi#0)r7$-38LuC%i3xwTk~>Y|BR1KwoHgpaa3h;`yBTmh zdrtK*^}wU$p&B}NM@k%>ewHxCaN1O&*v7 zY%i+uUz3N=uJrJmQ@z2C9qfxO^ZUXcx{Pi{OGJ5;zX_GYf8*GYzp1-a>4B6K_n>3w z>KM8@2AGUp4^_v|AgP62OzR+^^+}UR>h1p4L5KoYWe@=4Np+#4K&-NBT1O#xRG2Ts zw&M2{R-!S@mi#b)7eq{FVAZnzB%pFuF6-ZX1a}P_+f%hJ_TW@)8fhM;j!jCa7`hA8KLB-Kv?jeIR(ZL z?b@`=1||kbJx$^3v1TSCO#RG=D82{HjLiW=gz*V37H&FZYQ~owKvnRx^Bhs2_m(p+_q*)-abeaPvMeWOSs7suVHQFrt7O!8b9{!jX;v2nj1^ zsRJ%T$33;MhCgdZo1F$#MjBF@wX68!N^iNgk3aPK1AGh^V0_3b00Tx1*AVg_L9t|G zR=R%LG<*a2^fnUQZ`(~Ch+hAV>~2FZa~-(s3BW2Yw&u7wEmkb2-nBa0+yexH%p-8c zrbCS8oIG+yrRn3I9u3eEMgWw(nY+8w|wIUp;Yhuzhi`Te3Zzxa@50Qg#{adG&?0wUzCYlV{GH+1AG*oLU@gTkfq*4pw^e zlQ8BER_0c3T$)7sUYU#?Rp?u08Ipr4L?b3vsSuEL~apKi6kRTDst1@62}10`F(r$U$4uoc}GqF zP^z~7&{cqk#tp<-v4zXa=PPt>KNS$ci`U{BsTi!U^i~~BND?v!zwUSv2HVJUxjDd# zk*K1aH-T4;jgvAI=KkzLpoZ9 zk%PPU9%616%)hoAWYY)`R_3B;z{b)+fQwmZ$<4ZC+ME(5t0b!(F6wP&U2HZ1Y!kI0 zWFXX`cDz@!lml#P0{$K|NH_uRav?{D4(vR5^%d^(Q>$|;3pGf8V4Z5Vy9neK0$k0L z$Y&yOH#rm9$Wq!Ltu77I#VH8vi(Kmlh@L36&bxSLgO{09Mjl_F35jcqubn8*_`7Ez z5ske%(QCfU7be8N9(E8S#eT)!E-45cu3k9FBZi>F;2}_ozZmr<_>1$%z{3^HKpyIj z;_m}%AbYXgTDgmgLI1I>OgstGX6t){hPV260QQtY+*ETmCSBH4i{mx*25%q?!X{JF zg5V13^vSXjl+a+>Y+12O5(K#F$zq{TYnRcNBEU0Ff`U=yjg-z?33M!wXG1W!m zDG*9l89ERa`2=B``YX8lpE_H+R*Ze~bH~@0=2p+v_S{VEtcN7L$jo%q8`G|LpoD4% zbjuqADMSI3E9i~Ra%Kk}(^T~aYjek!76$+uF33z3kwHvPBcZH+@M-8+PaAjGi_!vh zXAVbrZ*}n&WSPn&#}Yo>TBB2Z?V5x8#}=~)X-6`>nHn*GEt+@~u4&jk0hmhLFf;>O7usFX^ zTbLWv=4yk*K#i{3ZM^37FQJ7m4K(2|& z^6py9Ch^a3n~SMel`zBcZgvrQiyOxO&)!?WM|E}U!%#dB9EvmeAd#7g;(;K6U`fyf znIw~BAjyOXA$Uvi0>vGQyGsicN=tEfYjG&|fwAlO+`X_5u3!I+Gma8azuTrzJ#N6pqO zVa`z`CKIn>Gx8H5RN=)}l@-Jp(}bu}Lt}D{cGXZDxf*O2d@r(Lo~;JVNqHGYawq`t zrbJ^bV;o{hkkZrG%j$ZnG!t+o9vc$^DQG20lWL-#aY>{}kQRaU^8&57jl7xtnec;+ z<|2Ki@Jv6AesDucTV!-9?DArMVGV;iD&`4sB5l za~w7k9@zpROh%fLA`;CIDNRN&8T!^mdRIDAyf5}4j>lEg8dc)W;b26PWT}B}l0pl_ zvC$Y{ev)uxUHndus_{Ok{-7~`b{D)wULa9XdZK$}i2Ae)N20k!kguX9+3X-#nn z$!TF#ITLlX0D~v|?0WcQ)FUueT;bOWm!@8*UI3%|#~&Eq8-ke48;-Z*jWAJE#ruTe zsZ*HE8+r-g>7fOWw2$6b_bKD!T1xjyh@%NSD7DStuD6;%90$FmO-@W<60X!FS(a1m zA_q#NqVT8>`u(VoqmIMLsg%FBul3>Z$@@z0*q;SOc|B}#$RP%JkRROxtX;jPj8T9} zB&K`CAr5#@)CSt@eaZyr{Fv?)hgd+;ksej;tS0EsPUi#rpuTtRdTUy3OfQnIA(Rb4 z?&+{kh{FchK1j}|h;80yTcJ%-m~5_YYkq+xKnqq65oL@`Vko81t3CNjM`ipBRAfRu zJ+ED%%x^uJ4$7q-iON>*IK)5d2IymeK~z1%N8q0hsS2LHHoN+G7Kpkc)YHIvksouM z)Tk3BAwjGvh*Wb#T{>!*0rlAG*H)w*X^9Wh>-EW+2rzwyPCNrBV;a{Zyd5P~!IM<0 za0p`vRiuJjulXZj3ERRvjb9La7FRKs=LYqAX-kBUzOT z8VSiH?WhG3A@#Vx=7nDGid-CTfw!BqUI|C-a&wANLWco(TfBsqMBBlZM@elY6sFbD zA=;zbFFKrCkH-;C2u_hEEX<@aCM3ivGPsfdMhHrb9E7w)23tu2O=HGlTZ5uC7b1%W zlOSw&q%b^1K=A-GVe)|L$9yTGA+#fA=K&<=>_GLZL%5(x53vJ#a0%0zT}`eTW3MLy zj(pHI(dw9bJ30hUB8iQ8cVuAM26g5$GWY$u@><|EmP;vG4@Bz3~>*7-Z z3rSOe%OS)0^dL(Q9U{WiBQUzKhediSDnfxv>RY;xnh91+Uiw@Af%K6Uk|-C zz&~kY1}JJM%Vj-+L$o!JV(t#6qTZNvO>qr4DJ?GC5}P3`4J3p>5V9JiwIeL?KzAq9 zVzP%Of`gD&&+Z0pjNL2fpVA>R`ugI05sPDWFm!> z<<2=;KXsml@k#w#`GA<>NULWT4_`eBj!Md{^H` z{y*Xn;0$r~BsrWeXJPDPLHza+8hNB7RI7iTejDt1%Xk|y%wyA{ad8pU**GrHM5&dL za%du!kv3%86GgHOMDY78lwboq)_VvAU2@#%J?V+GAP!>(;f_pcXLqTz8a^6UBbj`` zB-mK#j2LRGgV5g9p^pHkaIiu8|EM@&itm@)Tp~_bC!z?X7)+Ij?y3i)<#q|SMC%D{ z5*5K*(3pb#I#i1~^Q;dgLSWI2Qb(OSy|pHaTtFW`n|N4C&9a@wp^Cyfe1l|(FhX#A ziqIn4#mM`~O>~hg098mWSiN*3u>%$15e|*4>`=%QL?0B?<@Xe<`*8Cnn#fhng#@xo z={Wg(w%f+aDTEs2Cd0Rnco@TWN=tW|1OECslt<2a5~iYb&LgS=5p|6hm<5=!X* zo~FiL($NVI5*1ygcvL1t{$EpL$)1~0WRk#%44N8i$O{2hv@Rr0nTS_BG8)s$> zC1)@lHf&Twb&ZKJq9A_HjK%pPyW=55_S z65nNCOD6vWM4FQi2>&GMOAcBJb0)75xUagEli1JUL=)!DZ)GuR4%;yvz36UV#Vu{p*r$M|- zN;bujUj{xc>AKQb;<30O|1f7n`QW-Wnq%qKW#?tJ87$Dz5UtuXvJGT^xtl25n8du? z#w1HT&W2rz5_s(hJ0B%oA)-c+uDq!CwyP{%NlZzFlo?7_gxl(#OIFfVFw%=!LzY79 z5D8a-HUbrV?Fg{ttd4C(QH%vcg`rMn9zmv_TuT7suw|VRWBhPLmN+XRY-uHIY(xG} zO`tJ8It8gS3>$$>n$Y%!hMeH2-zU>MB=Lv8*SUtwU_-@F$b(3>L_h;%-O)i@%0QH0 zW&1OB)SYF;h5pI01%!>u!fJg;>j23mX*#qB)HEjde6q4a@k{<2=`kN%g)^$~EC-<~ zAC9H@=wKQ9;Wi(Ng^?EEf$%Zvn!|#95O)I?l~s(Eqvt%7Mv|cI$7p%rZW6W`cDm{q zEf1KfXMt%z9wVq7wk*l6fz5tp1km{mQtUoy@!EX`7%THfUA(sry6auD- z1%vHCu8$4A$dJwYMRjbK*q|Jy<>AXM*$lAk4}&YfP6sQVs-vK60q^L2vPKE;v4Np# z@BlYCDcJ*|>{Oj4{p9>*M^D+(q<1q|nsj!ylM9q{F#87{e;_ZG+-+9a1pf4?`mP7u zlTz*HP{@bGk@Z5~{X~w8N<9*?&?kgRtMy&P=zD2n!Iq)z>a_?1A--&@=-P^#>DjUe zC8i7Q7V!dcMuZB>;sp$sl3rVrAs^tOA{hmj@yWIqoE}|yJaq`9P|tvS-a0OvkUeAR z(Eu-xw}B!pRV!tSVL6}D03W+5>Mh~!1#wP28m;Q%qi?}%y~xI-9zn&HnT>#pZJ)R{ zaZ`FAbWJ2heA3d$`{x6nG-{(MBXCeb*t8B3r(3fv?w-$DDdb_0KKg{JCsKu-f5fT! zpsOERo?4B-mnsY?z(X2G%M4;#ANIL3`>TR>h6HNO#RYf`;5|~*I3rLGB2X9nbu2i+ zUtQ+IiXsWjKl&tAaxT4%eFXXvyykJa08y6fm@E-LD&Zw5g?JO3n>L7 zTnRyNtyl~kqA3a2l(W&Y+@6LM^3NQUidfC3waK25vvNf0gz{e+SNb&<1$Z)(_Wws& zND`s zLMz6%SO}(+QpAk?u9^TlnKL45hT#cG0Cv|Rr=cl`B|cdp7+(vi(jZ2bE>)f_2FW-Y z#zY=>JLBESS~)i87&*$l$42{4kiM1sBEuA;_pLwc&l4QnmY@%w~&;shAt zq}LMZvHi)#%l4nr(!{%tm*!}4fwf`;8LO>#=HT%Mv_u`kxvUUU#R=1UMePfrR9s8S zWUv-O9qWq!iV$ioagr!$ve4g}u=Szv5u{4yOeHsJ3h9{$=KECXQU``B)S3TWx>S$$ zNy-tJKZ2K0`C2^!=e%~6qtCl#!1@q$hI~NPrawtB@<1?@H#{a*Bk*NfDMHN3NR+Qt z`JN#a(^oFYmocEafZ|E{k7Z@ltx=20lC}&X*`8D^vuS(YU2+Rqdw0D&-F5$hclZD5 zKK#$9`@q9mIO5u?`{1rYW~?M#!dlL7p8ZnoHa5Qwr0}<>>f!?j40y8! z+I~y=%7|bWFJ=Hp0;A@Z0x|`VNx;@5hzj6HEQG)UOErT;Mnbq zj!(AcL>bhG8k265P^~4Jc3IQrN&Li8TQ%p{UXU>k9oZp(g&g zN&ibFP%D32t9qi?3M<1GO(q!vJ$)BXU(w5MHtQluK*R$u$lFoX`9Pu4BPfrp zhL!q*A;|jT{qMC))!uL{@yhlQ-@r=!sCL3|)CeFY!fFLaiHEj=&E6mz$!-zHkb>lo zxJ!Z*s9rTbl|r7K}zF__iA!G%PXe^$b1hx!b=A2-VWNC2q z1fgfV6BZJRbUrm#WTU60M$pdg|X=bix<11u2WtA<4)t~YkG*`rGj>nwYCx1pWe;NQOn5S_2DF9F0|&%ndY zE|^>@`HyO?UUFqBVa&7T+gPzdB1qgF(pGJWSSMG7mWQ#~l+`eVJZVgRqJ!vd!xJck zO0WQVI2-q))o{Rj1P7!$PuQN)aax;UTu`XS3#ssGPC~T+u}!@eRqkw72F{S4d)RE0 z0)r%n&AfGz6C`!S92yH zAB(Hj!`SHQO}XN#Q5dd}O^|8fa5<^MiQ$T5RY-WI5i5dX)Fi}0fse7oA|{r_N|L1E zLdB|K#gtuFWIq({LrpASpazv^-~%!D;dx79KBFcoB{r5N`5|Z5SH@~ag4&)bcms7% zB5leNG4l(#)_E-$`X@Fo!PCCcMGwD_2*_q-HbFABU?)$BxKr$x-eeQIk;aNCwMq?6 zCUI#~dnBulLpcO(U1^0&+OQ z7$&iWNG}1CrQA1`B`KZWN7E}X(9;WEI6caWP(&$ZK#=#rnAEl4EaGYtHO+a1@U9I>RZHBwxW4v$0_b|8qE z7Hu`mRlOil6VvsAp~6es2Lm8*$%9)h@BpPIt)(O?Q7Nu!hIb{D7Nv2MV@-0SCJAd0))1<5 z=ba~H)=CJ?rj9o!B$yD%%@}DUVHUqbq<-$4mI(D(Xl1x1GEJ0o5;jrx4o`TckLpYY z%-}{L;_N4(Ivo#yv!+i$TBhE{IP3@&VdFI{`BjUeSM0^!ng%LtgKyZLV}|&owPVKM zfCuCuW|0SitRow5B3W5uquuZ#z^M{PVEVPIcID!HiYbcja zPWlotM&g0SA2JC_y-6n`-Os$pnZg=vr93Sg+r)#&kS8Uj;7Wwd3lnLPo7OBP-b7{8 zd4j&Wqz#CcSJVWvpuu>gPr7AV<$y5Sv`tj8w{U44=@-cvfwVrTbj^(MDO4Af22ryS zsQ)~G_QOloG?Me39IYOAsp?mnAX7B5{8<=^!ndu;%B5d8+qzgLPeir?9N(D8zhS?2 zv>Ndvk?Hdv0Z;)PPgfHF%>aN3a;l@d(&z3tT0hTMVp~j~6!d}3*e*B73WXhEhuzI6 z?2Dl?3an5#pWtjFw~`I1{FJg+xjcq@6-jgyX2?Qx&8(6S+mv`kB1PP(>Wo+9J~6p4 zAtf=vl7!2Pl{!>840&1>RHF35Yog7)5XFe=j`9Ifbtl|{>_7!3d<$?*q5uo3pJI7b zmPd6HDjVT@=4Z|v(s=a2J)@`t=C|1?w2+T0i~vihh`JUMoE(8J1XINxm2v8x>`!1G zCRjB@?mxt`G)P>`vKLPM&qydsf;J3c2ND@8;KI9`g@=>Dm1MYH_?eL5NNl6;BFWb* z{y{%vBa+1g9K~9gqoV9`v0R(OPcO}RP~f1He-c0kNk^Y(jH1e6s9y_Sj0zyh_-IUw z1S&9$vT{Td&qf(2BO39>rxA`IXN6=xRYW-F%^Vw`95oAW)l$Jsfxv8~>Iee-l7(oR zBfwUB8G}&>Ga*@uSk|=8L20r$ zF;puR0q{V2sV<1SubQc=mVph^GCn_KLO>u*<1ko4H64ft(>4G6>6)9;V23b$)MR{b zNDd|tLzQN2dSo9P++?iLn(B)TB10&}SkI1M+ujteX%(N$Yi*00SvkdYyG6}f<>{xL zG2NQLTksI7Ov^@L|2D=(q{ODM+mv7Xs!92-NhQOs`O{CGls6O8_^WEfG^QHdsg}eZ z%BZS2`LSZoVCC^AP6`DrI3mUrXH-T=KS6+MQ))6yN0%S|A}9q|6o76^i4ieK12(BM zXxZDU**Qr0&8;lYAybg9cvb<(jikZL9lNXcICIfvJt3Klnyx1`2Hi|w6k z%?}XzXIobYH>+GaC_@$j@l09qr=4wkOJZ!KroB1Rq#@d&GDj%)Vor&}>J)<;jZU>{ zWZ$)Gs=?Kg811HBmIJkvjGfkMsfUlR&%dCS{$IS{|BQG+gMzD6=Z}{^;$+N-8!jf; z!x0%IbALt5b3s_H7reRPNV#!`$m1xw2x{eWPnkLjQ zMKwLV8*mbmDVGn%mWJ7cQp(n&%&thwEm_7tq*ti;LOP{!DPu(V_r%Mx+zewj9+H5; zcT1LIB_JGC1a-%1QPTKW$J~n z7}`5zGsI+U94iV3D3LS8flV_}t#~RAZwq#sCKlgfB54N46Y%p&G=({{Ez?q|R6g4z z;<_t|Y2JrNK7}ipuv7{oJZ_ovaNDElUWS5Vy^|VFm4+;hq+ygjL<)w9-W<^5l#W z(Cs*u+WxXN&Re6aiF=7D2?8cY2nKLsMNlU+`VJ&23`J~0wZhPCADMurS`f$8pvJ1(TB|qs zre6+zqM-*IdVJaZbK7_`%*AowbCMt!0M3?79yzoO2-Cus8CJEXhUp(Th+sq_7;OrX z@&)0trUYo6Mw1i~4;!YJE2Z;zp&~wIwV)^sI&2{SO;q||&1xG4gC6MrHNg#ABAN-! zYg08&JuwJ#Xrde=s*Hdw!^6yKf=9%GM%^`WPJB3bO|0~ZGV3sMERnGI7~>R-j3+Xu za{rnaItx;kH_WM+2LX1t78G-;v<_Oka`uXHsz;%FFSI%Kf+>|sT#&oRx`G!o-s%ik zFnoEQsEb8K%qjmKHvw#z@QScX9LnbCw_XGyxK`1PQX_9pdWm)?eRSaiuZ5L@#A3ZSA z0!6-v6nGC>cF-us9!43cq9;6dGH9ujk3G234{eu5AT=zg-V;@8d z)07}TRHOD~-PxobX&*o)U?>^AfTbWAQPfoisa!+zvtTQaO{IrK=>tcwxAr7 z1U6d#3or(r#_|hAzMZJM44GA_4j>sU<-uHlfPumK8gC!2sH35Yc4FWp5 znbRNI$8r=L0Fzv7uWKxmMG^3Q*$MXWrn^_Ns=;Ol=>$r)jw!4`|3qJU8a~KPC>cq$ zYr8dsO+69SSRzdHk6?EVq;mYGZe2GJWfLex$@HKJJ)r1Xde9gPqaW+L0_|Dga1ayL zf#)j(-#j$-2X_P(BwN21g!d8IW-k(gA}lzyQZVM6fA2 z)U7oFyU2>)*%53A$$wjse{g)($ZP5I<0s51|#_UbA8k%*55DzHu`Fp-xV|6*bOj^&leP=riv zgs``Cd0gmdBKu!m7~B$v-ohj@uo=W~J)NksB2$q*c_#)^d(bJ!YAb$f3n)84so0b^ zYNSvddYh^~AACxt4e>7eEx{%M)1z#wqjRACe&QE4ql;q_k7)oRO!<8S`ZD=CeqR8` z;rpUyk@$hl{2zEMZC>Chd)XjiX%xdT+M9#NV(AVZi>VzvR)~ah8%T}(bRt2mN77r! z${<^I+S#{3+QV2u!f1Rc6Pu#!eaP;pqQOtzflMo^9jItf?u0D#KtU~SoE%h{k_S|6 zMMZp$NbZvtu8^E+<$frIsy1cGHN;>IXUx$CDS>rFRN|>)q7uKbd0!BfcQQi`E2Lv%+Hh}2t2 zD_cfoytg??2lytF4!X$+5_DwVu(2{Lbn_W|knvo#2SGT|!f;Mo$mr^p2T?6vMJyDZ z6VJOTap$A8&sXVF4hJ-%rlU|`gS%U;K&M=6pRrAa%vAgIb5#W~sBbne;0k%IWHeXG zJTf|y9;@k0`h~c?9E~7TnraB?`jSRaqqDs=$h78g1U1In8$r6G1QgjO3EdGE#BAYW z4-S7Imgw*YVg(L=pimuTM6y3icNLbweU*}LA|t9(_1sXXPQJB1gtCI(JXzu$zw%^~ zg^SF_ut>vktmQ!wlE0@0AO;UUJU{k*5GvCA^o z7)cZeT?72+M1MU(t}g=Xx|FVnQ6_Z6D5`@VFq3h=Sr z$>gL^w4>)@b&j5k*&RKXDcV4;W`I|sX!0C?Btd&Xrl10CAM0h#=z2zTXxR&x?mCsP zPg@NB*z5Gu_bBLCy+?7Ie%cMH-dS>@F+Pbxxp?)3M1;Ka{%?YIBX~4VTtW(K?8d6l zvjX&7Y~b;7YI!)^l$=T()xrxT{V2HxuS!) zg)}b)u$f!{Pdrv_-I{4S7+!EK@xIOQ0LZ9p)!h$|HI zC1(%I@#fUgQ4poc7!iZ8OpBC%qAKc=B(-ay>p3Zgl0%5tC@c~IEMaAa-+a@B;${d=jq-6$ntN{uNIV2!YCWZr0c8DmpS zsOQ4kYLIlnf~z^VqG{EvCoUyP>AlFd8YuyQWRIK)|zE*lRN!q}8Flb%jYT!eWTpe36N#mYfor8q?^v6Xz= z5lK?)0gH}hUhU{4Rir6ZssW3X8o}X{qiVO_WZ}nTbT1+hncyZ%cpo{DZ89oMwB)07 z*RT&dSS1jN;19`dL|a1P?5?Cf0l zd#!-#2|7dEsJE(~hYGRyX$a>p1$JN%J+ynN>WIpzsmdo%Egw);igdE{aS#s>h7H6% z2{=>aqg;BM(juCekVtO9|AIl~Qg_%ukc3n%h-uKB1I|(lhY89h12EV z32tM1+yE1K`G~kfwW#q)b%=D@CiH>IRU$nbe<>pi72eEP1{Lq4U!X-T+Evg`=m)5V zK@DrE)F^KWi+|ErQCPHven9^~JvhDApZ+wKYaQ8gP8XanyCta(BrOTQXH`ad1yrLA zo5Q$Z*JNYG|KmRbjGky&Diw143^Zb( zNM{RC*IJj7#gi1lp(gHYA>W(ipmbz1QAUs?TQHpj?UiFi2VHg-2=M^PQj*C|B*&|= zbzGI1cs5uhd7`b-)TE>x)Q?m)!y~*XdI3TKE)~$azf)~@{9j!T9;lS`)OPPmKAm4Y z*)7~ClbemJ@&V9l<(}AN=@9!@t()GV>)aY6wMd^!GNU^*60u~FgMR8F{Z`3^vrWBa zeXZ^8P@EUf82q$N3Q>m*ES;8eitJl!!>ZUSY9v4nWU?1i#jt)vjH;Z#rFARc;ty zD^p#047It5LPSq}kO3n~mSF|*VrieYtVqUNjzX$m3)X>?vMRp`WzC3uesqjOX@rO# zFrTC((WdE3Iu#hCOucZZU_O+nDZg#U&H|;*4^~3R8?Fk{7%nR!MVV8T=uwLpfCraGW;OJF}5a2aAVZY6iNn+)$8$IgSun zK#HNGv}^oCRkOsiCT(GJCeblmu8 z>`n~_1&AE&B&Oktb3<0Stk&D8$qb%^6Y8PZO@#0(ma!Y=Z103r2Ov!(AzK2Bbuxl+ ztTM;b+DKkUAel-W)6&_iYy&F_N)}6a0Q!=k2WW{#+#De2sxFa zuMAJzP(6nAbXSBdz(uYL4j?gc&VV2{4{u*Y%`1}#f&4&;|1$FoLJyI-se#dyVhSbS1#3w@AFaxv2jwTU71hcp}dOhv!w0TuqTt-Xq_&Dg1m@|l52SZ5t< ziJVG2_B11~d|;3dz$Igwj2_XJ?jGoLVFegyWK^$=cFJqHlYU3da#()}-aMN+=h#)% z*v5t3*x|+{4+QXm=Y~u8KxtVrK73%14{SU`gfJkS*j)!aw%T`aO1S!*Q9g?I11AI^ z^dK~$&t#m7p?Yrg55kCW`Xzl!2t;4-4ny>7s_G_zgazly6v7FB<)JYGfeC_mBJ%pJ z^XbWegIiVVbi)id)_j^O;OUW!4p_=1eM7a$XuX4;1*EXUC`|uh9eK>OeB17mFn#HS zm76gaELie}l6jJ>6*hi>4?ZQIhj`bq&qMseW^{q^;&D2!gYa62AK1Jv5Jx;t_rCBu zh#%Oz|AEKS<|W)_@2VJ`@|0!fP+&9r2|MHuJtVMUTzb3y3$37D!z zC!3NP6SE2h1G&YGJpv z9ZS1a2M%UZH^?S+A#{NmL6ib%%Qj>%e{W!#WJ87|1wjgEnl5MmXiKvj!yO)`Fn`c0CL29lCI4nu$Ts381^PZYq z7imPUMOLs05~Q5k0V4oY>>(lYvZ|!hk?q5dKaTXqCMXajc_+EBr?znfSh@e;u{26G zsZchq7vy3~N|J`9sIc;{!iI%T5wJ&~uw6uq#lm#sFlSc2O4@?7CunWy*F=K0?7igT zuT&l#nyn@&4Hlg^4Uc3%N{d17mcdNvp(KG9uA9_)3z8Ii52sjr2f>!0M<=#o}T2ZRH46 z3WHk34M4F}$*{vML=?m-SrcKTz`2{FTVXO>uc0~~)IxMDd;GXbBzPb8z_;P4|7wM^j>Nbl^ zx2PI0moSqNOdu#BChv?6OI@Bb%$bFSYZ^+mIW?g=4mpaE^QF19ol)XRsyddEgdQh2 za%KaD!A^>+i{>%yaO$J%nFY{;5d~NZJ&9SiB-p@ikZOhnDAwGAkdkT33UEQelKmY9 zH!}ArTau!BV$3k6iJ$>tYu6+iu_dar47!sZ(xC7VqWFy!IPEM~QuC!B6Lh&PCImIp zVkxjdY=ziBx&?{(H1cAwW1x<5?qSZ--W8ZC2+6Iz#CIqz8t?+6vS&e-tjyRUN}Baf zAZ$bD5Y$66iW*{qTRf63z! zfJ4@HZN91+nw|{WsJJ7y6q8OLtThEfE^NIBH{}c)9Eg6VV6liyvvaNtRbq@}Bmv6u zXb5$SAHuG13l>MT8s;ohnncR9DmB#-)U1w1Iv7NPV0bmX^9NR_YNCJ-gn?lxREwJf zkQuAe8*Rgl5j|2-&{+jg1hSeL>lDC%WzWFbhba-CJrs+i^%5CqDWpJfZO+^2ijfaP zX1^{}84|zztb-={VP&bw?kTnlgF2nQifQ2>C0ggD#;G`lb-V*48GEuExkIgGImDTG zEArnzCd&!?*#BEm&Id`HusKTM08|+Xmnp0Y@a)?Yw0-aBIJyHi4YuCuu^Boh1qfgM=ND+@wr~Oazyq zt~$1?1-pgUARc!ge%)QM|K53BB^M9P$Is}!45 z`LF4wATJWhDHM_}JAlDx8KO`rR9q#HY>XsfBA}iXXB2aCQfI;OY%44n-UKNY436E| z#BUjkt3f>06cvSh6?qi3mx6i8<~}rGSfH@ep{VxdN66k z!PRgtVfpd!hmwPxeqxG@HYGs@!QBTZ1W9OEmWmS-3x{yWxw0}F*8s$9u<9z15<^g2 z0KGtUdxWWlp#mQZz@xj_+CIz-%f!I>Z%D)^%We|!akf|L4<_BW*f60VdMM#n5S_7Z z8W3-iNgHQGFcXOgDrmsb7sdEGp99`kssain1a0hanp|XH%c9k*vl$pmkG@lT(h`5kSg^*DcYiTaOwWyfIi#ETXyb6D*Y4iZGfIv@mW&hTOzAj4KKS8n z&jw8-uzzw5VH3=eFGyRJd5T9|swQb#wbKZud$2HjFc35911B@3m7}pT6-PjR=KTC6 zwrK5q4kaER%mBt1duN927?iLJt_CRrR0vAYI@I;tMfvuSAh$#`UM23}j)L0a7`ccH zK`yapESrLV!QkaqK@MSPEUp34og`}m!5^K{vV*Ckd+1*cc}P+-N#3Ps?lo z*a0qqoF^)euY^ajg#}{QB9lu|>RDKZd|z45#b*MoDl_rTfJbuq7zteRptzSZ3h`0` zyf~^6|Aa0^Gb+RLjVQZiE64z%ismLmlb0wbehiH`g%|)gG1Ssvu_QMqnyK%P@UKUj z!<=!QlIt+tI_THD@(5Q-xxqvgyCem}Q3RQF+>&HylU|T5E~*GJHrdCRXRru%e0(J` zxM8AUUvpgN1y^t^!7M0EcxDOGLcxKkPf4y0b^>JQmF53|tw`1*wmjCDRWdXwNJo#- z*`Z`;%X_4&SQX|(yCF9#YN|^}BipX%zLklEO{_LyrB`WffkLmKrlB{h5=R08KOQAg zklg2bJhdC8_UWfBG`5ciL@*~t9^l2!m7-$M4wsWG+p|>um-quWZm6|w^^}r9g24s1 zu{E4IWn0xTK*4$?4O_sD!CQ5e(4uG=YL+A>B}MbU2>awIr8P4Q{0L-IZ_#FJoMy;U z0!mkj4k}JSSuKd1{#^XvELO!1h?F(pNw~t}@Sl&w6WbJB$LY3e%n))P!y#sLAaO#< zy=7mrbJfZs7~u=4nL*nAL{GN_AV6&C@lGZ8VEjV+bSQgYTLxe{#S3CYzOHP zp1cqL-L}nz41|Qy((GdYC!IIZV)~8q>Y)u0Gv2_`I~2A@L^L2L54r2eZbCI-_s(uD zpynDKK5fmS>ogxt=?DV=e`mRW|7q1-RqgfgI{ zBA_U#{BJa%{_oZ4>;GaISUjyKw0zc-#446Sxku6KOXU>f>VTXDMYek-d0CBr54s?iXp2Vj3M!?<`M)E?%<4P)>KGK z^s-vKCp%m!`tad3QaYG1E)|w5%K3mgAQg+iY=~4a!+wMu1Q^qpc#~*i)-LL!N@i5n zJWDjxf{}|1kjiY_>d?cKrb#fPQx&tNvmkDHu^2lUUOr|BBa;q^s9{kJ7>HcJ$;x57l|`U-N%584oL! z>}Ak%lPx$21{`HQvb{x;A4QfNTZl9+J9chXV_&DUm+(yyNX(Rmf&R788n|hhiykOI z-*Gtb7=rK=H~`2pOjdq2A~!OS`Cn6>dl+2HYgiyptU101x7*sTnH#ks-IB9LIx)07 z14_}9I2`84gtZD5{a7=+6J%bc)^~)In4C^A4t9EYc;abn;JS~eNa2h|hKVIk+5|l% z{fizeMmw%4OPI-{BjB<4q&z?o4#VKAB19!kGKHzNWNc2R)?Wl6^3aemDne=+kKT5O zIZ5LRxmMB<)Rhg@TBJiO%mQP50 zNZ(6c^1__?+E|T$;eg=)P+LP#?}7Rp@$5-!+t&w|+DZV8nT=~e&84!51UZIm)|LkZ zWwAUM_DJ$ANU3d{fsmyS@yKLeP(xK1v?QB8CB6`I15%+EA<$473dT)R0^_5}OwP(r zv1l=P++~|67*;Rj9~mi)1l}|Wamj%xT!*waHCsgXQ#5Jq8uTf};ZwIW%8rs&$<;fE zXk-v!3=78gSj?ih*Q5=CQJG+qr!+$1nzU18D$W_g!4P_|H*xMF6i5n#h=svAR<#Bm zIuLKc(W8nNl7_G*eik4{XPVO(o5ZwEBtqHLOwa-%G&ki)(IbV<(k)S(7=y4YwXP5Tk_cK_I6eNR>-C&qu>fFwqc( zC$u(O`!4wzJrJ}Cy5LFMTEEyh>aU0c<{VZ!S>;q=G*d$mTfh`>HnMyc81l)24VFR{ z1l*%!R4^tX*vp7IYAR&l93EB&f=rm;GHi*QcMG1R`YN2;W~JxocCKO*?CfwmCa1u= zE-`OpZrbe=PDAoWj2zIR-r`cECoWQtMmdg)&W}um>7u6FeI-d~)_Q=nbf2lA6cGbgbNUVxZ4K5bR z7eykXBB_Dtz~|?QF8A>%biinr<5NS3LGV3eFOu-bLa?c1j4xFbfkbUU_63E|duk|> z1V=1I?(}p*vn(GkPZnJW2^`ezNwGL2j-yKu(?wZ3NU0Sh4mK4%*wMZVtrYPdmP7rZ zP<90U*-**f%RnOsvks4+J91CC9}t@Z@I!14rKsqX#zp8p#rg)sIzh*ULgI=3Mf8cf z8R8>$B7YM7ka!_)Qm#?;N6CSKIxMwg@N{SPLZ*jMyI>uf7W?S%!QcfI#fushLtS8J z$Rd{*a99N)mQMo>o9Pq`5>)jBP0jEwx?4iy0Z`Co>{FqQ_a$g6FrlIpUVw?t3wCqx zO1YO4^|r*m00;U&J{b-P@rn1Hqt=@rgBXZXN(UnsXm3Q>NU`J}SQ1=1uz3RAe9$Qb zZRxf@=QPWFDsGRPc5Llu>wPfPa!AtqCOsO2c?UXK* zCXEkW1FAD1O^yUCYT4k6Y-WnRQSp_J;PqA{4a*;^U>P*u?G4k;yShp?cPqjPAXE=l{Ls@zI?l z!#TW=H17%IMD7p!%hzLneN@F2zejT_f-}LC8+0>*?#BVv$K4jN5I3+UE5Lev1Yke3 zT^dx{E+(K)%C_~)ZESrYv}N?o^Y&3~nlDY-v|kcy$&OrAFSmxqgr+7lVtq9z3+F~y zLfR!VP(0ll#~NWxk?^MhneSb^Akfe=lB^&GV1UjH2#t*hh)dHl+|;xPsmi}J$C^-9 zkf}*Q?3mcm~CBKye=PQu*-k3$8(%zCy{)k45G`UG8dT)1~yYyM7@%8ogQR3B` zj_4QSoE&nhz`L6l-}Gv@?yEud$2;#2EfY{_#-O+Rx|S$9-nm20@A4-%^jlZ4dBKVm zHQJm{s%M?j)wgNp0t<%^3h6iZtL)2)4s4#U-rShBF}ZVgI$B};i&6{Po;{N`qv_l_ zi!F!yr$#;ay_Vt9tXk`%4(I)4NTcr_O=_2|$I-W?|I}@MHlkyn^-cfC+~nBA=}(qL zo!k7)joUX)+-$k|ha(5NXtw7{xY72TuT9ZaI+w`yW7)|0IjVO!7W;7a?w?l`X}kXB zhP`)V(>kS?-3J8!+G6tEj`3ZK%sg@RQvZnq|9aM~?UF{@!w-0#8hfPsFXWxL?_F5J_rw3xHH|y=_UBfQzH5E7Q{2{Z!^xXAhL$)USYHZKIYUk&{9%C1ovBd!J5w{aV)21-jI&^UZ;Y{!dML z=d9bQU-|OfvO<;TeG!^4^{?aZSB_Qg@cMMFfO6aCrAa3!fkFcRu*^o|v(- zi|sk~;OeY_^Gk+jKGERy-2Ll^&hxzXWaenEx;y^7zNn1H^fE>N@ZWg0a`clrQI9Up z);6qkZQF=e^_q04sSTUg=0WSer}B;ITj9$Ur~6ef_s;Bgwe-k815^6UoP4xOa=`WB z0avs2Y!lzQ?@4p?ck2ffZrfq>wjcfOFR54L=#iyg-wbxC(`3f&th44-42<5s^| zb^3aO@08y(H(wnp{ljs~tWlbE<=5%f)eExpACtG=u=vJv4eNaV(wqp{{%~|yPs`;B ziMn3#%@)U&*ta)u-cpajH{Hh{Ia>65@zMRuZri8r-|URf&EChVmPkrH);>>>`P0f2 zDW_|=qR`z&+g|zibDO1axoKSK$StKRSK0sF%u0XmAANk{o*P|nGgTP{p0obh6}#CJ6@i7E9`FVTW@_9 zeY5;&ol-k25BmL;?B_apKw73A{+3BKT8^9$c4R{9%1^VkUv{=d_1{i}xNYg4RBG^V zni4}QPuksKpteiFOC$XBa~dD*5Ll#6Xs70VpOBDzC5m=Kazo|Cv&* z_o@ufeD7(N*MpwykMOB}WI}MvZSyf#s`YMe>XEtk^>+6r7;c$MGqvus!o{c|OS9=;Ww(Rb86uMlN46=cjKL_73bfbotvc?Js{BvS|O>?Ay$BU9Ytr zP~?vdx5p$m$?@0VB_YP1`A#)lQfKBLneH?T>M=GtX5Q~tf2@4Cn^%dpH4g9V+Vk1y z@Hq$Dx9C)^?W5eiOB~Sc?DXyCPW5LkN^IJv*wQ;+r2g=F-IOPfe)?|f{;UtoIbNrf zy;;}Y|K|G2BdSMNJhRK^LH^LGUOnfu4)dGzc6Zq;uDuFAA5;F=pv0A)J*GqN!@XTb9c<|Q;M$a=F^#*Y&1-XDy}nV0nFS(t z?cVxu%CVLUEA~6IVeF9D`#e6{hwoxrtA)+{o5T>P!&;-TN4IFK59+GjROm^QUfI zJyz>ds%3HE)Wo3hJ$dgxG@tRB+v0BT_F=Khi!E*#9F$-GwsDsc@rx!+t#+tb-P$K6 zkJeQGI#t^&a8}#2)C*Jl1e^@~`NHu%lY`$KIDRJf_SU$7Tz!hJ(;Je1o;#yTqVu+| zc7K_5YS&pk3g5kXN;{|QjWdm2_r6)D%*F5DOsJNaGND=W&(mJ|H#*yO{DD2EcI~=Z z%y;hDgLzKw+N~?OXXdn+lPBARdo?OP?pE0jRq_`);x{e6!Wm2DlAC*FT@?5{$AN>o zY?%kfkK7YHbDA-zZ(5X2KLm=`K528?p*?W#&%vEp1;Yrr_Rmj(5{rbx%k$T_XF>(nEo_(@d2U1`nKMo z#T$+u`RHW9?Ilvr`d+7>ioA+j~Wj)3wT=~6gl{e3> zZ*8wP+$nh8D@*8^EiH0i8~O8uTz_;KmDna}M#(n4OLkmWL0{(T*Y3}QW>v^lY-aGl zH(%Zvn_wR3b#3+3-cvg6_6{;{+FvzSl{_1szZekQyoLL-M=1%}inafFb7-O1V?IHJ zR_%h&?9o@eyl6AVN^n~CSJJ0M4jeR%c@v^aTS8HE;*f;vp>w8ekXTEG3! zcDpCn55C!YK~#-pCzlpEm3`9CZW@9;JOKaW-)|zvvZ{3Sq`(FC< zW#8E^yHv|Nd#&$S7pK|Vl4kGuVb7?X6Pj!|()_}ja?f6QG=K5aX_wJE&%Ueod;g9D z`$o5Ub0_7G?WZGae|h1>sowk_sO`4$1w=ykPRqxsl@-*|Vw<7oW z3CEgltGcU1&g!1IUu<-4{@8SG)1F%|-_P-0sDF9c_5PFVn|^m6R&wXl=g~KBKOMTK zido-nUC5@?mCY-Ue%kMw?&rRAJ<>VnwKna4xO7JU?YxSH!Pf&#yYF1Nbgg*1fW4i* z&vK>f>50LAraZfTy-Z@JT3=55VO)bLft!lFK0p3(q@~*Wmy^oR37J@Gp=+Bd<77%O^NvOG^;&he%%r^!BG)W`Q)n-xE3hPwn8-mki6wZ)pGYj>q6dmO$fzb9s`yzV%wP zWJQbV>)ZUc=)n1qL)mkjoH}{cgT?3OFN{3$g}?Fs(@yznm07p^@qq!pO-lq${=G@v zKKI5!q8Zo9JNwpo5s@ormFrvLs};xoJo%(<+Kfrvr<`ATcj5DPvqreNk1C(&lY8%q zalaJQ7t8k5$PyJNj2KZOXj;`%JD>U|zWIIX%=pEZch=Qsn^Un(n~D1a$4))uoB2V7 zU$dP0?WzCOE4jWOyCci+gjSWtRt`G&{9yLz4%72SkL_?G@Pt#<0$H|I7(IQ)h<>8e|z_oePA-~FpjhjWEZYo0J= zl9S2g++bGRxW#K@(>ewYpY%L;=z*(~0*@KpF$?T$1Iow5J-p!u4#(p{o|{HezA?|W#w zt_p3p{q)g7?^YRmyh?eu=k1qo`(GK*p-bTcYg;bM>0j#9faOnb951~vWNA=2uTk}i zj2%_H&A_ly1s{&wu(#pCT_HCgRv7ekPPa_~1q&5P%eiLn)I$r36gfX`UduVDW!6@6 z8uk5z(1!Cip6#&m=%V9YmVT)#5#u*dGwJo>7w-8(3U$a*bI`b3g(9C!cVF1(tDI-r z7W&Ec`)$K-jrACwrE2$W)rv0HRvglA?*5~#n_j9Pl;U4_X^eK#>zhAS4*9A@5vP&m zCpkwrpB$0>_sfIUx_nio=GTXR9l0a=plRq6{h>U&hPww39roD0WwCracXlf_I_%q= zCrlN4`v$jt|4o|_&q8X}*j3ONK4RhG#G45x0(&PG^jtin%CCoRPs=rJP3)?HUu&<& z?pU|$SnIYU!n^IsmFPD@v$JrKq1`K_q>S3oHSU|EtG_djnzOL`virTB=%Ux3FWsoz zbYr6i!F^kJCeNGUHTp%q&i&r?J<$D!&KJJz(J4oci+juV+WzACFTb2vUh#07-fepR zq~9LV@cE0Cp##e7zw~9?n^W(KSXQnX`E{-Q9@{r{>)GnpX}y2we80c(%Iv=RUb?N? zdVMz;xE z5qxZ1>BXZx>%Z#gGO3!m+S@Lz{I$&u8fp$7 zudu0l`<6`#3^i5U)}z|Yiwh6UI_ej{tCl1Op1GPY3uenukPNxSnkY@Ex(+oa_RQ_To)g{x^J2}c67A+^V3Ij%#K_A z?p>=(VSP$2YhCh}dzF{&((m8X=J|qg$8-6WD_^_HtsW~k?jIF0rRV64!RG?wj=$_# za%E4`!M=?KdOjT5LvK0W=gi}LXCmLZSa$b#*=Og2%6%tn{bSpSzGn}(F8Jct27N2E zt-c|6WrGpL36IQEJ%8ys^kB9fO}Eec=I5g8CN1bu)O~Z~-O%?=Y4#p_ z-v3&b_Ngzsp8N8B$6b32+YMX0zTf3`>G!9IFsr0MmOd_TW= zdw$BbK^<##^mS@F`&`bbS<7~gDqOP2!ic|$ed+o9*o9}ceyls;m+UD)GrS6%^wiv_ zeza)lyA=bw&FXb`S&h-Fs+mSC+_}xaW8AsRo#sF5v}tSKNp%jEx!~b>f8uwgXJi`| zF{w`cCG+C@BVVscZZNN6z@Kftt+A#4tn9nHH!9IE*Cfq@g8Rl)NUPYl)Ux__)@{n3 zdr-EYIt?oFMT2Vf2d?_DhQ3C(U+z~rzvq|MSy$aDsQsC29{3biPNnk&jf*w?-D^kgHw`;YTiA6=>jBZvE}YwXw$Ip8&TlT8@&?yZocMw!o_uG@olA+)>$!Tp6}3i1sZ=l z`&jYfUQ6D)U29vmB*If zZ;x%5m)(Cx1E({W4*F(W@b*~ezc2PRJiYM8G;d4P#qsA?mI*F&=lhz=YGyxGvRai> zi^qJwU|G%qzJAM^4j%biVw)RPmqm?Qz3la`gS+4See&-9zOCHf6*^ROK-(#|a!;;1 zv1GaPwZ6+aVu3cX^OlzNeO6x^((U5G>0e}fyzSxjeG~3na_jPTOMT~l{j=>{xGm>} zr^7pVcOHJ&`G&5c>BgNrDYLgU=-;w`n-rfvwgji%yuNvs?}A&gU*A4Db?~}b!TIh6 zx;?$Iwsx1BFAU?2?F>D3J3oGZZGM4!7pnC)G&cJG5&mt(Jx%lK8W%h_sMxGPAE!oN z*Uvkx*WOvPCigBnvv2YspUG>lU3{?P>oNYTw(9)T@|-y}uIH5;n^(^)RDJ8~vzr ztV4GywyQ%TvYA0d}U*5kVa?Njd+E<%2{(4yT=|TJZ*2!jUf3McaSI=_=+#dXU z-e;Mz3~F|N7lZGiDz=dNVR+?2)}8^-fPcHtAIH`;Ujk&0U}L>tJ1} z_QfL0)!d$C{NtqS4Q@sq(=8lSFjMeCzI3rQZJ+58qV)(GUQ0P3iZ9+GlgZ{ zohe7zU4K`7(CSr{>sQML=Nz8tK0Ww0bBXuGj$bZ2;_UdKvjqk{9jkF3P-N#8r`uQC zck6tm{n3r}D)+ei>)*$74&Cj1pk9387R9}554lqKeZwb*J^Vv58AcDUIe%iCET^=l zfcMwhHLKe4v}JA3+fiM*9<5n)#$mTMU(~PBu*9Hz9h_F==#?pNhbhL+l}q~MDV3#Q zrg?deXX@9l*sJ_M2A=pzyQc8b*G&t~33xneU;X(-s$c*4&$8V{ZFu$Ym1V)Z@8(ST z>xZ}fm%7#OJ9pUY*9*?fJDYVwq1n3cop0qozy8(gzSV2Dt9kQgmPfO)75}1q{oF_M zCTGrDcgKP8Giv1Pk~nne+6x_O2Xt-rx1r{$;N;~+oDVk4^w&2z52k%l)c=RowRX(^ zs)A*n*8lR+9&5hIdCxaf^Wi%VY&GU8aP~#P8s)y2vFX=><<~4KJvskZlP9gw1iiiA zwQWeJjV?zFT@UU`{k3_mD+^~mI^Htqb<3V7O1FJ>e`RFbBDH&Yl$hDhbZ+sq{*%ug znAU&hxf#>`uC_kauyyviyHiU?ZrT^?wtoJ>x;vwG7V#Q2yWfHiU%EuSa9@8ZqF0sm zSq{E1Z2kIN-F78gJU)JXf@hFt^HU`YjmrDii0t?3x^{6IJGuPL=4-3usoy2*@pXl> z?Q1`|T&pKeoll1r**CH5j6xU7gzg>o=yLu=#^H6dg#;eW|7%Q6x8lF%4*Raa_oa(v z-95*lv-CSBGcmg*E-)DS339T)GduBzRLeV|NFw9JUWF> zg)MDK^0b3DOfDBUOgR%|Eaw$7HZ*l{hnAPx`@VlyZP-j*m3qHzU6Qp>&)#9Fl^#y) zQ1wM)eZuaMMb^yuu6?7EYil~W*LxOwXX1@%k#`y#(MSM z>G-_(>A=T=iP z;?Uf2zXW(R9cljhs%NDkEh+~G1$uQ1YFFp`Z+2IG^S;SBx1SfR$x+I%b6@elhfXj! zwS4q`o0s?1mn%}^FYMlUXvTpVXWmbFa3?J;|IlC8mf3Rn?^~`7wS`Bm+1VhqTF#W% z)78rK>A50DaP6~2=WcbLS8H;Y1MkL_xz^|IyUp9$&v!qa?b?Zl&7ZvP(#2!?04L7^ zbIMll99wi~n;OLn4sHE#{I0|yy=FT_Et=h7`s_AmALpvs_`KJ)uYY^zQ7yd6^X;*F zUL4xI=Y^longQmx9xMHNhp)+>qvZGPy3P9DWkHsc>slXZuyRMPF`ceYy=DxVSzyZO zYsVjyJnwtG$MM^`mz(~6mmJt->*Ce5a-3axZ+PQrKe~7BnXAascT4Iua5`N$sC}lc z&6{<-uTLDqG&)oRnkO7p*5p>^NY!@xI9Aepe3GnO#6%;N|K< zkKgJ?jf^UEG;8OAJDpB=lzo@n>`~?&<-T6l$=m;4fwk?Ld%dmoe)EQiuxvASzwFX; zOS8s4!HrV&aXXfGtC^+iwT{VywiO;w#wSaT%?*ll8C|aIjG&;4g`RC**3or!WDULf z!0e+#+Lv3JJNu~91rBKcF3>HL->oVq?K#0!=|-~0Qs?8)W9jW>*JFupz%B-aWJ(@O zolkm?rM0_~=dY1tF`c_oxZN}MS$aG0S?WAK$!SUJ_^{K`SLZ1^Em30I+f(heT+y~~ zhmbu*-p`u0dF!A-OSJdCe(`IywO>>|zhudh>NRqDRvW1sH2r~7vDR(o#hk2Muubz( zi^jc*2`W3f^6u0=ZAx_Y)2)16aK6qz;#<#LbB+}o-EU*3<(}()i2kzs#;$j}&U*de z-n40kKi?isIuLc()!)6#H{Te3{w;XqZ78+oW((K;ix!y5CS*HW zcVN`{pZ49=ugROUPM)lPxK?{sc;+8{mgib?KVs4LM*WWdYI&2}t@Eg6`)_W#cfWM+ zo-JpLd$=~*e~oKjuZI!MYbS+1zYzU&UaOZA3vYVR{_*i`$-7sqJKevu+p6Q!hOB(s zChLYbCv!|(Y{|Ow>(qXF_f^lYzt{aX(09VhpYP0d^W44D^`{^5U3Saw7qhczXycp> zj!iE9vcmcIag8^OZ0OOg%d0bgx_G(0deHCZuPfA_6}tWO+T67s`KDAUz4dn9@(D9y zPv)NX?Y*M&-`1JF*6B*IQKwFp>3l3#tMU^HKm9GD_)6WMQ>W;1uI@H}^RQ|Mct7xR+18`8MCzU%3QzW{vCRLcwDWIE^xV6vZrMhS(6_Di+jPC}x)YB}EnDN=Ji+ci&-C?;d=4v_N0&@QVv~cCy?* zb13&A=bINwP4RgaKK9$lIuq999QL@}yODS2{a&L<_H`Yf7Pu2wbJyBEt#Z%kpeed{ z!mWL$TSjhJ|F~AMQse&i8C3Jdp*hEfk1E`<&9mU?{-=^VXC3uL&jzc;ZG1AZ{KiRt zL$rI*rnpznn`L(PoT(Xoqh8~V9z&vzT4G9jIyDR{@zW>q=E?y&MB`#Po zd05-Bljbd2cJ0oJ7rEn>o{D&WvHyXszivHoq1yvpNuSgP9S4*;er|ql-|Ajh^0!>~ z%^33fDeZOvZL+{@2$LFu#f%uUDexbqrCX8 zjQT#Sv+;0uncnHh^2S2-X{}7tnoe-}>8}&DK}DojKCtz$-=sC_|HdA3vwhda02Z~w z8fwfXC$rip-^w}U;n`l#Mtt?)Q8(Qk0_Lbw$sY0@bNyW6jpwSKM~8_GJ$yb@#k{>iB)oYsX=Sq5jLH8QMQVp|kE>^t^YE$Upq zp!L#*bpK1{w{uU-0?YzOi#v@!+q}u$czyBpMaD-F390yu-E@|60-5EU#?ia9MyoC# zh>>?XkSZfqdpJ7%{mz?mT(!&{?#(?Sgwb=02HFo_4=ovzo=Q#D-J*UQ{ z6IT-t-e|5<7AQEU(j6Rd(01HDU$6M+9yLPiQ@ICOyA)bZz4Zxv_{AkBJf-cJ?PC_o z6I^N%M{3zy<;~lTnWCwD6HdHNvN?~d{e*C4p^}PYu~t~`Yo^xWPoC4NUO7>WFLoHV zYxW<0Q~Y{B*;#PT5p4LZl;W0V3WiNSeK^@#Lt`2>ifet#E3+WZEITU1W*MK;W=%Np zOwk>Kx&7&jpQ!TU9@J6PXx!w`b3b*khQcK*FDZDbbO1MVfqt5~$q_A^&X!~e8YtHr?=JC+{6`Y^0;%*Yfs88y>ou* zxrq@rg`!Kd5t@qTIT3_k2X!*XMKW*O^s}-I(>H}a+EvIFw}_wp@ZHpS9M6(2b@{3M zXjQ@@o29ZPTX#0*TZpc4Q~C7gHl4gFF3XW6cB@Xzj)sn{LXmE}RpYPnFPz%n>4-Zh zd1d-3r)SW&fx8u^xeQ(FYgu9YCP^#hzSg^dFC5b-ydohK!||}m z>mhjxE2A)vq^iqAjnh4;Aw|zbm;2uJqjjCPStO2EsB$f}A6BZZn%QxjBeyP@YNV?@ zXhHathL!z+z;r9Jh);4HL<&kLl+~zM`nb)cg%oVqjJa0`NW%mk$?w%UX|SSG<15yY%@xAJV~tGj}!I9CfyE^&T~lv!+b^G<1zKYD^$$sZ47~KLxpK+ zX9PdVj`v@o`k?FLa&G4g*d|!|3Fd3_!%I%9;Yn16}Ur5Ul4nAli7s1&5As~}Lw)4K{OFNZ; zufxj5CzZ8d?yv2-QE12PBQ?!R_+?;)UE*a3rTAE^MZI5LSUrK!#EJ-Gy;HWbd}%WG z$GA&cS8U0;X|8;^^tJau+-2eKB7Hf+Lt(f=ZA?`w??S_`2a(s|n4Tb)%AmBwIrl7# zTj0??k{6`=DmxhBPo5^tZ{IbL-zopLL%voaRr;Cy*;bJpd&+%Jh@x7_)srJKM~c6Q z`aNASdD*jcd5Dh7duhdcaH(`}a$(nrgL+Oxd2OmvG9vATH%$Ywm@gnC>^Mg#*cb6| zcCwMhH5J;%7HSi&aFHC^7u%>tydF|xrJ>BFeS)om?}UocZAGGzT+??Uyy|z`suk(C ziRbUn9-z+Rz*}Y{4IgGaL~OU6d7!;5vYk1fS?EUo8UEOm@G6(tu-d$99v5jn%~Mz@ z&d*WFkbRNY4Kx>58JyH9EfKg~^1XH-c3v>!Y?O{bp?t&HdMn%LuI4u9ji^II3v8dQ zEqU=$Kax`L9WtOFy~A5BZI$=<4mz_Fb5@Qu`GT z`<)V5^F!}nwWnx3$kecy47B)|r)i=3;CzWIX=lE-$&u=&IsTK|6_P0_QhDww*)^GZ z6|(KiN|H(4ZcX1=AhyC5|6r;o?EH&aOKMtU(M-JDGnT!NeAaY!^7lWpH|b;BJN~qE z(N2myg)+S1{dJe}ZUMsE0p{ANhmN)~CB(B3Nz)}fy?In9?Qn;QhgIeI30>ZUhXf`W zsbq9{)thRl1d0?$d~eU+eL!7(Fn@}eaB@G3RHqH6X^I<}@gbesI){S$Zm$<~^={a< z5CqDpudKP9bxU8Ve=(LSqQ2K;<8c4$28NZe^^-+L6P&aPDS>dr7fv~E3$k#C zc8Hd^(XC2Sl4d7lByM!vO5)?AjQdX7F+tkLrgJ{;zdx|zC0644s$ghvQiy5c<(k;# zQt=$Y^A@=2(F7hhu8PuM#0g5jk+-6F@XoVkxBZNf7R+5$=1&r%)c3cYtXI=|!s;qu z8g_E&q`E(scwjc!8%eX7CnS7&+24ujts50_hnkT zX=u1<_}-ZFBo8CGu$v+D}g7N4vSrfzbCo9Pldq}^KH2X&g$rL1> z|C(UFw`vU6DZ9$<T#ky1Sc!S z-;4&XM%{m(P-fy1&^%`q`#ySR;1a<;sl!+5`XQNIZ+LY*A;Bx+e6M<5)3<;>3EBc1k`WayQ^h`n~CIez!dA z93o<(hCnO6JDO2GXIAS_1`bZExC?3a%^Z(@ajwt4d+JXf-KXQ5T=t-{na*pyueG%~ z+;4CHW#T3+ahdOR1r9^ycawM9IIdo&qj{6yzHsHE)@*@~$z?CygrnChOagV6Hc}=_ zf}6kBxjAG+n6y^31%ELV%Kc8)d|v5m@4G411*iFgQ+YV97s&~F@pU{6o{B6>hwjti z$goX+rV(`DQoZ((kJbIgT4s*I16BObBk@Ccxq7uA08xZCg#U5=Yd7RinN6o2H=G_DF? zzLh6Uj9xVw?*IPUkfN63Lzh!`(fGA$jSp$FPxonhQdJj~v^RAS zb`Dy%=Jyr%dG_>APA$b9*jb!d;om*BEn#n9Ia`(>k~+;}yNTG&-uQCnm4ix8g?to*5yK2N)IFrT5Twr}S|YFKJ_r?W6^mC< zc~Z7oU!|;p7oSG&qPIhdSaW;oF7rk?`8Ypr*2F%5mMxGc!y^36N^rsU}9l9MaVXfF_Mo{?ARK+aXcgdLJofyu_m97eks} zBb=yt>a}0+8H}~K! z1XC5M@B$mT0lUl_ZWemST|BuHhv`T^8d1HhQoASfNkjU*L)yy8V@B)6Qad83M`US6 z#%U<8`UYLm(Gg5eQycr_=#A$oS-vJ;%{01?{7|@yX~4nc+Pmp|;-7}JpHg1Yf93Lo z?4`uRG9NPq-s8_aduxo_W4l-|b#?Ek85P)$^qc+O)So_d zp}F*4K~68;)Q%|~@g||M(Hl#0CrE>5C8uzcL`u~X1ekqx_uw4zA=c>FhNE=0?H=Ev z5us#gO|3!n+k=6MZE~j*BhDrsAy0iRA8)Nefv1r~M?WmiYr${0%4{Jq-`LdTaKT_h z^kuqsMD1hN$Kq2|!B^7_&*qaEXw3RO7*l`9&nl%LD6lc7nW4mm02=hhQ3d{u~1(OuI$ZT=l*_XYH!VyL=XEo zRS%tbVPur)kwAsWwDcna>b4pKo!i?yxlhEuJ~CB#w=rv?f0EPb-p4xu#;N2Aeu%@d zH%3p2@udpc_UkY#u+a}j?VQ17Uo4EsCn;e2)+2qoQYT^F@ky>=%R9Px)n(5%iT8Ai zCEx-nm(_rbZ_?(OVz&10Ijx7}_DroX(*^VxopqpkX8 zz%vf@5@uG}YSpUi`?N>q13y~sy_HHDLOYaD*j2cbj_UPY&P@Gc$)O9wx8m<64@&t( zP|6m~WRE+Z{ahS(X4hpDedTZ4SQJ$6aSby^VZhzh3TMin`;a-X{64=lPU!{54I;`_w&dRRJNP1Ii4$q=lyJSNC?fiKf)ME8V#2 zk>LME^`mYJ3*)xydTP{#{yuo(rB0oV^P-&M@#<93qO?N;Pt-#e?Y+j{+Z_9*#wGUb zh1X1E_{%GIMp#46e!K9&x6fv+v*%u{_1;@U%i}pB@92t4GnNKRvS=+wQf2kCo^r7- zMfp*EJbin5;H6+vtKLet#2a6R!hN?TPCeE?YIXF|^$#wq@g{p0PdXJkU!Wd0bn9-F zjEM6QNEEB!48OMSlt1gg{xV_x&gGDo)Mmk#4ZjN?Z`v^zMfok-*fm_QXM@i=-eBQa z&0uAq*qv`+!TcaF&Hu&4E_(%AtAH=w8@&gjx~DH1d1-|R)duLt>MO;yeP1*3D0+NP zjlATX?BqwMPYL!4Ei7-9R9oBgeJ7lo<%%D^Iz>hz;?r@Xjf6Gu)m^uHvKjIo;Fto9 zZGg&~vCwm!M;fB9P}4kr&2?I$AYnOt;AjAsSw?L_o37S@60--ceP_i!f0e!ML7ctc zKTPD_pWl6{-@xIKuZyMJ?X?wQrEuQ`5x(6{3meom&cUVk zk2*clvd9}mIIZM`N7Xj_oC&jT*~PbA-|u1m?vDq-ha)vk_74xzja%5hX?f4Qevglc zXT#+TMGnR2vT9z`!{|7(&a@{K-OE-ACxQ^gfzBjSd5^EgRKz~~5OZN3A?zE|8y@iF z=4x%rN0W&<9zDcu^|0FgOrPi)H1ST&OJr-rjePA38?9E-Y)>R;tPnr5>~e{fgW)>e zjb^_q_y+hxHP6mIpL%>(qhMlJX7{yEG-4+dokW_h`|r6fQDZZ6iZzY+Ek*St(OX5z z#DlYmdiONc4OAN5(M}g8-V}brA-s}hT9TY_C96k=UZm1+%)a>2!ArOWCvS>WDrV<0 zJ2M?W=iuqeXHetC-AJnxcuoAs{n41*_!t4ofVE{2gTRc2VNnknTD_fy&Etw!?!-y% zqFTRgThvvjJg>#P$k@up`6}h0j!o_;MXO$aL-(-l&A2k0hoJ}P-rUrZW~UufWW(WU zoaJ_|L`;M*xRa+}AV2B`{TCw=Fu~}JYZ3fNWj9>{`H*5_%fUH@r#J#Et_tR#?nyuP z;P2+)dCQk_M$$^TOZV`_l)k$fxlyqk>HZfQXO8>NAGd6OzoR#lc7Xp4)u>vj@6ws= zNwzm8iS|<5+j(B?SUpizwY2}O)DQEYuZG>C654;wHnd`+Y|c2mhjpsi_<64z_3rPM zO%k#568kR;)Xr5$`+Sr4I1F}fZq}^!8d?zv*QE5WEkES#Q5ImoSiVt_@??kij@rI= zXJ<5*DZI-4YM7!MD_WMiKhHfnc+6|a-ugkqL1LE&Eyd53%(y8X&VR{qpLH|IR(-cP z<9;r9e??Zgn@2Eli{H#pu7D2l_csr}$LdoYZt|`jjHj4+s(<)JXwEM2!o0yHrrId48!2087&Fh`EG2>x3FxKX!La9hz9QVDi0r6u+>9rkAQ2ATBe@p8 zqeU^-bQ|T3uf~G%*W{o_o&gW}FyD$OUZrR9M?FbQ;q=HSoaCFbkDLO-cI0#T7Op?^ z++f;A51#Ps6Wa90NFtezk?h~K`vxykBOh+b`}9ik z;D>}|*V%n6yU1>^6A<6nd2&a*JovfRa>6paWn`7;qz~Iww)&2D<89wL9}31R}5 z)u1Q5?kafX7>JP%$1Og8=*eelLpb6emb^6oXuU?Uau2(%m`7JGsafiR(dxa0>#kC( zimvBYw~KIHmY|6gm;T(gbVgg`?H%zGH)V5fU*M;$+TTLFDE0CYk0s8FozKmtMHUY6 zHN1W5yQg#DGp&niQP%SqvT2{_)J*&C`!*GBZ$=+FQs_;+O43rcC6gtOJr_MyGrUfk z%xNVuY1^$>>~=B%_qxw}eUs|}dzIf`y>M7gUX4kJqF&(1y%S-f0Y~W1Br9knA1RT3 zl5bqR|0CrY3ieMq@1q7U)@9IN{KS9Rp-bh-C*4}l`P)NlV9ZRCWX5ibkHox$zOEO(iHBcnq;T+wSrX^c|(?uT=J_-@^mbz1Dr9*Mo#Ui zOvG-75`*2?c&ZB}+Xzeu?NjinvIdO|-V4otG~Xr_Nw7?qM3}qB8J~$5u`?W}Rq}od z^R+M9*NN{%)9;j{maZmA%Gx_f=kIB+;d#393fpv^&ISd-mMFLNtsYava}dB**D$Lo5%GV?D38$%Tkmzh@Q?MY_uv z*6pj#h3Id48&rF9n^LnJy(qyo*X%u~{ie2kx_yogH;gYt8HecN6jLsR@o-JMK={4} z(QQ5l)5?7YJ5tF~x+K3wU9LAMUywMQ<0$5>^^Lnsap3WRr@Q);F7Gyt_Pl_*GIQyP zKq#ZQ+2rc+uf)pKpQDMatnWb$Pz z*_ft_ytOFn5X~0+wxY+cx=67?oK4kVn&Q?&#&ySC)~}5t_b&$?P0CK1dleX^%E)_Q zWjlwWr|LEGvE20==VnF+&czDs){8A2QD?tA>=UUNw-(VTEIx3mbHIDhg)(Sl`rC#` z{KCM?CH;F9+Immrndt4id1vut{*4#Ah^G$ zSO{l^;dD4ju{6^W52JwMPlZv<8X6jot|treEOc2NoQA8)`t|t3NRBBd@5z0Vm}+b! zRY7WULY_x5e#U^6n&*hmY}n<1!AD9{r&*+*k_?PzUv2lwum54O`|K=y$INQfZm2e+^I5)H-6R=E;_m?K*no{d+`~WrJ{O!f3~*3C-Q}`=ewF z^zPb@jz9bqS@3XPCZn~u@V<-9gR{Zkvb2}J8Vf(x5fb%nq7J&7qkG?u&w@Mhc8)Fh z2ZBL!gEDr_>Tz1=Q?HBSWl^r&I2Io964T~uFEUl%UCUIhF**9Jx#EU61HSS-y0%;~ zLZ6g~nA}#}?-rJywz*kUlIuPQT9QZ%p-kaabGJFyrok`Wb`*Gr)JxJ=vy{lWGkbI^h(>QV$`;2K$Sx9r4g6W}?93y%y#DZ?| zp)DGHee)aBySbyXcj?qP3L#Pn4&^hbxz)Gn^hF&rN>$6GIdpJs#KOa82EtroqD+@ml5J$vt*b`8zNVGA+=K3eUOO0ODEBC}^DC;4Ounj5d6V>oxv*nKXWw+g z8)AZm3um<5X9}X=VRzhjsc-Tt)ulDrtJ}Bbf4dO#yW<0}Q(j#zc_}IA z7QHDr1Az3>st;cUNB#SsH`#dwxm4(Ruy@vt&!3MSo_Ig2;adsTw)A<>X2EJiIowf9Fn?*zgX*P=lT0>prg&8W)20 z;YlefD&o~ftS71a4!?dM-qCN2*IYcZp5U{dP!--m{z&Hu4Sm^UxM9L@?EMFi&zn9{ zNO(zrqb77x+kZyV|L_TCtJ8;W;At|IJt{k2He5zh7Fws)oPG5jTP2l@lgxpdGc^=J zOZThp``l;Y)<3`BJlNErZvAF;c=Gkp{pqweM<C1T4)s*_y1TGBxjJ2Xr!-Pr zHd)mSxezfgJhw zGVisRjxdcfg~*SBD#eAe-_f{N!raaJh2gubQMz$_cx;>QXu%P@G?p}p&OK@FRyVAV zSb4XIJUTAVs?n{Ws`lmX2I+OYn*}mFHH9p5DUB&yZ#eIN$=5a(E>CL`>1JsXXld#k zd|Tdgx>o+px%yM(8iUH^`n^&EXS*A!`f6$i1bev3B_tk+I~upN4eK91AZ2)y_f*{} zol~czwW=C}2FRA^uW_6fWIy)&u$l6wH?F}%fsKt%pZ6Yc>7AdNKT0S-QF^qCv;K&_ z#@CdSuX2;DwTMkJv<5m>{cc}W=6_?MJNlNeFXV!PJB3@^w8m$fsaK+{=515;S02}> zii$~@n16rz#bw`EY^+1+`Hu`?)ftMV91VKj4rX;}?KXN{)4C4Njrv&bywNR;vh6Fa zv>x9W$nTXcp_ZL1y6dFw5%#KgItUTbSTdQ0oOew<7DSl58) z;!?zyIFI{F+Eeu#77w_j4QMaLeAnC<@ZGB%rzG)e^~JE)vg$R%#~b+@F6-av=*zYd zv=4vam*+n@#Fc@f#Y5re%)pO36nq{2gXvFU=zt?EKG^#wvWKwzaYBc% zekdrmV_ZoP2@W`61Rh0!=Q2}gBX@K-E8t-cc%HQ~wnB#eMY(8$yw0NCqM6y6*@1MM zu4X|PBnJ~W=x@ltPH2CK*lr&oZ)`4TkDwqI5Zn#=*ctNM0X!0_0^g>a@&yIKg#&2- zx9lz;a<7$}9poSvcnY+4aD`$%TAJCK0+(AZAo2?+Cvb`PV}uRh!3M-hLc5ssguJFg zzEpwh7$^%DH{c)erxM6HxI?j{fU{Z$$QdEGS9Zv@*CU3C2szN)jJ))7xu80OXbd1eCTMGPg^^_iJ?D&e5DVhhnIT;qgRrD< zKpBt<*)dRmLs6bV{ULXHkZVN{1o~I!!$u&0DB6#u9h4CI1~@r}V#tAdKw;@XL6E^D zprT^}MImJZJ4PySbqs~C16>Kicmi*aNH@kmR|;+|w6{wr2ARVJ(CnbGkU^fI&W681 zvO;zQmLpl<_!8y)4*9~%2V61n2-EXJ-Yt2M{-U8c96aKnkAV+3V&HQJg!wZwvV-2B z*@Fk^jUGLZ{OsFE%E-PMLMRowcw765LGbczPJD8= z^g_$6E4hhoe(@%x>66O2qk9-vLGiF(hFLFdS}Wz7aVs{I`ohzU*tF^2fq0Ru(wIG zxfrfT@sz(OFOY2WK5?2om@@6CEJsVfyBInw^bDL4K)3;x{6V-nI(4A89(r1yeY~}6E9YDvR zoa=+XsyoQaODh{Wa>4z{C9MT{75a^5C8QI6OlO0%kYqr8i`eX8E-hUiT?B$#{|CoM zSWzleouSY(_7-d~KXxuCIyR6{;JXNjrx`oo;0XMZLIaJS8(U%^{^)9=4KEjuD<87EB`BNX~ED zR=%zLH!_5*(m&?MF9_UKp)^mR8gTRT0~b$dY$24pHKlpkQC*8dVyR?+>4x%)71MV{ zYhALoZ}D)d-|s*Cw09uF6z@)G$Fpl~&+2zZ?m7r&xCz`0Ur%{b#S9JH2RdnICl@%| z_Jul~EQo0%wX4mcsXdg;!K+EEa#Kg*e$=A-kk`u<`u&e%X0rwd+?Qg9gvSS6n!Ec3 z?L=QZ30;+ADVQHLxH~mVe!9GM@i>)0-$=d;gX-i>WkbF1kMrEMNHwVOgdToUVDfYS zZbET7nc$)m;Z+Vp;Tu*e)-GRE{7P@6o^Kx)C3EExR~IG{ad0uV2&sJKBR>${)4zDz zt+U5VhMn~2bZ^(_%;oI#5tgOv*%AGABgt29zcfGpnP}x{NmGz%u)lC%NMTS$d`t?1 z=OKz)`bhze{;pxg4@^EVXVT17PqE`Qeb^^W^Vtbk#N}0CiF--6{X)N&^JCgqN%IS2 zs{sY#iW2*0b85~m5M8Dajb-j@cUmPHP_5;DhGX@3r*)!RKIy}Z1tA*ue380GzRM(? z6^SX=OQjuJ^QQFcXiCS{rG(6=h~FnwcKCm@{y16mxpF~jm9u(cyPC-d4VzLn<|omG z?Mt_$1m)Rx>&tst;br*REzY!QzV&JE`)DO1uOE@(uw6ot!UfhD8Ohj*i*5EI3a=i&YL#4lJK^#mZ0TL=><9Ye0lNLF_$2KYJRkHkQ9bW5 zaCqqRs;OL1l=LnuNl2n=s7C8EE4t4{v?3=hdhN)H=e=v#Da!`QYMUqc)-O=c9^V#X zC#&bZZ8DlAJ=a>(zxZRy1x+QbkFk3#>pK$hpJ$UDS~7c>M=aQFbv)Mw-}|h`g%R6x zjn-BY2^+@+LO8c)C9YZSp3lQu!1-(;{uXbA@dRB8ukCizXYKNu%HJzCY#bYGcCKFQ z{)o@?DO@8#MJ;+xL$cvY)7R@$jbkl=AJ(?FYm?4>CO>{_o-VOc$p}#*mDSFcZj?v* zTz7&(jH}GSVuE^Ikcfb;q^4)l?wZW2mkpziSp|5#8^bpS^AFseqv`0T9chv8SQWnL zA6xxp+Y^%~j~v=ULU*Xr-&;LD+4KB!{;v6*Ji6j+GUjU2{fDnv7}V=!H|(XwhsxP2)MqwcI=uK!&tK%=nAd2ir#kjhraRlcOei=&;>L>Nvh95x zt&L~vk!v3t4F@b_Ci|JEg%fpU-9PAmrTiA@eX6-Vdcnr@tKx#J=e70X^%s|_&5Gvw z5A=t$@@B3q;9WGG^UmbRj7aZYEJ_~$=TmqmdOfrXS}bNW5i_Oh)T@-w_l|M79v>-f zh>6Im(;5glX-Bp?xMM=uZ=zJqOKUFH%{@!MowmDAM_1EZq^l?UebcI3(e&B)(Sn9Z zZ|8cNa@Av{-#!G|>lQsS-za{5P1hl{bj3u&B|l`fGunQ=&ep6;X(;G*z+7(IzAwbp zr(!?)wiC|H_j8^z=DW92#PwA6uS^AE@ISOTBEcfPw6K==A61^;V(jb-cGx0tf*TfapuX)xD@NclArPI|wp zNIr6js;uG}Pdv->X9PutIbl0hlwWx4D$i6*{BGFe)(1CP9y||t zFqm&)E>w{!rW`9Mq_Ha}jDAD;*l6eWgYTC7k=#aDAl#MrAND=Muw;oh-|HiSrxp>0=t`|e7eqI8mN=e8y9e!SxW=Qi8c zJLa)E<{V6_uJSqwJ`6=!>i4NAR0a1gQfXU~E)ze@_{G`?H;@5ahlFRMjcGWYAEM1@UR8G(A4%WmdV0*R%! z)9965;$DZ8_dDsmx*vuse&1e(|KZIy2?K5nO#IKY&-M0%=KGL+QhidKmDtx*QguS$ z`?r*PUK`W0t|WApIsw5)@5nskelB`A^U!C_HyfOjX*;?)L$j>&MHy)0{ihxaSU#I< zjo42kN^+p~WMxP8%6B5KP+LDL-1xQ|*M-%dRAx=pTYd`iytaX^2%!>!reF@6U1 zMe8F*g2AIv5>J*Doe|34Z-4Hf&ZXn0w{BY4Qz@|b#hrw%Kuuo%J@JkXY7xhXtlLkM z#b|EmkXf7Y3usAq*3G6()N}^tg+5T3^QY~Zdel?(<-lTx#KD9;B*j_ho>|=$i6A3S zBcKnyIZR|GOkwBKes6T7gP7Q9zFO0e^;PY7;kksnY3?1`8_#qc!uJ-u5B^Rx=kthc zH8-2{Xn0;Y`MIZrJ1or>7?EqxvX{gGWX zi)Nq2$Sy~`E_ui?`t;23jZ*6ZcTX9TMm>hq)9sE3yY+&H_aqVgiv#o@IvtN!M{==u zRuNw@DiC~ZqtzMs;>>!Xw8_H*frE{Kei;N`j~MBnVm&!3pu3wtEk!!}xwZ7uND{4@ z%IgmTWu)^@+&?Bw&RWgWml<>4W`1lV>(-#3^pGftDn~hIysp!Z#S7Fn8j9)D9_&wq zD43h9Nwgl+HGA?Ly*`{cvwo@k>AX18r(;8-%j%pV1uBnfXv}AQo;S6m&99!g;1XTR z`zVN2OUYQ!wAYf(D?Xg_kg z?j-XyLN$^!dbXPEK7!P;a4i)-|J7re4LHYMxP*rJQke3{#9R-*?U{EUx6#bx@b0|t z8q$~9i%xWtEHLfm|M>C)d%OQ`i?hiwSL|UQo zY}tH)NRmW=6h*Q zal$KLEXT&`|$FK+887y z50$gHS{8JLZZ!3J9h`JsPpsdd9Ty#1nSMUrU(1=(&i(4f%4kJ@(_rgqF-iQHkvAcf z{UO^u%Az{6$+Vm}=FFXso%ArzXKbq&FXuW-b0xA{y5e+uiH}_Bt*F!GPc=@+6dbG^ z!Z}D@Uj6p{zWql1)HLrbwMX&otUusARJlZVv2O81$MCK04zJ~F0Tuct`pNIzj2&e; zrd2r28*fYOI#m_SvS)uVS2)jh-jJdeigP1X)<>BT2M#2@e@7R1oYtyZSARC2PR?rae31fNYEfb9>L9TpZ3Vk+n)v$smpGSQjnl*y z-3(IV?=?CdzwH&Os-uob5RID1v?|}hDn1zCZ<9+Mq{Bk`o`29^_V#)sS=E8JHG{49 z^e5+E&1wz1z5Co>#ie9i>t07s;C@+@ME@%O82w$Cmim z7AQRQczpg4acop1&7IoS-Pvy+&*++_mxcwg8k|vDPvV?V;hGDH8)hD)wvmq?vf((E zfAO2bIpGJ7_OI2Xqy*PD9y`_=mUgX;;Zho>;XyX#LyC6S7}lA=?s?L3IKILit~gHi z6tfKlfz&fvV@pNTRFy%QxpU5jR-B5eQYJy1#|I*(k0i3Muv6QHA2xX}6kQujp60qg zqyfQ|)+1gba^|BPrPe#Qi*2_}3?CVW9CYO{R85I9H!Wg~9Ej5x*qH@PdBG>$``aQFV@qdlvh^cY}mWvz=UyK1F@AWRnfT1zL7tV@Uy5NM6dX zBPQ2I%G5I*l-*nhXNS@nieiLsq#RPk+3-7EGyQV=N!yUY*^uH0C*6*fthfiO`1S0o zUhlf!#Vzr+sS?(C8(&pqIb}*f$SGIPDAHoQdK}T6xS@*+wKk zFK8uxZ!D5eFnL8fYO+o5&X|dnc=%Wv-}Sa));FG3P4e@Zd|%{v>E9f(3RcL|jnZ#( zmCsX-Qn4yj$U6}wn@phC&ZL~kx7a3jOgV@npqKD;)MWFAG62pKwRis|6t zSG!9&JhW#*hnw++_N_k{p7hBg*wCKQD5oPVWm--cUc%kGOPp~z#Aj&#dgO4s&k)JF zX!$oEL$dX>VcPOno? zTV}?*JP=QCSLT8B&|xc|T1OSaQxPQfI|8mAIWN#c^c45)wSh9yVcZ$Y8O~6-D7UzG zIW6%or3|(OrOH3?MIFWYT`gfujxwOW$tHvDB|S7o)o*Y$>#hrJ_Z=6tcynwNMz zu`=;>TIeY!legc7^UCPCpB7ywcs-o@?yQp98MagPvhOZ!^qVTzso?CzA@VDjDKr+5 zzaz%SZmJcOV7KiVZ*<*prMasNj|lG*^X=H_j3v69?v=5zGxdeaV6?q2EIQ2=xjlhckMyhM54mT>j<#NHDty~=HK^I;An=~IEp=C~&hJ(Zhe>&V~sdhc-O z+q4ui9<{6{B4w%QeaDxJ?zfSTF}juQZPBT8>E(+&wui=NPC-LWd=Wo?*;KiKpQF7a zHPw(xE5Ryff83*w9+5$3CkQi6M2Fit(jBd4@6%>!s7TR1hog8S>i&asRb%(J9o;{4 zvo|VRSkpF`BHE;K?0&YefNe0rH_jkO6JBRE_PtTJ74|&YO%=AobcaA0;e9#07{yn$ z%|T6VuC$kfvM4S~x38$tzLFlQ%~MW3z+a+*zw)3pJ!(%|^hv)*V&C_d+$z}fe(hwV zZTXun)w|mAx6B>e7lOaWUE*y%bmAuG*y2uaDK~OO(uSAKowatVSL`ztce*&6w!AAk zkl$y<&7tc8y!gDqd$V6i#!5BY8=rcVrzjLp@}&74G1~V51Yz3W7>&)7YDeGmGQ4W4 zC&qQ?`D`2&7wm#Rws__&_g#b1Ct8p7p1dscIc;M+yy#sLaAP=$F*Wtt@VkWfW$*0M zXg_tO4|tI;THsSG4jaT!u3vw~lNrda~?HDq5LLFYxHP zhvy8%Dt88ja6!(6lDD!4T4egQ4Rh3bIe`s~U4XxiV(o?MgMkv2)sI?(1|c z$Hjsp5hp_SDGbG1NRNB6*-Kpvj=gngxrx#wIe9xLtLvph7sVSX`Y4rFY|JkVfBrtB zDK2RjaeCVjS2S@A@wp&-NyG`J(U28ODXD7n<%3<@HgxwAjE3^jstpN!khjQPlqt9B zKEpOquJ{<=rR5HOX@pcNZww;l?JcG3BeX}FdNj*+__U}L*vB|sdU@ip#>3g+ zZ-b>@O1^k~X)xDJ$~z_48KBzH*Oi)}^Kqgro2}uvd_bD*~<*@1<2^@{83z`swX(q!@>YgC@r z;_cVHGwXd{9d71`e<32hh^xi#&)yZ9E@fJ0`-F;z;CL`~>Df39*|>p@J4*fViU{Yq@tN=YHplO}_imrwjYCD-#*GLGxe4eh zWkdZ44*K2U-kIo#qa?Ib*685P;ax-(>7hPMVtWZ@DuY?aBkA1Cj%@-49dU?2z01SO*D^ahZ@IeuP1wm>+ihk>RSK zZiIql{}d7z1V{oADZw5mb~s-vE33^NcM#i!6AI$78L$jK=;1^N4mj|EaAAOq3=b$M zz{w3ZdW1PK0mioAib}^rFCYxX073=g<>B4r$p&JaA^*h*H5Kv=u}MYN2LuIzxbkjt z=Mw^9y8ebcDj_eZGZuSkXCrghUw9yR1b(a`2pNU=8y@I{KUPs0L<+PtbN}UxfSQ@J zGcu^)pLz-bPLc2lfZa3!ArNR!7}aQ-U4ak+p~n78U!W8ISW-z_Tc|BSh$3X%8cf7T zbkp;K0BqPz4~2mPF^c}V<53BJYWg!~7pz>6O%G0+Y<2;gG4fa=IDn$&W(;Da(4Uc! z+N2^&A|%Wy47S|C-WjI=2u}&5Q3!;s1i!)2210Yfe;}i!7fy|m-p$lJ0s@@;Al?y7 zM^doKDDi{IDDm5*BcPZ}e<&O*T5x(nAX;D?Vr2kgz5Ou*bdO^)K#so6^dRWipUMyS zA)Fl9hfp{hO!M*c2!g1bTQhYm3g;w?&osGPP)*#Aj_v0x0%>Oa63 z7O#JRF}OPa9>%bE{EuLa55O22`+oyta7q7mO4)=ltdjmMjG>wR2N=U*hJ-Qbyc`C% zj7(9Xj(-9C3s7ud__P)z5q|=HJ`hBbn@0!$|8H6hGs?hd0&fFmhDDLLf;jBt*Z=}U98BL5;@}T{F8=1E_WSa0j`H7@ABH$M`>i1k{sP%@ zo6QHeE?PcN#rqA0VbQTb27_T(jSEZuIJtj;Nm!O(7LY6<=>LYr zrYeTT;(vr;ATlkC^1osjrl?2^`>Ud&rgWf-VHNc+K@8@G0LMx>VaN34UQ z$MS(=i~L}I7eb33+_G4skq_vxM`u#gJCMcCBo;4EOh1*;4w$i#er*5lzUFj^h@18h`)3xRG6q|%E4J#+@x zpoh)^8##WL1-hYOi9$6rBvAkauoY|Q133K;mB7m2w{&z*!Rfc`DeMv;$2wd9xGUit zw(3flzGYWpa{zHSvFZqSHk`#T;s$p%`~lYNhUrU`2LA^pXmNn^_>~D-$%jAqrKw7AQE6pS$Cq=%{(<@9#ti3Udnbf>k6x2%;+p^cHA> zx_~;%t*(wh$F{{-M4({5(3xn=Di+IZ^27ZL1k!#2);!RuTJW_l8?e9duvvm|^3XjC z$O=R63YlW)k=7Tm21bSqM}7(Y9o%C8MjakDV9?H7aBZ!<0aS-AZf)3nr zqh7#iYfj)&6NF~x5dsl`QI!FfA^`|*H%khlX(LT_z=DH(LjYxvhZh_j$8G}@{DL}x znwZc-QJ=wr4shfK8G`|es*@ySQ!<8%2o9JULH{>#r3dl3f%OUc1@0h#s+dE+OpsJp z=+yxt+5dF61QiW^vx>l|_0xqCJ`ntx8?EH4L(L}v$z_`jJ8@}dZInZgQOO)x=r zuM2dg!pH=gtQ?>_9;o{T|4>{IJ)BceK=`jqi|i^s5aRZi(sF=c^E{v$n?^PlS0j5< zBWF`iRBhln@OKtmsAtg!jN!X$0z86<%>%^H@cO^YYn%760L=5EQNsh<)QPrkArQby z0ZeK9!2AVd7Xi=)NH!2nAgaGpoS|XHj~Q@C5cyH8c|lHmykJmnGDboRFzq^eLS|ja z;0x}?Ko;Nsxs7-ecX3h@E<@MMEkabFb--}2(zId=p8K0O~5O-S^<6=L9fsYxXuOJFBkhZXHW=p zQ8NJa<_@kDaH8fMzmSa|^;)o7dr5{aC=RMbJENJ^>y)D)m2A)R}35(QHK zGZO?SFY?9_YU)Jhrp(U4$EF6_S5oENPdTDy4>0Bs2tH0B$aKvo3}!-NCG3>z` zV9zNG*|brL2M`E8kP|PP5y%Z1ezxrV$P26}bqZQrLRT|&*?@+^#|DNliVCH$0$)NY zjD9Ku(AQy!`&FEHQHyg-hrwDo0xd9T`li6ZD=bW({5}JW$e=U85*auLOt1Yu2aHs3 z^CAr_$RZ+uneS(**oqG4zXct-fQ_mozaZGX14<>Tl7I#8)^pfq-+|d|E79Q>M$L*q z<<@0WfKb)ao?Z^>Fi1s)`U=%wd~Eg>KXn!;5g&9R5d-Py`4(+tg-^ue9e1y2cM1fS@|7X(6jk4Ndq!$K5wD6+Io5K4O zp8P&J+|&YSGM4C~(_L+1#9I8Ski;J0j0IMxH>?uVAC2};{sOb zl`RH?!IB$jeb~S0T}pTXuCiVg-dw;^wG&_e7m{Y*<3sOufL{FZBXKEG#65Tv1}G z1-cQyu`R%2Gq8pJQ^k0p*8Zz{!3Hk4UMQ10R=qGE!2N|Xcm8d~HdPhy_H)G$(5@H2 z?;mT1)C}BQ+4wfhtiP16t#s2{=Pyy0K?HE>rVq` zbM13uL6vxishZ152JX{3SfJfB?$pb!@v2_;k$bz%jYJUSe2kcs4L;#%u zECN`CfX&TYW${mRxFgWh6e?#(3i;84AJfuUU(jQJ0B;_^g8XY1n1;g2g6D@kV8cCj z9zT45sRmXSKYW1M0_H;qBG-E;k%2d`|6&Ii7%Mq>(Z^U2g7m5;uF#1*ZsA|HXECyc z=7f^1zu<&Q2-%siSpE4F3#K+e`u^QvJZv8Sn;l@FpkZu2u#Fb1zF;B$x9yHj2xdL3 z){wF_a&s}GM{WpUX13FWPK21DfM$b&%fD!JRKlMcUER#Y61bNEu6};k{8(cGvYny? z8f(nK-~?n5qHhgO=ntTz*uxqlKxq2b;DnXI@4*Q!!q(ulWfpM1!C7nxPFOi$*8})~DfDRV@H)l?^;En+tXek7p zQT_LT17>n~6O4z4Ud7?UKL8HQ=|2Dt7OUS$JQ&8{3+PNO%mbwW!;Sq1_(UfJ!x)Q) z0%R#UgWAu*K1U%3PX7YaFa)W;+8{Q!)Ih5MqXyU~xMale+ zW&O)DCor@B06bU?BL!S&L3Z+=CKarK09%DoZK(=m7hlTl|q zAVG$bZ^8|Vjy;Zk#~l_8I6cjd;MY@U@T|m(X7uk-2Ak7ApbT7@ zf34PF^Y~w(46gtJ1H`{U8Mv(f8fCD{3T=`h^Zu;%D`Xz)BrHbpv47MJb0X9p$rxs3kEPKgGK%=%4|W$ z)DDY|l|2S!eox*+8E(`jDXQ_{(*F(0@PgriGMTXPa?>jtIRodS;6l?Ma0bolKi~`& zuYbT9xH|tHXRvtuZv z9aBLpI#%|W!vCI(K^_EHBSNtJuaO4d(Lf^Z576 zC~O|T0uSn>`M|qWU0IU2M7(*w=hA~tI*g)``4A89$O9%$UfRk!8+Jk#f;P4Xm2N2A_bhv@A z=|~vEe1L9%EkA&3i2VUJ2e<-T(Kn$CEJGoj{`XJ@uGqoXox!Ooc&&!I6%G$w$QlYO z+XytL{{UrJto{MY;M)9a9SVWP<9`HYzyuASv4-1YQ-^|EEA*bx>^1M zlwmc?zlE}Y0x(`-2*Bu}3-oY1{fK^;)Zv z<<#b45SCbE>P<2R%eF`kTeh*2W2F&==J5K{m3ctQyc*xCb^ z?BM&(;A9ErM)=l12DADPK!(NZ&p-zA_zyZ67LWfCkb&Ej(6JxrHqWm>hAHX4*U7L- z`j)7fw&cRZnmygzytp;I+=+B2p-^UXJl^zE~MBR zxwxS0RDaqJ0FL#6ff-yt0tSU&nhi75e(x9q1~RZ^4IK{s83TWi7ZxGb?|Kxet?B09ov@>VU%$(W;nf_iAB|?ztuXRBs z1X*qG#q9L=TJu69tL3#4WT4g`RcZ@6xSWaDEbt~A4EMeO37Uv8-cjAfnBEhKG2$C3 z8&K&JD!yIJrp^kP-pR3%WA-?Ejo4+SkjatOS&r!=6+QuQeNKK2X~JJ7L{y9*9Kh~$ zIgRim7JMQ`Tz6rpk9e?uve$syn@YTJA&CJ)tf(*w%KarZMxW=$3xoVdAupRU74Cz= zV3|nML3bag1LE<*O-J&q$`ldgJ-|hxJs~vHM2O){6p*@&e9!i(;=K}zA%-_mfJqJZ z$xZ~hekTfOVo@}~cWa_V%_g{D6a|!E=PfANp};_bO}=M|okRn=Xyiqdd}mwvzBLvxGa$}1A+o0 z3rF73Q3yw^rwBTpm`vSeqt?eUl8p`(u}z#0Dvl-_#YpQe8?}*I)$w>|M4ICP8uVKxO-g-5&{P(5nn4-4L0o{pNQ(33LKQC;s{UpJ}y z+Dv1j10`#C2SU`;GJc&A#Q?PN>uU?X)&&jgKxfr34G8FRB!-F^?KOsEhK@eMYk?bR z9BbE#8?AFq$Vd^#tCNVMkDwzOJAYj(>a^B_^h4NTpl6AwA38UQTHe04jtJB-*A#33 zg&b=@iD)Tfc>^^%5U3X&5VxucO4MuZYv9pe3*3aG4Bom4WrS~E5)N;G2BtcnJ@9HdpwVLMlrU$#5@;iC8a2lKlgt5uoo&-3I~ z6?)_l}A}x&OPxF>~%fZz;6OV< z1LX-|FU;k~>7{wmJs8U96Bq@&YS>|~XG|CD6<`QDmXTecWRjRsw8#~mRD}t1ihZ6^ zqc4!8rwXt59qg_2`pf;r{z6Jn%%}j!3a|FWKtiOgTzSVRC04ATV%K`s!NOcrDS5ysw$uC z4M)&ykUr~84)at4mx6Q$$FDND%32N60x~8hQ;(N z_m}ncPt5^Hf&L#0SxMl4)_@p?=-9C_gCYNor`ESa;8Jn8#25p#hrun!oFRJkis=U< zEzc_Rw5&=_Qeu%?g$srh;+klw)!<$bIAEDPtI5LZDVrpaV@d2OHtI zSdj~(w)RM)hMXC47aSHq+QZtRC<$cCV43DKh{InAG++A~b`5=@6D0CmE0|08;_S8ZaTa1T)YaGhmkI$-8lkFc4Sr)+D2X)x~B^zI2GiuYon!_>VI4FVQu(7zi!UwDtA6}}j7{ zy!Aoqq?4`C7}+j;SZK~3&?VSV+`!1z1U zb8frD`Hk(o7xp?jw>$gO6NU~qo}Ze~`Qq_Y9=qp-wYS7S*8h!DR{WayMx+00n*bkqq2zqk5yV6v^^k|T@k>vy$Uo%GI?eTH_q z`K*V#rA58<(N*8i{^ru}-wM3f_&;mfCB_VxKPIE=ygLd$S%1m&CzG6~uYB_IImHuJ zf7a`{%+~!HE!)~E25z|XygBK&ntMo;=u7 zCh-}QJQ7acVq*zmNCoA-GRV^kb#R+EOd=cVB1#dr4z?{MG8&m<&jG))v9MW`2&LZm z05i+;!Q4?=XcP3)1-7?^KCrG-+mZnP-Y(EX88;gmv3e`oHZuu{v(iY6bKx9dmkPsU z8{2-Kvi@El~%mdY*&j@g{vWes)M-(pJ!E;dn@ybVlvRCR!o&gvJtres_B)$V0lTU zg<$!KjmfI?mW)7fD+nr($Bg1Lam4|tD`;w4&Dz;R*S!1R*rVR5?R^j=3KR@N6NA9|8iZ}n1{r~y3*QZm?`T66DedD(E zd}8mQX$@2RH0Zo$;*18H4z#Wy`8ElX;6@uv-Ji`M#HyKCCMk~==EKj8P1jqBch zDEW_zZVoJOSQgXgUa#-G7MD#qrFZN5PMFf-jzjf&f17ho`uRIX_ga6&i7QKD?Y;89 znX{|kwnc3QUHJ6&%i7s*jtR6V8F>4pZ+csN+2oeYhJ)_9dc(c#pR4zg{g2ZU8ojim z(X-9IOX|=r`RkthTP&V_cfINF?|5>5^pOs8Ub%2n)w} zcGnw640_J{!p{|#o^h{i{89NU=v-G70&TD`3x}o2G|NhRi zrv&B_jzUJ%QgJ#@% z)$()eN&&vtui$SQ>K+uj|Te_P3jo6c)CR8-RS=?!j7u7BDC z&4z7$x8%W=UlzPt`P!)$pZxlY7Ht>Y(`DfLM_hgStr&6RY15x;-+91@uf85Kw0G;y zi~7E_=Gg_WEvR=wbfexKF14+ExH9{mzGH5Dd-qu1g{|l0K0E8((>mT7ICoU@wlhvo zxnRJmMJ>G7eUmz^IUEHJPi^$fO(zZPd{y_iGe7FNWz?2E-}@F{d*YmwlGD0=KkC(j z1$`D^-BOGn;6tihd?U6$>+cS}~kGw0gIKK1jpT^E zHYM$s!1$;UcVBYlvqSznq|2$_4P3UZ=dJIgyC!UTBN`Iyty*b&ZQzYxA9(Oq0??&s$dR*t8~Z z!u9TfMfbEEn9{uE;?`RxoL`js%oTTa`p@*l*h@bc-81K4*H`9T5?$Wu`kk%zqw$_>d&9(QR_>3$`mWc;-SbG#cFQ-ey*83EdnEZf#*}v7-N-Cw}|! z_MWX9wAp!a^9vF(3L5WNeBql-Z+U%YlP}+>=v3bN+UApPZvVl354#q$dGe!$@4Wfp zZ|%9Rle59au8Iy%w0pbDjceC8DgWcN zMwQ9;UVPHo*`F*w@Wr>w-s(HT^U>^uTkD?4R@4$kTQ=8T;`1 zsi*B4zi8-rYuY$7TV{9utl5Z<8oUxc=9^99zS)1)pk_}d4>UIVXS|=?;En~KPkFlC zs-n}Hym-?qZ=`%XZ`Ci}!Opo~7Hx5@TlvYB8{0N+Ho(_oeASTmUM*igu~n9L*?(8Y zwjce~c`rQm_=@|g&ujbMmM{E+ckK2b>UnF&ZU^6({6t#9<~IH|%U>@TH>>KlBcE*h zIPtNUMwT_2*!0&)gET zL;tBi;>cAc&s3iD$MbXhTt9zB>#ggrzioZz%D$bKw~QXQ{D#!MNr%tqc+K6@I#piV zzEQ`PU02`m=)lJd<8K`}u;iulGAE8W@wpGq>u`EX(W0k%Pg-5N>zAq9UVVDfJ^TFe zkA7NqRpon+KlbSFn=UE6{HJm2Kl^_FGtVXmz9>KY_UHSL`Q__%kNxt?#@V~x>0ICO zeDdcX&-K1`_Wi$X{66`iUT?Z)wrKv&>OX$!f6AZ_UTk>Z*Xu9c^X#_!zlgqL_~NYL zt&8_R^Gw{Kvs-VT-+9~lqxY8ocyRxbC!$s!zH0u372UdixnSE~Z$-CmyD$Cx#-EpW zj{l=1>hO8F+YY{R`rMK#|GN#o?lNQSst<~{RS&=Wm)9p;vgg|SAOE=Zm))Oy;GO8( zs%QS^-nFOC=(>AFn~JVoXN@|2;-r_>UF6REW6t-FoqSV|n>Oqp)92PU<13pa?J7Jo zcgi)kPPya9-*oj%TkFa1?|b^0$y286S^W(DYd-PKLkBK=^Y_(Pb?-If=e1vMzpUW; z8HWnK?|X;;&QWh3>@euLwpXs*`|(f9Kb_R`6xcf*nfT4mJEPycGyc_gQl6Xr(QoIM};+R=dvi?|A3q^pDTo{O(PMUwgE?{MMVF?{d|mp8YTCwYmNM zmt3^@&KG+=P<`ov({{dn&(PECNuEisq#x*#{>SRM)o;(;aPOegmbJ;crOWHBF8Hqg zyg>&Jmd3u4J@T&VrO)OKTu}PzRd*e^`?3!=+V>R9_;l+thaT*I>pg*vf%So;z_dX9 z!0&-81J4C|2et>s1?~!*6WA9h4Lll%4!jY_2;3YvIgmf#vH?8@w7fs6^R4e(|IVU! zX3p(%;{z`ay?7X0^kduHWiw>?A8ec5Ww!04F7`l^z%PMI15XEv2DBegG9YTe-~p}f zZ_;`0usd5OJ(Sw?f$aOU@40Sh*Q~x>ItB&=W(JxC4hG5tj|CiocLKu#a|0~{y8^j^ zrGZX?4S~LaYXaj3)E{ta=ZiXb=p57el+N*;&+L3b=My^j?0k0TZX1_08rHz}d#j5E zw4NEWamL)+cMV=Sba`M1%om8DsomxGh zx^MNM>g4MF)qU1vu1Q-na8188gV&_2Nnew+CSy(NngMJ2t{Jo@c}@Q{eG)Sh(-H?J z_DdX`n39;Dn3R~2n3^~sv2Ws_#N@>OiG8+ZZcE!Xa9h7^gSVw@OW&5XEn{2iwgKDv zZX2{Md0YQ&eMV=FPJ27BI^Yhx7Z@IxA2=iMMZg=lKhQa_F_03N9%vjm9H*C*?+QaI%i|853`$1Kb&U&!?wG_#v}JGysFjrb8>$l z`uasP|Kvl_@2YzjPHy$?&AA^A9n^ECFU`K!wygceRrhY#x-Dhc<0mgK>R+&RTHN|m zmp9q7?y+l)prS{?x8t-QRFSqYI~<(`U-JRWCf;?Uri_ z&TKzq^jmGeYE=2+tta2 z(=OY*azYbV<3;smPfP97&uCIqZ_5ea)UTRWwB+O=XFu3@OQWS%pVjBSpZ*j5;K|8F z&-YJq8)JTb@6_z~t{i$z*FJ5Aw7u+}r_OAUyF4zx%d3nty6tP* z$2hg#p@vuXX?^GY3)Y>v|LxHenmZb9FZ!@vw?(&KJ?rYmmyNsnf<@H~QF;oA0#Wzj2dwy&^wc)dyws%`Tu0hPzUw&{|lU^y`H{IW6YNK8+-g?5Q zPhR@woDox|^;}o-?I#UNmsU4?>f|vEAKmrx8Ox&^-d4H$`fG0LQ88;rgR*lrSF9Vo zqea6iKW)UTe3fzN;VvPTx= zzS?rU{ioLTn@?-J?(*^H#GbjZ;p>}Lj9%zCec`mVU$1kG?;6|q%=7cyO&6XxXx;Xy zgW8@jYvcAd<6W`M+BBWD?vXG?N;vfCF!KDo@yn0`s_$A#^AJ}o} znM)pjqVtJ8JfqSUe_QXohI^+??$dJL>c%Y(y#C>iOD8TlBjfyf2l}*otK|)iFW!+7 z|B`cJ6W7L@O0Ri)_JKaLufBfj)Ap%Lnk*dF;lUHOG+w&eojfEhXYZULIXQbT+P->K z)q_ixJ<+83(z5%SochosbDL*ZE$?*ogre&w?x~kFyrlj44=#PAVPnsSJ^BwBUD)Ex z>l$?I(|O6#H*9}=I=u1nS0@h4OG;d_{D}{)a=lvb{?+#{S`v7|)iSVU!THy;{Gi*( zt=?VG;F_fgqmy&Kjaj||O2s#?-+0o6ZRQNAcjAT>NBZ<`@mllG>z6lNvufk-V_$9h z`MTG?U3mLRFFckzvwovpD>iKOx zy)dWkr!PJ~;Qj$u+`7H+>nrB|V*4@ao3%fDn!a}a+W5z=jQVlFH}`L8{`Ez-U3&gy zncm-$zgfBE+=phIbK|ClbDr3A#Y2}3n{xlY{@*>Zf5Dc)51swkbJ5S9Up4%jnOnRS zmwh&O%?*==PF=sacyaufac`vGdB#O~Cp$6*-Z{5NmtQZqZ_39XuTMDt%IqUI9P(83 z{Op#*R}zX!C$@{d;H+Q2*w_2^Cr3`0ll}6WpB${ZZA->O?e~qHwRc~aO>sXzx@pAE zrJGtmw0YPa_dP#!!nNN%a@*RfcitT~@&2v-ADO(TWO@0Xyyca93YVAd@pqqc_W17e zF7CQIdBVyqogSKAx_(oGotHmUU0(QT+08kZwdFp?#D`yB)M@Q2 z!{*(0{(!-^oE78F*f)EAb>5hXZSNgB@$7rYoId;3KZcC_bm!pVliIxW-FM5zmlXM% zomY}R@Zl3jH5`@wdDo(MTW>gV?5Y!bEb#^$t(y6wdk#rGZT`;f4Nq7)F0JdyFV^2z z@=5dgPd~Y2*Ev7laqv*gADtdJy!f&=t4n`f{A;f(K0UAG$CCaZ?w&a5haVrQTKJqh z_m>g>DOmk#>4{-=hZRglAQLCcnkNz^@{WMe)YlH3%}jl{`0d&os%)S@tF^%x<4(={{F1p4=1)Odm=Gw z^J9e%H+g*A<`sM1tE^bGXhO!&s@?g+CuWYA_xgn4c_aVR_3>eYKR?{GVEVAh)4RsM zwq@!wgXS;X`0&EtIyvv#w5_9iYr97_eQ@u4Hs^z>2M=DntedmvyE|ugSduVrUeUNN zFaOx&*}dC;+umsN+28N`smIf2uf2Tj5ADwF*KDBUK6{>b)9w~CZr#4%(G%XOXwqo* zswY;h_5J!z%S#)*Q{JSpd(La~_D*{0v+s6ydHBT1m+#BzA+edfUlXK494ZZKJd~{FVqK6-S zsQ8R++3$6|)RVHj@WJK3?0DMyS?VK3w^pxp{qL-jR~~M*anYKlFZz2t_4Z>IUwCoS z{O6x|Wx~N<&s{xe_2AR4`f|qnQ3vK<^jzCNTq&box@!3wt9M`YdBUMKw>^D+>gUgI ze)*oO_WaTN^Rf;*UheS7S$`~@f4KcG7e6xYl55`^HN9Z@i_MZ(wtH(jfz%P-uX(C`I&iw8b)Eo?J0%iidL z9r=r|TmSOL8{1qrtxdg)GWwi+bJ|ru^t+_pjNS>YUoy__{X=SN$Ig_Pe51W@|GL?C zeKl=g|LM(}47+7kX<4VHY3H7nc2BpbjgHS>yRClv27~`|=1-q@I5PYB{TKYc?z=-L zJ-_SBBeNPFYI@PG6TW?^_vLfG+aLAZ`u7htyJT1M%Wr;jf0y3tUpjQ+-Vbg%goO+RnJ~O@<6i>_dCXIxM^zrH$O}4byMMf*IgUtO>HpeGyAuj zqI=Cu+aG(*hKyb}w4Yk<=g)e7eAC{iPI%;oouwa7?>Xs&;*W3ssI1!)J6jiT-27D2 z_+3qk*Z=s`$?xwvYs~Ebly!b|-4{=_xNTRlnSRpm;-S@w&qar+k@v;T!9F ztSb8P@aDe1Pe0Q9@RG5MFg{M;>9bc6?|OgW{)&U?QBN;$E^*Hx?kXck+q=eqe9gfV;D@nDskz4?(+ zg3FxtmnR`^lwg*!;#raE?Sqmf%}49DM8B%RK;l~*(L2g!ecp5)2!)0+*VfZuk`2n*&}k)01uR7;O-($%i*v2fjKWI3MquZ9f}a5 z#HPru4km|IQ!g1cWlP8B?nIW2Fcd_UK93F~5E|gat^q9%WBt`g(aRUlDiImlyu*GK z^9=h^Jd9jOb?(r-i7bLio3=GD!QC_>KL)zL5G56`I3F4aBc%|iz}1(+@m|cUw!e|* z3pMLrNCOh&;1_-^@%T8hTZ>yw+8U7DEOWP@rAmJp`j|8Sc?KYgvZ6t8XOtknv|tY_ z9u=cXgM0v=2n?jqrUh5Z9vi|_ZQ3=r70S0^0aR-0)6;Nv8mH_2Sgv&KGlB(&| z8RE|<3t-?7cLfa*VBlL7fBYnv2A%{Zoa`1I#kBcagAar*>i(c|`XCF#`g;oTu7L+s zg)(n>CB)(ckNtSSNb3QxAVjy_iO(YoB$t}4HR!k#DF305-4UT93q%6Xv0Vf;sNiMU zT;;G+aIXcZs99Qr3S3yIJ8H^F*G4nsMm(`n_r)v*r(y{43mW(_TC%t@K~0A!7Fu_S zN{O^vRF7P0-qzp*vB|ok{b%9Clm!Sh_ds$znhJYTQLZx{1XUk1#?#;hk^hpeENV({ znWC7#C3ra#fh#lz;G=+7j?IHE{XQ1y%*D4KJq@*~{2k)kBFHolSOZynVvq)Y6d<$d ztjGw;TT)iZ^i#I+LtW!|Y-56OBKLH5tFTgYw+1VBqD)JQI#Wbg$pV@%_b^uDdb$9!veYA z#hk6d2#~9*;eQ53{|MHzsD(S#ysg10HnxshcyKHhXqW}ycC8^7mZM{~$|3zw(>fvX zM~reYQHfBhtb#~Q*%F8xaQ||h6mdywwMZu$@}uO{ASq9iI_`4GBA~R1TLV-a+zefp z9UY5F)1V}C@M!b|_P*mqPeHxZnT{N4y4JwsV)uAk-m+Ab``9(sTw4;*(S{8nhR0QK zYh6Ji9bwybSlseL#D>_8Sc4G6ZJMj)wwmUY5Gw)M+*tZ34mK6}2wDb($)nYm3H6#F zg@o3zM^A4WydcSygqOulFvRbO`CEe*WZgDb%Ok@p*oLWK6%W}xgk%kdmA0jUT(^IA zOQS&yV*f;s4vQOP%sb8@UWv2DR({T82@8W|0 zsKf!dc?vI>xwJ_UU&CfBHc=kH!?!7rZ3*x5A{6D=V%?7NE>4>(q#YR{J*gSwM2~a2 zAder(d%MdS4NEzm%{VZjtocQll#c{!Qo6tfngh+*9P{(4sww zO6TDe={)kA<=A8vO&|oGtwSZ!>~28POURmEfho5P;!nJQ1ag)6$}t^gIbDZ~k?KZr ziYD~*B%6upgAE^MdaGbL>5MWDy1=P6wQQ8bH$#r2z`js{ou+6W`&P9AV}t^21NC|`F+XSYEo77 z1K9_C`D6#NP#9CNd3?+-Kr2otumN4;+%zCX<;P)L~&0 zCob$Y(Z9T7{$FHB^(mlPr-n7R}F#P*fuzMx@k1 zq*|(InLk1Ys%T|d87-(9Er%BoI0Pshp4Qq~_ zDGjFlBKZ=NE&(k11E;rd*cnAWaAtrj@2fG9wAce0lrAoua>`aoYR!h2_Lq90OZv@tl_@Pm z9cA7;Ux5$uXk*_X`9yMS)HnD|QJOqtZDQhiYf02~YH`+epRb4pe265`STy^)TyTWL zh`G9B#%PrD9H}{*4I@WZw~C@jaWh#w};0% z<8(QdXjx2!JEjvR5%reBwx-6&Sb_E!P_SuG72kHwXz8vBK+v5bY}))l)M2}TWHDZ%i_DS1LHkx4cr3{lkiZrMw3gjc8zDLYi8QWL2rLY+x-* z1{OA!Fy@T#O9r+Z*-)Y@g0wJUHH!uoHlT0@7LAu6s?X{Mm(|jlE#$l6JwUxw3a#ck zw!7i%sSeC%hpg^m5hH!4mg6_=@&q259G~E{ABW?&e?yc1iJ{4{;N2bP4!VyIP8AiY zMmd32;R-b+riAj$6TrhU8k~~Cstgirc(>SCNWhy{&SQ)mm<^ZPVS--$2rP`1qVARku=*X(Kwb~WmKyGR}Xp(xQACDo9~p+SlEkZUsPFH)*~in%9JV55SmpAS(T$py_GSbkjCVd zSH!@EJjNdFjOjNlE5X$pYiN54YShMTl=w9$uRX!30vrj?nDcqJ+4ws3+ zMMZF(SVc9Q#Fo&C%3Ibpay_O@tQ^Ebe?oT~tY0!>U_F>jjxFDBl=>^VHKH2sIfR=O z!J1wMiIaW!xR$;FH0%;dW@Uy*=sMCH4uI7?8VZ82mss!%0UrQU%nHkv8^T_6%T|O? zKS@DaJ=1=qWlO7&W9#RKuozz{WK%aPt02pEg*-Y(9>??(|#2CR0UfSZ~_MD;8mYl2InX=KBLV!L@b~Jsqr0WO1?laD(CDT26?&; zhYN-17uqcGLaKI68#|VPXQ-SJ7DKc&`BR}7Z$c5uz13J4x2tY(9&YgB5bk4yW2Y88h+uH_050SwO2G#r z8kYZ(oE8eZAWNk(ZW+69Z8#UGrcf6g>`H{IVwk|T5q2$}5Nh>I`;i>1Rj?(2PYg#3 zm$Kk9><~`7$g&W>VY*Z@fy)n#k@r2uWVliw-|#Zyzfn-`FCikKQv+Di@IFcCf*(19 zN*Ho-APx;c9b^}IV5`A{w3(kEfQS%QFQ6r|{9}EjEwdAVIxo;t4ut!!!s)AZPaIPV%ydpaO z(!x5SuM1d9*BHaB6L8bi(T6@L^vQ38G5M>OFJTJNBZldCWwy4Po0Ao$opp<%aKVjO zK|;pr`K7975!0$dEh|XAKaVc36+U^e0HB26L3S0Iu!o~iD+U$?N$_qK2f>yBsm5zM zLBTT4L={{?(%PIgrM{)rGwnyRj8@^8t;GOm1XhjhR>)ecYhC~FHQ6G&Km?EQ`7njP z#4=nSmZ)ph=KUxvt9qvWC@iZAwXlns=W0H<9pgRAAxI5pH7)3oTU7v?(bM3NWu$oJtCaG!6fkBaJ&Xx$ z$Nd&qVuGE_MX+B5Tpi74A-2(0sl^hZ=(w>?D|I0g>&UJPo{_-oh-I4@b|L>6daK|K z?Zwq#&O~_`&iM&(fqmN(L0I4q?u=sBT~Vxi%$aXbg%(2nh#$564OfVs3FV~DYbpfL z)XBLDeE3BG8ts4_R?h-eJ!{fd@2Ku^0)^hntYPWN2%AtIM~7RF*t}u^Ky`4;u8bJb z%}B?_p;aL^94ggY`lex4_kOh+>v=WU`s?EM#u?aNd?AqeCs4wRdR4WM+60qVHt6MB#*GOJzAO zD~z1;G!e9mig<*0eMMTTo<-79 z6^??m>fkw60IpLO-Cb}cA;qJP9%I;rb&oMDZOvm$8;@mAF={=0j8Lc|DCSy=rx;hy zn7e5$N7-nt56-e3ml*3l4oBHS^!@)7Nvb&e-#F4b#gSr2FdW4l-<;gsBU{8JCq^fL z36Nrrd6)|(Y>0)sW#v8gaVjA-GdUxIYd^ z#vo5=VU?%QODDN_%z#6rO$Ybg%^4|usm6AvMV8ke!c&LKnp#P%73M1_3Xg@erF^{= zHi}{13P^TXVT=L;RVv=2Tgd`nLI=aUX2p3)U9krv(_gdY_6>e3{ zB8pXoKaXO-F4vK1wAtCg#|RUf4^Y4R+{+;Fd0S%m|dB0#XR z3vy5BegqMYn8lKyRWt2Iva(je8lL&_GNgA7d%$c_zt&CKpg3FCv{Chh(shcY1`guFv%>t4MH0OW zGJ4b{IM)S2M`X&vJ!FKFcS-cBnnj{l6^;qfTa2L)c(fcvK_q24a>8=pgc^sX&Yb>Pxl8!3Jo6OBmnIxGz;SLa+6{`9=0=To}xiF3B-kHESHBRj|e}X^_% zGP}sZv>}aREKmqJk8;D4&dzMBs&=XoJj~@X2Up1fqg(f6$IP;v$!VE0mkkP?s+vV~ zstU&ho%xVY1rlrdOGCIe)Cw-ts66RApKP%vtr;$7fu+o!z0}BN$GhM-13v5E%8~D_$Se2dQVg0%s{?73z{|PH8?7Dx zj-U%P(e=58tr2)4Qpk~~oNU|})C7YD2<1Ug3Bz##(`BFGyA|vatU0qiQ!6lU_%*W8(!+m^XIcLjj)GhcDHsVEt(7{m5YNm zfIPq4j0%yOc-ynTthyW` zUwvI1w!)%H_%!~B@#=6K#?k>xCpFt-rKjOd+V0w8)ni4hI(XTFwIG6{8Xo9kYVWv2 zYw3fef~8fk!FuR{Fh-ubmmNM?3wa<7Rntam)mV?tPgDU7vR%p(#t11|q;jiG(NyUa z)TYI}Bjn9D`*sO=i^-@JYP3P42)RSk#nTaArWPl>M>lu5A#;ob*h z9aMM~7HL^|+QXp{mcn5-M=+W-*vWyGPR2R8_00o#X>lnd#1 zJb9I16{)B+vZ^3!3RyR}OW|L8C#%z(6D0+L1B;lOHCVt(!{eVdSo8&0_)0-50CztQ z4X~2)qp%dr0OKjalqDKGj`wYbF7u-a1pqZ6YXE=@PCRj#t*VGM+SosTD$&D#1Zd zap&J~@?t)JDFgn@<`jS&(JlZ-P6TGP*)$b3Qcux0!35nNc;wJSKwN?LpOLOSg1)A} zZ4nMaJJGhJK-1=mr(M#t#eJ*-wyI!*(*+FO*6Elc2N3$26EW9&j>~e$juAE8&oXq? zJWQ!fLRZ^a!`9!T#88z?J5kV86-=R9leWQtckGmL#WIkPN$LuA^I0pxRg*BCwFIr& ztOMaf%3pKfqJShhp{kj7qkyX_*tq1aW}+gSdMVslo|65oyn>!a0UmqCLDs(@;3(2`k0moWgkSY%< zqJ*V6IZ0j4>NF)RUCQnQu(Ybnxm7ib&{P%JHG9b(aCHj4up5qaj^9cr$UF2eK|9Fh zUb|VxYASQ9;E+%U|6y@cB0}AwQisWLtsG)18deo-!IT-Gwnu! zQ&sq15+7Efu4ZQn4gqyng1XZLp>9!pXw^)+kxu&U3OV_LPSXDdo3vGM ztBILHLV`Qau5B417StTzVr%YF)l9ol09O^@?3@9VY)zPnQ)M2NyO_UBQ&HkvUmPQ( z4OG;vrez8T32s-swr2!|%p$l|HPdbsxK)KvaI2J@Vu${h!5TFd4c-o=j5y5cPQhEv z%M=h2-grzal@SQhvj}fh&9oZ@Z&g8qH+GhT5lSKlE}ZvM8eF>coSEvuHApCi!3tf? zUj(|EkAt6tFGNqNLp}e8WvHv!nSw(?9Xb)N03gGy+M!&knrSx*>Z*bUb%J+jc33W0 zK>t1dTc99dOQWA=)LO}u>v$JR<9$~*OCAg|)+KmFXst^innSfbHl)ugfg~YGH zTfYU_sz_1uG6jTyw-dsX)ZP-rId)&WiXz~xRWt2I!dt5l3h&@_#*(!E8mMc~j#XAa ztJJN{$`lL|+VKh6ZW6*HEkavWGwnt}TU7{!c8!$K9N@5g9bZ|ZAPs3WlpHbF8RSyw zR5LOKfrK<%%A~fM@zLgcD`{VKs%oa)C`hXcp^(;-X>%a|{W)i?f?G|?6b=&HZaCc3 z#J0J9ufVOUnRcVVtty0qThB!~bQ-JOkO`k-AgWGwnw~TU7{!Hl+NnDEH;7iNlSUe}U!~2H?1UL6{caq-h!8YF?&* zkN}6QpyDLboU$S4iGfk_}&Zh)s96 zCR9rp(A}5}kyG#*?18A8gGXqBTur&X))6a!#zCqushxgV2B;dn>2xJPW2HN?EiuwA zU079}s*-6Z3Z|;U|5`+u)!g7#VIlzUfG=VP39B$7y>?|!0A8zP4e(k8xX-er1ZcK) zD!?y)I2o^iMp#1dW2)5#0e}1 zM3~^PkQVgA1=t20r?J#>N~WDC zJgEvb@gzg=!eZ!uB5aRc+fu6>QCtLu7k-vz3OI=!upI~;9@GnqT%;x;jcoJZZ9$4@F_s5F`G_O0MeeIbZFR zNJzWE@sh8KFv|$)i-feQW!j5^w5kv!cqz!>uk@C3ScRh+u;~mX9JRY$5ss0h1;}&~ zymnR3v>ydYRYC0?DOSel?}Nzc^1PyIjd1@~joT`$)s#$OAYttUe@aEOk$i=DfVy4P zGVMh{T2-h?vq6qJ<~}+Ov`&gkrG*O>g#)4;LtETJzbZ6p{yGkGql8@StWH+~75p>B zVGIy(#Mlit3EG*w0R0D+=?v$X`bD#BEf zu&R|~6L-1Lz4he~$zFFgjm3Hka}#VTxvmC>8?~J$C>n-XAF;)=nnOnoU!OE)t%I<9 zuct)huXB(e08jQMf{*QS@rlPF_}Im6d$B{pJ+S|=Y|1&d%(Q-RLTKV5h=MK z<6v|=WCL`-kU%*WQQ|Z2 ziJI3@!Ip>Tv$y$Zqf_fH8!XRmpl%~hRgny$($j{K2U-P)5P;mr><(czB#79ljf=ys zOrZ}$e-rdWABO&}t&oN~WERNW2E4?+Ofeu)PGX$6-D@hLS%Z~=I;>;3?g9_s7r8WQ zP%s6XM0l)ns`N!dO=5IntUbYqQ*})HkfK_vV9Tn?E%8-S@>73#p{JB52d+>+0e%m+ zJr0E~{jLqfL4|8Ar232sg9v76AgN_L3Pe~0l0bwTyjw*AU|?@^Cb7ebfWzqqysKK) zP@z>|sHmW$7|2RniMe3P{NSP!jEld7am+Ch8y%N``C3831+KjqY6^ocr6>R;A;IcxF9m)Qzl;sc zwpJ#BQMCm*on5h*)`syED0iq+plYY_R4r?aHgZ!?N^C)_icG=;mn?coP4}1QQ-6%Y zk7FWtou-4o6F7n&X}=V(!mJJ$ej}D?A(JMD!Y|@#jiF5(GS(mo7;$nP5H2h$_vcrU z6TBMg@w$>wgGQOhDb2MCwyZqJnxp0q!a+>6CIEw-^DVnnGqs7DLPm%H zS3D%D;Dl>#@s_YxHB5U@uvZnp;LWnTmFjx{ILiLJF`&U*Pw;?`HOdbrMg?;icyFDVoAWK;4wPhQOuX zNc|yhJ;!m^s^AQ!aVbbF!daVvHgtMw-+KGa*s$j#L&@&)wJ-bdu zP4;*tgsrLCXiunn+IzEY0-QHVFIjVDm-57^=4J{E331qqioK;f(xI`0xT<8@iGsMQ zU>i~lw#p)!s=pXAMB|-5ns6~WfzTjDUm3VUpN9OdOCc&t3pPMrCMmEAc{N84PgiQQ_(u?$|da00i&dhny4vcB&|E7ho>!K z0tqQ)R3+0+6!=vI8%uAElZ4>g-~$_&E}X5AE$Ao>OA?6e3xP7^S&g4z3n?VvjR9g% zR*|5lYYHEUgjjW?7BQcMM1rbh+KEDfs$k=3b=55YQ3q4{LaW8LS%tourzv0r^c{)P zjTTtIa^hXBnrSx@{#peFf0j)XZlkM&dl@owCwTKJ6+&S1UF(5=C<%w9;5rmiz3N#G zEP`8`mMI)0xD(Wt6v1t7hLNFd4pq&x8wGAvK?iq@OuPR$ebOr2)%;8WBH<3nD8&BM zJWf`uvJO?lvUc?tK3I$rM;MU>-lgV&LZP8tBu&^gVB#J&*+7uV2NtxW7FnT7 zHvXoLLtiM_hAyH)wpqlL9a2>A!#h(j3S8MCRe(6JikPiM;7Y4x+KI%KR-q=Yj(M<< zPVSo1q*Y&31rgK9NeDvpzc_V*bpo*$*`Q!ol}tNP5L6XxDRAo`+~|yfLI}I=h9p+H zNh2f_QN%@4S~DCSqy9J}JGmJkgOR;v3Bs&N|A=jx#s}a8Ay%3Q0aMBe+v5@T$3(PF`{etUE$M zO^6iRA?1v!WZH@15>?@!t3xTk>(`=My{yBorYK=j%Y{p4e8%?jmPy$X)?X$l+YNmAjM}zJ8&U=KK8bg;EwSltSND<&h8S?-T>K zX54+4z6mhnJk-aD?}g6a=0ei>n*|G+%=pW zpp@ed;MXmbBys8whDPCu4vx>Y-A^4Cj|V+;acz!m2wqSPXMA0vTreEF4O~{?(~m&47fPksSTroN|uW`((M>Ha;W#rEn!=f%s$338wz;iMVn7#^^523Cd*;u~9NQXD2_{>`jANb$Pz~Qh}!7D&AT!TIY$Anj-vlhMh73;8JvLQ37 zBKXn_47fXuisxZRKsC@ZD?^|DyefbwfS1OOZ?P)=MTGlHyTdoYga8ZG@v_m-MClzT zTABl|&EPL)f(=v!%>lhT2^T8T_04CNfPz_Q%R7BpTE@|*%x-j-+j7=D!UW+9JLKzmk z2pwDv&#_hIBhE?-4WfDcPR!u1A`U@rz-NSR@sc5%y?~4|R33qEAhlzm!XkV|{Dxor zAm4ZsW!NB=W%L7IfPS4!5L96Wd`Dsd3E5v(P2Z`op9YF7t34DrCjmia%c^p*59|@! zE24*ti($))6W4i{+Qf1=3Nid#n!6kc6FV_bfMf-iKcW*HCl)2~hF?f>`O9zs_>-U@ zxL3%gbO01h97|wJ_#eLuX;y`u;zPl{K$pP;-W^}Ep%DiBhI}7{EcF;if=)j$M1~c@ zc#)rqYgjx6gCm58hFJmkITAR(vdspr>xwu@z=Bl*!uIGSFUN++u0pJoqS(NZ7a@?q zVFrHs8Hnh0}(JEuQE6NQqS)bdXQ z20!#TVMxhg!WlH-^Gcu7&4mh3I z9Xz@u9L+Pr<)xy4l;YxS;Nh)NGM)#)D zD`YsLY(D5C*2P+w!GypLk`#qT=9`NP5@fWB5M2|k=b;W%mG32$gq|3le1Igb#f&X! z1w(Oy4%(+%Y_ysI)Ki$iQ| zLU6lLa9^e~&S4;%C2}^)2Aua#@8Y&)!50{p!-hZl!I)Fvdj>wmFF@J6ND^$C?6%Ay z@No1n_=Ydi`eQRDwKFrY<fkTHZPhG=I<3VqKWjjyRyogOzq$*_Y>hv{S> zRtLfV;mPzfjnF?l8=e?Qr0@sd;ydUH!Q`^x(-iohY~Z&{`UF~lq5vC!8WIcsPs+ge zSOZ@YF=rw*8PpO!6J*t&6-`3Y!}6j_tPlL-whk(PtFt+6OIg6eULOTLi}I^gPK=PY28ss^Xw~UA*2LF{X8e!eaZvbtcoIG#SR-smfa81of$v8%lErpJ zbp?ji01+ZoK0Bpi%%24?f`I9|k^?=D?0L0Cr3W^h;Q+i>r zA1TP~K#)v)u~*m&vW{>lL6Gf)PQHo@c$w$vXuzyZV! zVo3E7Dodm?6CyRZEJ4kLs!+3{e-zfRP;l*l3pq&wifC$EdHx*VvQaQ0$QKuEP+yIX zfplQH5by^|2W*d)C?RE(ZbX_Hf(T!c!~$C3s|SLfx7G)^0_%mf_o0iGeMad8muXsn2JTEL(H0V8Y^Xp3ZHgf9%uS?~>88af<5 z3G1>!ES{W1(@Ubo4!ah;$aauq!WG1av^?}Dr4#FtR!mfjlfwdHlK2)@Z_sGrKTRMl z98YNkCKhwCBxk}np-mi(n+7iqc zM~aPW63+X$-2)(H&`?9>OhCeV1S5rhwZt%n;qB=Rqwf>|rKl&T&|faLnUv-WDqkl^ z=jMwEeW#5DtwL0l)hA(3Z?HC7CGgwD;hNM}Holans%4EDq-v!2Q==iv7`DuIAylM} zOIhf~3nYt5)Fd}vbX-F6hne7bsi2J)H}--3gq>j&`|^;x=y0MG#hp6QFnAGqSAeDH zgMLz_O5bFxK@W^7{7NlU`idbe63gSUsoUnGryhL39_M4xXrLCUg>O3 zRH?X_{;6|~?uBp2W+v^f_yyl$F=`I2SblcELqntEtm=@XGwQUo+7Ko$*_**EVmNMpDOq!| z2sREjNbQISpOB$03FlLY^>J+YpL)eFbb3UPNkPa=6~G`v8;yWkAV^0sxatzI=1~ZN zg2v3CjC1!3II;tADpDwq&}j%X7SVZk7&w>)*$EjwED8kzo2~@8$=tDPd@b5mSjLHw zDN>9M&N~={z;_X9h+o=dLQr8g3dA=@UXf@m-zdY!*f6$KZP2V)_8(v~e!L7U5i7I7 z$V`%oacFtM^f%nt1!u2_I&jK^wi&09+@)hBWH6V5{Xuj>JAdPS&=vtu*8`m$Z?*L4=D9{z-Ms)d$wA7D2@)#A43odF?9}UxPS$iv=pGB?h2zd6emp9 z6zpw4Yrb0GX=NvG5?a?uU#NuPc8C8kGXOFz#!BA+>F;6-booRa10E;CVJQ296_m ztcK62Jhet`E8uaBO0=Z>@~E&JcF1&OS3rlXgFG{u5?<6f{B*d2pDBj%c|cho2j%qz zTB(<(Sd~U-;0~fJlzP3oI=L z7rfBI3zFUNcQnotr-38FcCooa_%D`wYz3cJmB9xVEX7|T%L7vnai~FH!qV`ch6{fS zIHYLA@S8mF;O|8Ej{w86`K)zZ0BF@F1s3FfqC>i`_zijHio?Kx`m4DT$P_bPK1hp( zwy|I74FwE^N+%P6VH(7F*I~u7w5(H?B-!y>kwj21RnlUL#Do9CxjhlAs1!(GQYaAy zM6X0s)Eu=Q+zma#M)M6gEk+LrMnv#~P{MTUB5WQTl@c9c#^%PFj};I-+FPEcN(u=e20aM?*m zpn?R3Rh1slJ{dGzd|4S*hf*s!Gga`WbukLcOs(ER70@~G8cK8gALOwGKS|H_qDcY} zE8VAPi15|}%a7d#rVGHD^q3~MZkPfJCir09UbH;3#f&=imIK*yKX6prQCMMNSav~} z(RW&^=o`Lfg;-sqg2oH(EKq|Ft+s9q8Y24LvgJw*40q;YBG?19P3xP1mI^jl@X}&{ z!R!JkcHud-g&JZAP~}2MoX7BtdDyw{Jorcx`{8y0OgU(~0Fj0t&?;b8DN&)k2LcjX z(FG)JU6J*fOduJ;h?ME{C`yoZm`e(|au!ihtaB;6K;p$h)P~r2hi56Y(ZaMdag?B? zAYl`mAn)@12eEq@XA|N2Y9L>6FGH+Ai zBW&FWhaj-KCdjpl;e>G_C{(!A0(#I?1(SwP!J0mfNmd?oB}5a@*Cs5QT_QkFo0pK^(!YMQp#DD+}u0jZ4e20yS=dj6uSumN6@d3py$Ia7ZE*e4_%zh!$_)!966&DDG)Vn_CvB;)TEi(8KTpl1RfRegl%^ zQmZ0#A%_`Y^l6YkF==FQM$O&5@Qj*S5#{Qegft#%U*pn4u6BfvLhuQM5g=uh;ulg( z)GCc@Az~K*%Xv3+15PV7bG0V^^p{duY>SZvk|<~fig!XF4-QZXaWYRifuaEYXMpi4 zD!7|2Ul6b%{0~q9=7l*!y9he)ZKOqpKE!4k!OK>71zu88=qFQG7`Z@$c-jsS!{3Ok z5cgLUkN65bW@VSdu?8(F2zGqI*HTHKOi1wg>4cRb7*a7QAp?2_Z~{G0B1=yFz`*dF zeX_UklgwL)G=wp-47McNKrNq%bN+%@7h6e(H_|djIERPW1OpXF8L@*Pc7_*O42fJz zg9m_r00(?Y!%6u4`S4YAjLcer@1(3iGRPIX4E!+_{?kH-Kd>JD$Ie0v;iM3ixGN&* zgdK@J6U_sDV_#A>;SX$;2pZ>sZ}1^bp;WYwn<$*Qe=>Zb0rS6nXC>r=QtVJo7Ln9B zZ21670|0?76?hJW5D^vC(!c}@udd@Ch|Sdejf1Wz5|9_D;0qp#7B*3wEXi#ALff_~ z;$fUS(E$9#sUj$`2sTJDB>1B{2M&V4k8q#{B-!AT(#c{7^u9ZrqTFM^y+4T&UBH75 zW)Rn0yU^_P_!K(;634H>^JbG~l12K7V`(;Ltl(E$6vVh6*E_Z*kv$DmLZ&|%!P8+o zu6$Vt6ot-0SebEU1$Q(v%9*APsLp0qV)9 z>Om(Uxd6h{08_##jt;g5q*w7ptUH!uF&M!wxIzz|sDXqnM_Uxotf8R32-B937Gc^F z(jv?at~h;xAkx*(wnlXNNm^hy2Bw8Jir3c}7^#GLk|V_-k5w^x zWCX~F7MX{gBj7irLb=px+fgteV10b8MVB!?#247EVsb(Gp&>{hf4G_uGI@2A{Xk!`M*a2T`SXO`3kl4kQG` zLV^nAoLo;3bVWE@e3}k3mkSjNK>Uv{5%O449pS)(AqXgOWWZEnA?|hiU{$G*oLC-P ztVVc3h#<5<-{i_k5J$9OU-*iz!dMYY<6|+LB9ynZE%FzNZe@KkJ1WVI!=a5G*1-|r z1MEjGaRd{1AbP?A1RD5@J>qj}0Y`=6Pk;>n(&`F-iG0Kuanhl!Vk=mIDhazHK4g{+ zW%z@GoLEQ?z)yUzcs>bKP)d;9qWF7c4sp;!acBgO5CAgO5%eauZ=@Y4t>|nNa?o@T zj&*6CI7cC?#jp$MI4ih$EJv*o?NE)d=V7?_!kVHjdB}OE<&2o=op{VPcn!JKEy&u z^nPhRN4R2HG+`GZ4Pp`eONMvVibQvJUWQWvlxBp;Y6dZ|PVdANSO?oDob!J08C%yB zk78kp9H)1zWiB<~3DyvO!g(aTMgk#eA?F7Vs_=&(8=*&HT`??O>7>*Eu}od_s=LcoCy8WNf$Tc!aLxWw>?FGW*00Of!|zsyuY(lDd~9Ga@b1vkCN#oJwm z9rC9p!UdVxCH&sST5`>xTn)}O6Bp-*|38vy#sL>v#ygCoOf^Hq&U4H-!9MPUbS6OP zm@UbU;c#XR2j33n!o(`EE{CBdvQe$GyKeb?rZtn_xZv_29nso7nCSQn^%4vRT*%b@G zU0WqPaD{*&%K)cUB7`V%#g#xIo2?1B!3Td4ecFU`(k}8q0ih$$c-n-b<_JqMJp>00 zC(IUwrAChu&WelR?qSGuVvmO_Wf|*Afk~`m7!`S?WcyTGZbC>fdpMB^Lt3GP1z-lQ z1e2i4)*~hcR)+*!BKSu%%z;u0L5w@9NuVoH=sRGK^si`oK(8ueK(zvl;s>Z#PFoBe z=z;d?w#9(OkhehZsV;R1`W#o!CSj4{7(4!nj^((=`LWq4u;8@@!e2)SAPo*UO&4S# zjf2FZm{`}2w=jdp9cH_POkD+d^)eRc4Qr6EiP~TQI^a%ecRVnY8$=;rw$R|}D)Bhks zK`X$g;p7@5XN{9ly-coYY=jK02;2p0Tw)x^!y2OuLJw3BUUnp?gQx0(9MYkU$h*I5 zx%k^IMp&C{&;((~#os}b;i6H^NUlZZGty)UEgT^;ibqL`D|S4H7>4H@8w4r48Lfdm z2~dP|M#LsXiQRzn@B;0Mb8TFZ*cK9s0zIfE89f9+TFY@3Mv}PUX5i39a^PNdopZ%% z0RpQ=%9k4J286Ejbt4Ym;kp49e5S4%wqiiYCG4~IFc(2e_zmlm@mtYA+q{X-CZ4wL6+oX zlQr?~1{NanK}aKOz|kb55n1Qg=XpM-OlAb=hVe!Ba@TwSp$;> zuy^WeE*qn18_XU0FiDc=kGAPmg68)UbNIHNU_r9u1{j82rq+*Bu4~jA%5%$erOWJ0 z6K@Z&M!?0u{-AJ2QZ1`d-7$%nE@v-`(9A!cL~MO7DEn!D^Y@4C?dr$p4VT*gz`MN9H=j1E``vz}*L*H- z4mVowNgh*WTqSJ>=amVx;P_Ded^%n?Tx!AZi!>bAmAtgWphbML;i@XRqou8L87r)^1lNOoI|f0Hxu`$o@~j%fOaNwnI_) zN0Rc-3A0%U?33C!(N}T!0Pti;h@(=9)RIoiipL%=!ayc0UWA2n-kCqqiSUU)Wff=>fn#)z6CrjF}!_jYhK3I z2>xEU`+NY=Bf@8AN4sD!5kmDi=oojE2^>v2J#R0?O zXywELT08ywf+wC*Oj>G7wx#tI%V>>_hm3dAS*VeV6G_~luO=g4jF-M<2;pID@Bxp9 z4M+N3!U!W5853GrHJ?$r@Ku$#-caNnO4hh6bJh$y^L|-1MmmhEFy_-Fy6b~ahthLa zf8zTJJS${9<$7ch*t5uAg{>8>SCm?zW(A>dnNHPV@-<(Ujnh^*iEpZL}GT*wPZt4I(Jn-gdeaEk-W483$; z^?w8b_>rh>d^VoE8m~3J6vrL?L7Wl|Rf}aS_QmY}ORgbqbU9wRKZd;I5GDgqW7#wR zp1uk5BtWO1xOoJGHI@PQY19eV>X*5*ToP8~AYDb*)45p9+{;ctRq(z=+jR3$raozU zCR1eWHe0dl_0Q5I3h~Xh1hBo0t?5oD>dBe0<74pRM};K*3p_S11=zJ7jo#OnLSXCJ z(9YKvL`>pikkf+Xyn!}S&=MDEFmqQLyX`yN8Gu^gdLZ^OMtMZ&(`*_-KNUphO~1K3 zGA29M{WZhQenKW3jDw)R%w`eiDA}JSo8_Z2HwSn^nr9dm9>5gw6=&a>-7{F4&d7}y z%_e0k%QLFX^siJ|N_pjWF|pMDQ%a`*`n9ey`-+f`Xh04KUA5yL^Lf-l^MK1S5In5i zF-A0rh8cBBhTA+6P;HM%TiBybhSSjKXBleYGtJ3_5+~`c5$zE*OcHXkdAxf%>^C=m z(@#nURdyb4NDG}mAK2r){@s4_Y4z@T^YEEi+}Q=i^&~1D)nPEj>vOuYS$(*< zU46uL`}q0!(4Q$pHzbr`Adj zZM1dK=_H$@MZM|aXni2ilhe!%_Ovp9kmu!yYZS`kIGQ$#d7AXNr&*ZM)eS8HUPo&b z+jO*6VO2-#WPKbh>df|>)(}$C=6Of!h5mCImjlDjj@Ia@Cr7hHPDWz}lt#*FvGi-y zlrfOV^X15bEoj6?a~hkTY~RYf4QM3#7Udc}?d8fvjHRP>C6R)hR&oy3x62C}IxC-j zuMDkU-%y5LcUk1+h!45(lEJY%L+9n71%e@2U1+WDpmybCdK|5-bV?~JSJkbQp`*p# z*R2RE`TkWQ2(jdKm*cHsQw29y(1I?)o!5od`94>Xe1KacXbYKPr&*zEHnQ)LQ_(4C zM{Brxz|*2)7Bda_X*ss8hFY1-R9(TS;tf@x3y33*BB8k;?+I zHY%je%PJtIZhfD74!Jv>UB+H%?(BOd-k7cy7thLG9(b~?9m%60AT)DP|nA5bDeoo6ka>Vfg z^AZ)0pSKH~D1>t|T7Xa8I9T6S52R$}BAZ{_*s3n{UME(}i*L6Icwp{(6&L6DK38?6 zC|%Yr@weLB?uvJ6yxxT-M<}a{|5y5Ufd}0}7qh@#C-T-W&?o;My2(7f`Mj`4C3>4& z2Ri8HloVF4#6?!OW=o4}qh=tU76fVByx>SJ^jhE+dOwc3ugr7L+U;Uo^rhiIzwckC zPP;yXHas5yPorOtAoJ$F7XnWuI6e(kj2@SeDQ>(RHQ-<`=Ww50zce3P=<)b{yM5F7 zaReZU$0ea-z)qK7&3kW?Me{ZV_A9&`K`V6vD(@dy-p#34my0*Dat$)Gz-A=SjRs8p$Eo=`om}5~ldW;09 zWAa@&w7tijSb*NkR@;In{aUtgf?GGrwTpIZ;=o%f=gTXFw6fqFr?MqArO& zkK5@AK*Eg|Rks)$Jnpdt?V@B|-3ZY3YlQpZ@lXp*kxTs<@d2P6E9Gcyvyd&c0q8a_ z*MX@QyjDgKpet7({BFE>8kH{F$odjdc#Uz`2DEt_qIoNsNuGaE7f-;`x|SU$ zt}d9yV{`;M_<4cB6_3o@ZK_CGI;Y_ZE&9jqoyGT{u~Ws>MN#@TLaV()z8o*`Eocke z)P=6_>jn@YAd%MvqSt;7qCloACn(@$0Uf)DN1(tm{dd^kYzbPOym@o>^Y&jG#e&X$ z+U*YPsJy+8RkRUHb6 literal 0 HcmV?d00001 diff --git a/geosparql10/functions.html b/geosparql10/functions.html new file mode 100644 index 000000000..a0f5d8335 --- /dev/null +++ b/geosparql10/functions.html @@ -0,0 +1,1158 @@ + + + + GeoSPARQL Functions + + + + + + + + + +

+

GeoSPARQL Functions

+

A taxonomy

+
+

Concept Scheme

+
+
URI
+
http://www.opengis.net/def/function/geosparql/
+
Source
+
http://www.opengis.net/doc/geosparql/1.0
+
Ontology RDF
+
RDF (turtle)
+
+
+
+

Table of Contents

+
    +
  1. Collections
  2. +
  3. Concepts
  4. +
  5. Namespaces
  6. +
  7. Legend
  8. +
+
+
+

Overview

+
+
 
+
Figure 1: Taxonomy overview
+
+
+
+

Collections

+ +
+

GeoSPARQL Functionscol

+ + + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/
Source + http://www.opengis.net/doc/geosparql/1.0 +
Members + overlapcon, + touchescon, + boundarycon, + non-tangential proper part inversecon, + disconnectedcon, + covered bycon, + equalscon, + equalscon, + overlapscon, + symmetric differencecon, + tangential proper part inversecon, + intersectscon, + coverscon, + buffercon, + differencecon, + externally connectedcon, + convex hullcon, + containscon, + envelopecon, + intersectioncon, + relatecon, + meetcon, + disjointcon, + unioncon, + tangential proper partcon, + withincon, + insidecon, + disjointcon, + crossescon, + getSRIDcon, + containscon, + distancecon, + partially overlappingcon, + equalscon, + non-tangential proper partcon +
+
+
+
+

Concepts

+
    + +
+
+

boundarycon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/boundary
Definition +

A query function that returns the boundary of the input geometry.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

buffercon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/buffer
Definition +

A query function that returns a buffer around the input geometry.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

convex hullcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/convexHull
Definition +

A query function that returns the convex hull of the input geometry.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

differencecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/difference
Definition +

A query function that returns a geometry consisting of all points that are part of the first geometry but not the second geometry.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

distancecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/distance
Definition +

A query function that returns the distance between the two closest points of the input geometries.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

containscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/ehContains
Definition +

A query function that returns true if the first geometry argument spatially contains the second geometry argument.

+

DE-9IM: TTFFFF*


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

covered bycon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/ehCoveredBy
Definition +

A query function that returns true if the first geometry argument is spatially covered by the second geometry argument.

+

DE-9IM: TFFTFT*


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

coverscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/ehCovers
Definition +

A query function that returns true if the first geometry argument spatially covers the second geometry argument.

+

DE-9IM: TTFTFF*


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

disjointcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/ehDisjoint
Definition +

A query function that returns true if the input geometries are disjoint.

+

DE-9IM: FFFF***


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

equalscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/ehEquals
Definition +

A query function that returns true if the input geometries are equal.

+

DE-9IM: TFFFTFFFT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

insidecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/ehInside
Definition +

A query function that returns true if the first geometry argument is spatially inside the second geometry argument.

+

DE-9IM: TFFFFT*


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

meetcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/ehMeet
Definition +

A query function that returns true if the input geometries meet.

+

DE-9IM: FT* ^ FT ^ FT****


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

overlapcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/ehOverlap
Definition +

A query function that returns true if the input geometries overlap.

+

DE-9IM: TTT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

envelopecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/envelope
Definition +

A query function that returns the minimum bounding rectangle of the input geometry.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

getSRIDcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/getSRID
Definition +

A query function that returns the spatial reference system URI of the input geometry.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

intersectioncon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/intersection
Definition +

A query function that returns a geometry consisting of all points that are part of both input geometries.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

disconnectedcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/rcc8dc
Definition +

A query function that returns true if the input geometries are disjoint.

+

DE-9IM: FFTFFTTTT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

externally connectedcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/rcc8ec
Definition +

A query function that returns true if the input geometries meet.

+

DE-9IM: FFTFTTTTT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

equalscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/rcc8eq
Definition +

A query function that returns true if the input geometries are equal.

+

DE-9IM: TFFFTFFFT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

non-tangential proper partcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/rcc8ntpp
Definition +

A query function that returns true if the first geometry argument is spatially inside the second geometry argument.

+

DE-9IM: TFFTFFTTT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

non-tangential proper part inversecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/rcc8ntppi
Definition +

A query function that returns true if the first geometry argument spatially contains the second geometry argument.

+

DE-9IM: TTTFFTFFT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

partially overlappingcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/rcc8po
Definition +

A query function that returns true if the input geometries overlap.

+

DE-9IM: TTTTTTTTT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

tangential proper partcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/rcc8tpp
Definition +

A query function that returns true if the first geometry argument is spatially covered by the second geometry argument.

+

DE-9IM: TFFTTFTTT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

tangential proper part inversecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/rcc8tppi
Definition +

A query function that returns true if the first geometry argument spatially covers the second geometry argument.

+

DE-9IM: TTTFTTFFT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

relatecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/relate
Definition +

A query function that returns true if the spatial relationship between the two input geometries corresponds to one with acceptable values for the specified DE-9IM pattern matrix.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

containscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/sfContains
Definition +

A query function that returns true if the first geometry argument spatially contains the second geometry argument.

+

DE-9IM: T*FF*


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

crossescon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/sfCrosses
Definition +

A query function that returns true if the first geometry argument spatially crosses the second geometry argument.

+

DE-9IM: TTT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

disjointcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/sfDisjoint
Definition +

A query function that returns true if the input geometries are disjoint.

+

DE-9IM: FFFF***


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

equalscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/sfEquals
Definition +

A query function that returns true if the input geometries are equal.

+

DE-9IM: TFFFTFFFT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

intersectscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/sfIntersects
Definition +

A query function that returns true if the input geometries intersect.

+

DE-9IM: T* ^ T* ^ T ^ T**


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

overlapscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/sfOverlaps
Definition +

A query function that returns true if the first geometry argument spatially overlaps the second geometry argument.

+

DE-9IM: TTT


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

touchescon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/sfTouches
Definition +

A query function that returns true if the input geometries touch.

+

DE-9IM: FT* ^ FT ^ FT****


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

withincon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/sfWithin
Definition +

A query function that returns true if the first geometry argument is spatially within the second geometry argument.

+

DE-9IM: TFF**


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

symmetric differencecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/symDifference
Definition +

A query function that returns a geometry consisting of all points that are part of only one input geometry.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

unioncon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/function/geosparql/union
Definition +

A query function that returns a geometry consisting of all points that are part of at least one input geometry.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+ +
+

Namespaces

+
+
default (:)
+
http://www.opengis.net/def/function/geosparql/
+
brick
+
https://brickschema.org/schema/Brick#
+
csvw
+
http://www.w3.org/ns/csvw#
+
dc
+
http://purl.org/dc/elements/1.1/
+
dcam
+
http://purl.org/dc/dcam/
+
dcat
+
http://www.w3.org/ns/dcat#
+
dcmitype
+
http://purl.org/dc/dcmitype/
+
dcterms
+
http://purl.org/dc/terms/
+
doap
+
http://usefulinc.com/ns/doap#
+
fno
+
https://w3id.org/function/ontology#
+
foaf
+
http://xmlns.com/foaf/0.1/
+
geo
+
http://www.opengis.net/ont/geosparql#
+
geofo
+
http://www.opengis.net/def/function/output/geosparql/
+
geofp
+
http://www.opengis.net/def/function/parameter/geosparql/
+
geor
+
http://www.opengis.net/def/rule/geosparql/
+
odrl
+
http://www.w3.org/ns/odrl/2/
+
ogc
+
http://www.opengis.net/
+
org
+
http://www.w3.org/ns/org#
+
owl
+
http://www.w3.org/2002/07/owl#
+
policy
+
http://www.opengis.net/def/metamodel/ogc-na/
+
prof
+
http://www.w3.org/ns/dx/prof/
+
prov
+
http://www.w3.org/ns/prov#
+
qb
+
http://purl.org/linked-data/cube#
+
rdf
+
http://www.w3.org/1999/02/22-rdf-syntax-ns#
+
rdfs
+
http://www.w3.org/2000/01/rdf-schema#
+
sd
+
http://www.w3.org/ns/sparql-service-description#
+
sdo
+
https://schema.org/
+
sh
+
http://www.w3.org/ns/shacl#
+
skos
+
http://www.w3.org/2004/02/skos/core#
+
sosa
+
http://www.w3.org/ns/sosa/
+
ssn
+
http://www.w3.org/ns/ssn/
+
status
+
http://www.opengis.net/def/status/
+
time
+
http://www.w3.org/2006/time#
+
vann
+
http://purl.org/vocab/vann/
+
void
+
http://rdfs.org/ns/void#
+
wgs
+
https://www.w3.org/2003/01/geo/wgs84_pos#
+
xsd
+
http://www.w3.org/2001/XMLSchema#
+
+
+ +
+

Legend

+ + + +
colCollections
conConcepts
+
+ + \ No newline at end of file diff --git a/geosparql10/functions.json b/geosparql10/functions.json new file mode 100644 index 000000000..7b5a46272 --- /dev/null +++ b/geosparql10/functions.json @@ -0,0 +1,5110 @@ +[ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/envelope_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/boundary", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns the boundary of the input geometry." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "boundary" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/boundary_param1" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/boundary_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/distance_param3", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "units" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#anyURI" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/convexHull", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns the convex hull of the input geometry." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "convex hull" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/convexHull_param1" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/convexHull_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfIntersects_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/symDifference_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/intersection", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns a geometry consisting of all points that are part of both input geometries." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "intersection" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/intersection_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/intersection_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/intersection_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehCovers_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehInside_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfCrosses_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehDisjoint_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Collection", + "http://www.w3.org/2004/02/skos/core#ConceptScheme" + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#member": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/boundary" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/buffer" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/convexHull" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/difference" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/distance" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehContains" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehCoveredBy" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehCovers" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehDisjoint" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehEquals" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehInside" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehMeet" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehOverlap" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/envelope" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/getSRID" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/intersection" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8dc" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ec" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8eq" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntpp" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntppi" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8po" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tpp" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tppi" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/relate" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfContains" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfCrosses" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfDisjoint" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfEquals" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfIntersects" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfOverlaps" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfTouches" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfWithin" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/symDifference" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/union" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@value": "GeoSPARQL Functions" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfCrosses_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8po_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/buffer_param3", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "units" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#anyURI" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tppi_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/boundary_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ec_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehInside", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument is spatially inside the second geometry argument.\n\nDE-9IM: TFF*FFT**" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "inside" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehInside_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehInside_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehInside_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/getSRID", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns the spatial reference system URI of the input geometry." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "getSRID" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/getSRID_param1" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/getSRID_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/symDifference_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8po", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries overlap.\n\nDE-9IM: TTTTTTTTT" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "partially overlapping" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8po_param1" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8po_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8po_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfEquals_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfOverlaps_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tpp_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/intersection_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/relate_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehEquals_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfWithin_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehCoveredBy_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehCoveredBy_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntpp_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfDisjoint", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries are disjoint. \n \nDE-9IM: FF*FF****" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "disjoint" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfDisjoint_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfDisjoint_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfDisjoint_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfOverlaps_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfIntersects", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries intersect.\n\nDE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T**** " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "intersects" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfIntersects_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfIntersects_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfIntersects_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tpp_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tppi", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument spatially covers the second geometry argument.\n\nDE-9IM: TTTFTTFFT" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "tangential proper part inverse" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tppi_param1" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tppi_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tppi_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/difference_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8po_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8dc_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfTouches", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries touch.\n\nDE-9IM: FT******* ^ F**T***** ^ F***T****" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "touches" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfTouches_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfTouches_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfTouches_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntpp", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument is spatially inside the second geometry argument.\n\nDE-9IM: TFFTFFTTT" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "non-tangential proper part" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntpp_param1" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntpp_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntpp_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8dc", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries are disjoint. \n\nDE-9IM: FFTFFTTTT" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "disconnected" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8dc_param1" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8dc_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8dc_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8dc_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/relate_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/buffer_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "radius" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#double" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/buffer_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehDisjoint_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/symDifference_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehEquals_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/union", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns a geometry consisting of all points that are part of at least one input geometry." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "union" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/union_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/union_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/union_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfIntersects_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfTouches_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfContains_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntppi_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfOverlaps_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfCrosses_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfIntersects_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehMeet_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8eq_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8eq", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries are equal. \n \nDE-9IM: TFFFTFFFT" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "equals" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8eq_param1" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8eq_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8eq_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8eq_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/intersection_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/symDifference", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns a geometry consisting of all points that are part of only one input geometry." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "symmetric difference" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/symDifference_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/symDifference_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/symDifference_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfWithin_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehCoveredBy_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfWithin", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument is spatially within the second geometry argument. \n\nDE-9IM: T*F**F***" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "within" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfWithin_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfWithin_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfWithin_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ec_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ec", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries meet. \n\nDE-9IM: FFTFTTTTT" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "externally connected" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ec_param1" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ec_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ec_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehContains_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/envelope", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns the minimum bounding rectangle of the input geometry." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "envelope" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/envelope_param1" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/envelope_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntppi_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehContains", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument spatially contains the second geometry argument. \n \nDE-9IM: T*TFF*FF*" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "contains" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehContains_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehContains_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehContains_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehCovers_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfContains_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tppi_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/boundary_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfWithin_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfTouches_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfContains_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehMeet_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/relate_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tpp_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/difference_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tppi_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/convexHull_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehCovers_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehOverlap_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntppi", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument spatially contains the second geometry argument.\n\nDE-9IM: TTTFFTFFT" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "non-tangential proper part inverse" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntppi_param1" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntppi_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntppi_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/relate_param3", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "pattern-matrix" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#string" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehContains_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehMeet_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfContains", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument spatially contains the second geometry argument.\n\nDE-9IM: T*****FF*" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "contains" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfContains_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfContains_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfContains_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/getSRID_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehCovers", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument spatially covers the second geometry argument.\n\nDE-9IM: T*TFT*FF*" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "covers" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehCovers_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehCovers_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehCovers_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfEquals_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfDisjoint_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfDisjoint_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfEquals", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries are equal. \n\nDE-9IM: TFFFTFFFT" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "equals" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfEquals_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfEquals_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfEquals_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/buffer", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns a buffer around the input geometry." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "buffer" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/buffer_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/buffer_param2" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/buffer_param3" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/buffer_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/distance_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/envelope_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/distance_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#double" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehCoveredBy", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument is spatially covered by the second geometry argument.\n\nDE-9IM: TFF*TFT**" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "covered by" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehCoveredBy_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehCoveredBy_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehConveredBy_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8po_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehInside_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehOverlap_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntpp_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ec_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8eq_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/distance_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehInside_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/difference_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfDisjoint_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/buffer_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/difference", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns a geometry consisting of all points that are part of the first geometry but not the second geometry." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "difference" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/difference_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/difference_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/difference_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/relate", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the spatial relationship between the two input geometries corresponds to one with acceptable values for the specified DE-9IM pattern matrix." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "relate" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/relate_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/relate_param2" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/relate_param3" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/relate_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfCrosses", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument spatially crosses the second geometry argument.\n\nDE-9IM: T*T***T**" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "crosses" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfCrosses_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfCrosses_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfCrosses_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/distance", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns the distance between the two closest points of the input geometries." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "distance" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/distance_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/distance_param2" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/distance_param3" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/distance_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehContains_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehEquals_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehDisjoint_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehOverlap", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries overlap.\n\nDE-9IM: T*T***T**" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "overlap" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehOverlap_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehOverlap_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehOverlap_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/convexHull_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehDisjoint", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries are disjoint. \n\nDE-9IM: FF*FF****" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "disjoint" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehDisjoint_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehDisjoint_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehDisjoint_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehEquals", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries are equal. \n\nDE-9IM: TFFFTFFFT" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "equals" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehEquals_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehEquals_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehEquals_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntppi_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tpp", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument is spatially covered by the second geometry argument.\n\nDE-9IM: TFFTTFTTT" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "tangential proper part" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tpp_param1" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tpp_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tpp_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/union_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/union_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfTouches_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehMeet", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the input geometries meet.\n\nDE-9IM: FT******* ^ F**T***** ^ F***T****" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "meet" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehMeet_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/ehMeet_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehMeet_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfEquals_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8dc_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/union_param2", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom2" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfOverlaps", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept", + "http://www.w3.org/ns/sparql-service-description#Function", + "https://w3id.org/function/ontology#Function" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query function that returns true if the first geometry argument spatially overlaps the second geometry argument.\n\nDE-9IM: T*T***T** " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "overlaps" + } + ], + "https://w3id.org/function/ontology#expects": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfOverlaps_param1" + }, + { + "@id": "http://www.opengis.net/def/function/parameter/geosparql/sfOverlaps_param2" + } + ] + } + ], + "https://w3id.org/function/ontology#returns": [ + { + "@list": [ + { + "@id": "http://www.opengis.net/def/function/output/geosparql/sfOverlaps_output" + } + ] + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntpp_param1", + "@type": [ + "https://w3id.org/function/ontology#Parameter" + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "geom1" + } + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/intersection_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.opengis.net/wktLiteral" + }, + { + "@id": "http://www.opengis.net/gmlLiteral" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/ehOverlap_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ] + }, + { + "@id": "http://www.opengis.net/def/function/output/geosparql/getSRID_output", + "@type": [ + "https://w3id.org/function/ontology#Output" + ], + "https://w3id.org/function/ontology#required": [ + { + "@value": true + } + ], + "https://w3id.org/function/ontology#type": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#anyURI" + } + ] + } +] \ No newline at end of file diff --git a/geosparql10/functions.n3 b/geosparql10/functions.n3 new file mode 100644 index 000000000..9ae49dc08 --- /dev/null +++ b/geosparql10/functions.n3 @@ -0,0 +1,1184 @@ +@prefix dcterms: . +@prefix fno: . +@prefix geof: . +@prefix geofo: . +@prefix geofp: . +@prefix ogc: . +@prefix policy: . +@prefix rdf: . +@prefix rdfs: . +@prefix sd: . +@prefix skos: . +@prefix status: . +@prefix xsd: . + +geof: a skos:Collection, + skos:ConceptScheme ; + dcterms:source ; + rdfs:seeAlso ; + skos:member geof:boundary, + geof:buffer, + geof:convexHull, + geof:difference, + geof:distance, + geof:ehContains, + geof:ehCoveredBy, + geof:ehCovers, + geof:ehDisjoint, + geof:ehEquals, + geof:ehInside, + geof:ehMeet, + geof:ehOverlap, + geof:envelope, + geof:getSRID, + geof:intersection, + geof:rcc8dc, + geof:rcc8ec, + geof:rcc8eq, + geof:rcc8ntpp, + geof:rcc8ntppi, + geof:rcc8po, + geof:rcc8tpp, + geof:rcc8tppi, + geof:relate, + geof:sfContains, + geof:sfCrosses, + geof:sfDisjoint, + geof:sfEquals, + geof:sfIntersects, + geof:sfOverlaps, + geof:sfTouches, + geof:sfWithin, + geof:symDifference, + geof:union ; + skos:prefLabel "GeoSPARQL Functions" . + +geofo:ehCoveredBy_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geof:boundary a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns the boundary of the input geometry."@en ; + skos:prefLabel "boundary"@en ; + fno:expects ( geofp:boundary_param1 ) ; + fno:returns ( geofo:boundary_output ) . + +geof:buffer a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns a buffer around the input geometry."@en ; + skos:prefLabel "buffer"@en ; + fno:expects ( geofp:buffer_param1 geofp:buffer_param2 geofp:buffer_param3 ) ; + fno:returns ( geofo:buffer_output ) . + +geof:convexHull a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns the convex hull of the input geometry."@en ; + skos:prefLabel "convex hull"@en ; + fno:expects ( geofp:convexHull_param1 ) ; + fno:returns ( geofo:convexHull_output ) . + +geof:difference a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns a geometry consisting of all points that are part of the first geometry but not the second geometry."@en ; + skos:prefLabel "difference"@en ; + fno:expects ( geofp:difference_param1 geofp:difference_param2 ) ; + fno:returns ( geofo:difference_output ) . + +geof:distance a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns the distance between the two closest points of the input geometries."@en ; + skos:prefLabel "distance"@en ; + fno:expects ( geofp:distance_param1 geofp:distance_param2 geofp:distance_param3 ) ; + fno:returns ( geofo:distance_output ) . + +geof:ehContains a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially contains the second geometry argument. + +DE-9IM: T*TFF*FF*"""@en ; + skos:prefLabel "contains"@en ; + fno:expects ( geofp:ehContains_param1 geofp:ehContains_param2 ) ; + fno:returns ( geofo:ehContains_output ) . + +geof:ehCoveredBy a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument is spatially covered by the second geometry argument. + +DE-9IM: TFF*TFT**"""@en ; + skos:prefLabel "covered by"@en ; + fno:expects ( geofp:ehCoveredBy_param1 geofp:ehCoveredBy_param2 ) ; + fno:returns ( geofo:ehConveredBy_output ) . + +geof:ehCovers a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially covers the second geometry argument. + +DE-9IM: T*TFT*FF*"""@en ; + skos:prefLabel "covers"@en ; + fno:expects ( geofp:ehCovers_param1 geofp:ehCovers_param2 ) ; + fno:returns ( geofo:ehCovers_output ) . + +geof:ehDisjoint a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are disjoint. + +DE-9IM: FF*FF****"""@en ; + skos:prefLabel "disjoint"@en ; + fno:expects ( geofp:ehDisjoint_param1 geofp:ehDisjoint_param2 ) ; + fno:returns ( geofo:ehDisjoint_output ) . + +geof:ehEquals a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are equal. + +DE-9IM: TFFFTFFFT"""@en ; + skos:prefLabel "equals"@en ; + fno:expects ( geofp:ehEquals_param1 geofp:ehEquals_param2 ) ; + fno:returns ( geofo:ehEquals_output ) . + +geof:ehInside a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument is spatially inside the second geometry argument. + +DE-9IM: TFF*FFT**"""@en ; + skos:prefLabel "inside"@en ; + fno:expects ( geofp:ehInside_param1 geofp:ehInside_param2 ) ; + fno:returns ( geofo:ehInside_output ) . + +geof:ehMeet a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries meet. + +DE-9IM: FT******* ^ F**T***** ^ F***T****"""@en ; + skos:prefLabel "meet"@en ; + fno:expects ( geofp:ehMeet_param1 geofp:ehMeet_param2 ) ; + fno:returns ( geofo:ehMeet_output ) . + +geof:ehOverlap a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries overlap. + +DE-9IM: T*T***T**"""@en ; + skos:prefLabel "overlap"@en ; + fno:expects ( geofp:ehOverlap_param1 geofp:ehOverlap_param2 ) ; + fno:returns ( geofo:ehOverlap_output ) . + +geof:envelope a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns the minimum bounding rectangle of the input geometry."@en ; + skos:prefLabel "envelope"@en ; + fno:expects ( geofp:envelope_param1 ) ; + fno:returns ( geofo:envelope_output ) . + +geof:getSRID a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns the spatial reference system URI of the input geometry."@en ; + skos:prefLabel "getSRID"@en ; + fno:expects ( geofp:getSRID_param1 ) ; + fno:returns ( geofo:getSRID_output ) . + +geof:intersection a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns a geometry consisting of all points that are part of both input geometries."@en ; + skos:prefLabel "intersection"@en ; + fno:expects ( geofp:intersection_param1 geofp:intersection_param2 ) ; + fno:returns ( geofo:intersection_output ) . + +geof:rcc8dc a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are disjoint. + +DE-9IM: FFTFFTTTT"""@en ; + skos:prefLabel "disconnected"@en ; + fno:expects ( geof:rcc8dc_param1 geof:rcc8dc_param2 ) ; + fno:returns ( geof:rcc8dc_output ) . + +geof:rcc8dc_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geof:rcc8dc_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8dc_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8ec a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries meet. + +DE-9IM: FFTFTTTTT"""@en ; + skos:prefLabel "externally connected"@en ; + fno:expects ( geof:rcc8ec_param1 geof:rcc8ec_param2 ) ; + fno:returns ( geof:rcc8ec_output ) . + +geof:rcc8ec_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geof:rcc8ec_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8ec_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8eq a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are equal. + +DE-9IM: TFFFTFFFT"""@en ; + skos:prefLabel "equals"@en ; + fno:expects ( geof:rcc8eq_param1 geof:rcc8eq_param2 ) ; + fno:returns ( geof:rcc8eq_output ) . + +geof:rcc8eq_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geof:rcc8eq_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8eq_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8ntpp a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument is spatially inside the second geometry argument. + +DE-9IM: TFFTFFTTT"""@en ; + skos:prefLabel "non-tangential proper part"@en ; + fno:expects ( geof:rcc8ntpp_param1 geof:rcc8ntpp_param2 ) ; + fno:returns ( geof:rcc8ntpp_output ) . + +geof:rcc8ntpp_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geof:rcc8ntpp_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8ntpp_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8ntppi a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially contains the second geometry argument. + +DE-9IM: TTTFFTFFT"""@en ; + skos:prefLabel "non-tangential proper part inverse"@en ; + fno:expects ( geof:rcc8ntppi_param1 geof:rcc8ntppi_param2 ) ; + fno:returns ( geof:rcc8ntppi_output ) . + +geof:rcc8ntppi_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geof:rcc8ntppi_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8ntppi_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8po a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries overlap. + +DE-9IM: TTTTTTTTT"""@en ; + skos:prefLabel "partially overlapping"@en ; + fno:expects ( geof:rcc8po_param1 geof:rcc8po_param2 ) ; + fno:returns ( geof:rcc8po_output ) . + +geof:rcc8po_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geof:rcc8po_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8po_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8tpp a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument is spatially covered by the second geometry argument. + +DE-9IM: TFFTTFTTT"""@en ; + skos:prefLabel "tangential proper part"@en ; + fno:expects ( geof:rcc8tpp_param1 geof:rcc8tpp_param2 ) ; + fno:returns ( geof:rcc8tpp_output ) . + +geof:rcc8tpp_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geof:rcc8tpp_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8tpp_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8tppi a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially covers the second geometry argument. + +DE-9IM: TTTFTTFFT"""@en ; + skos:prefLabel "tangential proper part inverse"@en ; + fno:expects ( geof:rcc8tppi_param1 geof:rcc8tppi_param2 ) ; + fno:returns ( geof:rcc8tppi_output ) . + +geof:rcc8tppi_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geof:rcc8tppi_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:rcc8tppi_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geof:relate a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns true if the spatial relationship between the two input geometries corresponds to one with acceptable values for the specified DE-9IM pattern matrix."@en ; + skos:prefLabel "relate"@en ; + fno:expects ( geofp:relate_param1 geofp:relate_param2 geofp:relate_param3 ) ; + fno:returns ( geofo:relate_output ) . + +geof:sfContains a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially contains the second geometry argument. + +DE-9IM: T*****FF*"""@en ; + skos:prefLabel "contains"@en ; + fno:expects ( geofp:sfContains_param1 geofp:sfContains_param2 ) ; + fno:returns ( geofo:sfContains_output ) . + +geof:sfCrosses a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially crosses the second geometry argument. + +DE-9IM: T*T***T**"""@en ; + skos:prefLabel "crosses"@en ; + fno:expects ( geofp:sfCrosses_param1 geofp:sfCrosses_param2 ) ; + fno:returns ( geofo:sfCrosses_output ) . + +geof:sfDisjoint a skos:Concept, + sd:Function, + fno:Function ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are disjoint. + +DE-9IM: FF*FF****"""@en ; + skos:prefLabel "disjoint"@en ; + fno:expects ( geofp:sfDisjoint_param1 geofp:sfDisjoint_param2 ) ; + fno:returns ( geofo:sfDisjoint_output ) . + +geof:sfEquals a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are equal. + +DE-9IM: TFFFTFFFT"""@en ; + skos:prefLabel "equals"@en ; + fno:expects ( geofp:sfEquals_param1 geofp:sfEquals_param2 ) ; + fno:returns ( geofo:sfEquals_output ) . + +geof:sfIntersects a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries intersect. + +DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T**** """@en ; + skos:prefLabel "intersects"@en ; + fno:expects ( geofp:sfIntersects_param1 geofp:sfIntersects_param2 ) ; + fno:returns ( geofo:sfIntersects_output ) . + +geof:sfOverlaps a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially overlaps the second geometry argument. + +DE-9IM: T*T***T** """@en ; + skos:prefLabel "overlaps"@en ; + fno:expects ( geofp:sfOverlaps_param1 geofp:sfOverlaps_param2 ) ; + fno:returns ( geofo:sfOverlaps_output ) . + +geof:sfTouches a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries touch. + +DE-9IM: FT******* ^ F**T***** ^ F***T****"""@en ; + skos:prefLabel "touches"@en ; + fno:expects ( geofp:sfTouches_param1 geofp:sfTouches_param2 ) ; + fno:returns ( geofo:sfTouches_output ) . + +geof:sfWithin a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument is spatially within the second geometry argument. + +DE-9IM: T*F**F***"""@en ; + skos:prefLabel "within"@en ; + fno:expects ( geofp:sfWithin_param1 geofp:sfWithin_param2 ) ; + fno:returns ( geofo:sfWithin_output ) . + +geof:symDifference a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns a geometry consisting of all points that are part of only one input geometry."@en ; + skos:prefLabel "symmetric difference"@en ; + fno:expects ( geofp:symDifference_param1 geofp:symDifference_param2 ) ; + fno:returns ( geofo:symDifference_output ) . + +geof:union a skos:Concept, + sd:Function, + fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns a geometry consisting of all points that are part of at least one input geometry."@en ; + skos:prefLabel "union"@en ; + fno:expects ( geofp:union_param1 geofp:union_param2 ) ; + fno:returns ( geofo:union_output ) . + +geofo:boundary_output a fno:Output ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofo:buffer_output a fno:Output ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofo:convexHull_output a fno:Output ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofo:difference_output a fno:Output ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofo:distance_output a fno:Output ; + fno:required true ; + fno:type xsd:double . + +geofo:ehContains_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:ehCovers_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:ehDisjoint_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:ehEquals_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:ehInside_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:ehMeet_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:ehOverlap_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:envelope_output a fno:Output ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofo:getSRID_output a fno:Output ; + fno:required true ; + fno:type xsd:anyURI . + +geofo:intersection_output a fno:Output ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofo:relate_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:sfContains_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:sfCrosses_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:sfDisjoint_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:sfEquals_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:sfIntersects_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:sfOverlaps_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:sfTouches_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:sfWithin_output a fno:Output ; + fno:required true ; + fno:type xsd:boolean . + +geofo:symDifference_output a fno:Output ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofo:union_output a fno:Output ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:boundary_param1 a fno:Parameter ; + skos:prefLabel "geom"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:buffer_param1 a fno:Parameter ; + skos:prefLabel "geom"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:buffer_param2 a fno:Parameter ; + skos:prefLabel "radius"@en ; + fno:required true ; + fno:type xsd:double . + +geofp:buffer_param3 a fno:Parameter ; + skos:prefLabel "units"@en ; + fno:required true ; + fno:type xsd:anyURI . + +geofp:convexHull_param1 a fno:Parameter ; + skos:prefLabel "geom"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:difference_param1 a fno:Parameter ; + skos:prefLabel "geom"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:difference_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:distance_param1 a fno:Parameter ; + skos:prefLabel "geom"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:distance_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:distance_param3 a fno:Parameter ; + skos:prefLabel "units"@en ; + fno:required true ; + fno:type xsd:anyURI . + +geofp:ehContains_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehContains_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehCoveredBy_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehCoveredBy_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehCovers_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehCovers_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehDisjoint_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehDisjoint_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehEquals_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehEquals_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehInside_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehInside_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehMeet_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehMeet_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehOverlap_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:ehOverlap_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:envelope_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:getSRID_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:intersection_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:intersection_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:relate_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:relate_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:relate_param3 a fno:Parameter ; + skos:prefLabel "pattern-matrix"@en ; + fno:required true ; + fno:type xsd:string . + +geofp:sfContains_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfContains_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfCrosses_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfCrosses_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfDisjoint_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfDisjoint_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfEquals_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfEquals_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfIntersects_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfIntersects_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfOverlaps_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfOverlaps_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfTouches_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfTouches_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfWithin_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:sfWithin_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:symDifference_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:symDifference_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:union_param1 a fno:Parameter ; + skos:prefLabel "geom1"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + +geofp:union_param2 a fno:Parameter ; + skos:prefLabel "geom2"@en ; + fno:required true ; + fno:type ogc:gmlLiteral, + ogc:wktLiteral . + diff --git a/geosparql10/functions.ttl b/geosparql10/functions.ttl new file mode 100644 index 000000000..d83101908 --- /dev/null +++ b/geosparql10/functions.ttl @@ -0,0 +1,1194 @@ +PREFIX dcterms: +PREFIX geof: +PREFIX owl: +PREFIX policy: +PREFIX rdfs: +PREFIX ogc: +PREFIX geofp: +PREFIX geofo: +PREFIX geor: +PREFIX sd: +PREFIX skos: +PREFIX status: +PREFIX fno: +PREFIX xsd: + +geof: + a skos:Collection, skos:ConceptScheme ; + dcterms:source ; + rdfs:seeAlso ; + skos:member + geof:boundary , + geof:buffer , + geof:convexHull , + geof:difference , + geof:distance , + geof:ehContains , + geof:ehCoveredBy , + geof:ehCovers , + geof:ehDisjoint , + geof:ehEquals , + geof:ehInside , + geof:ehMeet , + geof:ehOverlap , + geof:envelope , + geof:getSRID , + geof:intersection , + geof:rcc8dc , + geof:rcc8ec , + geof:rcc8eq , + geof:rcc8ntpp , + geof:rcc8ntppi , + geof:rcc8po , + geof:rcc8tpp , + geof:rcc8tppi , + geof:relate , + geof:sfContains , + geof:sfCrosses , + geof:sfDisjoint , + geof:sfEquals , + geof:sfIntersects , + geof:sfOverlaps , + geof:sfTouches , + geof:sfWithin , + geof:symDifference , + geof:union ; + skos:prefLabel "GeoSPARQL Functions" ; +. + +geof:boundary + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:boundary_param1 ) ; + fno:returns (geofo:boundary_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns the boundary of the input geometry."@en ; + skos:prefLabel "boundary"@en ; +. + +geofp:boundary_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom"@en . + +geofo:boundary_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type ogc:wktLiteral, ogc:gmlLiteral . + +geof:buffer + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:buffer_param1 geofp:buffer_param2 geofp:buffer_param3 ) ; + fno:returns (geofo:buffer_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns a buffer around the input geometry."@en ; + skos:prefLabel "buffer"@en ; +. + +geofp:buffer_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom"@en . + +geofp:buffer_param2 a fno:Parameter ; + fno:type xsd:double ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "radius"@en . + +geofp:buffer_param3 a fno:Parameter ; + fno:type xsd:anyURI ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "units"@en . + +geofo:buffer_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type ogc:wktLiteral, ogc:gmlLiteral . + +geof:convexHull + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:convexHull_param1 ) ; + fno:returns (geofo:convexHull_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns the convex hull of the input geometry."@en ; + skos:prefLabel "convex hull"@en ; +. + +geofp:convexHull_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom"@en . + +geofo:convexHull_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type ogc:wktLiteral, ogc:gmlLiteral . + + +geof:difference + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + fno:expects (geofp:difference_param1 geofp:difference_param2 ) ; + fno:returns (geofo:difference_output ) ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns a geometry consisting of all points that are part of the first geometry but not the second geometry."@en ; + skos:prefLabel "difference"@en ; +. + +geofp:difference_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom"@en . + +geofp:difference_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:difference_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type ogc:wktLiteral, ogc:gmlLiteral . + + +geof:distance + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + fno:expects (geofp:distance_param1 geofp:distance_param2 geofp:distance_param3 ) ; + fno:returns (geofo:distance_output ) ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns the distance between the two closest points of the input geometries."@en ; + skos:prefLabel "distance"@en ; +. + +geofp:distance_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom"@en . + +geofp:distance_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofp:distance_param3 a fno:Parameter ; + fno:type xsd:anyURI ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "units"@en . + +geofo:distance_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:double . + + +geof:ehContains + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:ehContains_param1 geofp:ehContains_param2 ) ; + fno:returns (geofo:ehContains_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially contains the second geometry argument. + +DE-9IM: T*TFF*FF*"""@en ; + skos:prefLabel "contains"@en ; +. + +geofp:ehContains_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:ehContains_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:ehContains_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:ehCoveredBy + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:ehCoveredBy_param1 geofp:ehCoveredBy_param2 ) ; + fno:returns (geofo:ehConveredBy_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument is spatially covered by the second geometry argument. + +DE-9IM: TFF*TFT**"""@en ; + skos:prefLabel "covered by"@en ; +. + +geofp:ehCoveredBy_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:ehCoveredBy_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:ehCoveredBy_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:ehCovers + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:ehCovers_param1 geofp:ehCovers_param2 ) ; + fno:returns (geofo:ehCovers_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially covers the second geometry argument. + +DE-9IM: T*TFT*FF*"""@en ; + skos:prefLabel "covers"@en ; +. + +geofp:ehCovers_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:ehCovers_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:ehCovers_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + + +geof:ehDisjoint + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:ehDisjoint_param1 geofp:ehDisjoint_param2 ) ; + fno:returns (geofo:ehDisjoint_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are disjoint. + +DE-9IM: FF*FF****"""@en ; + skos:prefLabel "disjoint"@en ; +. + +geofp:ehDisjoint_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:ehDisjoint_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:ehDisjoint_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:ehEquals + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:ehEquals_param1 geofp:ehEquals_param2 ) ; + fno:returns (geofo:ehEquals_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are equal. + +DE-9IM: TFFFTFFFT"""@en ; + skos:prefLabel "equals"@en ; +. + + +geofp:ehEquals_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:ehEquals_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:ehEquals_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:ehInside + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:ehInside_param1 geofp:ehInside_param2 ) ; + fno:returns (geofo:ehInside_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument is spatially inside the second geometry argument. + +DE-9IM: TFF*FFT**"""@en ; + skos:prefLabel "inside"@en ; +. + +geofp:ehInside_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:ehInside_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:ehInside_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + + +geof:ehMeet + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:ehMeet_param1 geofp:ehMeet_param2 ) ; + fno:returns (geofo:ehMeet_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries meet. + +DE-9IM: FT******* ^ F**T***** ^ F***T****"""@en ; + skos:prefLabel "meet"@en ; +. + +geofp:ehMeet_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:ehMeet_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:ehMeet_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + + +geof:ehOverlap + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:ehOverlap_param1 geofp:ehOverlap_param2 ) ; + fno:returns (geofo:ehOverlap_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries overlap. + +DE-9IM: T*T***T**"""@en ; + skos:prefLabel "overlap"@en ; +. + +geofp:ehOverlap_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:ehOverlap_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:ehOverlap_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + + +geof:envelope + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + fno:expects (geofp:envelope_param1 ) ; + fno:returns (geofo:envelope_output ) ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns the minimum bounding rectangle of the input geometry."@en ; + skos:prefLabel "envelope"@en ; +. + +geofp:envelope_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofo:envelope_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type ogc:wktLiteral, ogc:gmlLiteral . + +geof:getSRID + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:getSRID_param1 ) ; + fno:returns (geofo:getSRID_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns the spatial reference system URI of the input geometry."@en ; + skos:prefLabel "getSRID"@en ; +. + +geofp:getSRID_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofo:getSRID_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:anyURI . + +geof:intersection + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:intersection_param1 geofp:intersection_param2 ) ; + fno:returns (geofo:intersection_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns a geometry consisting of all points that are part of both input geometries."@en ; + skos:prefLabel "intersection"@en ; +. + +geofp:intersection_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:intersection_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:intersection_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type ogc:wktLiteral, ogc:gmlLiteral . + +geof:rcc8dc + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geof:rcc8dc_param1 geof:rcc8dc_param2 ) ; + fno:returns (geof:rcc8dc_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are disjoint. + +DE-9IM: FFTFFTTTT"""@en ; + skos:prefLabel "disconnected"@en ; +. + +geof:rcc8dc_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geof:rcc8dc_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geof:rcc8dc_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:rcc8ec + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geof:rcc8ec_param1 geof:rcc8ec_param2 ) ; + fno:returns (geof:rcc8ec_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries meet. + +DE-9IM: FFTFTTTTT"""@en ; + skos:prefLabel "externally connected"@en ; +. + +geof:rcc8ec_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geof:rcc8ec_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geof:rcc8ec_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:rcc8eq + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geof:rcc8eq_param1 geof:rcc8eq_param2 ) ; + fno:returns (geof:rcc8eq_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are equal. + +DE-9IM: TFFFTFFFT"""@en ; + skos:prefLabel "equals"@en ; +. + +geof:rcc8eq_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geof:rcc8eq_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geof:rcc8eq_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:rcc8ntpp + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geof:rcc8ntpp_param1 geof:rcc8ntpp_param2 ) ; + fno:returns (geof:rcc8ntpp_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument is spatially inside the second geometry argument. + +DE-9IM: TFFTFFTTT"""@en ; + skos:prefLabel "non-tangential proper part"@en ; +. + +geof:rcc8ntpp_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geof:rcc8ntpp_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geof:rcc8ntpp_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:rcc8ntppi + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geof:rcc8ntppi_param1 geof:rcc8ntppi_param2 ) ; + fno:returns (geof:rcc8ntppi_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially contains the second geometry argument. + +DE-9IM: TTTFFTFFT"""@en ; + skos:prefLabel "non-tangential proper part inverse"@en ; +. + +geof:rcc8ntppi_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geof:rcc8ntppi_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geof:rcc8ntppi_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:rcc8po + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geof:rcc8po_param1 geof:rcc8po_param2 ) ; + fno:returns (geof:rcc8po_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries overlap. + +DE-9IM: TTTTTTTTT"""@en ; + skos:prefLabel "partially overlapping"@en ; +. + +geof:rcc8po_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geof:rcc8po_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geof:rcc8po_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:rcc8tpp + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geof:rcc8tpp_param1 geof:rcc8tpp_param2 ) ; + fno:returns (geof:rcc8tpp_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument is spatially covered by the second geometry argument. + +DE-9IM: TFFTTFTTT"""@en ; + skos:prefLabel "tangential proper part"@en ; +. + +geof:rcc8tpp_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geof:rcc8tpp_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geof:rcc8tpp_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:rcc8tppi + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geof:rcc8tppi_param1 geof:rcc8tppi_param2 ) ; + fno:returns (geof:rcc8tppi_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially covers the second geometry argument. + +DE-9IM: TTTFTTFFT"""@en ; + skos:prefLabel "tangential proper part inverse"@en ; +. + +geof:rcc8tppi_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geof:rcc8tppi_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geof:rcc8tppi_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:relate + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:relate_param1 geofp:relate_param2 geofp:relate_param3 ) ; + fno:returns (geofo:relate_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns true if the spatial relationship between the two input geometries corresponds to one with acceptable values for the specified DE-9IM pattern matrix."@en ; + skos:prefLabel "relate"@en ; +. + +geofp:relate_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:relate_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofp:relate_param3 a fno:Parameter ; + fno:type xsd:string ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "pattern-matrix"@en . + +geofo:relate_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:sfContains + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:sfContains_param1 geofp:sfContains_param2 ) ; + fno:returns (geofo:sfContains_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially contains the second geometry argument. + +DE-9IM: T*****FF*"""@en ; + skos:prefLabel "contains"@en ; +. + +geofp:sfContains_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:sfContains_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:sfContains_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:sfCrosses + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:sfCrosses_param1 geofp:sfCrosses_param2 ) ; + fno:returns (geofo:sfCrosses_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially crosses the second geometry argument. + +DE-9IM: T*T***T**"""@en ; + skos:prefLabel "crosses"@en ; +. + +geofp:sfCrosses_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:sfCrosses_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:sfCrosses_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:sfDisjoint + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:sfDisjoint_param1 geofp:sfDisjoint_param2 ) ; + fno:returns (geofo:sfDisjoint_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are disjoint. + +DE-9IM: FF*FF****"""@en ; + skos:prefLabel "disjoint"@en ; +. + + +geofp:sfDisjoint_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:sfDisjoint_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:sfDisjoint_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:sfEquals + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:sfEquals_param1 geofp:sfEquals_param2 ) ; + fno:returns (geofo:sfEquals_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries are equal. + +DE-9IM: TFFFTFFFT"""@en ; + skos:prefLabel "equals"@en ; +. + + +geofp:sfEquals_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:sfEquals_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:sfEquals_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:sfIntersects + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:sfIntersects_param1 geofp:sfIntersects_param2 ) ; + fno:returns (geofo:sfIntersects_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries intersect. + +DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T**** """@en ; + skos:prefLabel "intersects"@en ; +. + +geofp:sfIntersects_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:sfIntersects_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:sfIntersects_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:sfOverlaps + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:sfOverlaps_param1 geofp:sfOverlaps_param2 ) ; + fno:returns (geofo:sfOverlaps_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument spatially overlaps the second geometry argument. + +DE-9IM: T*T***T** """@en ; + skos:prefLabel "overlaps"@en ; +. + +geofp:sfOverlaps_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:sfOverlaps_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:sfOverlaps_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:sfTouches + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:sfTouches_param1 geofp:sfTouches_param2 ) ; + fno:returns (geofo:sfTouches_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the input geometries touch. + +DE-9IM: FT******* ^ F**T***** ^ F***T****"""@en ; + skos:prefLabel "touches"@en ; +. + +geofp:sfTouches_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:sfTouches_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:sfTouches_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:sfWithin + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:sfWithin_param1 geofp:sfWithin_param2 ) ; + fno:returns (geofo:sfWithin_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition """A query function that returns true if the first geometry argument is spatially within the second geometry argument. + +DE-9IM: T*F**F***"""@en ; + skos:prefLabel "within"@en ; +. + +geofp:sfWithin_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:sfWithin_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:sfWithin_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type xsd:boolean . + +geof:symDifference + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:symDifference_param1 geofp:symDifference_param2 ) ; + fno:returns (geofo:symDifference_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns a geometry consisting of all points that are part of only one input geometry."@en ; + skos:prefLabel "symmetric difference"@en ; +. + +geofp:symDifference_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:symDifference_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:symDifference_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type ogc:wktLiteral, ogc:gmlLiteral . + +geof:union + a + skos:Concept , + sd:Function, fno:Function ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + fno:expects (geofp:union_param1 geofp:union_param2 ) ; + fno:returns (geofo:union_output ) ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query function that returns a geometry consisting of all points that are part of at least one input geometry."@en ; + skos:prefLabel "union"@en ; +. + +geofp:union_param1 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom1"@en . + +geofp:union_param2 a fno:Parameter ; + fno:type ogc:wktLiteral, ogc:gmlLiteral ; + fno:required "true"^^xsd:boolean ; + skos:prefLabel "geom2"@en . + +geofo:union_output a fno:Output ; + fno:required "true"^^xsd:boolean ; + fno:type ogc:wktLiteral, ogc:gmlLiteral . + diff --git a/geosparql10/geo.html b/geosparql10/geo.html new file mode 100644 index 000000000..0f783d79a --- /dev/null +++ b/geosparql10/geo.html @@ -0,0 +1,2143 @@ + + + + GeoSPARQL Ontology + + + + + + + + + +
made by + pyLODE + 2.13.2 +
+

GeoSPARQL Ontology

+
+

Metadata

+
+
URI
+
http://www.opengis.net/ont/geosparql
+
Creator(s)
+
+ Open Geospatial Consortium
+
+
Version Information
+
OGC GeoSPARQL 1.0
+
Version URI
+
http://www.opengis.net/ont/geosparql/1.0
+
Ontology RDF
+
RDF (turtle)
+
+

Description

+
+

An RDF/OWL vocabulary for representing spatial information

+
+
+
+

Table of Contents

+
    +
  1. Classes
  2. +
  3. Object Properties
  4. +
  5. Datatype Properties
  6. +
  7. Annotation Properties
  8. +
  9. Namespaces
  10. +
  11. Legend
  12. +
+
+
+

Overview

+
+
Pictures say 1,000 words
+
Figure 1: Ontology overview
+
+
+
+

Classes

+ +
+

+ Featurec + # Classes +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#Feature
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  This class represents the top-level feature type. This class is
+  equivalent to GFI_Feature defined in ISO 19156:2011, and it is
+  superclass of all feature types.
+
+
Super-classes + SpatialObjectc
+
In domain of + hasGeometryop
+ defaultGeometryop
+
+
+
+

+ Geometryc + # Classes +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#Geometry
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  The class represents the top-level geometry type. This class is
+  equivalent to the UML class GM_Object defined in ISO 19107, and
+  it is superclass of all geometry types.
+
+
Super-classes + SpatialObjectc
+
In domain of + spatialDimensiondp
+ dimensiondp
+ has serializationdp
+ asGMLdp
+ asWKTdp
+ isEmptydp
+ isSimpledp
+ coordinateDimensiondp
+
In range of + hasGeometryop
+ defaultGeometryop
+
+
+
+

+ SpatialObjectc + # Classes +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#SpatialObject
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  The class spatial-object represents everything that can have
+  a spatial representation. It is superclass of feature and geometry.
+
+
Sub-classes + Featurec
+ Geometryc
+
In domain of + coveredByop
+ overlapsop
+ withinop
+ tangential proper part inverseop
+ crossesop
+ tangential proper partop
+ disjointop
+ containsop
+ partially overlappingop
+ disconnectedop
+ touchesop
+ containsop
+ equalsop
+ meetop
+ equalsop
+ insideop
+ intersectsop
+ coversop
+ disjointop
+ equalsop
+ non-tangential proper part inverseop
+ non-tangential proper partop
+ overlapop
+ externally connectedop
+
In range of + containsop
+ disjointop
+ partially overlappingop
+ touchesop
+ equalsop
+ insideop
+ intersectsop
+ meetop
+ coversop
+ non-tangential proper partop
+ non-tangential proper part inverseop
+ equalsop
+ crossesop
+ overlapop
+ externally connectedop
+ disjointop
+ coveredByop
+ overlapsop
+ withinop
+ containsop
+ tangential proper part inverseop
+ equalsop
+ tangential proper partop
+ disconnectedop
+
+
+
+
+

Object Properties

+ +
+

defaultGeometryop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#defaultGeometry
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  The default geometry to be used in spatial calculations.
+  It is Usually the most detailed geometry.
+
+
Super-properties + hasGeometryop +
Domain(s) + Featurec +
Range(s) + geo:Geometryc +
+
+
+

containsop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#ehContains
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially contains the
+  object SpatialObject. DE-9IM: T*TFF*FF*
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

coveredByop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#ehCoveredBy
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject is spatially covered
+  by the object SpatialObject. DE-9IM: TFF*TFT**
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

coversop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#ehCovers
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially covers the
+  object SpatialObject. DE-9IM: T*TFT*FF*
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

disjointop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#ehDisjoint
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  Exists if the subject SpatialObject is spatially disjoint
+  from the object SpatialObject. DE-9IM: FF*FF****
+
+
Equivalent properties + disjointop + disconnectedop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

equalsop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#ehEquals
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  Exists if the subject SpatialObject spatially equals the
+  object SpatialObject. DE-9IM: TFFFTFFFT
+
+
Equivalent properties + equalsop + equalsop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

insideop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#ehInside
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  Exists if the subject SpatialObject is spatially inside
+  the object SpatialObject. DE-9IM: TFF*FFT**
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

meetop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#ehMeet
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  Exists if the subject SpatialObject spatially meets the
+  object SpatialObject.
+  DE-9IM: FT******* ^ F**T***** ^ F***T****
+
+
Equivalent properties + touchesop + externally connectedop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

overlapop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#ehOverlap
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially overlaps the
+  object SpatialObject. DE-9IM: T*T***T**
+
+
Equivalent properties + overlapsop + partially overlappingop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

hasGeometryop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#hasGeometry
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  A spatial representation for a given feature.
+
+
Domain(s) + Featurec +
Range(s) + geo:Geometryc +
+
+
+

disconnectedop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#rcc8dc
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject is spatially disjoint
+  from the object SpatialObject. DE-9IM: FFTFFTTTT
+
+
Equivalent properties + disjointop + disjointop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

externally connectedop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#rcc8ec
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially meets the
+  object SpatialObject. DE-9IM: FFTFTTTTT
+
+
Equivalent properties + touchesop + meetop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

equalsop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#rcc8eq
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially equals the
+  object SpatialObject. DE-9IM: TFFFTFFFT
+
+
Equivalent properties + equalsop + equalsop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

non-tangential proper partop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#rcc8ntpp
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject is spatially inside
+  the object SpatialObject. DE-9IM: TFFTFFTTT
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

non-tangential proper part inverseop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#rcc8ntppi
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  Exists if the subject SpatialObject spatially contains the
+  object SpatialObject. DE-9IM: TTTFFTFFT
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

partially overlappingop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#rcc8po
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially overlaps the
+  object SpatialObject. DE-9IM: TTTTTTTTT
+
+
Equivalent properties + overlapop + overlapsop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

tangential proper partop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#rcc8tpp
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject is spatially covered
+  by the object SpatialObject. DE-9IM: TFFTTFTTT
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

tangential proper part inverseop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#rcc8tppi
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially covers the
+  object SpatialObject. DE-9IM: TTTFTTFFT
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

containsop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#sfContains
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially contains the
+  object SpatialObject. DE-9IM: T*****FF*
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

crossesop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#sfCrosses
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially crosses the
+  object SpatialObject. DE-9IM: T*T******
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

disjointop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#sfDisjoint
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject is spatially disjoint
+  from the object SpatialObject. DE-9IM: FF*FF****
+
+
Equivalent properties + disjointop + disconnectedop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

equalsop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#sfEquals
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially equals the
+  object SpatialObject. DE-9IM: TFFFTFFFT
+
+
Equivalent properties + equalsop + equalsop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

intersectsop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#sfIntersects
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  Exists if the subject SpatialObject is not spatially disjoint
+  from the object SpatialObject.
+  DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T****
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

overlapsop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#sfOverlaps
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially overlaps the
+  object SpatialObject. DE-9IM: T*T***T**
+
+
Equivalent properties + partially overlappingop + overlapop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

touchesop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#sfTouches
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject spatially touches the
+  object SpatialObject.
+  DE-9IM: FT******* ^ F**T***** ^ F***T****
+
+
Equivalent properties + externally connectedop + meetop +
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+

withinop + # OPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#sfWithin
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Exists if the subject SpatialObject is spatially within the
+  object SpatialObject. DE-9IM: T*F**F***
+
+
Domain(s) + SpatialObjectc +
Range(s) + geo:SpatialObjectc +
+
+
+ +
+

Datatype Properties

+ +
+

asGMLdp + # DPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#asGML
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  The GML serialization of a geometry
+
+
Super-properties + has serializationdp +
Domain(s) + Geometryc +
Range(s) + geo:gmlLiteralc +
+
+
+

asWKTdp + # DPs +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#asWKT
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  The WKT serialization of a geometry
+
+
Super-properties + has serializationdp +
Domain(s) + Geometryc +
Range(s) + geo:wktLiteralc +
+
+
+

coordinateDimensiondp + # DPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#coordinateDimension
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  The number of measurements or axes needed to describe the position of this
+  geometry in a coordinate system.
+
+
Domain(s) + Geometryc +
Range(s) + xsd:integerc +
+
+
+

dimensiondp + # DPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#dimension
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  The topological dimension of this geometric object, which
+  must be less than or equal to the coordinate dimension.
+  In non-homogeneous collections, this will return the largest
+  topological dimension of the contained objects.
+
+
Domain(s) + Geometryc +
Range(s) + xsd:integerc +
+
+
+

has serializationdp + # DPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#hasSerialization
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  Connects a geometry object with its text-based serialization.
+
+
Domain(s) + Geometryc +
Range(s) + rdfs:Literalc +
+
+
+

isEmptydp + # DPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#isEmpty
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  (true) if this geometric object is the empty Geometry. If
+  true, then this geometric object represents the empty point
+  set for the coordinate space.
+
+
Domain(s) + Geometryc +
Range(s) + xsd:booleanc +
+
+
+

isSimpledp + # DPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#isSimple
Is Defined By + http://www.opengis.net/spec/geosparql/1.0 +
Description +
  (true) if this geometric object has no anomalous geometric
+  points, such as self intersection or self tangency.
+
+
Domain(s) + Geometryc +
Range(s) + xsd:booleanc +
+
+
+

spatialDimensiondp + # DPs +

+ + + + + + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/geosparql#spatialDimension
Is Defined By + http://www.opengis.net/ont/geosparql +
Description +
  The number of measurements or axes needed to describe the spatial position of
+  this geometry in a coordinate system.
+
+
Domain(s) + Geometryc +
Range(s) + xsd:integerc +
+
+
+ +
+

Annotation Properties

+ +
+

Contributorap + # APs +

+ + + + + + + + + + + + + +
URIhttp://purl.org/dc/elements/1.1/contributor
Is Defined By + http://purl.org/dc/elements/1.1/ +
Description +

An entity responsible for making contributions to the resource.

+
+
+
+

Creatorap + # APs +

+ + + + + + + + + + + + + +
URIhttp://purl.org/dc/elements/1.1/creator
Is Defined By + http://purl.org/dc/elements/1.1/ +
Description +

An entity primarily responsible for making the resource.

+
+
+
+

Dateap + # APs +

+ + + + + + + + + + + + + +
URIhttp://purl.org/dc/elements/1.1/date
Is Defined By + http://purl.org/dc/elements/1.1/ +
Description +

A point or period of time associated with an event in the lifecycle of the resource.

+
+
+
+

Descriptionap + # APs +

+ + + + + + + + + + + + + +
URIhttp://purl.org/dc/elements/1.1/description
Is Defined By + http://purl.org/dc/elements/1.1/ +
Description +

An account of the resource.

+
+
+
+

descriptionap + # APs +

+ + + + + +
URIhttp://purl.org/dc/terms/description
+
+
+

hasVersionap + # APs +

+ + + + + +
URIhttp://purl.org/dc/terms/hasVersion
+
+
+

issuedap + # APs +

+ + + + + +
URIhttp://purl.org/dc/terms/issued
+
+
+

modifiedap + # APs +

+ + + + + +
URIhttp://purl.org/dc/terms/modified
+
+
+

publisherap + # APs +

+ + + + + +
URIhttp://purl.org/dc/terms/publisher
+
+
+

titleap + # APs +

+ + + + + +
URIhttp://purl.org/dc/terms/title
+
+
+

definitionap + # APs +

+ + + + + +
URIhttp://www.w3.org/2004/02/skos/core#definition
+
+
+

noteap + # APs +

+ + + + + +
URIhttp://www.w3.org/2004/02/skos/core#note
+
+
+

prefLabelap + # APs +

+ + + + + +
URIhttp://www.w3.org/2004/02/skos/core#prefLabel
+
+
+ + +
+

Namespaces

+
+
default (geo)
+
http://www.opengis.net/ont/geosparql#
+
brick
+
https://brickschema.org/schema/Brick#
+
csvw
+
http://www.w3.org/ns/csvw#
+
dc
+
http://purl.org/dc/elements/1.1/
+
dcam
+
http://purl.org/dc/dcam/
+
dcat
+
http://www.w3.org/ns/dcat#
+
dcmitype
+
http://purl.org/dc/dcmitype/
+
dcterms
+
http://purl.org/dc/terms/
+
doap
+
http://usefulinc.com/ns/doap#
+
foaf
+
http://xmlns.com/foaf/0.1/
+
odrl
+
http://www.w3.org/ns/odrl/2/
+
org
+
http://www.w3.org/ns/org#
+
owl
+
http://www.w3.org/2002/07/owl#
+
prof
+
http://www.w3.org/ns/dx/prof/
+
prov
+
http://www.w3.org/ns/prov#
+
qb
+
http://purl.org/linked-data/cube#
+
rdf
+
http://www.w3.org/1999/02/22-rdf-syntax-ns#
+
rdfs
+
http://www.w3.org/2000/01/rdf-schema#
+
sdo
+
https://schema.org/
+
sh
+
http://www.w3.org/ns/shacl#
+
skos
+
http://www.w3.org/2004/02/skos/core#
+
sosa
+
http://www.w3.org/ns/sosa/
+
ssn
+
http://www.w3.org/ns/ssn/
+
time
+
http://www.w3.org/2006/time#
+
vann
+
http://purl.org/vocab/vann/
+
void
+
http://rdfs.org/ns/void#
+
wgs
+
https://www.w3.org/2003/01/geo/wgs84_pos#
+
xsd
+
http://www.w3.org/2001/XMLSchema#
+
+
+
+

Legend

+ + + + + + + + +
cClasses
opObject Properties
fpFunctional Properties
dpData Properties
apAnnotation Properties
pProperties
niNamed Individuals
+
+ + \ No newline at end of file diff --git a/geosparql10/geo.json b/geosparql10/geo.json new file mode 100644 index 000000000..8229975f7 --- /dev/null +++ b/geosparql10/geo.json @@ -0,0 +1,3759 @@ +[ + { + "@id": "http://purl.org/dc/elements/1.1/coverage", + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Spatial topic and spatial applicability may be a named place or a location specified by its geographic coordinates. Temporal topic may be a named period, date, or date range. A jurisdiction may be a named administrative entity or a geographic place to which the resource applies. Recommended best practice is to use a controlled vocabulary such as the Thesaurus of Geographic Names [TGN]. Where appropriate, named places or time periods can be used in preference to numeric identifiers such as sets of coordinates or date ranges." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#coverage-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Coverage" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/type", + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Recommended best practice is to use a controlled vocabulary such as the DCMI Type Vocabulary [DCMITYPE]. To describe the file format, physical medium, or dimensions of the resource, use the Format element." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#type-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "The nature or genre of the resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Type" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://purl.org/dc/terms/issued", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/rights", + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#rights-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "Information about rights held in and over the resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Rights" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/subject", + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#subject-007" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2012-06-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "The topic of the resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Subject" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#sfCrosses", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially crosses the\n object SpatialObject. DE-9IM: T*T******\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially crosses the\n object SpatialObject. DE-9IM: T*T******\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "crosses" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially crosses the\n object SpatialObject. DE-9IM: T*T******\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "crosses" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehContains", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially contains the\n object SpatialObject. DE-9IM: T*TFF*FF*\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially contains the\n object SpatialObject. DE-9IM: T*TFF*FF*\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "contains" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfContains" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially contains the\n object SpatialObject. DE-9IM: T*TFF*FF*\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "contains" + } + ] + }, + { + "@id": "http://www.w3.org/2004/02/skos/core#note", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/creator", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ], + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Examples of a Creator include a person, an organization, or a service. Typically, the name of a Creator should be used to indicate the entity." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#creator-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "An entity primarily responsible for making the resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Creator" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8dc", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially disjoint\n from the object SpatialObject. DE-9IM: FFTFFTTTT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially disjoint\n from the object SpatialObject. DE-9IM: FFTFFTTTT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "disconnected" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfDisjoint" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehDisjoint" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially disjoint\n from the object SpatialObject. DE-9IM: FFTFFTTTT\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "disconnected" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#hasSerialization", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Connects a geometry object with its text-based serialization.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Connects a geometry object with its text-based serialization.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "has serialization" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.w3.org/2000/01/rdf-schema#Literal" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Connects a geometry object with its text-based serialization.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "has serialization" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8eq", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially equals the\n object SpatialObject. DE-9IM: TFFFTFFFT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially equals the\n object SpatialObject. DE-9IM: TFFFTFFFT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "equals" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfEquals" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehEquals" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially equals the\n object SpatialObject. DE-9IM: TFFFTFFFT\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "equals" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/identifier", + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Recommended best practice is to identify the resource by means of a string conforming to a formal identification system. " + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#identifier-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "An unambiguous reference to the resource within a given context." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Identifier" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#coordinateDimension", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n The number of measurements or axes needed to describe the position of this\n geometry in a coordinate system.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n The number of measurements or axes needed to describe the position of this\n geometry in a coordinate system.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "coordinateDimension" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#integer" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n The number of measurements or axes needed to describe the position of this\n geometry in a coordinate system.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "coordinateDimension" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n The class represents the top-level geometry type. This class is\n equivalent to the UML class GM_Object defined in ISO 19107, and\n it is superclass of all geometry types.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n The class represents the top-level geometry type. This class is\n equivalent to the UML class GM_Object defined in ISO 19107, and\n it is superclass of all geometry types.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n The class represents the top-level geometry type. This class is\n equivalent to the UML class GM_Object defined in ISO 19107, and\n it is superclass of all geometry types.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "Geometry" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/", + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2012-06-14" + } + ], + "http://purl.org/dc/terms/publisher": [ + { + "@id": "http://purl.org/dc/aboutdcmi#DCMI" + } + ], + "http://purl.org/dc/terms/title": [ + { + "@language": "en", + "@value": "Dublin Core Metadata Element Set, Version 1.1" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehCoveredBy", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially covered\n by the object SpatialObject. DE-9IM: TFF*TFT**\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially covered\n by the object SpatialObject. DE-9IM: TFF*TFT**\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "coveredBy" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfWithin" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially covered\n by the object SpatialObject. DE-9IM: TFF*TFT**\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "coveredBy" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/relation", + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system. " + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#relation-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A related resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Relation" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n The class spatial-object represents everything that can have\n a spatial representation. It is superclass of feature and geometry.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n The class spatial-object represents everything that can have\n a spatial representation. It is superclass of feature and geometry.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "SpatialObject" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n The class spatial-object represents everything that can have\n a spatial representation. It is superclass of feature and geometry.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "SpatialObject" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8po", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially overlaps the\n object SpatialObject. DE-9IM: TTTTTTTTT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially overlaps the\n object SpatialObject. DE-9IM: TTTTTTTTT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "partially overlapping" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfOverlaps" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehOverlap" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially overlaps the\n object SpatialObject. DE-9IM: TTTTTTTTT\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "partially overlapping" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#sfEquals", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially equals the\n object SpatialObject. DE-9IM: TFFFTFFFT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially equals the\n object SpatialObject. DE-9IM: TFFFTFFFT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "equals" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#ehEquals" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8eq" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially equals the\n object SpatialObject. DE-9IM: TFFFTFFFT\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "equals" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehMeet", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially meets the\n object SpatialObject.\n DE-9IM: FT******* ^ F**T***** ^ F***T****\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially meets the\n object SpatialObject.\n DE-9IM: FT******* ^ F**T***** ^ F***T****\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "meet" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfTouches" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8ec" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially meets the\n object SpatialObject.\n DE-9IM: FT******* ^ F**T***** ^ F***T****\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "meet" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/description", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ], + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#description-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "An account of the resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Description" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8tpp", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially covered\n by the object SpatialObject. DE-9IM: TFFTTFTTT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially covered\n by the object SpatialObject. DE-9IM: TFFTTFTTT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "tangential proper part" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfWithin" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially covered\n by the object SpatialObject. DE-9IM: TFFTTFTTT\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "tangential proper part" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/date", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ], + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Date may be used to express temporal information at any level of granularity. Recommended best practice is to use an encoding scheme, such as the W3CDTF profile of ISO 8601 [W3CDTF]." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#date-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A point or period of time associated with an event in the lifecycle of the resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Date" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://www.w3.org/2004/02/skos/core#definition", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://www.w3.org/2001/XMLSchema#date", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#wktLiteral", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n A Well-known Text serialization of a geometry object.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n A Well-known Text serialization of a geometry object.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Well-known Text Literal" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n A Well-known Text serialization of a geometry object.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "Well-known Text Literal" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#sfIntersects", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is not spatially disjoint\n from the object SpatialObject.\n DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T****\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is not spatially disjoint\n from the object SpatialObject.\n DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T****\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "intersects" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#propertyDisjointWith": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfDisjoint" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehDisjoint" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is not spatially disjoint\n from the object SpatialObject.\n DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T****\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "intersects" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#sfDisjoint", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially disjoint\n from the object SpatialObject. DE-9IM: FF*FF****\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially disjoint\n from the object SpatialObject. DE-9IM: FF*FF****\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "disjoint" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#ehDisjoint" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8dc" + } + ], + "http://www.w3.org/2002/07/owl#propertyDisjointWith": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfIntersects" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially disjoint\n from the object SpatialObject. DE-9IM: FF*FF****\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "disjoint" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#isEmpty", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n (true) if this geometric object is the empty Geometry. If\n true, then this geometric object represents the empty point\n set for the coordinate space.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n (true) if this geometric object is the empty Geometry. If\n true, then this geometric object represents the empty point\n set for the coordinate space.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "isEmpty" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n (true) if this geometric object is the empty Geometry. If\n true, then this geometric object represents the empty point\n set for the coordinate space.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "isEmpty" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#asGML", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n The GML serialization of a geometry\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n The GML serialization of a geometry\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "asGML" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#gmlLiteral" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#hasSerialization" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n The GML serialization of a geometry\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "asGML" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/contributor", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ], + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Examples of a Contributor include a person, an organization, or a service. Typically, the name of a Contributor should be used to indicate the entity." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#contributor-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "An entity responsible for making contributions to the resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Contributor" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#dimension", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n The topological dimension of this geometric object, which\n must be less than or equal to the coordinate dimension.\n In non-homogeneous collections, this will return the largest\n topological dimension of the contained objects.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n The topological dimension of this geometric object, which\n must be less than or equal to the coordinate dimension.\n In non-homogeneous collections, this will return the largest\n topological dimension of the contained objects.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "dimension" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#integer" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n The topological dimension of this geometric object, which\n must be less than or equal to the coordinate dimension.\n In non-homogeneous collections, this will return the largest\n topological dimension of the contained objects.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "dimension" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8ec", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially meets the\n object SpatialObject. DE-9IM: FFTFTTTTT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially meets the\n object SpatialObject. DE-9IM: FFTFTTTTT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "externally connected" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfTouches" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehMeet" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially meets the\n object SpatialObject. DE-9IM: FFTFTTTTT\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "externally connected" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/language", + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Recommended best practice is to use a controlled vocabulary such as RFC 4646 [RFC4646]." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#language-007" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A language of the resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Language" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.ietf.org/rfc/rfc4646.txt" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehDisjoint", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially disjoint\n from the object SpatialObject. DE-9IM: FF*FF****\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially disjoint\n from the object SpatialObject. DE-9IM: FF*FF****\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "disjoint" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfDisjoint" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8dc" + } + ], + "http://www.w3.org/2002/07/owl#propertyDisjointWith": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfIntersects" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially disjoint\n from the object SpatialObject. DE-9IM: FF*FF****\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "disjoint" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/title", + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#title-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A name given to the resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Title" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#sfOverlaps", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially overlaps the\n object SpatialObject. DE-9IM: T*T***T**\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially overlaps the\n object SpatialObject. DE-9IM: T*T***T**\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "overlaps" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#ehOverlap" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8po" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially overlaps the\n object SpatialObject. DE-9IM: T*T***T**\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "overlaps" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehCovers", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially covers the\n object SpatialObject. DE-9IM: T*TFT*FF*\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially covers the\n object SpatialObject. DE-9IM: T*TFT*FF*\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "covers" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfContains" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially covers the\n object SpatialObject. DE-9IM: T*TFT*FF*\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "covers" + } + ] + }, + { + "@id": "http://www.w3.org/2004/02/skos/core#prefLabel", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/publisher", + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Examples of a Publisher include a person, an organization, or a service. Typically, the name of a Publisher should be used to indicate the entity." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#publisher-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "An entity responsible for making the resource available." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Publisher" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://purl.org/dc/terms/title", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehInside", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially inside\n the object SpatialObject. DE-9IM: TFF*FFT**\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially inside\n the object SpatialObject. DE-9IM: TFF*FFT**\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "inside" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfWithin" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially inside\n the object SpatialObject. DE-9IM: TFF*FFT**\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "inside" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#hasGeometry", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n A spatial representation for a given feature.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n A spatial representation for a given feature.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Feature" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "hasGeometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n A spatial representation for a given feature.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "hasGeometry" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql", + "@type": [ + "http://www.w3.org/2002/07/owl#Ontology" + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "Open Geospatial Consortium" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2012-04-30" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@value": "An RDF/OWL vocabulary for representing spatial information" + } + ], + "http://purl.org/dc/elements/1.1/source": [ + { + "@id": "http://www.opengis.net/doc/IS/geosparql/1.0" + }, + { + "@value": "OGC GeoSPARQL – A Geographic Query Language for RDF Data OGC 11-052r5" + } + ], + "http://purl.org/dc/elements/1.1/title": [ + { + "@value": "GeoSPARQL Ontology" + } + ], + "http://purl.org/vocab/vann/preferredNamespacePrefix": [ + { + "@value": "geo" + } + ], + "http://purl.org/vocab/vann/preferredNamespaceUri": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#anyURI", + "@value": "http://www.opengis.net/ont/geosparql#" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/def/function/ogc-geosparql/1.0" + }, + { + "@id": "http://www.opengis.net/def/rule/ogc-geosparql/1.0" + }, + { + "@id": "http://www.opengis.net/doc/IS/geosparql/1.0" + } + ], + "http://www.w3.org/2002/07/owl#versionIRI": [ + { + "@id": "http://www.opengis.net/ont/geosparql/1.0" + } + ], + "http://www.w3.org/2002/07/owl#versionInfo": [ + { + "@value": "OGC GeoSPARQL 1.0" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/source", + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "The described resource may be derived from the related resource in whole or in part. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#source-006" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A related resource from which the described resource is derived." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Source" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8tppi", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially covers the\n object SpatialObject. DE-9IM: TTTFTTFFT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially covers the\n object SpatialObject. DE-9IM: TTTFTTFFT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "tangential proper part inverse" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfContains" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially covers the\n object SpatialObject. DE-9IM: TTTFTTFFT\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "tangential proper part inverse" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#sfContains", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially contains the\n object SpatialObject. DE-9IM: T*****FF*\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially contains the\n object SpatialObject. DE-9IM: T*****FF*\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "contains" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially contains the\n object SpatialObject. DE-9IM: T*****FF*\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "contains" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#sfWithin", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially within the\n object SpatialObject. DE-9IM: T*F**F***\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially within the\n object SpatialObject. DE-9IM: T*F**F***\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "within" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially within the\n object SpatialObject. DE-9IM: T*F**F***\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "within" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#Feature", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n This class represents the top-level feature type. This class is\n equivalent to GFI_Feature defined in ISO 19156:2011, and it is\n superclass of all feature types.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n This class represents the top-level feature type. This class is\n equivalent to GFI_Feature defined in ISO 19156:2011, and it is\n superclass of all feature types.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Feature" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#disjointWith": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n This class represents the top-level feature type. This class is\n equivalent to GFI_Feature defined in ISO 19156:2011, and it is\n superclass of all feature types.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "Feature" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehOverlap", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially overlaps the\n object SpatialObject. DE-9IM: T*T***T**\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially overlaps the\n object SpatialObject. DE-9IM: T*T***T**\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "overlap" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfOverlaps" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8po" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially overlaps the\n object SpatialObject. DE-9IM: T*T***T**\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "overlap" + } + ] + }, + { + "@id": "http://purl.org/dc/terms/hasVersion", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#defaultGeometry", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n The default geometry to be used in spatial calculations.\n It is Usually the most detailed geometry.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n The default geometry to be used in spatial calculations.\n It is Usually the most detailed geometry.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Feature" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "defaultGeometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#hasGeometry" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n The default geometry to be used in spatial calculations.\n It is Usually the most detailed geometry.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "defaultGeometry" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8ntppi", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially contains the\n object SpatialObject. DE-9IM: TTTFFTFFT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially contains the\n object SpatialObject. DE-9IM: TTTFFTFFT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "non-tangential proper part inverse" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfContains" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially contains the\n object SpatialObject. DE-9IM: TTTFFTFFT\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "non-tangential proper part inverse" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/format", + "http://purl.org/dc/terms/description": [ + { + "@language": "en", + "@value": "Examples of dimensions include size and duration. Recommended best practice is to use a controlled vocabulary such as the list of Internet Media Types [MIME]." + } + ], + "http://purl.org/dc/terms/hasVersion": [ + { + "@id": "http://dublincore.org/usage/terms/history/#format-007" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "1999-07-02" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2008-01-14" + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "The file format, physical medium, or dimensions of the resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/dc/elements/1.1/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Format" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation." + } + ] + }, + { + "@id": "http://purl.org/dc/terms/modified", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#isSimple", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n (true) if this geometric object has no anomalous geometric\n points, such as self intersection or self tangency.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n (true) if this geometric object has no anomalous geometric\n points, such as self intersection or self tangency.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "isSimple" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#boolean" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n (true) if this geometric object has no anomalous geometric\n points, such as self intersection or self tangency.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "isSimple" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#sfTouches", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially touches the\n object SpatialObject.\n DE-9IM: FT******* ^ F**T***** ^ F***T****\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially touches the\n object SpatialObject.\n DE-9IM: FT******* ^ F**T***** ^ F***T****\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "touches" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#ehMeet" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8ec" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially touches the\n object SpatialObject.\n DE-9IM: FT******* ^ F**T***** ^ F***T****\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "touches" + } + ] + }, + { + "@id": "http://purl.org/dc/terms/publisher", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#gmlLiteral", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n A GML serialization of a geometry object.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n A GML serialization of a geometry object.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "GML Literal" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n A GML serialization of a geometry object.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "GML Literal" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#spatialDimension", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n The number of measurements or axes needed to describe the spatial position of\n this geometry in a coordinate system.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n The number of measurements or axes needed to describe the spatial position of\n this geometry in a coordinate system.\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "spatialDimension" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#integer" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n The number of measurements or axes needed to describe the spatial position of\n this geometry in a coordinate system.\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "spatialDimension" + } + ] + }, + { + "@id": "http://purl.org/dc/terms/description", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#ehEquals", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially equals the\n object SpatialObject. DE-9IM: TFFFTFFFT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially equals the\n object SpatialObject. DE-9IM: TFFFTFFFT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "equals" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#equivalentProperty": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfEquals" + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8eq" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject spatially equals the\n object SpatialObject. DE-9IM: TFFFTFFFT\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "equals" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#asWKT", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n The WKT serialization of a geometry\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n The WKT serialization of a geometry\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "asWKT" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#wktLiteral" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#hasSerialization" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n The WKT serialization of a geometry\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "asWKT" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/geosparql#rcc8ntpp", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially inside\n the object SpatialObject. DE-9IM: TFFTFFTTT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially inside\n the object SpatialObject. DE-9IM: TFFTFFTTT\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "non-tangential proper part" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.opengis.net/ont/geosparql#SpatialObject" + } + ], + "http://www.w3.org/2002/07/owl#subPropertyOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#sfWithin" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "\n Exists if the subject SpatialObject is spatially inside\n the object SpatialObject. DE-9IM: TFFTFFTTT\n " + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "non-tangential proper part" + } + ] + } +] \ No newline at end of file diff --git a/geosparql10/geo.n3 b/geosparql10/geo.n3 new file mode 100644 index 000000000..ba966a884 --- /dev/null +++ b/geosparql10/geo.n3 @@ -0,0 +1,1122 @@ +@prefix dc: . +@prefix dcterms: . +@prefix geo: . +@prefix owl: . +@prefix rdfs: . +@prefix skos: . +@prefix vann: . +@prefix xsd: . + +dc:contributor a owl:AnnotationProperty ; + rdfs:label "Contributor"@en ; + dcterms:description "Examples of a Contributor include a person, an organization, or a service. Typically, the name of a Contributor should be used to indicate the entity."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "An entity responsible for making contributions to the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:coverage rdfs:label "Coverage"@en ; + dcterms:description "Spatial topic and spatial applicability may be a named place or a location specified by its geographic coordinates. Temporal topic may be a named period, date, or date range. A jurisdiction may be a named administrative entity or a geographic place to which the resource applies. Recommended best practice is to use a controlled vocabulary such as the Thesaurus of Geographic Names [TGN]. Where appropriate, named places or time periods can be used in preference to numeric identifiers such as sets of coordinates or date ranges."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:creator a owl:AnnotationProperty ; + rdfs:label "Creator"@en ; + dcterms:description "Examples of a Creator include a person, an organization, or a service. Typically, the name of a Creator should be used to indicate the entity."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "An entity primarily responsible for making the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:date a owl:AnnotationProperty ; + rdfs:label "Date"@en ; + dcterms:description "Date may be used to express temporal information at any level of granularity. Recommended best practice is to use an encoding scheme, such as the W3CDTF profile of ISO 8601 [W3CDTF]."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "A point or period of time associated with an event in the lifecycle of the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:description a owl:AnnotationProperty ; + rdfs:label "Description"@en ; + dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "An account of the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:format rdfs:label "Format"@en ; + dcterms:description "Examples of dimensions include size and duration. Recommended best practice is to use a controlled vocabulary such as the list of Internet Media Types [MIME]."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "The file format, physical medium, or dimensions of the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:identifier rdfs:label "Identifier"@en ; + dcterms:description "Recommended best practice is to identify the resource by means of a string conforming to a formal identification system. "@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "An unambiguous reference to the resource within a given context."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:language rdfs:label "Language"@en ; + dcterms:description "Recommended best practice is to use a controlled vocabulary such as RFC 4646 [RFC4646]."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "A language of the resource."@en ; + rdfs:isDefinedBy dc: ; + rdfs:seeAlso ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:publisher rdfs:label "Publisher"@en ; + dcterms:description "Examples of a Publisher include a person, an organization, or a service. Typically, the name of a Publisher should be used to indicate the entity."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "An entity responsible for making the resource available."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:relation rdfs:label "Relation"@en ; + dcterms:description "Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system. "@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "A related resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:rights rdfs:label "Rights"@en ; + dcterms:description "Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "Information about rights held in and over the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:source rdfs:label "Source"@en ; + dcterms:description "The described resource may be derived from the related resource in whole or in part. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "A related resource from which the described resource is derived."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:subject rdfs:label "Subject"@en ; + dcterms:description "Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2012-06-14"^^xsd:date ; + rdfs:comment "The topic of the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:title rdfs:label "Title"@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "A name given to the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dc:type rdfs:label "Type"@en ; + dcterms:description "Recommended best practice is to use a controlled vocabulary such as the DCMI Type Vocabulary [DCMITYPE]. To describe the file format, physical medium, or dimensions of the resource, use the Format element."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "The nature or genre of the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en . + +dcterms:description a owl:AnnotationProperty . + +dcterms:hasVersion a owl:AnnotationProperty . + +dcterms:issued a owl:AnnotationProperty . + +dcterms:modified a owl:AnnotationProperty . + +dcterms:publisher a owl:AnnotationProperty . + +dcterms:title a owl:AnnotationProperty . + +geo:asGML a owl:DatatypeProperty ; + rdfs:label "asGML"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The GML serialization of a geometry + """@en ; + rdfs:comment """ + The GML serialization of a geometry + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy , + ; + rdfs:range geo:gmlLiteral ; + rdfs:subPropertyOf geo:hasSerialization ; + skos:definition """ + The GML serialization of a geometry + """@en ; + skos:prefLabel "asGML"@en . + +geo:asWKT a owl:DatatypeProperty ; + rdfs:label "asWKT"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The WKT serialization of a geometry + """@en ; + rdfs:comment """ + The WKT serialization of a geometry + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy , + ; + rdfs:range geo:wktLiteral ; + rdfs:subPropertyOf geo:hasSerialization ; + skos:definition """ + The WKT serialization of a geometry + """@en ; + skos:prefLabel "asWKT"@en . + +geo:coordinateDimension a owl:DatatypeProperty ; + rdfs:label "coordinateDimension"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The number of measurements or axes needed to describe the position of this + geometry in a coordinate system. + """@en ; + rdfs:comment """ + The number of measurements or axes needed to describe the position of this + geometry in a coordinate system. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy , + ; + rdfs:range xsd:integer ; + skos:definition """ + The number of measurements or axes needed to describe the position of this + geometry in a coordinate system. + """@en ; + skos:prefLabel "coordinateDimension"@en . + +geo:defaultGeometry a owl:ObjectProperty ; + rdfs:label "defaultGeometry"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The default geometry to be used in spatial calculations. + It is Usually the most detailed geometry. + """@en ; + rdfs:comment """ + The default geometry to be used in spatial calculations. + It is Usually the most detailed geometry. + """@en ; + rdfs:domain geo:Feature ; + rdfs:isDefinedBy , + ; + rdfs:range geo:Geometry ; + rdfs:subPropertyOf geo:hasGeometry ; + skos:definition """ + The default geometry to be used in spatial calculations. + It is Usually the most detailed geometry. + """@en ; + skos:prefLabel "defaultGeometry"@en . + +geo:dimension a owl:DatatypeProperty ; + rdfs:label "dimension"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The topological dimension of this geometric object, which + must be less than or equal to the coordinate dimension. + In non-homogeneous collections, this will return the largest + topological dimension of the contained objects. + """@en ; + rdfs:comment """ + The topological dimension of this geometric object, which + must be less than or equal to the coordinate dimension. + In non-homogeneous collections, this will return the largest + topological dimension of the contained objects. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy , + ; + rdfs:range xsd:integer ; + skos:definition """ + The topological dimension of this geometric object, which + must be less than or equal to the coordinate dimension. + In non-homogeneous collections, this will return the largest + topological dimension of the contained objects. + """@en ; + skos:prefLabel "dimension"@en . + +geo:ehContains a owl:ObjectProperty ; + rdfs:label "contains"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*TFF*FF* + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*TFF*FF* + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfContains ; + skos:definition """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*TFF*FF* + """@en ; + skos:prefLabel "contains"@en . + +geo:ehCoveredBy a owl:ObjectProperty ; + rdfs:label "coveredBy"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFF*TFT** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFF*TFT** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfWithin ; + skos:definition """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFF*TFT** + """@en ; + skos:prefLabel "coveredBy"@en . + +geo:ehCovers a owl:ObjectProperty ; + rdfs:label "covers"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: T*TFT*FF* + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: T*TFT*FF* + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfContains ; + skos:definition """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: T*TFT*FF* + """@en ; + skos:prefLabel "covers"@en . + +geo:ehInside a owl:ObjectProperty ; + rdfs:label "inside"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFF*FFT** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFF*FFT** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfWithin ; + skos:definition """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFF*FFT** + """@en ; + skos:prefLabel "inside"@en . + +geo:isEmpty a owl:DatatypeProperty ; + rdfs:label "isEmpty"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + (true) if this geometric object is the empty Geometry. If + true, then this geometric object represents the empty point + set for the coordinate space. + """@en ; + rdfs:comment """ + (true) if this geometric object is the empty Geometry. If + true, then this geometric object represents the empty point + set for the coordinate space. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy , + ; + rdfs:range xsd:boolean ; + skos:definition """ + (true) if this geometric object is the empty Geometry. If + true, then this geometric object represents the empty point + set for the coordinate space. + """@en ; + skos:prefLabel "isEmpty"@en . + +geo:isSimple a owl:DatatypeProperty ; + rdfs:label "isSimple"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + (true) if this geometric object has no anomalous geometric + points, such as self intersection or self tangency. + """@en ; + rdfs:comment """ + (true) if this geometric object has no anomalous geometric + points, such as self intersection or self tangency. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy , + ; + rdfs:range xsd:boolean ; + skos:definition """ + (true) if this geometric object has no anomalous geometric + points, such as self intersection or self tangency. + """@en ; + skos:prefLabel "isSimple"@en . + +geo:rcc8ntpp a owl:ObjectProperty ; + rdfs:label "non-tangential proper part"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFFTFFTTT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFFTFFTTT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfWithin ; + skos:definition """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFFTFFTTT + """@en ; + skos:prefLabel "non-tangential proper part"@en . + +geo:rcc8ntppi a owl:ObjectProperty ; + rdfs:label "non-tangential proper part inverse"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: TTTFFTFFT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: TTTFFTFFT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfContains ; + skos:definition """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: TTTFFTFFT + """@en ; + skos:prefLabel "non-tangential proper part inverse"@en . + +geo:rcc8tpp a owl:ObjectProperty ; + rdfs:label "tangential proper part"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFFTTFTTT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFFTTFTTT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfWithin ; + skos:definition """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFFTTFTTT + """@en ; + skos:prefLabel "tangential proper part"@en . + +geo:rcc8tppi a owl:ObjectProperty ; + rdfs:label "tangential proper part inverse"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: TTTFTTFFT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: TTTFTTFFT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfContains ; + skos:definition """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: TTTFTTFFT + """@en ; + skos:prefLabel "tangential proper part inverse"@en . + +geo:sfCrosses a owl:ObjectProperty ; + rdfs:label "crosses"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially crosses the + object SpatialObject. DE-9IM: T*T****** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially crosses the + object SpatialObject. DE-9IM: T*T****** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + skos:definition """ + Exists if the subject SpatialObject spatially crosses the + object SpatialObject. DE-9IM: T*T****** + """@en ; + skos:prefLabel "crosses"@en . + +geo:spatialDimension a owl:DatatypeProperty ; + rdfs:label "spatialDimension"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The number of measurements or axes needed to describe the spatial position of + this geometry in a coordinate system. + """@en ; + rdfs:comment """ + The number of measurements or axes needed to describe the spatial position of + this geometry in a coordinate system. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy , + ; + rdfs:range xsd:integer ; + skos:definition """ + The number of measurements or axes needed to describe the spatial position of + this geometry in a coordinate system. + """@en ; + skos:prefLabel "spatialDimension"@en . + +xsd:date a rdfs:Datatype . + +skos:definition a owl:AnnotationProperty . + +skos:note a owl:AnnotationProperty . + +skos:prefLabel a owl:AnnotationProperty . + +geo:gmlLiteral a rdfs:Datatype ; + rdfs:label "GML Literal"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + A GML serialization of a geometry object. + """@en ; + rdfs:comment """ + A GML serialization of a geometry object. + """@en ; + rdfs:isDefinedBy , + ; + skos:definition """ + A GML serialization of a geometry object. + """@en ; + skos:prefLabel "GML Literal"@en . + +geo:hasGeometry a owl:ObjectProperty ; + rdfs:label "hasGeometry"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + A spatial representation for a given feature. + """@en ; + rdfs:comment """ + A spatial representation for a given feature. + """@en ; + rdfs:domain geo:Feature ; + rdfs:isDefinedBy , + ; + rdfs:range geo:Geometry ; + skos:definition """ + A spatial representation for a given feature. + """@en ; + skos:prefLabel "hasGeometry"@en . + +geo:wktLiteral a rdfs:Datatype ; + rdfs:label "Well-known Text Literal"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + A Well-known Text serialization of a geometry object. + """@en ; + rdfs:comment """ + A Well-known Text serialization of a geometry object. + """@en ; + rdfs:isDefinedBy , + ; + skos:definition """ + A Well-known Text serialization of a geometry object. + """@en ; + skos:prefLabel "Well-known Text Literal"@en . + +geo:Feature a owl:Class ; + rdfs:label "Feature"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + This class represents the top-level feature type. This class is + equivalent to GFI_Feature defined in ISO 19156:2011, and it is + superclass of all feature types. + """@en ; + rdfs:comment """ + This class represents the top-level feature type. This class is + equivalent to GFI_Feature defined in ISO 19156:2011, and it is + superclass of all feature types. + """@en ; + rdfs:isDefinedBy , + ; + rdfs:subClassOf geo:SpatialObject ; + owl:disjointWith geo:Geometry ; + skos:definition """ + This class represents the top-level feature type. This class is + equivalent to GFI_Feature defined in ISO 19156:2011, and it is + superclass of all feature types. + """@en ; + skos:prefLabel "Feature"@en . + +geo:ehEquals a owl:ObjectProperty ; + rdfs:label "equals"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:rcc8eq, + geo:sfEquals ; + skos:definition """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + skos:prefLabel "equals"@en . + +geo:ehMeet a owl:ObjectProperty ; + rdfs:label "meet"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:rcc8ec, + geo:sfTouches ; + skos:definition """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + skos:prefLabel "meet"@en . + +geo:ehOverlap a owl:ObjectProperty ; + rdfs:label "overlap"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:rcc8po, + geo:sfOverlaps ; + skos:definition """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + skos:prefLabel "overlap"@en . + +geo:hasSerialization a owl:DatatypeProperty ; + rdfs:label "has serialization"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Connects a geometry object with its text-based serialization. + """@en ; + rdfs:comment """ + Connects a geometry object with its text-based serialization. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy , + ; + rdfs:range rdfs:Literal ; + skos:definition """ + Connects a geometry object with its text-based serialization. + """@en ; + skos:prefLabel "has serialization"@en . + +geo:rcc8dc a owl:ObjectProperty ; + rdfs:label "disconnected"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FFTFFTTTT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FFTFFTTTT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehDisjoint, + geo:sfDisjoint ; + skos:definition """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FFTFFTTTT + """@en ; + skos:prefLabel "disconnected"@en . + +geo:rcc8ec a owl:ObjectProperty ; + rdfs:label "externally connected"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. DE-9IM: FFTFTTTTT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. DE-9IM: FFTFTTTTT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehMeet, + geo:sfTouches ; + skos:definition """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. DE-9IM: FFTFTTTTT + """@en ; + skos:prefLabel "externally connected"@en . + +geo:rcc8eq a owl:ObjectProperty ; + rdfs:label "equals"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehEquals, + geo:sfEquals ; + skos:definition """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + skos:prefLabel "equals"@en . + +geo:rcc8po a owl:ObjectProperty ; + rdfs:label "partially overlapping"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: TTTTTTTTT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: TTTTTTTTT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehOverlap, + geo:sfOverlaps ; + skos:definition """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: TTTTTTTTT + """@en ; + skos:prefLabel "partially overlapping"@en . + +geo:sfEquals a owl:ObjectProperty ; + rdfs:label "equals"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehEquals, + geo:rcc8eq ; + skos:definition """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + skos:prefLabel "equals"@en . + +geo:sfIntersects a owl:ObjectProperty ; + rdfs:label "intersects"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is not spatially disjoint + from the object SpatialObject. + DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T**** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is not spatially disjoint + from the object SpatialObject. + DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T**** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:propertyDisjointWith geo:ehDisjoint, + geo:sfDisjoint ; + skos:definition """ + Exists if the subject SpatialObject is not spatially disjoint + from the object SpatialObject. + DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T**** + """@en ; + skos:prefLabel "intersects"@en . + +geo:sfOverlaps a owl:ObjectProperty ; + rdfs:label "overlaps"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehOverlap, + geo:rcc8po ; + skos:definition """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + skos:prefLabel "overlaps"@en . + +geo:sfTouches a owl:ObjectProperty ; + rdfs:label "touches"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially touches the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially touches the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehMeet, + geo:rcc8ec ; + skos:definition """ + Exists if the subject SpatialObject spatially touches the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + skos:prefLabel "touches"@en . + +geo:ehDisjoint a owl:ObjectProperty ; + rdfs:label "disjoint"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:rcc8dc, + geo:sfDisjoint ; + owl:propertyDisjointWith geo:sfIntersects ; + skos:definition """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + skos:prefLabel "disjoint"@en . + +geo:sfDisjoint a owl:ObjectProperty ; + rdfs:label "disjoint"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehDisjoint, + geo:rcc8dc ; + owl:propertyDisjointWith geo:sfIntersects ; + skos:definition """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + skos:prefLabel "disjoint"@en . + +geo:sfContains a owl:ObjectProperty ; + rdfs:label "contains"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*****FF* + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*****FF* + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + skos:definition """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*****FF* + """@en ; + skos:prefLabel "contains"@en . + +geo:sfWithin a owl:ObjectProperty ; + rdfs:label "within"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially within the + object SpatialObject. DE-9IM: T*F**F*** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially within the + object SpatialObject. DE-9IM: T*F**F*** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy , + ; + rdfs:range geo:SpatialObject ; + skos:definition """ + Exists if the subject SpatialObject is spatially within the + object SpatialObject. DE-9IM: T*F**F*** + """@en ; + skos:prefLabel "within"@en . + +geo:Geometry a owl:Class ; + rdfs:label "Geometry"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The class represents the top-level geometry type. This class is + equivalent to the UML class GM_Object defined in ISO 19107, and + it is superclass of all geometry types. + """@en ; + rdfs:comment """ + The class represents the top-level geometry type. This class is + equivalent to the UML class GM_Object defined in ISO 19107, and + it is superclass of all geometry types. + """@en ; + rdfs:isDefinedBy , + ; + rdfs:subClassOf geo:SpatialObject ; + skos:definition """ + The class represents the top-level geometry type. This class is + equivalent to the UML class GM_Object defined in ISO 19107, and + it is superclass of all geometry types. + """@en ; + skos:prefLabel "Geometry"@en . + +dc: dcterms:modified "2012-06-14"^^xsd:date ; + dcterms:publisher ; + dcterms:title "Dublin Core Metadata Element Set, Version 1.1"@en . + + a owl:Ontology ; + dc:creator "Open Geospatial Consortium" ; + dc:date "2012-04-30"^^xsd:date ; + dc:description "An RDF/OWL vocabulary for representing spatial information" ; + dc:source , + "OGC GeoSPARQL – A Geographic Query Language for RDF Data OGC 11-052r5" ; + dc:title "GeoSPARQL Ontology" ; + vann:preferredNamespacePrefix "geo"^^xsd:string ; + vann:preferredNamespaceUri "http://www.opengis.net/ont/geosparql#"^^xsd:anyURI ; + rdfs:seeAlso , + , + ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" . + +geo:SpatialObject a owl:Class ; + rdfs:label "SpatialObject"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The class spatial-object represents everything that can have + a spatial representation. It is superclass of feature and geometry. + """@en ; + rdfs:comment """ + The class spatial-object represents everything that can have + a spatial representation. It is superclass of feature and geometry. + """@en ; + rdfs:isDefinedBy , + ; + skos:definition """ + The class spatial-object represents everything that can have + a spatial representation. It is superclass of feature and geometry. + """@en ; + skos:prefLabel "SpatialObject"@en . + diff --git a/geosparql10/geo.ttl b/geosparql10/geo.ttl new file mode 100644 index 000000000..411c27d09 --- /dev/null +++ b/geosparql10/geo.ttl @@ -0,0 +1,1281 @@ +PREFIX geo: +PREFIX dc: +PREFIX dcterms: +PREFIX owl: +PREFIX vann: +PREFIX rdfs: +PREFIX skos: +PREFIX xsd: + +dc:contributor + a owl:AnnotationProperty ; + rdfs:label "Contributor"@en ; + dcterms:description "Examples of a Contributor include a person, an organization, or a service. Typically, the name of a Contributor should be used to indicate the entity."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "An entity responsible for making contributions to the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:coverage + rdfs:label "Coverage"@en ; + dcterms:description "Spatial topic and spatial applicability may be a named place or a location specified by its geographic coordinates. Temporal topic may be a named period, date, or date range. A jurisdiction may be a named administrative entity or a geographic place to which the resource applies. Recommended best practice is to use a controlled vocabulary such as the Thesaurus of Geographic Names [TGN]. Where appropriate, named places or time periods can be used in preference to numeric identifiers such as sets of coordinates or date ranges."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:creator + a owl:AnnotationProperty ; + rdfs:label "Creator"@en ; + dcterms:description "Examples of a Creator include a person, an organization, or a service. Typically, the name of a Creator should be used to indicate the entity."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "An entity primarily responsible for making the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:date + a owl:AnnotationProperty ; + rdfs:label "Date"@en ; + dcterms:description "Date may be used to express temporal information at any level of granularity. Recommended best practice is to use an encoding scheme, such as the W3CDTF profile of ISO 8601 [W3CDTF]."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "A point or period of time associated with an event in the lifecycle of the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:description + a owl:AnnotationProperty ; + rdfs:label "Description"@en ; + dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "An account of the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:format + rdfs:label "Format"@en ; + dcterms:description "Examples of dimensions include size and duration. Recommended best practice is to use a controlled vocabulary such as the list of Internet Media Types [MIME]."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "The file format, physical medium, or dimensions of the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:identifier + rdfs:label "Identifier"@en ; + dcterms:description "Recommended best practice is to identify the resource by means of a string conforming to a formal identification system. "@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "An unambiguous reference to the resource within a given context."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:language + rdfs:label "Language"@en ; + dcterms:description "Recommended best practice is to use a controlled vocabulary such as RFC 4646 [RFC4646]."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "A language of the resource."@en ; + rdfs:isDefinedBy dc: ; + rdfs:seeAlso ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:publisher + rdfs:label "Publisher"@en ; + dcterms:description "Examples of a Publisher include a person, an organization, or a service. Typically, the name of a Publisher should be used to indicate the entity."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "An entity responsible for making the resource available."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:relation + rdfs:label "Relation"@en ; + dcterms:description "Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system. "@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "A related resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:rights + rdfs:label "Rights"@en ; + dcterms:description "Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "Information about rights held in and over the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:source + rdfs:label "Source"@en ; + dcterms:description "The described resource may be derived from the related resource in whole or in part. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "A related resource from which the described resource is derived."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:subject + rdfs:label "Subject"@en ; + dcterms:description "Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2012-06-14"^^xsd:date ; + rdfs:comment "The topic of the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:title + rdfs:label "Title"@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "A name given to the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dc:type + rdfs:label "Type"@en ; + dcterms:description "Recommended best practice is to use a controlled vocabulary such as the DCMI Type Vocabulary [DCMITYPE]. To describe the file format, physical medium, or dimensions of the resource, use the Format element."@en ; + dcterms:hasVersion ; + dcterms:issued "1999-07-02"^^xsd:date ; + dcterms:modified "2008-01-14"^^xsd:date ; + rdfs:comment "The nature or genre of the resource."@en ; + rdfs:isDefinedBy dc: ; + skos:note "A second property with the same name as this property has been declared in the dcterms: namespace (http://purl.org/dc/terms/). See the Introduction to the document \"DCMI Metadata Terms\" (http://dublincore.org/documents/dcmi-terms/) for an explanation."@en ; +. + +dcterms:description + a owl:AnnotationProperty ; +. + +dcterms:hasVersion + a owl:AnnotationProperty ; +. + +dcterms:issued + a owl:AnnotationProperty ; +. + +dcterms:modified + a owl:AnnotationProperty ; +. + +dcterms:publisher + a owl:AnnotationProperty ; +. + +dcterms:title + a owl:AnnotationProperty ; +. + +geo:asGML + a owl:DatatypeProperty ; + rdfs:label "asGML"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The GML serialization of a geometry + """@en ; + rdfs:comment """ + The GML serialization of a geometry + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:gmlLiteral ; + rdfs:subPropertyOf geo:hasSerialization ; + skos:definition """ + The GML serialization of a geometry + """@en ; + skos:prefLabel "asGML"@en ; +. + +geo:asWKT + a owl:DatatypeProperty ; + rdfs:label "asWKT"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The WKT serialization of a geometry + """@en ; + rdfs:comment """ + The WKT serialization of a geometry + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:wktLiteral ; + rdfs:subPropertyOf geo:hasSerialization ; + skos:definition """ + The WKT serialization of a geometry + """@en ; + skos:prefLabel "asWKT"@en ; +. + +geo:coordinateDimension + a owl:DatatypeProperty ; + rdfs:label "coordinateDimension"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The number of measurements or axes needed to describe the position of this + geometry in a coordinate system. + """@en ; + rdfs:comment """ + The number of measurements or axes needed to describe the position of this + geometry in a coordinate system. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy + , + ; + rdfs:range xsd:integer ; + skos:definition """ + The number of measurements or axes needed to describe the position of this + geometry in a coordinate system. + """@en ; + skos:prefLabel "coordinateDimension"@en ; +. + +geo:defaultGeometry + a owl:ObjectProperty ; + rdfs:label "defaultGeometry"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The default geometry to be used in spatial calculations. + It is Usually the most detailed geometry. + """@en ; + rdfs:comment """ + The default geometry to be used in spatial calculations. + It is Usually the most detailed geometry. + """@en ; + rdfs:domain geo:Feature ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:Geometry ; + rdfs:subPropertyOf geo:hasGeometry ; + skos:definition """ + The default geometry to be used in spatial calculations. + It is Usually the most detailed geometry. + """@en ; + skos:prefLabel "defaultGeometry"@en ; +. + +geo:dimension + a owl:DatatypeProperty ; + rdfs:label "dimension"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The topological dimension of this geometric object, which + must be less than or equal to the coordinate dimension. + In non-homogeneous collections, this will return the largest + topological dimension of the contained objects. + """@en ; + rdfs:comment """ + The topological dimension of this geometric object, which + must be less than or equal to the coordinate dimension. + In non-homogeneous collections, this will return the largest + topological dimension of the contained objects. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy + , + ; + rdfs:range xsd:integer ; + skos:definition """ + The topological dimension of this geometric object, which + must be less than or equal to the coordinate dimension. + In non-homogeneous collections, this will return the largest + topological dimension of the contained objects. + """@en ; + skos:prefLabel "dimension"@en ; +. + +geo:ehContains + a owl:ObjectProperty ; + rdfs:label "contains"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*TFF*FF* + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*TFF*FF* + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfContains ; + skos:definition """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*TFF*FF* + """@en ; + skos:prefLabel "contains"@en ; +. + +geo:ehCoveredBy + a owl:ObjectProperty ; + rdfs:label "coveredBy"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFF*TFT** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFF*TFT** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfWithin ; + skos:definition """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFF*TFT** + """@en ; + skos:prefLabel "coveredBy"@en ; +. + +geo:ehCovers + a owl:ObjectProperty ; + rdfs:label "covers"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: T*TFT*FF* + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: T*TFT*FF* + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfContains ; + skos:definition """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: T*TFT*FF* + """@en ; + skos:prefLabel "covers"@en ; +. + +geo:ehDisjoint + a owl:ObjectProperty ; + rdfs:label "disjoint"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:propertyDisjointWith geo:sfIntersects ; + owl:equivalentProperty geo:sfDisjoint, geo:rcc8dc ; + skos:definition """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + skos:prefLabel "disjoint"@en ; +. + +geo:ehEquals + a owl:ObjectProperty ; + rdfs:label "equals"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + owl:equivalentProperty geo:sfEquals, geo:rcc8eq ; + dc:description """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + skos:definition """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + skos:prefLabel "equals"@en ; +. + +geo:ehInside + a owl:ObjectProperty ; + rdfs:label "inside"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + owl:subPropertyOf geo:sfWithin ; + dc:description """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFF*FFT** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFF*FFT** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + skos:definition """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFF*FFT** + """@en ; + skos:prefLabel "inside"@en ; +. + +geo:ehMeet + a owl:ObjectProperty ; + rdfs:label "meet"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:sfTouches, geo:rcc8ec ; + skos:definition """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + skos:prefLabel "meet"@en ; +. + +geo:ehOverlap + a owl:ObjectProperty ; + rdfs:label "overlap"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:sfOverlaps, geo:rcc8po ; + skos:definition """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + skos:prefLabel "overlap"@en ; +. + +geo:isEmpty + a owl:DatatypeProperty ; + rdfs:label "isEmpty"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + (true) if this geometric object is the empty Geometry. If + true, then this geometric object represents the empty point + set for the coordinate space. + """@en ; + rdfs:comment """ + (true) if this geometric object is the empty Geometry. If + true, then this geometric object represents the empty point + set for the coordinate space. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy + , + ; + rdfs:range xsd:boolean ; + skos:definition """ + (true) if this geometric object is the empty Geometry. If + true, then this geometric object represents the empty point + set for the coordinate space. + """@en ; + skos:prefLabel "isEmpty"@en ; +. + +geo:isSimple + a owl:DatatypeProperty ; + rdfs:label "isSimple"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + (true) if this geometric object has no anomalous geometric + points, such as self intersection or self tangency. + """@en ; + rdfs:comment """ + (true) if this geometric object has no anomalous geometric + points, such as self intersection or self tangency. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy + , + ; + rdfs:range xsd:boolean ; + skos:definition """ + (true) if this geometric object has no anomalous geometric + points, such as self intersection or self tangency. + """@en ; + skos:prefLabel "isSimple"@en ; +. + +geo:rcc8dc + a owl:ObjectProperty ; + rdfs:label "disconnected"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FFTFFTTTT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FFTFFTTTT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:sfDisjoint, geo:ehDisjoint ; + skos:definition """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FFTFFTTTT + """@en ; + skos:prefLabel "disconnected"@en ; +. + +geo:rcc8ec + a owl:ObjectProperty ; + rdfs:label "externally connected"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. DE-9IM: FFTFTTTTT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. DE-9IM: FFTFTTTTT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:sfTouches, geo:ehMeet ; + skos:definition """ + Exists if the subject SpatialObject spatially meets the + object SpatialObject. DE-9IM: FFTFTTTTT + """@en ; + skos:prefLabel "externally connected"@en ; +. + +geo:rcc8eq + a owl:ObjectProperty ; + rdfs:label "equals"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:sfEquals, geo:ehEquals ; + skos:definition """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + skos:prefLabel "equals"@en ; +. + +geo:rcc8ntpp + a owl:ObjectProperty ; + rdfs:label "non-tangential proper part"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFFTFFTTT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFFTFFTTT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfWithin ; + skos:definition """ + Exists if the subject SpatialObject is spatially inside + the object SpatialObject. DE-9IM: TFFTFFTTT + """@en ; + skos:prefLabel "non-tangential proper part"@en ; +. + +geo:rcc8ntppi + a owl:ObjectProperty ; + rdfs:label "non-tangential proper part inverse"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: TTTFFTFFT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: TTTFFTFFT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfContains ; + skos:definition """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: TTTFFTFFT + """@en ; + skos:prefLabel "non-tangential proper part inverse"@en ; +. + +geo:rcc8po + a owl:ObjectProperty ; + rdfs:label "partially overlapping"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: TTTTTTTTT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: TTTTTTTTT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:sfOverlaps, geo:ehOverlap ; + skos:definition """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: TTTTTTTTT + """@en ; + skos:prefLabel "partially overlapping"@en ; +. + +geo:rcc8tpp + a owl:ObjectProperty ; + rdfs:label "tangential proper part"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFFTTFTTT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFFTTFTTT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfWithin ; + skos:definition """ + Exists if the subject SpatialObject is spatially covered + by the object SpatialObject. DE-9IM: TFFTTFTTT + """@en ; + skos:prefLabel "tangential proper part"@en ; +. + +geo:rcc8tppi + a owl:ObjectProperty ; + rdfs:label "tangential proper part inverse"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: TTTFTTFFT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: TTTFTTFFT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:subPropertyOf geo:sfContains ; + skos:definition """ + Exists if the subject SpatialObject spatially covers the + object SpatialObject. DE-9IM: TTTFTTFFT + """@en ; + skos:prefLabel "tangential proper part inverse"@en ; +. + +geo:sfContains + a owl:ObjectProperty ; + rdfs:label "contains"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*****FF* + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*****FF* + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + skos:definition """ + Exists if the subject SpatialObject spatially contains the + object SpatialObject. DE-9IM: T*****FF* + """@en ; + skos:prefLabel "contains"@en ; +. + +geo:sfCrosses + a owl:ObjectProperty ; + rdfs:label "crosses"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially crosses the + object SpatialObject. DE-9IM: T*T****** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially crosses the + object SpatialObject. DE-9IM: T*T****** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + skos:definition """ + Exists if the subject SpatialObject spatially crosses the + object SpatialObject. DE-9IM: T*T****** + """@en ; + skos:prefLabel "crosses"@en ; +. + +geo:sfDisjoint + a owl:ObjectProperty ; + rdfs:label "disjoint"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:propertyDisjointWith geo:sfIntersects ; + owl:equivalentProperty geo:ehDisjoint, geo:rcc8dc ; + skos:definition """ + Exists if the subject SpatialObject is spatially disjoint + from the object SpatialObject. DE-9IM: FF*FF**** + """@en ; + skos:prefLabel "disjoint"@en ; +. + +geo:sfEquals + a owl:ObjectProperty ; + rdfs:label "equals"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehEquals, geo:rcc8eq ; + skos:definition """ + Exists if the subject SpatialObject spatially equals the + object SpatialObject. DE-9IM: TFFFTFFFT + """@en ; + skos:prefLabel "equals"@en ; +. + +geo:sfIntersects + a owl:ObjectProperty ; + rdfs:label "intersects"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is not spatially disjoint + from the object SpatialObject. + DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T**** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is not spatially disjoint + from the object SpatialObject. + DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T**** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:propertyDisjointWith geo:sfDisjoint, geo:ehDisjoint ; + skos:definition """ + Exists if the subject SpatialObject is not spatially disjoint + from the object SpatialObject. + DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T**** + """@en ; + skos:prefLabel "intersects"@en ; +. + +geo:sfOverlaps + a owl:ObjectProperty ; + rdfs:label "overlaps"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehOverlap, geo:rcc8po ; + skos:definition """ + Exists if the subject SpatialObject spatially overlaps the + object SpatialObject. DE-9IM: T*T***T** + """@en ; + skos:prefLabel "overlaps"@en ; +. + +geo:sfTouches + a owl:ObjectProperty ; + rdfs:label "touches"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject spatially touches the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject spatially touches the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + owl:equivalentProperty geo:ehMeet, geo:rcc8ec ; + skos:definition """ + Exists if the subject SpatialObject spatially touches the + object SpatialObject. + DE-9IM: FT******* ^ F**T***** ^ F***T**** + """@en ; + skos:prefLabel "touches"@en ; +. + +geo:sfWithin + a owl:ObjectProperty ; + rdfs:label "within"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Exists if the subject SpatialObject is spatially within the + object SpatialObject. DE-9IM: T*F**F*** + """@en ; + rdfs:comment """ + Exists if the subject SpatialObject is spatially within the + object SpatialObject. DE-9IM: T*F**F*** + """@en ; + rdfs:domain geo:SpatialObject ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:SpatialObject ; + skos:definition """ + Exists if the subject SpatialObject is spatially within the + object SpatialObject. DE-9IM: T*F**F*** + """@en ; + skos:prefLabel "within"@en ; +. + +geo:spatialDimension + a owl:DatatypeProperty ; + rdfs:label "spatialDimension"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The number of measurements or axes needed to describe the spatial position of + this geometry in a coordinate system. + """@en ; + rdfs:comment """ + The number of measurements or axes needed to describe the spatial position of + this geometry in a coordinate system. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy + , + ; + rdfs:range xsd:integer ; + skos:definition """ + The number of measurements or axes needed to describe the spatial position of + this geometry in a coordinate system. + """@en ; + skos:prefLabel "spatialDimension"@en ; +. + +xsd:date + a rdfs:Datatype ; +. + +skos:definition + a owl:AnnotationProperty ; +. + +skos:note + a owl:AnnotationProperty ; +. + +skos:prefLabel + a owl:AnnotationProperty ; +. + +geo:gmlLiteral + a rdfs:Datatype ; + rdfs:label "GML Literal"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + A GML serialization of a geometry object. + """@en ; + rdfs:comment """ + A GML serialization of a geometry object. + """@en ; + rdfs:isDefinedBy + , + ; + skos:definition """ + A GML serialization of a geometry object. + """@en ; + skos:prefLabel "GML Literal"@en ; +. + +geo:hasGeometry + a owl:ObjectProperty ; + rdfs:label "hasGeometry"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + A spatial representation for a given feature. + """@en ; + rdfs:comment """ + A spatial representation for a given feature. + """@en ; + rdfs:domain geo:Feature ; + rdfs:isDefinedBy + , + ; + rdfs:range geo:Geometry ; + skos:definition """ + A spatial representation for a given feature. + """@en ; + skos:prefLabel "hasGeometry"@en ; +. + +geo:wktLiteral + a rdfs:Datatype ; + rdfs:label "Well-known Text Literal"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + A Well-known Text serialization of a geometry object. + """@en ; + rdfs:comment """ + A Well-known Text serialization of a geometry object. + """@en ; + rdfs:isDefinedBy + , + ; + skos:definition """ + A Well-known Text serialization of a geometry object. + """@en ; + skos:prefLabel "Well-known Text Literal"@en ; +. + +geo:Feature + a owl:Class ; + rdfs:label "Feature"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + This class represents the top-level feature type. This class is + equivalent to GFI_Feature defined in ISO 19156:2011, and it is + superclass of all feature types. + """@en ; + rdfs:comment """ + This class represents the top-level feature type. This class is + equivalent to GFI_Feature defined in ISO 19156:2011, and it is + superclass of all feature types. + """@en ; + rdfs:isDefinedBy + , + ; + rdfs:subClassOf geo:SpatialObject ; + owl:disjointWith geo:Geometry ; + skos:definition """ + This class represents the top-level feature type. This class is + equivalent to GFI_Feature defined in ISO 19156:2011, and it is + superclass of all feature types. + """@en ; + skos:prefLabel "Feature"@en ; +. + +geo:hasSerialization + a owl:DatatypeProperty ; + rdfs:label "has serialization"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + Connects a geometry object with its text-based serialization. + """@en ; + rdfs:comment """ + Connects a geometry object with its text-based serialization. + """@en ; + rdfs:domain geo:Geometry ; + rdfs:isDefinedBy + , + ; + rdfs:range rdfs:Literal ; + skos:definition """ + Connects a geometry object with its text-based serialization. + """@en ; + skos:prefLabel "has serialization"@en ; +. + +geo:Geometry + a owl:Class ; + rdfs:label "Geometry"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The class represents the top-level geometry type. This class is + equivalent to the UML class GM_Object defined in ISO 19107, and + it is superclass of all geometry types. + """@en ; + rdfs:comment """ + The class represents the top-level geometry type. This class is + equivalent to the UML class GM_Object defined in ISO 19107, and + it is superclass of all geometry types. + """@en ; + rdfs:isDefinedBy + , + ; + rdfs:subClassOf geo:SpatialObject ; + skos:definition """ + The class represents the top-level geometry type. This class is + equivalent to the UML class GM_Object defined in ISO 19107, and + it is superclass of all geometry types. + """@en ; + skos:prefLabel "Geometry"@en ; +. + +dc: + dcterms:modified "2012-06-14"^^xsd:date ; + dcterms:publisher ; + dcterms:title "Dublin Core Metadata Element Set, Version 1.1"@en ; +. + + + a owl:Ontology ; + dc:creator "Open Geospatial Consortium" ; + dc:date "2012-04-30"^^xsd:date ; + dc:description "An RDF/OWL vocabulary for representing spatial information" ; + dc:source + , + "OGC GeoSPARQL – A Geographic Query Language for RDF Data OGC 11-052r5" ; + dc:title "GeoSPARQL Ontology" ; + vann:preferredNamespacePrefix "geo"^^xsd:string ; + vann:preferredNamespaceUri "http://www.opengis.net/ont/geosparql#"^^xsd:anyURI ; + rdfs:seeAlso + , + , + ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" ; +. + +geo:SpatialObject + a owl:Class ; + rdfs:label "SpatialObject"@en ; + dc:contributor "Matthew Perry" ; + dc:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dc:date "2011-06-16"^^xsd:date ; + dc:description """ + The class spatial-object represents everything that can have + a spatial representation. It is superclass of feature and geometry. + """@en ; + rdfs:comment """ + The class spatial-object represents everything that can have + a spatial representation. It is superclass of feature and geometry. + """@en ; + rdfs:isDefinedBy + , + ; + skos:definition """ + The class spatial-object represents everything that can have + a spatial representation. It is superclass of feature and geometry. + """@en ; + skos:prefLabel "SpatialObject"@en ; +. diff --git a/geosparql10/logfile.json b/geosparql10/logfile.json new file mode 100644 index 000000000..f7588ee4a --- /dev/null +++ b/geosparql10/logfile.json @@ -0,0 +1,189 @@ +{ + "GeoSPARQL Functions Translation Completeness": { + "../translations/": {}, + "../translations/de": { + "functions_de.ttl": { + "Translation DE for http://www.opengis.net/def/function/geosparql/asGML": "missing", + "Translation DE for http://www.opengis.net/def/function/geosparql/asWKT": "missing", + "Translation DE for http://www.opengis.net/def/function/geosparql/common": "missing", + "Translation DE for http://www.opengis.net/def/function/geosparql/dimension": "missing", + "Translation DE for http://www.opengis.net/def/function/geosparql/eh": "missing", + "Translation DE for http://www.opengis.net/def/function/geosparql/isEmpty": "missing", + "Translation DE for http://www.opengis.net/def/function/geosparql/isSimple": "missing", + "Translation DE for http://www.opengis.net/def/function/geosparql/nonTopo": "missing", + "Translation DE for http://www.opengis.net/def/function/geosparql/rcc": "missing", + "Translation DE for http://www.opengis.net/def/function/geosparql/sf": "missing", + "Translation DE for http://www.opengis.net/def/geosparql/functions": "missing" + }, + "geo_de.ttl": { + "Translation DE for http://www.opengis.net/ont/geosparql#hasDefaultGeometry": "missing" + }, + "requirements_de.ttl": { + "Translation DE for http://www.opengis.net/def/geosparql/reqs": "missing", + "Translation DE for http://www.opengis.net/spec/geosparql/1.0/conf/core/spatial-object-properties": "missing", + "Translation DE for http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension:": "missing", + "Translation DE for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension": "missing", + "Translation DE for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/eh-spatial-relations": "missing", + "Translation DE for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/rcc8-spatial-relations": "missing", + "Translation DE for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/sf-spatial-relations": "missing", + "Translation DE for http://www.opengis.net/spec/geosparql/1.0/req/geosparql11reqs": "missing", + "Translation DE for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/eh-spatial-relations": "missing", + "Translation DE for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/rcc8-spatial-relations": "missing", + "Translation DE for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/sf-spatial-relations": "missing" + }, + "rules_de.ttl": { + "Translation DE for http://www.opengis.net/def/geosparql/functions": "missing", + "Translation DE for http://www.opengis.net/def/rule/geosparql/eh": "missing", + "Translation DE for http://www.opengis.net/def/rule/geosparql/rcc": "missing", + "Translation DE for http://www.opengis.net/def/rule/geosparql/sf": "missing" + }, + "sf_geometries_de.ttl": { + "Translation DE for http://www.opengis.net/ont/sf#Envelope": "missing", + "Translation DE for http://www.opengis.net/ont/sf#maximum": "missing", + "Translation DE for http://www.opengis.net/ont/sf#minimum": "missing" + } + }, + "../translations/fr": { + "functions_fr.ttl": { + "Translation FR for http://www.opengis.net/def/function/geosparql/area": "missing", + "Translation FR for http://www.opengis.net/def/function/geosparql/centroid": "missing", + "Translation FR for http://www.opengis.net/def/function/geosparql/common": "missing", + "Translation FR for http://www.opengis.net/def/function/geosparql/dimension": "missing", + "Translation FR for http://www.opengis.net/def/function/geosparql/eh": "missing", + "Translation FR for http://www.opengis.net/def/function/geosparql/isEmpty": "missing", + "Translation FR for http://www.opengis.net/def/function/geosparql/isSimple": "missing", + "Translation FR for http://www.opengis.net/def/function/geosparql/length": "missing", + "Translation FR for http://www.opengis.net/def/function/geosparql/nonTopo": "missing", + "Translation FR for http://www.opengis.net/def/function/geosparql/rcc": "missing", + "Translation FR for http://www.opengis.net/def/function/geosparql/sf": "missing", + "Translation FR for http://www.opengis.net/def/geosparql/functions": "missing" + }, + "geo_fr.ttl": { + "Translation FR for http://www.opengis.net/ont/geosparql#hasDefaultGeometry": "missing" + }, + "requirements_fr.ttl": { + "Translation FR for http://www.opengis.net/def/geosparql/reqs": "missing", + "Translation FR for http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension:": "missing", + "Translation FR for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension": "missing", + "Translation FR for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/eh-spatial-relations": "missing", + "Translation FR for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/rcc8-spatial-relations": "missing", + "Translation FR for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/sf-spatial-relations": "missing", + "Translation FR for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/eh-spatial-relations": "missing", + "Translation FR for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/rcc8-spatial-relations": "missing", + "Translation FR for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/sf-spatial-relations": "missing" + }, + "rules_fr.ttl": { + "Translation FR for http://www.opengis.net/def/geosparql/rules": "missing", + "Translation FR for http://www.opengis.net/def/rule/geosparql/eh": "missing", + "Translation FR for http://www.opengis.net/def/rule/geosparql/rcc": "missing", + "Translation FR for http://www.opengis.net/def/rule/geosparql/sf": "missing" + }, + "sf_geometries_fr.ttl": { + "Translation FR for http://www.opengis.net/ont/sf#Envelope": "missing", + "Translation FR for http://www.opengis.net/ont/sf#maximum": "missing", + "Translation FR for http://www.opengis.net/ont/sf#minimum": "missing" + } + } + }, + "GeoSPARQL Functions vs. RIF Rules": { + "../vocabularies/rules.ttl": {}, + "Spec Vocab Functions": {} + }, + "GeoSPARQL Functions vs. Requirements": { + "../vocabularies/geo.ttl": { + "http://www.opengis.net/spec/geosparql/1.0/req/core/feature-class": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/core/sparql-protocol": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/core/spatial-object-class": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/feature-properties": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/geometry-as-gml-literal": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/geometry-as-wkt-literal": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/geometry-class": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/geometry-properties": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/gml-literal": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/gml-literal-empty": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/gml-profile": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/query-functions": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/srid-function": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/wkt-axis-order": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/wkt-literal": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/wkt-literal-default-srs": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/wkt-literal-empty": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-topology-extension/eh-query-functions": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-topology-extension/rcc8-query-functions": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-topology-extension/relate-query-function": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/geometry-topology-extension/sf-query-functions": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/query-rewrite-extension/eh-query-rewrite": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/query-rewrite-extension/rcc8-query-rewrite": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/query-rewrite-extension/sf-query-rewrite": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/rdfs-entailment-extension/bgp-rdfs-ent": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/rdfs-entailment-extension/gml-geometry-types": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/rdfs-entailment-extension/wkt-geometry-types": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/topology-extension/eh-spatial-relations": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/topology-extension/rcc8-spatial-relations": "missing", + "http://www.opengis.net/spec/geosparql/1.0/req/topology-extension/sf-spatial-relations": "missing" + }, + "../vocabularies/requirements.ttl": { + "http://www.opengis.net/ont/geosparql": "missing", + "http://www.opengis.net/spec/geosparql/1.0": "missing" + } + }, + "GeoSPARQL Functions vs. Service Description": { + "../servicedescription/servicedescription_all_functions.ttl": {}, + "../vocabularies/functions.ttl": { + "http://www.opengis.net/def/function/geosparql/centroid": "missing", + "http://www.opengis.net/def/function/geosparql/dimension": "missing" + } + }, + "GeoSPARQL Functions vs. Spec": { + "../vocabularies/functions.ttl": {}, + "Spec Vocab Functions": { + "http://www.opengis.net/def/function/geosparql/boundary": "missing", + "http://www.opengis.net/def/function/geosparql/buffer": "missing", + "http://www.opengis.net/def/function/geosparql/convexHull": "missing", + "http://www.opengis.net/def/function/geosparql/difference": "missing", + "http://www.opengis.net/def/function/geosparql/distance": "missing", + "http://www.opengis.net/def/function/geosparql/ehContains": "missing", + "http://www.opengis.net/def/function/geosparql/ehCoveredBy": "missing", + "http://www.opengis.net/def/function/geosparql/ehCovers": "missing", + "http://www.opengis.net/def/function/geosparql/ehDisjoint": "missing", + "http://www.opengis.net/def/function/geosparql/ehEquals": "missing", + "http://www.opengis.net/def/function/geosparql/ehInside": "missing", + "http://www.opengis.net/def/function/geosparql/ehMeet": "missing", + "http://www.opengis.net/def/function/geosparql/ehOverlap": "missing", + "http://www.opengis.net/def/function/geosparql/envelope": "missing", + "http://www.opengis.net/def/function/geosparql/getSRID": "missing", + "http://www.opengis.net/def/function/geosparql/intersection": "missing", + "http://www.opengis.net/def/function/geosparql/rcc8dc": "missing", + "http://www.opengis.net/def/function/geosparql/rcc8ec": "missing", + "http://www.opengis.net/def/function/geosparql/rcc8eq": "missing", + "http://www.opengis.net/def/function/geosparql/rcc8ntpp": "missing", + "http://www.opengis.net/def/function/geosparql/rcc8ntppi": "missing", + "http://www.opengis.net/def/function/geosparql/rcc8po": "missing", + "http://www.opengis.net/def/function/geosparql/rcc8tpp": "missing", + "http://www.opengis.net/def/function/geosparql/rcc8tppi": "missing", + "http://www.opengis.net/def/function/geosparql/relate": "missing", + "http://www.opengis.net/def/function/geosparql/sfContains": "missing", + "http://www.opengis.net/def/function/geosparql/sfCrosses": "missing", + "http://www.opengis.net/def/function/geosparql/sfDisjoint": "missing", + "http://www.opengis.net/def/function/geosparql/sfEquals": "missing", + "http://www.opengis.net/def/function/geosparql/sfIntersects": "missing", + "http://www.opengis.net/def/function/geosparql/sfOverlaps": "missing", + "http://www.opengis.net/def/function/geosparql/sfTouches": "missing", + "http://www.opengis.net/def/function/geosparql/sfWithin": "missing", + "http://www.opengis.net/def/function/geosparql/symDifference": "missing", + "http://www.opengis.net/def/function/geosparql/union": "missing" + } + }, + "GeoSPARQL JSON-LD Context": { + "../contexts/geo-context.json": { + "http://www.opengis.net/ont/geosparql#ehOverlap": "missing", + "http://www.opengis.net/ont/geosparql#gmlLiteral": "missing", + "http://www.opengis.net/ont/geosparql#wktLiteral": "missing" + }, + "../vocabularies/geo.ttl": { + "http://www.opengis.net/ont/geosparql#": "missing", + "http://www.opengis.net/ont/geosparql#ehOverlaps": "missing", + "http://www.opengis.net/ont/geosparql#hasDefaultGeometry": "missing" + } + } +} \ No newline at end of file diff --git a/geosparql10/logfile.txt b/geosparql10/logfile.txt new file mode 100644 index 000000000..3763fce25 --- /dev/null +++ b/geosparql10/logfile.txt @@ -0,0 +1,352 @@ + +========== +Geo Functions from spec: 0 +========== + +========== +Geo Rules from spec: 0 +========== + +========== +Geo Vocab from spec: 0 +========== + +========== +COMPARISON: ../vocabularies/functions.ttl vs. ../servicedescription/servicedescription_all_functions.ttl +========== + +0 Functions missing in ../servicedescription/servicedescription_all_functions.ttl file: + +2 Functions missing in ../vocabularies/functions.ttl file: +- http://www.opengis.net/def/function/geosparql/centroid +- http://www.opengis.net/def/function/geosparql/dimension + +========== +COMPARISON: ../vocabularies/functions.ttl vs. Spec Vocab Functions +========== + +35 Functions missing in Spec Vocab Functions file: +- http://www.opengis.net/def/function/geosparql/boundary +- http://www.opengis.net/def/function/geosparql/buffer +- http://www.opengis.net/def/function/geosparql/convexHull +- http://www.opengis.net/def/function/geosparql/difference +- http://www.opengis.net/def/function/geosparql/distance +- http://www.opengis.net/def/function/geosparql/ehContains +- http://www.opengis.net/def/function/geosparql/ehCoveredBy +- http://www.opengis.net/def/function/geosparql/ehCovers +- http://www.opengis.net/def/function/geosparql/ehDisjoint +- http://www.opengis.net/def/function/geosparql/ehEquals +- http://www.opengis.net/def/function/geosparql/ehInside +- http://www.opengis.net/def/function/geosparql/ehMeet +- http://www.opengis.net/def/function/geosparql/ehOverlap +- http://www.opengis.net/def/function/geosparql/envelope +- http://www.opengis.net/def/function/geosparql/getSRID +- http://www.opengis.net/def/function/geosparql/intersection +- http://www.opengis.net/def/function/geosparql/rcc8dc +- http://www.opengis.net/def/function/geosparql/rcc8ec +- http://www.opengis.net/def/function/geosparql/rcc8eq +- http://www.opengis.net/def/function/geosparql/rcc8ntpp +- http://www.opengis.net/def/function/geosparql/rcc8ntppi +- http://www.opengis.net/def/function/geosparql/rcc8po +- http://www.opengis.net/def/function/geosparql/rcc8tpp +- http://www.opengis.net/def/function/geosparql/rcc8tppi +- http://www.opengis.net/def/function/geosparql/relate +- http://www.opengis.net/def/function/geosparql/sfContains +- http://www.opengis.net/def/function/geosparql/sfCrosses +- http://www.opengis.net/def/function/geosparql/sfDisjoint +- http://www.opengis.net/def/function/geosparql/sfEquals +- http://www.opengis.net/def/function/geosparql/sfIntersects +- http://www.opengis.net/def/function/geosparql/sfOverlaps +- http://www.opengis.net/def/function/geosparql/sfTouches +- http://www.opengis.net/def/function/geosparql/sfWithin +- http://www.opengis.net/def/function/geosparql/symDifference +- http://www.opengis.net/def/function/geosparql/union + +0 Functions missing in ../vocabularies/functions.ttl file: + +========== +COMPARISON: ../vocabularies/rules.ttl vs. Spec Vocab Functions +========== + +0 Functions missing in Spec Vocab Functions file: + +0 Functions missing in ../vocabularies/rules.ttl file: + +========== +COMPARISON: ../contexts/geo-context.json vs. ../vocabularies/geo.ttl +========== + +3 Functions missing in ../vocabularies/geo.ttl file: +- http://www.opengis.net/ont/geosparql# +- http://www.opengis.net/ont/geosparql#ehOverlaps +- http://www.opengis.net/ont/geosparql#hasDefaultGeometry + +3 Functions missing in ../contexts/geo-context.json file: +- http://www.opengis.net/ont/geosparql#ehOverlap +- http://www.opengis.net/ont/geosparql#gmlLiteral +- http://www.opengis.net/ont/geosparql#wktLiteral + +========== +COMPARISON: ../vocabularies/geo.ttl vs. ../vocabularies/requirements.ttl +========== + +2 Functions missing in ../vocabularies/requirements.ttl file: +- http://www.opengis.net/ont/geosparql +- http://www.opengis.net/spec/geosparql/1.0 + +30 Functions missing in ../vocabularies/geo.ttl file: +- http://www.opengis.net/spec/geosparql/1.0/req/core/feature-class +- http://www.opengis.net/spec/geosparql/1.0/req/core/sparql-protocol +- http://www.opengis.net/spec/geosparql/1.0/req/core/spatial-object-class +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/feature-properties +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/geometry-as-gml-literal +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/geometry-as-wkt-literal +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/geometry-class +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/geometry-properties +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/gml-literal +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/gml-literal-empty +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/gml-profile +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/query-functions +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/srid-function +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/wkt-axis-order +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/wkt-literal +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/wkt-literal-default-srs +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-extension/wkt-literal-empty +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-topology-extension/eh-query-functions +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-topology-extension/rcc8-query-functions +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-topology-extension/relate-query-function +- http://www.opengis.net/spec/geosparql/1.0/req/geometry-topology-extension/sf-query-functions +- http://www.opengis.net/spec/geosparql/1.0/req/query-rewrite-extension/eh-query-rewrite +- http://www.opengis.net/spec/geosparql/1.0/req/query-rewrite-extension/rcc8-query-rewrite +- http://www.opengis.net/spec/geosparql/1.0/req/query-rewrite-extension/sf-query-rewrite +- http://www.opengis.net/spec/geosparql/1.0/req/rdfs-entailment-extension/bgp-rdfs-ent +- http://www.opengis.net/spec/geosparql/1.0/req/rdfs-entailment-extension/gml-geometry-types +- http://www.opengis.net/spec/geosparql/1.0/req/rdfs-entailment-extension/wkt-geometry-types +- http://www.opengis.net/spec/geosparql/1.0/req/topology-extension/eh-spatial-relations +- http://www.opengis.net/spec/geosparql/1.0/req/topology-extension/rcc8-spatial-relations +- http://www.opengis.net/spec/geosparql/1.0/req/topology-extension/sf-spatial-relations + +========== +COMPARISON: rules_de.ttl vs. rules.ttl +========== +Translation DE missing for http://www.opengis.net/def/rule/geosparql/rcc [rules.ttl] +Translation DE missing for http://www.opengis.net/def/rule/geosparql/sf [rules.ttl] +Translation DE missing for http://www.opengis.net/def/rule/geosparql/eh [rules.ttl] +Translation DE missing for http://www.opengis.net/def/rule/geosparql/sf [rules.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/functions [rules.ttl] +Translation DE missing for http://www.opengis.net/def/rule/geosparql/eh [rules.ttl] +Translation DE missing for http://www.opengis.net/def/rule/geosparql/sf [rules.ttl] +Translation DE missing for http://www.opengis.net/def/rule/geosparql/rcc [rules.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/functions [rules.ttl] +Translation DE missing for http://www.opengis.net/def/rule/geosparql/rcc [rules.ttl] +Translation DE missing for http://www.opengis.net/def/rule/geosparql/eh [rules.ttl] + +========== +COMPARISON: geo_de.ttl vs. geo.ttl +========== +Translation DE missing for http://www.opengis.net/ont/geosparql#hasDefaultGeometry [geo.ttl] +Translation DE missing for http://www.opengis.net/ont/geosparql#hasDefaultGeometry [geo.ttl] +Translation DE missing for http://www.opengis.net/ont/geosparql#hasDefaultGeometry [geo.ttl] + +========== +COMPARISON: requirements_de.ttl vs. requirements.ttl +========== +Translation DE missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension: [requirements.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/core/spatial-object-properties [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/core/spatial-object-properties [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/core/spatial-object-properties [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension: [requirements.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/geosparql11reqs [requirements.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/geosparql11reqs [requirements.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/core/spatial-object-properties [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension: [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation DE missing for http://www.opengis.net/spec/geosparql/1.0/req/geosparql11reqs [requirements.ttl] + +========== +COMPARISON: functions_de.ttl vs. functions.ttl +========== +Translation DE missing for http://www.opengis.net/def/function/geosparql/dimension [functions.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/functions [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/nonTopo [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/eh [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/common [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/asGML [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/asWKT [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/nonTopo [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/eh [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/rcc [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/sf [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/common [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/asGML [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/isSimple [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/asWKT [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/rcc [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/isEmpty [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/isEmpty [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/common [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/isSimple [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/sf [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/asGML [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/sf [functions.ttl] +Translation DE missing for http://www.opengis.net/def/geosparql/functions [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/eh [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/dimension [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/isEmpty [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/isSimple [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/asWKT [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/nonTopo [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/rcc [functions.ttl] +Translation DE missing for http://www.opengis.net/def/function/geosparql/dimension [functions.ttl] + +========== +COMPARISON: sf_geometries_de.ttl vs. sf_geometries.ttl +========== +Translation DE missing for http://www.opengis.net/ont/sf#Envelope [sf_geometries.ttl] +Translation DE missing for http://www.opengis.net/ont/sf#Envelope [sf_geometries.ttl] +Translation DE missing for http://www.opengis.net/ont/sf#minimum [sf_geometries.ttl] +Translation DE missing for http://www.opengis.net/ont/sf#minimum [sf_geometries.ttl] +Translation DE missing for http://www.opengis.net/ont/sf#maximum [sf_geometries.ttl] +Translation DE missing for http://www.opengis.net/ont/sf#maximum [sf_geometries.ttl] + +========== +COMPARISON: requirements_fr.ttl vs. requirements.ttl +========== +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/rcc8-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension: [requirements.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/req/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension [requirements.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/sf-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension: [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension: [requirements.ttl] +Translation FR missing for http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/eh-spatial-relations [requirements.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/reqs [requirements.ttl] + +========== +COMPARISON: sf_geometries_fr.ttl vs. sf_geometries.ttl +========== +Translation FR missing for http://www.opengis.net/ont/sf#minimum [sf_geometries.ttl] +Translation FR missing for http://www.opengis.net/ont/sf#maximum [sf_geometries.ttl] +Translation FR missing for http://www.opengis.net/ont/sf#Envelope [sf_geometries.ttl] +Translation FR missing for http://www.opengis.net/ont/sf#maximum [sf_geometries.ttl] +Translation FR missing for http://www.opengis.net/ont/sf#Envelope [sf_geometries.ttl] +Translation FR missing for http://www.opengis.net/ont/sf#minimum [sf_geometries.ttl] + +========== +COMPARISON: functions_fr.ttl vs. functions.ttl +========== +Translation FR missing for http://www.opengis.net/def/function/geosparql/isEmpty [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/rcc [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/common [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/eh [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/isSimple [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/length [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/nonTopo [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/isEmpty [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/length [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/common [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/isEmpty [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/centroid [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/dimension [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/isSimple [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/length [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/sf [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/eh [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/nonTopo [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/common [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/isSimple [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/centroid [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/nonTopo [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/area [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/area [functions.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/functions [functions.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/functions [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/sf [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/eh [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/sf [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/rcc [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/dimension [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/centroid [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/rcc [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/dimension [functions.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/functions [functions.ttl] +Translation FR missing for http://www.opengis.net/def/function/geosparql/area [functions.ttl] + +========== +COMPARISON: rules_fr.ttl vs. rules.ttl +========== +Translation FR missing for http://www.opengis.net/def/rule/geosparql/eh [rules.ttl] +Translation FR missing for http://www.opengis.net/def/geosparql/rules [rules.ttl] +Translation FR missing for http://www.opengis.net/def/rule/geosparql/rcc [rules.ttl] +Translation FR missing for http://www.opengis.net/def/rule/geosparql/sf [rules.ttl] +Translation FR missing for http://www.opengis.net/def/rule/geosparql/eh [rules.ttl] +Translation FR missing for http://www.opengis.net/def/rule/geosparql/sf [rules.ttl] +Translation FR missing for http://www.opengis.net/def/rule/geosparql/rcc [rules.ttl] +Translation FR missing for http://www.opengis.net/def/rule/geosparql/eh [rules.ttl] +Translation FR missing for http://www.opengis.net/def/rule/geosparql/sf [rules.ttl] +Translation FR missing for http://www.opengis.net/def/rule/geosparql/rcc [rules.ttl] + +========== +COMPARISON: geo_fr.ttl vs. geo.ttl +========== +Translation FR missing for http://www.opengis.net/ont/geosparql#hasDefaultGeometry [geo.ttl] +Translation FR missing for http://www.opengis.net/ont/geosparql#hasDefaultGeometry [geo.ttl] +Translation FR missing for http://www.opengis.net/ont/geosparql#hasDefaultGeometry [geo.ttl] diff --git a/geosparql10/profile.ttl b/geosparql10/profile.ttl new file mode 100644 index 000000000..694e54d8a --- /dev/null +++ b/geosparql10/profile.ttl @@ -0,0 +1,78 @@ +PREFIX dcterms: +PREFIX owl: +PREFIX prof: +PREFIX rdfs: +PREFIX role: +PREFIX sdo: +PREFIX skos: +PREFIX xsd: + + + a prof:Profile ; + dcterms:created "2020-11-20"^^xsd:date ; + dcterms:description "This is a 'profile declaration' for the GeoSPARQL 1.0 specification (standard) as originally published in 2012. It describes the multiple parts of the specification and how the standard relates to other standards. It is formulated according to the Profiles Vocabulary."@en ; + dcterms:issued "2021"^^xsd:gYear ; + dcterms:modified "2020-12-22"^^xsd:date ; + dcterms:publisher ; + dcterms:title "GeoSPARQL 1.0 Profile" ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" ; + skos:scopeNote "Profile declarations are used to allow data to identify specifications in a way that allows data to make conformance claims to them - a broader conformance claim than that made to individual 'conformance classes' that are commonly found in recent OGC specifications. Profile declarations are also used to describe and relate the often multiple parts of specifications: ontologies, specification 'documents', vocabularies, validators and so on. This declaration describes where those parts are, what form (format) they take, what information models they implement and what roles they play."@en ; + prof:hasResource + , + , + , + ; +. + + + dcterms:conformsTo ; + dcterms:description "An OWL ontology (vocabulary) of the GML geometry types"@en ; + dcterms:format "text/xml" ; + dcterms:title "GML Geometry Types Vocabulary"@en ; + prof:hasArtifact "https://schemas.opengis.net/gml/3.2.1/gml_32_geometries.rdf"^^xsd:anyURI ; + prof:hasRole role:vocabulary ; +. + + + dcterms:conformsTo ; + dcterms:description "all GeoSPARQL functions and rules presented as a SKOS vocabulary"@en ; + dcterms:format "text/turtle" ; + dcterms:title "GeoSPARQL Functions & Rules vocabulary"@en ; + prof:hasArtifact ; + prof:hasRole role:vocabulary ; +. + + + dcterms:format "application/pdf" ; + dcterms:title "GeoSPARQL Specification Document as a PDF"@en ; + prof:hasArtifact ; + prof:hasRole role:specification ; +. + + + dcterms:conformsTo ; + dcterms:description "The GeoSPARQL 1.1 ontology in RDF (turtle)"@en ; + dcterms:format "application/rdf+xml" ; + dcterms:title "GeoSPARQL Ontology"@en ; + prof:hasArtifact ; + prof:hasRole role:scheme ; +. + + + dcterms:conformsTo ; + dcterms:description "An OWL ontology (vocabulary) of the Simple Features geometry types"@en ; + dcterms:format "text/xml" ; + dcterms:title "Simple Features Vocabulary"@en ; + rdfs:comment "A Turtle format artifact for this Resource is present in the GeoSPARQL 1.0 profile repository. It includes ontology annotations (title, date etc.) not present in the online artifact referenced here."@en ; + prof:hasArtifact ; + prof:hasRole role:vocabulary ; +. + + + a + owl:NamedIndividual , + sdo:Organization ; + sdo:name "Open Geospatial Consortium" ; + sdo:url ; +. diff --git a/geosparql10/pylode.log b/geosparql10/pylode.log new file mode 100644 index 000000000..e69de29bb diff --git a/geosparql10/rules.html b/geosparql10/rules.html new file mode 100644 index 000000000..155270ffa --- /dev/null +++ b/geosparql10/rules.html @@ -0,0 +1,888 @@ + + + + GeoSPARQL geor + + + + + + + + + +
made by + pyLODE + 2.13.2 +
+

GeoSPARQL geor

+

A taxonomy

+
+

Concept Scheme

+
+
URI
+
http://www.opengis.net/def/rule/geosparql/
+
Source
+
http://www.opengis.net/doc/geosparql/1.0
+
Ontology RDF
+
RDF (turtle)
+
+
+
+

Table of Contents

+
    +
  1. Collections
  2. +
  3. Concepts
  4. +
  5. Namespaces
  6. +
  7. Legend
  8. +
+
+
+

Overview

+
+
 
+
Figure 1: Taxonomy overview
+
+
+
+

Collections

+ +
+

GeoSPARQL georcol

+ + + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/
Source + http://www.opengis.net/doc/geosparql/1.0 +
Members + intersectscon, + containscon, + tangential proper partcon, + externally connectedcon, + partially overlappingcon, + insidecon, + disjointcon, + crossescon, + overlapcon, + touchescon, + overlapscon, + equalscon, + equalscon, + withincon, + non-tangential proper partcon, + non-tangential proper part inversecon, + disjointcon, + containscon, + equalscon, + disconnectedcon, + meetcon, + covered bycon, + coverscon, + tangential proper part inversecon +
+
+
+
+

Concepts

+
    + +
+
+

containscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/ehContains
Definition +

A query rewrite rule used to determine if one spatial object contains another spatial object based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

covered bycon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/ehCoveredBy
Definition +

A query rewrite rule used to determine if one spatial object is covered by another spatial object based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

coverscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/ehCovers
Definition +

A query rewrite rule used to determine if one spatial object covers another spatial object based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

disjointcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/ehDisjoint
Definition +

A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

equalscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/ehEquals
Definition +

A query rewrite rule used to determine if two spatial objects are equal based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

insidecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/ehInside
Definition +

A query rewrite rule used to determine if one spatial object is inside another spatial object based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

meetcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/ehMeet
Definition +

A query rewrite rule used to determine if two spatial objects meet based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

overlapcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/ehOverlap
Definition +

A query rewrite rule used to determine if two spatial objects overlap based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

disconnectedcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/rcc8dc
Definition +

A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

externally connectedcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/rcc8ec
Definition +

A query rewrite rule used to determine if two spatial objects are externally connected based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

equalscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/rcc8eq
Definition +

A query rewrite rule used to determine two spatial objects are equal based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

non-tangential proper partcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/rcc8ntpp
Definition +

A query rewrite rule used to determine if one spatial object is a non-tangential proper part of another spatial object based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

non-tangential proper part inversecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/rcc8ntppi
Definition +

A query rewrite rule used to determine if one spatial object is a non-tangential proper part inverse of another spatial object based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

partially overlappingcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/rcc8po
Definition +

A query rewrite rule used to determine if two spatial objects partially overlap based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

tangential proper partcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/rcc8tpp
Definition +

A query rewrite rule used to determine if one spatial object is a tangential proper part of another spatial object based on their associated geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

tangential proper part inversecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/rcc8tppi
Definition +

A query rewrite rule used to determine if one spatial object is a tangential proper part inverse of another spatial object based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

containscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/sfContains
Definition +

A query rewrite rule used to determine if one spatial object contains another spatial object based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

crossescon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/sfCrosses
Definition +

A query rewrite rule used to determine if two spatial objects cross based their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

disjointcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/sfDisjoint
Definition +

A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

equalscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/sfEquals
Definition +

A query rewrite rule used to determine if two spatial objects are equal based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

intersectscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/sfIntersects
Definition +

A query rewrite rule used to determine if two spatial objects intersect based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

overlapscon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/sfOverlaps
Definition +

A query rewrite rule used to determine if two spatial objects overlap based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

touchescon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/sfTouches
Definition +

A query rewrite rule used to determine if two spatial objects touch based on their associated primary geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+

withincon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/def/rule/geosparql/sfWithin
Definition +

A query rewrite rule used to determine if one spatial object is within another spatial object based on their associated geometry objects.


+
Source + http://www.opengis.net/doc/geosparql/1.0 +
+
+
+ +
+

Namespaces

+
+
default (:)
+
http://www.opengis.net/def/rule/geosparql/
+
brick
+
https://brickschema.org/schema/Brick#
+
csvw
+
http://www.w3.org/ns/csvw#
+
dc
+
http://purl.org/dc/elements/1.1/
+
dcam
+
http://purl.org/dc/dcam/
+
dcat
+
http://www.w3.org/ns/dcat#
+
dcmitype
+
http://purl.org/dc/dcmitype/
+
dcterms
+
http://purl.org/dc/terms/
+
doap
+
http://usefulinc.com/ns/doap#
+
fno
+
https://w3id.org/function/ontology#
+
foaf
+
http://xmlns.com/foaf/0.1/
+
geo
+
http://www.opengis.net/ont/geosparql#
+
geof
+
http://www.opengis.net/def/function/geosparql/
+
odrl
+
http://www.w3.org/ns/odrl/2/
+
ogc
+
http://www.opengis.net/
+
org
+
http://www.w3.org/ns/org#
+
owl
+
http://www.w3.org/2002/07/owl#
+
policy
+
http://www.opengis.net/def/metamodel/ogc-na/
+
prof
+
http://www.w3.org/ns/dx/prof/
+
prov
+
http://www.w3.org/ns/prov#
+
qb
+
http://purl.org/linked-data/cube#
+
rdf
+
http://www.w3.org/1999/02/22-rdf-syntax-ns#
+
rdfs
+
http://www.w3.org/2000/01/rdf-schema#
+
sd
+
http://www.w3.org/ns/sparql-service-description#
+
sdo
+
https://schema.org/
+
sh
+
http://www.w3.org/ns/shacl#
+
skos
+
http://www.w3.org/2004/02/skos/core#
+
sosa
+
http://www.w3.org/ns/sosa/
+
ssn
+
http://www.w3.org/ns/ssn/
+
status
+
http://www.opengis.net/def/status/
+
time
+
http://www.w3.org/2006/time#
+
vann
+
http://purl.org/vocab/vann/
+
void
+
http://rdfs.org/ns/void#
+
wgs
+
https://www.w3.org/2003/01/geo/wgs84_pos#
+
xsd
+
http://www.w3.org/2001/XMLSchema#
+
+
+ +
+

Legend

+ + + +
colCollections
conConcepts
+
+ + \ No newline at end of file diff --git a/geosparql10/rules.json b/geosparql10/rules.json new file mode 100644 index 000000000..235966f4f --- /dev/null +++ b/geosparql10/rules.json @@ -0,0 +1,1394 @@ +[ + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfIntersects", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects intersect based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "intersects" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfEquals", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects are equal based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "equals" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfTouches", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects touch based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "touches" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehDisjoint", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "disjoint" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8eq", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine two spatial objects are equal based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "equals" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehMeet", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects meet based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "meet" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8po", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects partially overlap based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "partially overlapping" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehCovers", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if one spatial object covers another spatial object based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "covers" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfOverlaps", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects overlap based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "overlaps" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfContains", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if one spatial object contains another spatial object based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "contains" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehOverlap", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects overlap based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "overlap" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8tppi", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if one spatial object is a tangential proper part inverse of another spatial object based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "tangential proper part inverse" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8ntpp", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if one spatial object is a non-tangential proper part of another spatial object based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "non-tangential proper part" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8tpp", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if one spatial object is a tangential proper part of another spatial object based on their associated geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "tangential proper part" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfCrosses", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects cross based their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "crosses" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfWithin", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if one spatial object is within another spatial object based on their associated geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "within" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehCoveredBy", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if one spatial object is covered by another spatial object based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "covered by" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfDisjoint", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "disjoint" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8ntppi", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if one spatial object is a non-tangential proper part inverse of another spatial object based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "non-tangential proper part inverse" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Collection", + "http://www.w3.org/2004/02/skos/core#ConceptScheme" + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#member": [ + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehContains" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehCoveredBy" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehCovers" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehDisjoint" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehEquals" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehInside" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehMeet" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehOverlap" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8dc" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8ec" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8eq" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8ntpp" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8ntppi" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8po" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8tpp" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8tppi" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfContains" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfCrosses" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfDisjoint" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfEquals" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfIntersects" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfOverlaps" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfTouches" + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/sfWithin" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@value": "GeoSPARQL geor" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8ec", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects are externally connected based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "externally connected" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/rcc8dc", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "disconnected" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehContains", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if one spatial object contains another spatial object based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "contains" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehEquals", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if two spatial objects are equal based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "equals" + } + ] + }, + { + "@id": "http://www.opengis.net/def/rule/geosparql/ehInside", + "@type": [ + "http://www.w3.org/2004/02/skos/core#Concept" + ], + "http://purl.org/dc/terms/contributor": [ + { + "@value": "Matthew Perry" + } + ], + "http://purl.org/dc/terms/creator": [ + { + "@value": "OGC GeoSPARQL 1.0 Standard Working Group" + } + ], + "http://purl.org/dc/terms/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2011-06-16" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.opengis.net/def/metamodel/ogc-na/status": [ + { + "@id": "http://www.opengis.net/def/status/valid" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "http://www.opengis.net/doc/geosparql/1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@language": "en", + "@value": "A query rewrite rule used to determine if one spatial object is inside another spatial object based on their associated primary geometry objects." + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@language": "en", + "@value": "inside" + } + ] + } +] \ No newline at end of file diff --git a/geosparql10/rules.n3 b/geosparql10/rules.n3 new file mode 100644 index 000000000..207932fb4 --- /dev/null +++ b/geosparql10/rules.n3 @@ -0,0 +1,302 @@ +@prefix dcterms: . +@prefix geor: . +@prefix policy: . +@prefix rdfs: . +@prefix skos: . +@prefix status: . +@prefix xsd: . + +geor: a skos:Collection, + skos:ConceptScheme ; + dcterms:source ; + rdfs:seeAlso ; + skos:member geor:ehContains, + geor:ehCoveredBy, + geor:ehCovers, + geor:ehDisjoint, + geor:ehEquals, + geor:ehInside, + geor:ehMeet, + geor:ehOverlap, + geor:rcc8dc, + geor:rcc8ec, + geor:rcc8eq, + geor:rcc8ntpp, + geor:rcc8ntppi, + geor:rcc8po, + geor:rcc8tpp, + geor:rcc8tppi, + geor:sfContains, + geor:sfCrosses, + geor:sfDisjoint, + geor:sfEquals, + geor:sfIntersects, + geor:sfOverlaps, + geor:sfTouches, + geor:sfWithin ; + skos:prefLabel "GeoSPARQL geor" . + +geor:ehContains a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object contains another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "contains"@en . + +geor:ehCoveredBy a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is covered by another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "covered by"@en . + +geor:ehCovers a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object covers another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "covers"@en . + +geor:ehDisjoint a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects."@en ; + skos:prefLabel "disjoint"@en . + +geor:ehEquals a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are equal based on their associated primary geometry objects."@en ; + skos:prefLabel "equals"@en . + +geor:ehInside a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is inside another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "inside"@en . + +geor:ehMeet a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects meet based on their associated primary geometry objects."@en ; + skos:prefLabel "meet"@en . + +geor:ehOverlap a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects overlap based on their associated primary geometry objects."@en ; + skos:prefLabel "overlap"@en . + +geor:rcc8dc a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects."@en ; + skos:prefLabel "disconnected"@en . + +geor:rcc8ec a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are externally connected based on their associated primary geometry objects."@en ; + skos:prefLabel "externally connected"@en . + +geor:rcc8eq a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine two spatial objects are equal based on their associated primary geometry objects."@en ; + skos:prefLabel "equals"@en . + +geor:rcc8ntpp a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is a non-tangential proper part of another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "non-tangential proper part"@en . + +geor:rcc8ntppi a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is a non-tangential proper part inverse of another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "non-tangential proper part inverse"@en . + +geor:rcc8po a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects partially overlap based on their associated primary geometry objects."@en ; + skos:prefLabel "partially overlapping"@en . + +geor:rcc8tpp a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is a tangential proper part of another spatial object based on their associated geometry objects."@en ; + skos:prefLabel "tangential proper part"@en . + +geor:rcc8tppi a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is a tangential proper part inverse of another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "tangential proper part inverse"@en . + +geor:sfContains a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object contains another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "contains"@en . + +geor:sfCrosses a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects cross based their associated primary geometry objects."@en ; + skos:prefLabel "crosses"@en . + +geor:sfDisjoint a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects."@en ; + skos:prefLabel "disjoint"@en . + +geor:sfEquals a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are equal based on their associated primary geometry objects."@en ; + skos:prefLabel "equals"@en . + +geor:sfIntersects a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects intersect based on their associated primary geometry objects."@en ; + skos:prefLabel "intersects"@en . + +geor:sfOverlaps a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects overlap based on their associated primary geometry objects."@en ; + skos:prefLabel "overlaps"@en . + +geor:sfTouches a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects touch based on their associated primary geometry objects."@en ; + skos:prefLabel "touches"@en . + +geor:sfWithin a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is within another spatial object based on their associated geometry objects."@en ; + skos:prefLabel "within"@en . + diff --git a/geosparql10/rules.ttl b/geosparql10/rules.ttl new file mode 100644 index 000000000..101e669a5 --- /dev/null +++ b/geosparql10/rules.ttl @@ -0,0 +1,355 @@ +PREFIX dcterms: +PREFIX geof: +PREFIX owl: +PREFIX policy: +PREFIX rdfs: +PREFIX ogc: +PREFIX geor: +PREFIX sd: +PREFIX skos: +PREFIX status: +PREFIX fno: +PREFIX xsd: + +geor: + a skos:Collection, skos:ConceptScheme ; + dcterms:source ; + rdfs:seeAlso ; + skos:member + geor:ehContains , + geor:ehCoveredBy , + geor:ehCovers , + geor:ehDisjoint , + geor:ehEquals , + geor:ehInside , + geor:ehMeet , + geor:ehOverlap , + geor:rcc8dc , + geor:rcc8ec , + geor:rcc8eq , + geor:rcc8ntpp , + geor:rcc8ntppi , + geor:rcc8po , + geor:rcc8tpp , + geor:rcc8tppi , + geor:sfContains , + geor:sfCrosses , + geor:sfDisjoint , + geor:sfEquals , + geor:sfIntersects , + geor:sfOverlaps , + geor:sfTouches , + geor:sfWithin ; + skos:prefLabel "GeoSPARQL geor" . + +geor:ehContains + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object contains another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "contains"@en ; +. + +geor:ehCoveredBy + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is covered by another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "covered by"@en ; +. + +geor:ehCovers + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object covers another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "covers"@en ; +. + +geor:ehDisjoint + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects."@en ; + skos:prefLabel "disjoint"@en ; +. + +geor:ehEquals + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are equal based on their associated primary geometry objects."@en ; + skos:prefLabel "equals"@en ; +. + +geor:ehInside + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is inside another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "inside"@en ; +. + +geor:ehMeet + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects meet based on their associated primary geometry objects."@en ; + skos:prefLabel "meet"@en ; +. + +geor:ehOverlap + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects overlap based on their associated primary geometry objects."@en ; + skos:prefLabel "overlap"@en ; +. + +geor:rcc8dc + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects."@en ; + skos:prefLabel "disconnected"@en ; +. + +geor:rcc8ec + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are externally connected based on their associated primary geometry objects."@en ; + skos:prefLabel "externally connected"@en ; +. + +geor:rcc8eq + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine two spatial objects are equal based on their associated primary geometry objects."@en ; + skos:prefLabel "equals"@en ; +. + +geor:rcc8ntpp + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is a non-tangential proper part of another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "non-tangential proper part"@en ; +. + +geor:rcc8ntppi + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is a non-tangential proper part inverse of another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "non-tangential proper part inverse"@en ; +. + +geor:rcc8po + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects partially overlap based on their associated primary geometry objects."@en ; + skos:prefLabel "partially overlapping"@en ; +. + +geor:rcc8tpp + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is a tangential proper part of another spatial object based on their associated geometry objects."@en ; + skos:prefLabel "tangential proper part"@en ; +. + +geor:rcc8tppi + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is a tangential proper part inverse of another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "tangential proper part inverse"@en ; +. + +geor:sfContains + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object contains another spatial object based on their associated primary geometry objects."@en ; + skos:prefLabel "contains"@en ; +. + +geor:sfCrosses + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects cross based their associated primary geometry objects."@en ; + skos:prefLabel "crosses"@en ; +. + +geor:sfDisjoint + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are disjoint based on their associated primary geometry objects."@en ; + skos:prefLabel "disjoint"@en ; +. + +geor:sfEquals + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects are equal based on their associated primary geometry objects."@en ; + skos:prefLabel "equals"@en ; +. + +geor:sfIntersects + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects intersect based on their associated primary geometry objects."@en ; + skos:prefLabel "intersects"@en ; +. + +geor:sfOverlaps + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects overlap based on their associated primary geometry objects."@en ; + skos:prefLabel "overlaps"@en ; +. + +geor:sfTouches + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if two spatial objects touch based on their associated primary geometry objects."@en ; + skos:prefLabel "touches"@en ; +. + +geor:sfWithin + a skos:Concept ; + dcterms:contributor "Matthew Perry" ; + dcterms:creator "OGC GeoSPARQL 1.0 Standard Working Group" ; + dcterms:date "2011-06-16"^^xsd:date ; + dcterms:source ; + policy:status status:valid ; + rdfs:isDefinedBy ; + rdfs:seeAlso ; + skos:definition "A query rewrite rule used to determine if one spatial object is within another spatial object based on their associated geometry objects."@en ; + skos:prefLabel "within"@en ; +. diff --git a/geosparql10/servicedescription_all_functions.html b/geosparql10/servicedescription_all_functions.html new file mode 100644 index 000000000..e90424ab6 --- /dev/null +++ b/geosparql10/servicedescription_all_functions.html @@ -0,0 +1,323 @@ + + + + GeoSPARQL 1.0 SPARQL Service Description: All Functions + + + + + + + + + +
made by + pyLODE + 2.13.2 +
+

GeoSPARQL 1.0 SPARQL Service Description: All Functions

+

A taxonomy

+
+

Concept Scheme

+
+
URI
+
http://www.opengis.net/def/geosparql/servicedescallfunctions
+
Version Information
+
OGC GeoSPARQL 1.0
+
Version URI
+
http://www.opengis.net/def/geosparql/servicedescallfunctions/1.0
+
Ontology RDF
+
RDF (turtle)
+
+
+
+

Table of Contents

+
    +
  1. Namespaces
  2. +
  3. Legend
  4. +
+
+
+

Overview

+
+
 
+
Figure 1: Taxonomy overview
+
+
+ +
+

Namespaces

+
+
default (:)
+
http://www.opengis.net/def/geosparql/servicedescallfunctions
+
brick
+
https://brickschema.org/schema/Brick#
+
csvw
+
http://www.w3.org/ns/csvw#
+
dc
+
http://purl.org/dc/elements/1.1/
+
dcam
+
http://purl.org/dc/dcam/
+
dcat
+
http://www.w3.org/ns/dcat#
+
dcmitype
+
http://purl.org/dc/dcmitype/
+
dcterms
+
http://purl.org/dc/terms/
+
doap
+
http://usefulinc.com/ns/doap#
+
ent
+
http://www.w3.org/ns/entailment/
+
foaf
+
http://xmlns.com/foaf/0.1/
+
formats
+
http://www.w3.org/ns/formats/
+
geo
+
http://www.opengis.net/ont/geosparql#
+
geof
+
http://www.opengis.net/def/function/geosparql/
+
odrl
+
http://www.w3.org/ns/odrl/2/
+
org
+
http://www.w3.org/ns/org#
+
owl
+
http://www.w3.org/2002/07/owl#
+
prof
+
http://www.w3.org/ns/dx/prof/
+
prov
+
http://www.w3.org/ns/prov#
+
qb
+
http://purl.org/linked-data/cube#
+
rdf
+
http://www.w3.org/1999/02/22-rdf-syntax-ns#
+
rdfs
+
http://www.w3.org/2000/01/rdf-schema#
+
sd
+
http://www.w3.org/ns/sparql-service-description#
+
sdo
+
https://schema.org/
+
sh
+
http://www.w3.org/ns/shacl#
+
skos
+
http://www.w3.org/2004/02/skos/core#
+
sosa
+
http://www.w3.org/ns/sosa/
+
ssn
+
http://www.w3.org/ns/ssn/
+
time
+
http://www.w3.org/2006/time#
+
vann
+
http://purl.org/vocab/vann/
+
void
+
http://rdfs.org/ns/void#
+
wgs
+
https://www.w3.org/2003/01/geo/wgs84_pos#
+
xsd
+
http://www.w3.org/2001/XMLSchema#
+
+
+ +
+

Legend

+ + + +
colCollections
conConcepts
+
+ + \ No newline at end of file diff --git a/geosparql10/servicedescription_all_functions.json b/geosparql10/servicedescription_all_functions.json new file mode 100644 index 000000000..d4e6d778e --- /dev/null +++ b/geosparql10/servicedescription_all_functions.json @@ -0,0 +1,155 @@ +[ + { + "@id": "http://www.opengis.net/def/geosparql/servicedescallfunctions", + "@type": [ + "http://www.w3.org/2004/02/skos/core#ConceptScheme", + "http://www.w3.org/ns/sparql-service-description#Service" + ], + "http://www.w3.org/2002/07/owl#versionIRI": [ + { + "@id": "http://www.opengis.net/def/geosparql/servicedescallfunctions/1.0" + } + ], + "http://www.w3.org/2002/07/owl#versionInfo": [ + { + "@value": "OGC GeoSPARQL 1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@value": "GeoSPARQL 1.0 SPARQL Service Description: All Functions" + } + ], + "http://www.w3.org/ns/sparql-service-description#defaultEntailmentRegime": [ + { + "@id": "http://www.w3.org/ns/entailment/RDFS" + } + ], + "http://www.w3.org/ns/sparql-service-description#extensionFunction": [ + { + "@id": "http://www.opengis.net/def/function/geosparql/boundary" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/buffer" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/centroid" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/convexHull" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/difference" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/dimension" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/distance" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehContains" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehCoveredBy" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehCovers" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehDisjoint" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehEquals" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehInside" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehMeet" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/ehOverlap" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/envelope" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/getSRID" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/intersection" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8dc" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ec" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8eq" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntpp" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8ntppi" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8po" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tpp" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/rcc8tppi" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/relate" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfContains" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfCrosses" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfDisjoint" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfEquals" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfIntersects" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfOverlaps" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfTouches" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/sfWithin" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/symDifference" + }, + { + "@id": "http://www.opengis.net/def/function/geosparql/union" + } + ], + "http://www.w3.org/ns/sparql-service-description#resultFormat": [ + { + "@id": "http://www.w3.org/ns/formats/RDF_XML" + }, + { + "@id": "http://www.w3.org/ns/formats/Turtle" + } + ], + "http://www.w3.org/ns/sparql-service-description#supportedLanguage": [ + { + "@id": "http://www.w3.org/ns/sparql-service-description#SPARQL11Query" + } + ] + } +] \ No newline at end of file diff --git a/geosparql10/servicedescription_all_functions.n3 b/geosparql10/servicedescription_all_functions.n3 new file mode 100644 index 000000000..0516c45ec --- /dev/null +++ b/geosparql10/servicedescription_all_functions.n3 @@ -0,0 +1,53 @@ +@prefix ent: . +@prefix geof: . +@prefix owl: . +@prefix sd: . +@prefix skos: . + + a skos:ConceptScheme, + sd:Service ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" ; + skos:prefLabel "GeoSPARQL 1.0 SPARQL Service Description: All Functions" ; + sd:defaultEntailmentRegime ent:RDFS ; + sd:extensionFunction geof:boundary, + geof:buffer, + geof:centroid, + geof:convexHull, + geof:difference, + geof:dimension, + geof:distance, + geof:ehContains, + geof:ehCoveredBy, + geof:ehCovers, + geof:ehDisjoint, + geof:ehEquals, + geof:ehInside, + geof:ehMeet, + geof:ehOverlap, + geof:envelope, + geof:getSRID, + geof:intersection, + geof:rcc8dc, + geof:rcc8ec, + geof:rcc8eq, + geof:rcc8ntpp, + geof:rcc8ntppi, + geof:rcc8po, + geof:rcc8tpp, + geof:rcc8tppi, + geof:relate, + geof:sfContains, + geof:sfCrosses, + geof:sfDisjoint, + geof:sfEquals, + geof:sfIntersects, + geof:sfOverlaps, + geof:sfTouches, + geof:sfWithin, + geof:symDifference, + geof:union ; + sd:resultFormat , + ; + sd:supportedLanguage sd:SPARQL11Query . + diff --git a/geosparql10/servicedescription_all_functions.ttl b/geosparql10/servicedescription_all_functions.ttl new file mode 100644 index 000000000..c57d4bfcb --- /dev/null +++ b/geosparql10/servicedescription_all_functions.ttl @@ -0,0 +1,57 @@ +PREFIX ent: +PREFIX geof: +PREFIX owl: +PREFIX sd: +PREFIX skos: + + + a + skos:ConceptScheme , + sd:Service ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" ; + skos:prefLabel "GeoSPARQL 1.0 SPARQL Service Description: All Functions" ; + sd:defaultEntailmentRegime ent:RDFS ; + sd:extensionFunction + geof:boundary , + geof:buffer , + geof:centroid , + geof:convexHull , + geof:difference , + geof:dimension , + geof:distance , + geof:ehContains , + geof:ehCoveredBy , + geof:ehCovers , + geof:ehDisjoint , + geof:ehEquals , + geof:ehInside , + geof:ehMeet , + geof:ehOverlap , + geof:envelope , + geof:getSRID , + geof:intersection , + geof:rcc8dc , + geof:rcc8ec , + geof:rcc8eq , + geof:rcc8ntpp , + geof:rcc8ntppi , + geof:rcc8po , + geof:rcc8tpp , + geof:rcc8tppi , + geof:relate , + geof:sfContains , + geof:sfCrosses , + geof:sfDisjoint , + geof:sfEquals , + geof:sfIntersects , + geof:sfOverlaps , + geof:sfTouches , + geof:sfWithin , + geof:symDifference , + geof:union ; + sd:resultFormat + , + ; + sd:supportedLanguage sd:SPARQL11Query ; +. diff --git a/geosparql10/servicedescription_conformanceclasses.html b/geosparql10/servicedescription_conformanceclasses.html new file mode 100644 index 000000000..1f0a2eaee --- /dev/null +++ b/geosparql10/servicedescription_conformanceclasses.html @@ -0,0 +1,325 @@ + + + + GeoSPARQL 1.0 SPARQL Service Description: All Conformance Classes + + + + + + + + + +
made by + pyLODE + 2.13.2 +
+

GeoSPARQL 1.0 SPARQL Service Description: All Conformance Classes

+

A taxonomy

+
+

Concept Scheme

+
+
URI
+
http://www.opengis.net/def/geosparql/servicedescconformanceclasses
+
Version Information
+
OGC GeoSPARQL 1.0
+
Version URI
+
http://www.opengis.net/def/geosparql/servicedescconformanceclasses/1.0
+
Ontology RDF
+
RDF (turtle)
+
+
+
+

Table of Contents

+
    +
  1. Namespaces
  2. +
  3. Legend
  4. +
+
+
+

Overview

+
+
 
+
Figure 1: Taxonomy overview
+
+
+ +
+

Namespaces

+
+
default (:)
+
http://www.opengis.net/def/geosparql/servicedescconformanceclasses
+
brick
+
https://brickschema.org/schema/Brick#
+
conf10core
+
http://www.opengis.net/spec/geosparql/1.0/conf/core/
+
conf10gtx
+
http://www.opengis.net/spec/geosparql/1.0/conf/geometry-topology-extension/
+
conf10gx
+
http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/
+
conf10qre
+
http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension/
+
csvw
+
http://www.w3.org/ns/csvw#
+
dc
+
http://purl.org/dc/elements/1.1/
+
dcam
+
http://purl.org/dc/dcam/
+
dcat
+
http://www.w3.org/ns/dcat#
+
dcmitype
+
http://purl.org/dc/dcmitype/
+
dcterms
+
http://purl.org/dc/terms/
+
doap
+
http://usefulinc.com/ns/doap#
+
foaf
+
http://xmlns.com/foaf/0.1/
+
geo
+
http://www.opengis.net/ont/geosparql#
+
odrl
+
http://www.w3.org/ns/odrl/2/
+
org
+
http://www.w3.org/ns/org#
+
owl
+
http://www.w3.org/2002/07/owl#
+
prof
+
http://www.w3.org/ns/dx/prof/
+
prov
+
http://www.w3.org/ns/prov#
+
qb
+
http://purl.org/linked-data/cube#
+
rdf
+
http://www.w3.org/1999/02/22-rdf-syntax-ns#
+
rdfs
+
http://www.w3.org/2000/01/rdf-schema#
+
sd
+
http://www.w3.org/ns/sparql-service-description#
+
sdo
+
https://schema.org/
+
sh
+
http://www.w3.org/ns/shacl#
+
skos
+
http://www.w3.org/2004/02/skos/core#
+
sosa
+
http://www.w3.org/ns/sosa/
+
ssn
+
http://www.w3.org/ns/ssn/
+
time
+
http://www.w3.org/2006/time#
+
vann
+
http://purl.org/vocab/vann/
+
void
+
http://rdfs.org/ns/void#
+
wgs
+
https://www.w3.org/2003/01/geo/wgs84_pos#
+
xsd
+
http://www.w3.org/2001/XMLSchema#
+
+
+ +
+

Legend

+ + + +
colCollections
conConcepts
+
+ + \ No newline at end of file diff --git a/geosparql10/servicedescription_conformanceclasses.json b/geosparql10/servicedescription_conformanceclasses.json new file mode 100644 index 000000000..9a90ecc6c --- /dev/null +++ b/geosparql10/servicedescription_conformanceclasses.json @@ -0,0 +1,103 @@ +[ + { + "@id": "http://www.opengis.net/def/geosparql/servicedescconformanceclasses", + "@type": [ + "http://www.w3.org/2004/02/skos/core#ConceptScheme", + "http://www.w3.org/ns/sparql-service-description#Service" + ], + "http://www.w3.org/2002/07/owl#versionIRI": [ + { + "@id": "http://www.opengis.net/def/geosparql/servicedescconformanceclasses/1.0" + } + ], + "http://www.w3.org/2002/07/owl#versionInfo": [ + { + "@value": "OGC GeoSPARQL 1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@value": "GeoSPARQL 1.0 SPARQL Service Description: All Conformance Classes" + } + ], + "http://www.w3.org/ns/sparql-service-description#feature": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/core/feature-class" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/core/sparql-protocol" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/core/spatial-object-class" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/feature-properties" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/geometry-as-gml-literal" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/geometry-as-wkt-literal" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/geometry-class" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/geometry-properties" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/gml-literal" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/gml-literal-empty" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/gml-profile" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/query-functions" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/srid-function" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/wkt-axis-order" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/wkt-literal" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/wkt-literal-default-srs" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/wkt-literal-empty" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-topology-extension/eh-query-functions" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-topology-extension/rcc8-query-functions" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-topology-extension/relate-query-function" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-topology-extension/sf-query-functions" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension/eh-query-rewrite" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension/rcc8-query-rewrite" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension/sf-query-rewrite" + } + ], + "http://www.w3.org/ns/sparql-service-description#supportedLanguage": [ + { + "@id": "http://www.w3.org/ns/sparql-service-description#SPARQL11Query" + } + ] + } +] \ No newline at end of file diff --git a/geosparql10/servicedescription_conformanceclasses.n3 b/geosparql10/servicedescription_conformanceclasses.n3 new file mode 100644 index 000000000..f301609e8 --- /dev/null +++ b/geosparql10/servicedescription_conformanceclasses.n3 @@ -0,0 +1,39 @@ +@prefix conf10core: . +@prefix conf10gtx: . +@prefix conf10gx: . +@prefix conf10qre: . +@prefix owl: . +@prefix sd: . +@prefix skos: . + + a skos:ConceptScheme, + sd:Service ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" ; + skos:prefLabel "GeoSPARQL 1.0 SPARQL Service Description: All Conformance Classes" ; + sd:feature conf10core:feature-class, + conf10core:sparql-protocol, + conf10core:spatial-object-class, + conf10gx:feature-properties, + conf10gx:geometry-as-gml-literal, + conf10gx:geometry-as-wkt-literal, + conf10gx:geometry-class, + conf10gx:geometry-properties, + conf10gx:gml-literal, + conf10gx:gml-literal-empty, + conf10gx:gml-profile, + conf10gx:query-functions, + conf10gx:srid-function, + conf10gx:wkt-axis-order, + conf10gx:wkt-literal, + conf10gx:wkt-literal-default-srs, + conf10gx:wkt-literal-empty, + conf10gtx:eh-query-functions, + conf10gtx:rcc8-query-functions, + conf10gtx:relate-query-function, + conf10gtx:sf-query-functions, + conf10qre:eh-query-rewrite, + conf10qre:rcc8-query-rewrite, + conf10qre:sf-query-rewrite ; + sd:supportedLanguage sd:SPARQL11Query . + diff --git a/geosparql10/servicedescription_conformanceclasses.ttl b/geosparql10/servicedescription_conformanceclasses.ttl new file mode 100644 index 000000000..271a2cd35 --- /dev/null +++ b/geosparql10/servicedescription_conformanceclasses.ttl @@ -0,0 +1,42 @@ +PREFIX conf10core: +PREFIX conf10gtx: +PREFIX conf10gx: +PREFIX conf10qre: +PREFIX owl: +PREFIX sd: +PREFIX skos: + + + a + skos:ConceptScheme , + sd:Service ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" ; + skos:prefLabel "GeoSPARQL 1.0 SPARQL Service Description: All Conformance Classes" ; + sd:feature + conf10core:feature-class , + conf10core:sparql-protocol , + conf10core:spatial-object-class , + conf10gx:feature-properties , + conf10gx:geometry-as-gml-literal , + conf10gx:geometry-as-wkt-literal , + conf10gx:geometry-class , + conf10gx:geometry-properties , + conf10gx:gml-literal , + conf10gx:gml-literal-empty , + conf10gx:gml-profile , + conf10gx:query-functions , + conf10gx:srid-function , + conf10gx:wkt-axis-order , + conf10gx:wkt-literal , + conf10gx:wkt-literal-default-srs , + conf10gx:wkt-literal-empty , + conf10gtx:eh-query-functions , + conf10gtx:rcc8-query-functions , + conf10gtx:relate-query-function , + conf10gtx:sf-query-functions , + conf10qre:eh-query-rewrite , + conf10qre:rcc8-query-rewrite , + conf10qre:sf-query-rewrite ; + sd:supportedLanguage sd:SPARQL11Query ; +. diff --git a/geosparql10/servicedescription_extensions.html b/geosparql10/servicedescription_extensions.html new file mode 100644 index 000000000..d99725342 --- /dev/null +++ b/geosparql10/servicedescription_extensions.html @@ -0,0 +1,321 @@ + + + + GeoSPARQL 1.0 SPARQL Service Description: All Extensions + + + + + + + + + +
made by + pyLODE + 2.13.2 +
+

GeoSPARQL 1.0 SPARQL Service Description: All Extensions

+

A taxonomy

+
+

Concept Scheme

+
+
URI
+
http://www.opengis.net/def/geosparql/servicedescextensions
+
Version Information
+
OGC GeoSPARQL 1.0
+
Version URI
+
http://www.opengis.net/def/geosparql/servicedescextensions/1.0
+
Ontology RDF
+
RDF (turtle)
+
+
+
+

Table of Contents

+
    +
  1. Namespaces
  2. +
  3. Legend
  4. +
+
+
+

Overview

+
+
 
+
Figure 1: Taxonomy overview
+
+
+ +
+

Namespaces

+
+
default (:)
+
http://www.opengis.net/def/geosparql/servicedescextensions
+
brick
+
https://brickschema.org/schema/Brick#
+
csvw
+
http://www.w3.org/ns/csvw#
+
dc
+
http://purl.org/dc/elements/1.1/
+
dcam
+
http://purl.org/dc/dcam/
+
dcat
+
http://www.w3.org/ns/dcat#
+
dcmitype
+
http://purl.org/dc/dcmitype/
+
dcterms
+
http://purl.org/dc/terms/
+
doap
+
http://usefulinc.com/ns/doap#
+
ent
+
http://www.w3.org/ns/entailment/
+
foaf
+
http://xmlns.com/foaf/0.1/
+
formats
+
http://www.w3.org/ns/formats/
+
geo
+
http://www.opengis.net/ont/geosparql#
+
odrl
+
http://www.w3.org/ns/odrl/2/
+
org
+
http://www.w3.org/ns/org#
+
owl
+
http://www.w3.org/2002/07/owl#
+
prof
+
http://www.w3.org/ns/dx/prof/
+
prov
+
http://www.w3.org/ns/prov#
+
qb
+
http://purl.org/linked-data/cube#
+
rdf
+
http://www.w3.org/1999/02/22-rdf-syntax-ns#
+
rdfs
+
http://www.w3.org/2000/01/rdf-schema#
+
sd
+
http://www.w3.org/ns/sparql-service-description#
+
sdo
+
https://schema.org/
+
sh
+
http://www.w3.org/ns/shacl#
+
skos
+
http://www.w3.org/2004/02/skos/core#
+
sosa
+
http://www.w3.org/ns/sosa/
+
ssn
+
http://www.w3.org/ns/ssn/
+
time
+
http://www.w3.org/2006/time#
+
vann
+
http://purl.org/vocab/vann/
+
void
+
http://rdfs.org/ns/void#
+
wgs
+
https://www.w3.org/2003/01/geo/wgs84_pos#
+
xsd
+
http://www.w3.org/2001/XMLSchema#
+
+
+ +
+

Legend

+ + + +
colCollections
conConcepts
+
+ + \ No newline at end of file diff --git a/geosparql10/servicedescription_extensions.json b/geosparql10/servicedescription_extensions.json new file mode 100644 index 000000000..34c490435 --- /dev/null +++ b/geosparql10/servicedescription_extensions.json @@ -0,0 +1,62 @@ +[ + { + "@id": "http://www.opengis.net/def/geosparql/servicedescextensions", + "@type": [ + "http://www.w3.org/2004/02/skos/core#ConceptScheme", + "http://www.w3.org/ns/sparql-service-description#Service" + ], + "http://www.w3.org/2002/07/owl#versionIRI": [ + { + "@id": "http://www.opengis.net/def/geosparql/servicedescextensions/1.0" + } + ], + "http://www.w3.org/2002/07/owl#versionInfo": [ + { + "@value": "OGC GeoSPARQL 1.0" + } + ], + "http://www.w3.org/2004/02/skos/core#prefLabel": [ + { + "@value": "GeoSPARQL 1.0 SPARQL Service Description: All Extensions" + } + ], + "http://www.w3.org/ns/sparql-service-description#defaultEntailmentRegime": [ + { + "@id": "http://www.w3.org/ns/entailment/RDFS" + } + ], + "http://www.w3.org/ns/sparql-service-description#feature": [ + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/core/" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-extension/" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/geometry-topology-extension/" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/query-rewrite-extension/" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/rdfs-entailment-extension/" + }, + { + "@id": "http://www.opengis.net/spec/geosparql/1.0/conf/topology-vocab-extension/" + } + ], + "http://www.w3.org/ns/sparql-service-description#resultFormat": [ + { + "@id": "http://www.w3.org/ns/formats/RDF_XML" + }, + { + "@id": "http://www.w3.org/ns/formats/Turtle" + } + ], + "http://www.w3.org/ns/sparql-service-description#supportedLanguage": [ + { + "@id": "http://www.w3.org/ns/sparql-service-description#SPARQL11Query" + } + ] + } +] \ No newline at end of file diff --git a/geosparql10/servicedescription_extensions.n3 b/geosparql10/servicedescription_extensions.n3 new file mode 100644 index 000000000..0582aec3d --- /dev/null +++ b/geosparql10/servicedescription_extensions.n3 @@ -0,0 +1,21 @@ +@prefix ent: . +@prefix owl: . +@prefix sd: . +@prefix skos: . + + a skos:ConceptScheme, + sd:Service ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" ; + skos:prefLabel "GeoSPARQL 1.0 SPARQL Service Description: All Extensions" ; + sd:defaultEntailmentRegime ent:RDFS ; + sd:feature , + , + , + , + , + ; + sd:resultFormat , + ; + sd:supportedLanguage sd:SPARQL11Query . + diff --git a/geosparql10/servicedescription_extensions.ttl b/geosparql10/servicedescription_extensions.ttl new file mode 100644 index 000000000..844602e12 --- /dev/null +++ b/geosparql10/servicedescription_extensions.ttl @@ -0,0 +1,25 @@ +PREFIX ent: +PREFIX owl: +PREFIX sd: +PREFIX skos: + + + a + skos:ConceptScheme , + sd:Service ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" ; + skos:prefLabel "GeoSPARQL 1.0 SPARQL Service Description: All Extensions" ; + sd:defaultEntailmentRegime ent:RDFS ; + sd:feature + , + , + , + , + , + ; + sd:resultFormat + , + ; + sd:supportedLanguage sd:SPARQL11Query ; +. diff --git a/geosparql10/sf_geometries.html b/geosparql10/sf_geometries.html new file mode 100644 index 000000000..40d7506bd --- /dev/null +++ b/geosparql10/sf_geometries.html @@ -0,0 +1,798 @@ + + + + Simple Features Vocabulary + + + + + + + + + +
made by + pyLODE + 2.13.2 +
+

Simple Features Vocabulary

+

A taxonomy

+
+

Concept Scheme

+
+
URI
+
http://www.opengis.net/ont/sf
+
Creator(s)
+
+ Open Geospatial Consortium
+
+
Version Information
+
OGC GeoSPARQL 1.0
+
Version URI
+
http://www.opengis.net/ont/sf/1.0
+
Ontology RDF
+
RDF (turtle)
+
+

Description

+
+

An RDF/OWL vocabulary for defining SimpleFeature geometry types

+
+
+
+

Table of Contents

+
    +
  1. Concepts
  2. +
  3. Namespaces
  4. +
  5. Legend
  6. +
+
+
+

Overview

+
+
 
+
Figure 1: Taxonomy overview
+
+
+
+

Concepts

+
    + +
+
+

Curvecon

+ + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#Curve
Definition +

A Curve is a 1-dimensional geometric object usually stored as a sequence of Points, with the subtype of Curve specifying the form of the interpolation between Points. This specification defines only one subclass of Curve, LineString, which uses linear interpolation between Points.

+

A Curve is a 1-dimensional geometric object that is the homeomorphic image of a real, closed, interval.

+

A Curve is simple if it does not pass through the same Point twice with the possible exception of the two end +points.

+

A Curve is closed if its start Point is equal to its end Point.

+

The boundary of a closed Curve is empty.

+

A Curve that is simple and closed is a Ring.

+

The boundary of a non-closed Curve consists of its two end Points.

+

A Curve is defined as topologically closed, that is, it contains its endpoints f(a) and f(b).


+
Broader Concepts + Geometrycon
+
Narrower Concepts + Line Stringcon
+
+
+
+

Geometrycon

+ + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#Geometry
Definition +

Geometry is the root class of the hierarchy.

+

The instantiable subclasses of Geometry are restricted to 0, 1 and 2-dimensional geometric objects that exist in 2, 3 or 4-dimensional coordinate space (R2, R3 or R4). Geometry values in R2 have points with coordinate values for x and y. Geometry values in R3 have points with coordinate values for x, y and z or for x, y and m. Geometry values in R4 have points with coordinate values for x, y, z and m.

+

The interpretation of the coordinates is subject to the coordinate reference systems associated to the point. All coordinates within a geometry object should be in the same coordinate reference systems. Each coordinate shall be unambiguously associated to a coordinate reference system either directly or through its containing geometry. The z coordinate of a point is typically, but not necessarily, represents altitude or elevation. The m coordinate represents a measurement.

+

All Geometry classes described in this specification are defined so that instances of Geometry are topologically closed, i.e. all represented geometries include their boundary as point sets. This does not affect their representation, and open version of the same classes may be used in other circumstances, such as topological representations.


+
Broader Concepts + geo:Geometrycon
+
Narrower Concepts + Surfacecon
+ Geometry Collectioncon
+ Curvecon
+ Pointcon
+
+
+
+

Geometry Collectioncon

+ + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#GeometryCollection
Definition +

A GeometryCollection is a geometric object that is a collection of some number of geometric objects.

+

All the elements in a GeometryCollection shall be in the same Spatial Reference System. This is also the Spatial Reference System for the GeometryCollection. +GeometryCollection places no other constraints on its elements. Subclasses of GeometryCollection may restrict membership based on dimension and may also place other constraints on the degree of spatial overlap between elements.


+
Broader Concepts + Geometrycon
+
Narrower Concepts + Multi Pointcon
+ Multi Surfacecon
+ Multi Curvecon
+
+
+
+

Linecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#Line
Definition +

A Line is a LineString with exactly 2 Points.


+
Broader Concepts + Line Stringcon
+
+
+
+

Line Stringcon

+ + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#LineString
Definition +

A LineString is a Curve with linear interpolation between Points. Each consecutive pair of Points defines a Line segment.


+
Broader Concepts + Curvecon
+
Narrower Concepts + Linecon
+ Linear Ringcon
+
+
+
+

Linear Ringcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#LinearRing
Definition +

A LinearRing is a LineString that is both closed and simple.


+
Broader Concepts + Line Stringcon
+
+
+
+

Multi Curvecon

+ + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#MultiCurve
Definition +

A MultiCurve is a 1-dimensional GeometryCollection whose elements are Curves.

+

A MultiCurve defines a set of methods for its subclasses and is included for reasons of extensibility.

+

A MultiCurve is simple if and only if all of its elements are simple and the only intersections between any two elements occur at Points that are on the boundaries of both elements.

+

The boundary of a MultiCurve is obtained by applying the mod 2 union rule: A Point is in the boundary of a MultiCurve if it is in the boundaries of an odd number of elements of the MultiCurve.

+

A MultiCurve is closed if all of its elements are closed. The boundary of a closed MultiCurve is always empty.

+

A MultiCurve is defined as topologically closed.


+
Broader Concepts + Geometry Collectioncon
+
Narrower Concepts + Multi Line Stringcon
+
+
+
+

Multi Line Stringcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#MultiLineString
Definition +

A MultiLineString is a MultiCurve whose elements are LineStrings.


+
Broader Concepts + Multi Curvecon
+
+
+
+

Multi Pointcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#MultiPoint
Definition +

A MultiPoint is a 0-dimensional GeometryCollection. The elements of a MultiPoint are restricted to Points. ThePoints are not connected or ordered in any semantically important way.

+

A MultiPoint is simple if no two Points in the MultiPoint are equal (have identical coordinate values in X and Y).

+

Every MultiPoint is spatially equal to a simple Multipoint.

+

The boundary of a MultiPoint is the empty set.


+
Broader Concepts + Geometry Collectioncon
+
+
+
+

Multi Polygoncon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#MultiPolygon
Definition +

A MultiPolygon is a MultiSurface whose elements are Polygons.

+

The assertions for MultiPolygons are as follows.

+

a) The interiors of 2 Polygons that are elements of a MultiPolygon may not intersect. +b) The boundaries of any 2 Polygons that are elements of a MultiPolygon may not cross and may touch at only a finite number of Points. +c) A MultiPolygon is defined as topologically closed. +d) A MultiPolygon may not have cut lines, spikes or punctures, a MultiPolygon is a regular closed Point set, +e) The interior of a MultiPolygon with more than 1 Polygon is not connected; the number of connected components of the interior of a MultiPolygon is equal to the number of Polygons in the MultiPolygon.

+

The boundary of a MultiPolygon is a set of closed Curves (LineStrings) corresponding to the boundaries of its element Polygons. Each Curve in the boundary of the MultiPolygon is in the boundary of exactly 1 element Polygon, and every Curve in the boundary of an element Polygon is in the boundary of the MultiPolygon.


+
Broader Concepts + Multi Surfacecon
+
+
+
+

Multi Surfacecon

+ + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#MultiSurface
Definition +

A MultiSurface is a 2-dimensional GeometryCollection whose elements are Surfaces, all using coordinates from the same coordinate reference system. The geometric interiors of any two Surfaces in a MultiSurface may not intersect in the full coordinate system. The boundaries of any two coplanar elements in a MultiSurface may intersect, at most, at a finite number of Points. If they were to meet along a curve, they could be merged into a single surface.

+

A MultiSurface may be used to represent heterogeneous surfaces collections of polygons and polyhedral surfaces. It defines a set of methods for its subclasses. The subclass of MultiSurface is MultiPolygon corresponding to a collection of Polygons only. Other collections shall use MultiSurface.


+
Broader Concepts + Geometry Collectioncon
+
Narrower Concepts + Multi Polygoncon
+
+
+
+

Pointcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#Point
Definition +

A Point is a 0-dimensional geometric object and represents a single location in coordinate space. +A Point has an x-coordinate value, a y-coordinate value. If called for by the associated Spatial Reference System, it may also have coordinate values for z and m. +The boundary of a Point is the empty set.


+
Broader Concepts + Geometrycon
+
+
+
+

Polygoncon

+ + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#Polygon
Definition +

A Polygon is a planar Surface defined by 1 exterior boundary and 0 or more interior boundaries. Each interior boundary defines a hole in the Polygon. +The exterior boundary LinearRing defines the top of the surface which is the side of the surface from which the exterior boundary appears to traverse the boundary in a counter clockwise direction. The interior LinearRings will have the opposite orientation, and appear as clockwise when viewed from the top, +The assertions for Polygons (the rules that define valid Polygons) are as follows:

+

a) Polygons are topologically closed; +b) The boundary of a Polygon consists of a set of LinearRings that make up its exterior and interior boundaries; +c) No two Rings in the boundary cross and the Rings in the boundary of a Polygon may intersect at a Point but only as a tangent. +d) A Polygon may not have cut lines, spikes or punctures. +e) The interior of every Polygon is a connected point set; +f) The exterior of a Polygon with 1 or more holes is not connected. Each hole defines a connected component of the exterior.


+
Broader Concepts + Surfacecon
+
Narrower Concepts + Trianglecon
+
+
+
+

Polyhedral Surfacecon

+ + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#PolyhedralSurface
Definition +

A PolyhedralSurface is a contiguous collection of polygons, which share common boundary segments. For each pair of polygons that touch, the common boundary shall be expressible as a finite collection of LineStrings. Each such LineString shall be part of the boundary of at most 2 Polygon patches.

+

For any two polygons that share a common boundary, the top of the polygon shall be consistent. This means that when two LinearRings from these two Polygons traverse the common boundary segment, they do so in opposite directions. Since the Polyhedral surface is contiguous, all polygons will be thus consistently oriented. This means that a non-oriented surface (such as Mbius band) shall not have single surface representations. They may be represented by a MultiSurface.

+

If each such LineString is the boundary of exactly 2 Polygon patches, then the PolyhedralSurface is a simple, closed polyhedron and is topologically isomorphic to the surface of a sphere. By the Jordan Surface Theorem (Jordans Theorem for 2-spheres), such polyhedrons enclose a solid topologically isomorphic to the interior of a sphere; the ball. In this case, the top of the surface will either point inward or outward of the enclosed finite solid. If outward, the surface is the exterior boundary of the enclosed surface. If inward, the surface is the interior of the infinite complement of the enclosed solid. A Ball with some number of voids (holes) inside can thus be presented as one exterior boundary shell, and some number in interior boundary shells.


+
Broader Concepts + Surfacecon
+
Narrower Concepts + Triangulated Irregular Networkcon
+
+
+
+

Surfacecon

+ + + + + + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#Surface
Definition +

A Surface is a 2-dimensional geometric object. +A simple Surface may consists of a single patch that is associated with one exterior boundary and 0 or more interior boundaries. A single such Surface patch in 3-dimensional space is isometric to planar Surfaces, by a simple affine rotation matrix that rotates the patch onto the plane z = 0. If the patch is not vertical, the projection onto the same plane is an isomorphism, and can be represented as a linear transformation, i.e. an affine.

+

Polyhedral Surfaces are formed by stitching together such simple Surfaces patches along their common boundaries. Such polyhedral Surfaces in a 3-dimensional space may not be planar as a whole, depending on the orientation of their planar normals. If all the patches are in alignment (their normals are parallel), then the whole stitched polyhedral surface is co-planar and can be represented as a single patch if it is connected.

+

The boundary of a simple Surface is the set of closed Curves corresponding to its exterior and interior boundaries.

+

A Polygon is a simple Surface that is planar. A PolyhedralSurface is a simple surface, consisting of some number of Polygon patches or facets. If a PolyhedralSurface is closed, then it bounds a solid. A MultiSurface containing a set of closed PolyhedralSurfaces can be used to represent a Solid object with holes.


+
Broader Concepts + Geometrycon
+
Narrower Concepts + Polygoncon
+ Polyhedral Surfacecon
+
+
+
+

Triangulated Irregular Networkcon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#TIN
Definition +

A TIN (triangulated irregular network) is a PolyhedralSurface consisting only of Triangle patches.


+
Broader Concepts + Polyhedral Surfacecon
+
+
+
+

Trianglecon

+ + + + + + + + + + + + + +
URIhttp://www.opengis.net/ont/sf#Triangle
Definition +

A Triangle is a polygon with 3 distinct, non-collinear vertices and no interior boundary.


+
Broader Concepts + Polygoncon
+
+
+
+ +
+

Namespaces

+
+
default (sf)
+
http://www.opengis.net/ont/sf#
+
brick
+
https://brickschema.org/schema/Brick#
+
csvw
+
http://www.w3.org/ns/csvw#
+
dc
+
http://purl.org/dc/elements/1.1/
+
dcam
+
http://purl.org/dc/dcam/
+
dcat
+
http://www.w3.org/ns/dcat#
+
dcmitype
+
http://purl.org/dc/dcmitype/
+
dcterms
+
http://purl.org/dc/terms/
+
doap
+
http://usefulinc.com/ns/doap#
+
foaf
+
http://xmlns.com/foaf/0.1/
+
geo
+
http://www.opengis.net/ont/geosparql#
+
odrl
+
http://www.w3.org/ns/odrl/2/
+
org
+
http://www.w3.org/ns/org#
+
owl
+
http://www.w3.org/2002/07/owl#
+
prof
+
http://www.w3.org/ns/dx/prof/
+
prov
+
http://www.w3.org/ns/prov#
+
qb
+
http://purl.org/linked-data/cube#
+
rdf
+
http://www.w3.org/1999/02/22-rdf-syntax-ns#
+
rdfs
+
http://www.w3.org/2000/01/rdf-schema#
+
sdo
+
https://schema.org/
+
sh
+
http://www.w3.org/ns/shacl#
+
skos
+
http://www.w3.org/2004/02/skos/core#
+
sosa
+
http://www.w3.org/ns/sosa/
+
ssn
+
http://www.w3.org/ns/ssn/
+
time
+
http://www.w3.org/2006/time#
+
vann
+
http://purl.org/vocab/vann/
+
void
+
http://rdfs.org/ns/void#
+
wgs
+
https://www.w3.org/2003/01/geo/wgs84_pos#
+
xsd
+
http://www.w3.org/2001/XMLSchema#
+
+
+ +
+

Legend

+ + + +
colCollections
conConcepts
+
+ + \ No newline at end of file diff --git a/geosparql10/sf_geometries.json b/geosparql10/sf_geometries.json new file mode 100644 index 000000000..9e187d38c --- /dev/null +++ b/geosparql10/sf_geometries.json @@ -0,0 +1,548 @@ +[ + { + "@id": "http://www.opengis.net/ont/sf#Geometry", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "Geometry is the root class of the hierarchy.\n\nThe instantiable subclasses of Geometry are restricted to 0, 1 and 2-dimensional geometric objects that exist in 2, 3 or 4-dimensional coordinate space (R2, R3 or R4). Geometry values in R2 have points with coordinate values for x and y. Geometry values in R3 have points with coordinate values for x, y and z or for x, y and m. Geometry values in R4 have points with coordinate values for x, y, z and m.\n\nThe interpretation of the coordinates is subject to the coordinate reference systems associated to the point. All coordinates within a geometry object should be in the same coordinate reference systems. Each coordinate shall be unambiguously associated to a coordinate reference system either directly or through its containing geometry. The z coordinate of a point is typically, but not necessarily, represents altitude or elevation. The m coordinate represents a measurement.\n\nAll Geometry classes described in this specification are defined so that instances of Geometry are topologically closed, i.e. all represented geometries include their boundary as point sets. This does not affect their representation, and open version of the same classes may be used in other circumstances, such as topological representations." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Geometry" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/geosparql#Geometry" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#PolyhedralSurface", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A PolyhedralSurface is a contiguous collection of polygons, which share common boundary segments. For each pair of polygons that touch, the common boundary shall be expressible as a finite collection of LineStrings. Each such LineString shall be part of the boundary of at most 2 Polygon patches. \n\nFor any two polygons that share a common boundary, the top of the polygon shall be consistent. This means that when two LinearRings from these two Polygons traverse the common boundary segment, they do so in opposite directions. Since the Polyhedral surface is contiguous, all polygons will be thus consistently oriented. This means that a non-oriented surface (such as Mbius band) shall not have single surface representations. They may be represented by a MultiSurface.\n\nIf each such LineString is the boundary of exactly 2 Polygon patches, then the PolyhedralSurface is a simple, closed polyhedron and is topologically isomorphic to the surface of a sphere. By the Jordan Surface Theorem (Jordans Theorem for 2-spheres), such polyhedrons enclose a solid topologically isomorphic to the interior of a sphere; the ball. In this case, the top of the surface will either point inward or outward of the enclosed finite solid. If outward, the surface is the exterior boundary of the enclosed surface. If inward, the surface is the interior of the infinite complement of the enclosed solid. A Ball with some number of voids (holes) inside can thus be presented as one exterior boundary shell, and some number in interior boundary shells." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Polyhedral Surface" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#Surface" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#MultiSurface", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A MultiSurface is a 2-dimensional GeometryCollection whose elements are Surfaces, all using coordinates from the same coordinate reference system. The geometric interiors of any two Surfaces in a MultiSurface may not intersect in the full coordinate system. The boundaries of any two coplanar elements in a MultiSurface may intersect, at most, at a finite number of Points. If they were to meet along a curve, they could be merged into a single surface.\n\nA MultiSurface may be used to represent heterogeneous surfaces collections of polygons and polyhedral surfaces. It defines a set of methods for its subclasses. The subclass of MultiSurface is MultiPolygon corresponding to a collection of Polygons only. Other collections shall use MultiSurface." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Multi Surface" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#GeometryCollection" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#Surface", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A Surface is a 2-dimensional geometric object.\nA simple Surface may consists of a single patch that is associated with one exterior boundary and 0 or more interior boundaries. A single such Surface patch in 3-dimensional space is isometric to planar Surfaces, by a simple affine rotation matrix that rotates the patch onto the plane z = 0. If the patch is not vertical, the projection onto the same plane is an isomorphism, and can be represented as a linear transformation, i.e. an affine.\n\nPolyhedral Surfaces are formed by stitching together such simple Surfaces patches along their common boundaries. Such polyhedral Surfaces in a 3-dimensional space may not be planar as a whole, depending on the orientation of their planar normals. If all the patches are in alignment (their normals are parallel), then the whole stitched polyhedral surface is co-planar and can be represented as a single patch if it is connected.\n\nThe boundary of a simple Surface is the set of closed Curves corresponding to its exterior and interior boundaries.\n\nA Polygon is a simple Surface that is planar. A PolyhedralSurface is a simple surface, consisting of some number of Polygon patches or facets. If a PolyhedralSurface is closed, then it bounds a solid. A MultiSurface containing a set of closed PolyhedralSurfaces can be used to represent a Solid object with holes." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Surface" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#Geometry" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#MultiLineString", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A MultiLineString is a MultiCurve whose elements are LineStrings." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Multi Line String" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#MultiCurve" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#Polygon", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A Polygon is a planar Surface defined by 1 exterior boundary and 0 or more interior boundaries. Each interior boundary defines a hole in the Polygon.\nThe exterior boundary LinearRing defines the top of the surface which is the side of the surface from which the exterior boundary appears to traverse the boundary in a counter clockwise direction. The interior LinearRings will have the opposite orientation, and appear as clockwise when viewed from the top,\nThe assertions for Polygons (the rules that define valid Polygons) are as follows:\n\na) Polygons are topologically closed;\nb) The boundary of a Polygon consists of a set of LinearRings that make up its exterior and interior boundaries;\nc) No two Rings in the boundary cross and the Rings in the boundary of a Polygon may intersect at a Point but only as a tangent.\nd) A Polygon may not have cut lines, spikes or punctures.\ne) The interior of every Polygon is a connected point set;\nf) The exterior of a Polygon with 1 or more holes is not connected. Each hole defines a connected component of the exterior." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Polygon" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#Surface" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#TIN", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A TIN (triangulated irregular network) is a PolyhedralSurface consisting only of Triangle patches." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Triangulated Irregular Network" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#PolyhedralSurface" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#Line", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A Line is a LineString with exactly 2 Points." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Line" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#LineString" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#LineString", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A LineString is a Curve with linear interpolation between Points. Each consecutive pair of Points defines a Line segment." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Line String" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#Curve" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#MultiCurve", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A MultiCurve is a 1-dimensional GeometryCollection whose elements are Curves.\n\nA MultiCurve defines a set of methods for its subclasses and is included for reasons of extensibility.\n\nA MultiCurve is simple if and only if all of its elements are simple and the only intersections between any two elements occur at Points that are on the boundaries of both elements.\n\nThe boundary of a MultiCurve is obtained by applying the mod 2 union rule: A Point is in the boundary of a MultiCurve if it is in the boundaries of an odd number of elements of the MultiCurve.\n\nA MultiCurve is closed if all of its elements are closed. The boundary of a closed MultiCurve is always empty.\n\nA MultiCurve is defined as topologically closed." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Multi Curve" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#GeometryCollection" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#Triangle", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A Triangle is a polygon with 3 distinct, non-collinear vertices and no interior boundary." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Triangle" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#Polygon" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#GeometryCollection", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A GeometryCollection is a geometric object that is a collection of some number of geometric objects.\n\nAll the elements in a GeometryCollection shall be in the same Spatial Reference System. This is also the Spatial Reference System for the GeometryCollection.\nGeometryCollection places no other constraints on its elements. Subclasses of GeometryCollection may restrict membership based on dimension and may also place other constraints on the degree of spatial overlap between elements." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Geometry Collection" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#Geometry" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#LinearRing", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A LinearRing is a LineString that is both closed and simple." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Linear Ring" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#LineString" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#Point", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A Point is a 0-dimensional geometric object and represents a single location in coordinate space. \nA Point has an x-coordinate value, a y-coordinate value. If called for by the associated Spatial Reference System, it may also have coordinate values for z and m.\nThe boundary of a Point is the empty set." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Point" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#Geometry" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf", + "@type": [ + "http://www.w3.org/2002/07/owl#Ontology" + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@value": "Open Geospatial Consortium" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2012-09-11" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@value": "An RDF/OWL vocabulary for defining SimpleFeature geometry types" + } + ], + "http://purl.org/dc/elements/1.1/title": [ + { + "@value": "Simple Features Vocabulary" + } + ], + "http://purl.org/vocab/vann/preferredNamespacePrefix": [ + { + "@value": "sf" + } + ], + "http://purl.org/vocab/vann/preferredNamespaceUri": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#anyURI", + "@value": "http://www.opengis.net/ont/sf#" + } + ], + "http://www.w3.org/2002/07/owl#imports": [ + { + "@id": "http://www.opengis.net/ont/geosparql" + } + ], + "http://www.w3.org/2002/07/owl#versionIRI": [ + { + "@id": "http://www.opengis.net/ont/sf/1.0" + } + ], + "http://www.w3.org/2002/07/owl#versionInfo": [ + { + "@value": "OGC GeoSPARQL 1.0" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#MultiPolygon", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A MultiPolygon is a MultiSurface whose elements are Polygons.\n\nThe assertions for MultiPolygons are as follows.\n\na) The interiors of 2 Polygons that are elements of a MultiPolygon may not intersect.\nb) The boundaries of any 2 Polygons that are elements of a MultiPolygon may not cross and may touch at only a finite number of Points.\nc) A MultiPolygon is defined as topologically closed.\nd) A MultiPolygon may not have cut lines, spikes or punctures, a MultiPolygon is a regular closed Point set,\ne) The interior of a MultiPolygon with more than 1 Polygon is not connected; the number of connected components of the interior of a MultiPolygon is equal to the number of Polygons in the MultiPolygon. \n\nThe boundary of a MultiPolygon is a set of closed Curves (LineStrings) corresponding to the boundaries of its element Polygons. Each Curve in the boundary of the MultiPolygon is in the boundary of exactly 1 element Polygon, and every Curve in the boundary of an element Polygon is in the boundary of the MultiPolygon." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Multi Polygon" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#MultiSurface" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#MultiPoint", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A MultiPoint is a 0-dimensional GeometryCollection. The elements of a MultiPoint are restricted to Points. ThePoints are not connected or ordered in any semantically important way.\n\nA MultiPoint is simple if no two Points in the MultiPoint are equal (have identical coordinate values in X and Y).\n\nEvery MultiPoint is spatially equal to a simple Multipoint.\n\nThe boundary of a MultiPoint is the empty set." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Multi Point" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#GeometryCollection" + } + ] + }, + { + "@id": "http://www.opengis.net/ont/sf#Curve", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Class", + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A Curve is a 1-dimensional geometric object usually stored as a sequence of Points, with the subtype of Curve specifying the form of the interpolation between Points. This specification defines only one subclass of Curve, LineString, which uses linear interpolation between Points.\n\nA Curve is a 1-dimensional geometric object that is the homeomorphic image of a real, closed, interval.\n\nA Curve is simple if it does not pass through the same Point twice with the possible exception of the two end\npoints.\n\nA Curve is closed if its start Point is equal to its end Point.\n\nThe boundary of a closed Curve is empty.\n\nA Curve that is simple and closed is a Ring.\n\nThe boundary of a non-closed Curve consists of its two end Points.\n\nA Curve is defined as topologically closed, that is, it contains its endpoints f(a) and f(b)." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://www.opengis.net/ont/sf" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Curve" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "http://www.opengis.net/ont/sf#Geometry" + } + ] + } +] \ No newline at end of file diff --git a/geosparql10/sf_geometries.n3 b/geosparql10/sf_geometries.n3 new file mode 100644 index 000000000..1529a978a --- /dev/null +++ b/geosparql10/sf_geometries.n3 @@ -0,0 +1,212 @@ +@prefix dc: . +@prefix geo: . +@prefix owl: . +@prefix rdfs: . +@prefix sf: . +@prefix vann: . +@prefix xsd: . + +sf:Curve a rdfs:Class, + owl:Class ; + rdfs:label "Curve"@en ; + rdfs:comment """A Curve is a 1-dimensional geometric object usually stored as a sequence of Points, with the subtype of Curve specifying the form of the interpolation between Points. This specification defines only one subclass of Curve, LineString, which uses linear interpolation between Points. + +A Curve is a 1-dimensional geometric object that is the homeomorphic image of a real, closed, interval. + +A Curve is simple if it does not pass through the same Point twice with the possible exception of the two end +points. + +A Curve is closed if its start Point is equal to its end Point. + +The boundary of a closed Curve is empty. + +A Curve that is simple and closed is a Ring. + +The boundary of a non-closed Curve consists of its two end Points. + +A Curve is defined as topologically closed, that is, it contains its endpoints f(a) and f(b)."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Geometry . + +sf:Geometry a rdfs:Class, + owl:Class ; + rdfs:label "Geometry"@en ; + rdfs:comment """Geometry is the root class of the hierarchy. + +The instantiable subclasses of Geometry are restricted to 0, 1 and 2-dimensional geometric objects that exist in 2, 3 or 4-dimensional coordinate space (R2, R3 or R4). Geometry values in R2 have points with coordinate values for x and y. Geometry values in R3 have points with coordinate values for x, y and z or for x, y and m. Geometry values in R4 have points with coordinate values for x, y, z and m. + +The interpretation of the coordinates is subject to the coordinate reference systems associated to the point. All coordinates within a geometry object should be in the same coordinate reference systems. Each coordinate shall be unambiguously associated to a coordinate reference system either directly or through its containing geometry. The z coordinate of a point is typically, but not necessarily, represents altitude or elevation. The m coordinate represents a measurement. + +All Geometry classes described in this specification are defined so that instances of Geometry are topologically closed, i.e. all represented geometries include their boundary as point sets. This does not affect their representation, and open version of the same classes may be used in other circumstances, such as topological representations."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf geo:Geometry . + +sf:GeometryCollection a rdfs:Class, + owl:Class ; + rdfs:label "Geometry Collection"@en ; + rdfs:comment """A GeometryCollection is a geometric object that is a collection of some number of geometric objects. + +All the elements in a GeometryCollection shall be in the same Spatial Reference System. This is also the Spatial Reference System for the GeometryCollection. +GeometryCollection places no other constraints on its elements. Subclasses of GeometryCollection may restrict membership based on dimension and may also place other constraints on the degree of spatial overlap between elements."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Geometry . + +sf:Line a rdfs:Class, + owl:Class ; + rdfs:label "Line"@en ; + rdfs:comment "A Line is a LineString with exactly 2 Points."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:LineString . + +sf:LineString a rdfs:Class, + owl:Class ; + rdfs:label "Line String"@en ; + rdfs:comment "A LineString is a Curve with linear interpolation between Points. Each consecutive pair of Points defines a Line segment."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Curve . + +sf:LinearRing a rdfs:Class, + owl:Class ; + rdfs:label "Linear Ring"@en ; + rdfs:comment "A LinearRing is a LineString that is both closed and simple."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:LineString . + +sf:MultiCurve a rdfs:Class, + owl:Class ; + rdfs:label "Multi Curve"@en ; + rdfs:comment """A MultiCurve is a 1-dimensional GeometryCollection whose elements are Curves. + +A MultiCurve defines a set of methods for its subclasses and is included for reasons of extensibility. + +A MultiCurve is simple if and only if all of its elements are simple and the only intersections between any two elements occur at Points that are on the boundaries of both elements. + +The boundary of a MultiCurve is obtained by applying the mod 2 union rule: A Point is in the boundary of a MultiCurve if it is in the boundaries of an odd number of elements of the MultiCurve. + +A MultiCurve is closed if all of its elements are closed. The boundary of a closed MultiCurve is always empty. + +A MultiCurve is defined as topologically closed."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:GeometryCollection . + +sf:MultiLineString a rdfs:Class, + owl:Class ; + rdfs:label "Multi Line String"@en ; + rdfs:comment "A MultiLineString is a MultiCurve whose elements are LineStrings."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:MultiCurve . + +sf:MultiPoint a rdfs:Class, + owl:Class ; + rdfs:label "Multi Point"@en ; + rdfs:comment """A MultiPoint is a 0-dimensional GeometryCollection. The elements of a MultiPoint are restricted to Points. ThePoints are not connected or ordered in any semantically important way. + +A MultiPoint is simple if no two Points in the MultiPoint are equal (have identical coordinate values in X and Y). + +Every MultiPoint is spatially equal to a simple Multipoint. + +The boundary of a MultiPoint is the empty set."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:GeometryCollection . + +sf:MultiPolygon a rdfs:Class, + owl:Class ; + rdfs:label "Multi Polygon"@en ; + rdfs:comment """A MultiPolygon is a MultiSurface whose elements are Polygons. + +The assertions for MultiPolygons are as follows. + +a) The interiors of 2 Polygons that are elements of a MultiPolygon may not intersect. +b) The boundaries of any 2 Polygons that are elements of a MultiPolygon may not cross and may touch at only a finite number of Points. +c) A MultiPolygon is defined as topologically closed. +d) A MultiPolygon may not have cut lines, spikes or punctures, a MultiPolygon is a regular closed Point set, +e) The interior of a MultiPolygon with more than 1 Polygon is not connected; the number of connected components of the interior of a MultiPolygon is equal to the number of Polygons in the MultiPolygon. + +The boundary of a MultiPolygon is a set of closed Curves (LineStrings) corresponding to the boundaries of its element Polygons. Each Curve in the boundary of the MultiPolygon is in the boundary of exactly 1 element Polygon, and every Curve in the boundary of an element Polygon is in the boundary of the MultiPolygon."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:MultiSurface . + +sf:MultiSurface a rdfs:Class, + owl:Class ; + rdfs:label "Multi Surface"@en ; + rdfs:comment """A MultiSurface is a 2-dimensional GeometryCollection whose elements are Surfaces, all using coordinates from the same coordinate reference system. The geometric interiors of any two Surfaces in a MultiSurface may not intersect in the full coordinate system. The boundaries of any two coplanar elements in a MultiSurface may intersect, at most, at a finite number of Points. If they were to meet along a curve, they could be merged into a single surface. + +A MultiSurface may be used to represent heterogeneous surfaces collections of polygons and polyhedral surfaces. It defines a set of methods for its subclasses. The subclass of MultiSurface is MultiPolygon corresponding to a collection of Polygons only. Other collections shall use MultiSurface."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:GeometryCollection . + +sf:Point a rdfs:Class, + owl:Class ; + rdfs:label "Point"@en ; + rdfs:comment """A Point is a 0-dimensional geometric object and represents a single location in coordinate space. +A Point has an x-coordinate value, a y-coordinate value. If called for by the associated Spatial Reference System, it may also have coordinate values for z and m. +The boundary of a Point is the empty set."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Geometry . + +sf:Polygon a rdfs:Class, + owl:Class ; + rdfs:label "Polygon"@en ; + rdfs:comment """A Polygon is a planar Surface defined by 1 exterior boundary and 0 or more interior boundaries. Each interior boundary defines a hole in the Polygon. +The exterior boundary LinearRing defines the top of the surface which is the side of the surface from which the exterior boundary appears to traverse the boundary in a counter clockwise direction. The interior LinearRings will have the opposite orientation, and appear as clockwise when viewed from the top, +The assertions for Polygons (the rules that define valid Polygons) are as follows: + +a) Polygons are topologically closed; +b) The boundary of a Polygon consists of a set of LinearRings that make up its exterior and interior boundaries; +c) No two Rings in the boundary cross and the Rings in the boundary of a Polygon may intersect at a Point but only as a tangent. +d) A Polygon may not have cut lines, spikes or punctures. +e) The interior of every Polygon is a connected point set; +f) The exterior of a Polygon with 1 or more holes is not connected. Each hole defines a connected component of the exterior."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Surface . + +sf:PolyhedralSurface a rdfs:Class, + owl:Class ; + rdfs:label "Polyhedral Surface"@en ; + rdfs:comment """A PolyhedralSurface is a contiguous collection of polygons, which share common boundary segments. For each pair of polygons that touch, the common boundary shall be expressible as a finite collection of LineStrings. Each such LineString shall be part of the boundary of at most 2 Polygon patches. + +For any two polygons that share a common boundary, the top of the polygon shall be consistent. This means that when two LinearRings from these two Polygons traverse the common boundary segment, they do so in opposite directions. Since the Polyhedral surface is contiguous, all polygons will be thus consistently oriented. This means that a non-oriented surface (such as Mbius band) shall not have single surface representations. They may be represented by a MultiSurface. + +If each such LineString is the boundary of exactly 2 Polygon patches, then the PolyhedralSurface is a simple, closed polyhedron and is topologically isomorphic to the surface of a sphere. By the Jordan Surface Theorem (Jordans Theorem for 2-spheres), such polyhedrons enclose a solid topologically isomorphic to the interior of a sphere; the ball. In this case, the top of the surface will either point inward or outward of the enclosed finite solid. If outward, the surface is the exterior boundary of the enclosed surface. If inward, the surface is the interior of the infinite complement of the enclosed solid. A Ball with some number of voids (holes) inside can thus be presented as one exterior boundary shell, and some number in interior boundary shells."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Surface . + +sf:Surface a rdfs:Class, + owl:Class ; + rdfs:label "Surface"@en ; + rdfs:comment """A Surface is a 2-dimensional geometric object. +A simple Surface may consists of a single patch that is associated with one exterior boundary and 0 or more interior boundaries. A single such Surface patch in 3-dimensional space is isometric to planar Surfaces, by a simple affine rotation matrix that rotates the patch onto the plane z = 0. If the patch is not vertical, the projection onto the same plane is an isomorphism, and can be represented as a linear transformation, i.e. an affine. + +Polyhedral Surfaces are formed by stitching together such simple Surfaces patches along their common boundaries. Such polyhedral Surfaces in a 3-dimensional space may not be planar as a whole, depending on the orientation of their planar normals. If all the patches are in alignment (their normals are parallel), then the whole stitched polyhedral surface is co-planar and can be represented as a single patch if it is connected. + +The boundary of a simple Surface is the set of closed Curves corresponding to its exterior and interior boundaries. + +A Polygon is a simple Surface that is planar. A PolyhedralSurface is a simple surface, consisting of some number of Polygon patches or facets. If a PolyhedralSurface is closed, then it bounds a solid. A MultiSurface containing a set of closed PolyhedralSurfaces can be used to represent a Solid object with holes."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Geometry . + +sf:TIN a rdfs:Class, + owl:Class ; + rdfs:label "Triangulated Irregular Network"@en ; + rdfs:comment "A TIN (triangulated irregular network) is a PolyhedralSurface consisting only of Triangle patches."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:PolyhedralSurface . + +sf:Triangle a rdfs:Class, + owl:Class ; + rdfs:label "Triangle"@en ; + rdfs:comment "A Triangle is a polygon with 3 distinct, non-collinear vertices and no interior boundary."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Polygon . + + a owl:Ontology ; + dc:creator "Open Geospatial Consortium" ; + dc:date "2012-09-11"^^xsd:date ; + dc:description "An RDF/OWL vocabulary for defining SimpleFeature geometry types" ; + dc:title "Simple Features Vocabulary" ; + vann:preferredNamespacePrefix "sf"^^xsd:string ; + vann:preferredNamespaceUri "http://www.opengis.net/ont/sf#"^^xsd:anyURI ; + owl:imports ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" . + diff --git a/geosparql10/sf_geometries.ttl b/geosparql10/sf_geometries.ttl new file mode 100644 index 000000000..e42d71538 --- /dev/null +++ b/geosparql10/sf_geometries.ttl @@ -0,0 +1,265 @@ +PREFIX dc: +PREFIX geo: +PREFIX owl: +PREFIX rdfs: +PREFIX vann: +PREFIX sf: +PREFIX xsd: + +sf:Curve + a + rdfs:Class , + owl:Class ; + rdfs:label "Curve"@en ; + rdfs:comment """A Curve is a 1-dimensional geometric object usually stored as a sequence of Points, with the subtype of Curve specifying the form of the interpolation between Points. This specification defines only one subclass of Curve, LineString, which uses linear interpolation between Points. + +A Curve is a 1-dimensional geometric object that is the homeomorphic image of a real, closed, interval. + +A Curve is simple if it does not pass through the same Point twice with the possible exception of the two end +points. + +A Curve is closed if its start Point is equal to its end Point. + +The boundary of a closed Curve is empty. + +A Curve that is simple and closed is a Ring. + +The boundary of a non-closed Curve consists of its two end Points. + +A Curve is defined as topologically closed, that is, it contains its endpoints f(a) and f(b)."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Geometry ; +. + +sf:Geometry + a + rdfs:Class , + owl:Class ; + rdfs:label "Geometry"@en ; + rdfs:comment """Geometry is the root class of the hierarchy. + +The instantiable subclasses of Geometry are restricted to 0, 1 and 2-dimensional geometric objects that exist in 2, 3 or 4-dimensional coordinate space (R2, R3 or R4). Geometry values in R2 have points with coordinate values for x and y. Geometry values in R3 have points with coordinate values for x, y and z or for x, y and m. Geometry values in R4 have points with coordinate values for x, y, z and m. + +The interpretation of the coordinates is subject to the coordinate reference systems associated to the point. All coordinates within a geometry object should be in the same coordinate reference systems. Each coordinate shall be unambiguously associated to a coordinate reference system either directly or through its containing geometry. The z coordinate of a point is typically, but not necessarily, represents altitude or elevation. The m coordinate represents a measurement. + +All Geometry classes described in this specification are defined so that instances of Geometry are topologically closed, i.e. all represented geometries include their boundary as point sets. This does not affect their representation, and open version of the same classes may be used in other circumstances, such as topological representations."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf geo:Geometry ; +. + +sf:GeometryCollection + a + rdfs:Class , + owl:Class ; + rdfs:label "Geometry Collection"@en ; + rdfs:comment """A GeometryCollection is a geometric object that is a collection of some number of geometric objects. + +All the elements in a GeometryCollection shall be in the same Spatial Reference System. This is also the Spatial Reference System for the GeometryCollection. +GeometryCollection places no other constraints on its elements. Subclasses of GeometryCollection may restrict membership based on dimension and may also place other constraints on the degree of spatial overlap between elements."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Geometry ; +. + +sf:Line + a + rdfs:Class , + owl:Class ; + rdfs:label "Line"@en ; + rdfs:comment "A Line is a LineString with exactly 2 Points."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:LineString ; +. + +sf:LineString + a + rdfs:Class , + owl:Class ; + rdfs:label "Line String"@en ; + rdfs:comment "A LineString is a Curve with linear interpolation between Points. Each consecutive pair of Points defines a Line segment."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Curve ; +. + +sf:LinearRing + a + rdfs:Class , + owl:Class ; + rdfs:label "Linear Ring"@en ; + rdfs:comment "A LinearRing is a LineString that is both closed and simple."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:LineString ; +. + +sf:MultiCurve + a + rdfs:Class , + owl:Class ; + rdfs:label "Multi Curve"@en ; + rdfs:comment """A MultiCurve is a 1-dimensional GeometryCollection whose elements are Curves. + +A MultiCurve defines a set of methods for its subclasses and is included for reasons of extensibility. + +A MultiCurve is simple if and only if all of its elements are simple and the only intersections between any two elements occur at Points that are on the boundaries of both elements. + +The boundary of a MultiCurve is obtained by applying the mod 2 union rule: A Point is in the boundary of a MultiCurve if it is in the boundaries of an odd number of elements of the MultiCurve. + +A MultiCurve is closed if all of its elements are closed. The boundary of a closed MultiCurve is always empty. + +A MultiCurve is defined as topologically closed."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:GeometryCollection ; +. + +sf:MultiLineString + a + rdfs:Class , + owl:Class ; + rdfs:label "Multi Line String"@en ; + rdfs:comment "A MultiLineString is a MultiCurve whose elements are LineStrings."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:MultiCurve ; +. + +sf:MultiPoint + a + rdfs:Class , + owl:Class ; + rdfs:label "Multi Point"@en ; + rdfs:comment """A MultiPoint is a 0-dimensional GeometryCollection. The elements of a MultiPoint are restricted to Points. ThePoints are not connected or ordered in any semantically important way. + +A MultiPoint is simple if no two Points in the MultiPoint are equal (have identical coordinate values in X and Y). + +Every MultiPoint is spatially equal to a simple Multipoint. + +The boundary of a MultiPoint is the empty set."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:GeometryCollection ; +. + +sf:MultiPolygon + a + rdfs:Class , + owl:Class ; + rdfs:label "Multi Polygon"@en ; + rdfs:comment """A MultiPolygon is a MultiSurface whose elements are Polygons. + +The assertions for MultiPolygons are as follows. + +a) The interiors of 2 Polygons that are elements of a MultiPolygon may not intersect. +b) The boundaries of any 2 Polygons that are elements of a MultiPolygon may not cross and may touch at only a finite number of Points. +c) A MultiPolygon is defined as topologically closed. +d) A MultiPolygon may not have cut lines, spikes or punctures, a MultiPolygon is a regular closed Point set, +e) The interior of a MultiPolygon with more than 1 Polygon is not connected; the number of connected components of the interior of a MultiPolygon is equal to the number of Polygons in the MultiPolygon. + +The boundary of a MultiPolygon is a set of closed Curves (LineStrings) corresponding to the boundaries of its element Polygons. Each Curve in the boundary of the MultiPolygon is in the boundary of exactly 1 element Polygon, and every Curve in the boundary of an element Polygon is in the boundary of the MultiPolygon."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:MultiSurface ; +. + +sf:MultiSurface + a + rdfs:Class , + owl:Class ; + rdfs:label "Multi Surface"@en ; + rdfs:comment """A MultiSurface is a 2-dimensional GeometryCollection whose elements are Surfaces, all using coordinates from the same coordinate reference system. The geometric interiors of any two Surfaces in a MultiSurface may not intersect in the full coordinate system. The boundaries of any two coplanar elements in a MultiSurface may intersect, at most, at a finite number of Points. If they were to meet along a curve, they could be merged into a single surface. + +A MultiSurface may be used to represent heterogeneous surfaces collections of polygons and polyhedral surfaces. It defines a set of methods for its subclasses. The subclass of MultiSurface is MultiPolygon corresponding to a collection of Polygons only. Other collections shall use MultiSurface."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:GeometryCollection ; +. + +sf:Point + a + rdfs:Class , + owl:Class ; + rdfs:label "Point"@en ; + rdfs:comment """A Point is a 0-dimensional geometric object and represents a single location in coordinate space. +A Point has an x-coordinate value, a y-coordinate value. If called for by the associated Spatial Reference System, it may also have coordinate values for z and m. +The boundary of a Point is the empty set."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Geometry ; +. + +sf:Polygon + a + rdfs:Class , + owl:Class ; + rdfs:label "Polygon"@en ; + rdfs:comment """A Polygon is a planar Surface defined by 1 exterior boundary and 0 or more interior boundaries. Each interior boundary defines a hole in the Polygon. +The exterior boundary LinearRing defines the top of the surface which is the side of the surface from which the exterior boundary appears to traverse the boundary in a counter clockwise direction. The interior LinearRings will have the opposite orientation, and appear as clockwise when viewed from the top, +The assertions for Polygons (the rules that define valid Polygons) are as follows: + +a) Polygons are topologically closed; +b) The boundary of a Polygon consists of a set of LinearRings that make up its exterior and interior boundaries; +c) No two Rings in the boundary cross and the Rings in the boundary of a Polygon may intersect at a Point but only as a tangent. +d) A Polygon may not have cut lines, spikes or punctures. +e) The interior of every Polygon is a connected point set; +f) The exterior of a Polygon with 1 or more holes is not connected. Each hole defines a connected component of the exterior."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Surface ; +. + +sf:PolyhedralSurface + a + rdfs:Class , + owl:Class ; + rdfs:label "Polyhedral Surface"@en ; + rdfs:comment """A PolyhedralSurface is a contiguous collection of polygons, which share common boundary segments. For each pair of polygons that touch, the common boundary shall be expressible as a finite collection of LineStrings. Each such LineString shall be part of the boundary of at most 2 Polygon patches. + +For any two polygons that share a common boundary, the top of the polygon shall be consistent. This means that when two LinearRings from these two Polygons traverse the common boundary segment, they do so in opposite directions. Since the Polyhedral surface is contiguous, all polygons will be thus consistently oriented. This means that a non-oriented surface (such as Mbius band) shall not have single surface representations. They may be represented by a MultiSurface. + +If each such LineString is the boundary of exactly 2 Polygon patches, then the PolyhedralSurface is a simple, closed polyhedron and is topologically isomorphic to the surface of a sphere. By the Jordan Surface Theorem (Jordans Theorem for 2-spheres), such polyhedrons enclose a solid topologically isomorphic to the interior of a sphere; the ball. In this case, the top of the surface will either point inward or outward of the enclosed finite solid. If outward, the surface is the exterior boundary of the enclosed surface. If inward, the surface is the interior of the infinite complement of the enclosed solid. A Ball with some number of voids (holes) inside can thus be presented as one exterior boundary shell, and some number in interior boundary shells."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Surface ; +. + +sf:Surface + a + rdfs:Class , + owl:Class ; + rdfs:label "Surface"@en ; + rdfs:comment """A Surface is a 2-dimensional geometric object. +A simple Surface may consists of a single patch that is associated with one exterior boundary and 0 or more interior boundaries. A single such Surface patch in 3-dimensional space is isometric to planar Surfaces, by a simple affine rotation matrix that rotates the patch onto the plane z = 0. If the patch is not vertical, the projection onto the same plane is an isomorphism, and can be represented as a linear transformation, i.e. an affine. + +Polyhedral Surfaces are formed by stitching together such simple Surfaces patches along their common boundaries. Such polyhedral Surfaces in a 3-dimensional space may not be planar as a whole, depending on the orientation of their planar normals. If all the patches are in alignment (their normals are parallel), then the whole stitched polyhedral surface is co-planar and can be represented as a single patch if it is connected. + +The boundary of a simple Surface is the set of closed Curves corresponding to its exterior and interior boundaries. + +A Polygon is a simple Surface that is planar. A PolyhedralSurface is a simple surface, consisting of some number of Polygon patches or facets. If a PolyhedralSurface is closed, then it bounds a solid. A MultiSurface containing a set of closed PolyhedralSurfaces can be used to represent a Solid object with holes."""@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Geometry ; +. + +sf:TIN + a + rdfs:Class , + owl:Class ; + rdfs:label "Triangulated Irregular Network"@en ; + rdfs:comment "A TIN (triangulated irregular network) is a PolyhedralSurface consisting only of Triangle patches."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:PolyhedralSurface ; +. + +sf:Triangle + a + rdfs:Class , + owl:Class ; + rdfs:label "Triangle"@en ; + rdfs:comment "A Triangle is a polygon with 3 distinct, non-collinear vertices and no interior boundary."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf sf:Polygon ; +. + + + a owl:Ontology ; + dc:creator "Open Geospatial Consortium" ; + dc:date "2012-09-11"^^xsd:date ; + dc:description "An RDF/OWL vocabulary for defining SimpleFeature geometry types" ; + dc:title "Simple Features Vocabulary" ; + vann:preferredNamespacePrefix "sf"^^xsd:string ; + vann:preferredNamespaceUri "http://www.opengis.net/ont/sf#"^^xsd:anyURI ; + owl:imports ; + owl:versionIRI ; + owl:versionInfo "OGC GeoSPARQL 1.0" ; +. +