deno.land / x / shacl_to_type@v0.0.9 / createModel.mjs

createModel.mjs
نووسراو ببینە
1
2
var u=class{#t;#e={};constructor(e){this.#t=e;for(let[r,t]of Object.entries(e))this.#e[t]=r}compactIri(e){let r=!0;for(this.#t["@vocab"]&&(e=e.replace(this.#t["@vocab"],""));r;){r=!1;for(let[t,s]of Object.entries(this.#e))e.startsWith(t)&&!t.includes("://")&&(e=e.replace(t,s),r=!0);for(let[t,s]of Object.entries(this.#e))e.startsWith(t)&&t.includes("://")&&(e=e.replace(t,s+":"),r=!0)}return e.trim()}};var b=(o,e,r)=>e.type==="Date"?new Date(o.value):o.type==="uri"?r.compactIri(o.value):o.value;var h="http://subject.com/subject",w=(o,e,r)=>{let t=new u(e),s=[],c=t.compactIri("http://www.w3.org/1999/02/22-rdf-syntax-ns#type");for(let n of Object.keys(o)){let i={id:t.compactIri(n)};s.push(i)}for(let[n,i]of Object.entries(o)){let p=s.find(a=>a.id===t.compactIri(n)),j=i["http://www.w3.org/1999/02/22-rdf-syntax-ns#type"].find(a=>a.value!==h).value,m=t.compactIri(j);for(let[a,f]of Object.entries(i)){let d=t.compactIri(a),l=r[m][d];p[d]=l.singular?b(f[0],l,t):f.map(g=>{if(g.type==="uri"&&d!==c){let x=s.find(I=>I.id===t.compactIri(g.value));if(x)return x}return b(g,l,t)}).filter(Boolean)}}let y=s.filter(n=>n[c]?.includes(h));for(let n of y)n[c]=n[c].filter(i=>i!==h);return y};var R=(o,{prefixes:e,meta:r,query:t})=>{async function s(c){let n=(typeof c=="string"?[c]:c).map(f=>`<${f}>`),i=t.replace("VALUES ?s { }",`VALUES ?s { ${n.join(" ")} }`),p=new FormData;p.set("query",i);let m=await(await fetch(o,{method:"POST",headers:{accept:"application/rdf+json"},body:p})).json(),a=w(m,e,r);return typeof c=="string"?a.pop():a}return{get:s}};export{R as createModel};
shacl_to_type

Version Info

Tagged at
a year ago