geo-mcp-server 1.1.5 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/tools/advanced.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/tools/advanced.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AA4UvD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAogCnF"}
|
package/dist/tools/advanced.js
CHANGED
|
@@ -129,6 +129,175 @@ const CreateKnowledgeGraphInputSchema = z.object({
|
|
|
129
129
|
const MAX_LOCAL_FILE_BYTES = 1_000_000;
|
|
130
130
|
const MAX_LOCAL_FILE_PREVIEW_BYTES = 250_000;
|
|
131
131
|
const DEFAULT_CANONICAL_CLAIM_TYPE_ID = '96f859efa1ca4b229372c86ad58b694b';
|
|
132
|
+
// "Research ontology" IDs for publishing papers/claims using the minimal GeoBrowser schema.
|
|
133
|
+
// Source: https://www.geobrowser.io/space/cc31e40f74231d530f1b5d0fc1cd94d8/6bd605f5269b41a4a5aaab571a77f325
|
|
134
|
+
//
|
|
135
|
+
// Notes:
|
|
136
|
+
// - Paper title and Claim text are stored in the entity `name` (implicit Name property).
|
|
137
|
+
// - Most linking is done through Relation-typed properties using `create_entity.relations`.
|
|
138
|
+
const RESEARCH_ONTOLOGY_IDS = {
|
|
139
|
+
types: {
|
|
140
|
+
paper: '1d2f7884e64e005ad897425c9879b0da',
|
|
141
|
+
claim: DEFAULT_CANONICAL_CLAIM_TYPE_ID,
|
|
142
|
+
topic: '5ef5a5860f274d8e8f6c59ae5b3e89e2',
|
|
143
|
+
person: SystemIds.PERSON_TYPE,
|
|
144
|
+
project: SystemIds.PROJECT_TYPE,
|
|
145
|
+
},
|
|
146
|
+
properties: {
|
|
147
|
+
// Paper properties
|
|
148
|
+
paperArxivUrl: 'b1417e3a509237b8f32970b6bf6f227e', // Text
|
|
149
|
+
paperPublicationDate: '3176c284b8653e6cfad174fb1ecd6af0', // Date
|
|
150
|
+
paperDoi: '0c9ad4f6d0cd852634d7361eb685b881', // Text
|
|
151
|
+
paperCodeUrl: '766386c7b6b1b77d4adac0ba8b5ba60d', // Text
|
|
152
|
+
paperSemanticScholarUrl: '044660dd8984d7b46e11dfefa29eb8d4', // Text
|
|
153
|
+
paperKeyContribution: '875890d85e38caa08e325415d915b628', // Text
|
|
154
|
+
paperAuthors: '5c8a2a40986a29fe3430775cc2c0fa2e', // Relation
|
|
155
|
+
paperVenue: 'adb8047237cbc48a9bfe420b4cf8398f', // Relation
|
|
156
|
+
paperRelatedTopics: '806d52bc27e94c9193c057978b093351', // Relation
|
|
157
|
+
// Claim properties
|
|
158
|
+
claimSources: '49c5d5e1679a4dbdbfd33f618f227c94', // Relation
|
|
159
|
+
claimRelatedTopics: '806d52bc27e94c9193c057978b093351', // Relation (shared)
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
const CANONICAL_RESEARCH_SCHEMA_IDS = {
|
|
163
|
+
types: {
|
|
164
|
+
researchPaper: '5296626122e04c2f8cebc2e0a864e84a',
|
|
165
|
+
researchClaim: '7cccaa4f7e3542dea227910a67dcb083',
|
|
166
|
+
researchAuthor: 'c2b804853c8e42bc9e2d7fa9db9f72d0',
|
|
167
|
+
researchVenue: 'abbfb48854184502bfccae82de8a0781',
|
|
168
|
+
},
|
|
169
|
+
properties: {
|
|
170
|
+
// Research Paper
|
|
171
|
+
paperTitle: 'fcb6a0d48e6447589427c50396959fd4',
|
|
172
|
+
abstract: '841be82f388a40429ddac7f4a4bb2ab2',
|
|
173
|
+
arxivId: 'a2dca941b5604e6594efdf804aa125da',
|
|
174
|
+
doi: '2b81eb1d736843dba560ba77363e0c14',
|
|
175
|
+
publicationDate: '083e3f2ff16b493f91ca8f71b7439a73',
|
|
176
|
+
pdfUrl: '503f7a3691c947aab7ef3838c22402c6',
|
|
177
|
+
htmlUrl: '851c5073916642a0a66e44de72885f8e',
|
|
178
|
+
arxivCategory: 'a20ce6ca37154316a43c9796904d8883',
|
|
179
|
+
authorsJson: 'a0e9410bf89142208f85591e20b25bed',
|
|
180
|
+
citationCount: 'd8381d27ee4144ed843fa0a5646d8565',
|
|
181
|
+
claimCount: '656be50a208047e9a54bc4168b05f16b',
|
|
182
|
+
topics: '640b0f39d3af4ba7af55380c09a66ba6',
|
|
183
|
+
processingStatus: 'ce500244fb3144338300618b6127e6bf',
|
|
184
|
+
processedAt: 'ae581b83bbb440628fc5603a557955ce',
|
|
185
|
+
source: 'c8f4ce2a29224779816b4ffa089dea25',
|
|
186
|
+
// Research Claim
|
|
187
|
+
claimText: 'e43c247c6bfe45cfb0730a4cfea48870',
|
|
188
|
+
claimType: 'c58847436e4244d0a572f39eb6f74372',
|
|
189
|
+
section: 'a4f90bb88d0b4e87815ee37d5b13152f',
|
|
190
|
+
pageNumber: 'ad3f600ff8734b79bfb99baacd780573',
|
|
191
|
+
paragraphId: '3bd8744492084559a61d985f3ebd5b43',
|
|
192
|
+
faithfulnessScore: '75d25ce465014ef5a3aa489f7172a00e',
|
|
193
|
+
isAtomic: '9f2d2d9d742b4241b7111753d2cec20c',
|
|
194
|
+
isDecontextualized: '0a5db51a22e64235b86e5231c5a4154c',
|
|
195
|
+
confidence: '2368df25ceb8478297b7a1cd606d8b77',
|
|
196
|
+
verificationStatus: 'f68ce99a44c14966971f1c2614cada9c',
|
|
197
|
+
sourceSentence: 'd38bad0e728c443396807f2e9ae021fe',
|
|
198
|
+
extractedEntitiesJson: '02cfa21e1e0f402a86a36fdf2aeaee44',
|
|
199
|
+
extractedRelationsJson: 'd810c9be3fee42bab04399f88fa593d5',
|
|
200
|
+
},
|
|
201
|
+
relations: {
|
|
202
|
+
extractedFrom: '3c54079f0357493ebed8d66e873b542e',
|
|
203
|
+
},
|
|
204
|
+
};
|
|
205
|
+
const ResearchAuthorInputSchema = z.object({
|
|
206
|
+
name: z.string().min(1),
|
|
207
|
+
affiliation: z.string().optional(),
|
|
208
|
+
orcid: z.string().optional(),
|
|
209
|
+
});
|
|
210
|
+
const ResearchPaperInputSchema = z.object({
|
|
211
|
+
title: z.string().min(1).describe('Full paper title'),
|
|
212
|
+
abstract: z.string().optional(),
|
|
213
|
+
arxivId: z.string().optional().describe('arXiv ID without prefix (e.g. 2502.10855)'),
|
|
214
|
+
doi: z.string().optional(),
|
|
215
|
+
publicationDate: z.string().optional().describe('ISO datetime or YYYY-MM-DD'),
|
|
216
|
+
pdfUrl: z.string().optional(),
|
|
217
|
+
htmlUrl: z.string().optional(),
|
|
218
|
+
arxivCategory: z.string().optional(),
|
|
219
|
+
authors: z.array(ResearchAuthorInputSchema).optional(),
|
|
220
|
+
authorsJson: z.string().optional().describe('JSON string of authors (if already computed)'),
|
|
221
|
+
topics: z.union([z.string(), z.array(z.string())]).optional(),
|
|
222
|
+
source: z.string().optional().describe('e.g. \"arxiv\"'),
|
|
223
|
+
});
|
|
224
|
+
const ResearchClaimInputSchema = z.object({
|
|
225
|
+
claimText: z.string().min(1),
|
|
226
|
+
claimType: z
|
|
227
|
+
.string()
|
|
228
|
+
.optional()
|
|
229
|
+
.describe('hypothesis|result|methodology|background|limitation|future_work|definition|comparison'),
|
|
230
|
+
section: z.string().optional(),
|
|
231
|
+
confidence: z.union([z.string(), z.number()]).optional(),
|
|
232
|
+
isAtomic: z.boolean().optional(),
|
|
233
|
+
isDecontextualized: z.boolean().optional(),
|
|
234
|
+
sourceSentence: z.string().optional(),
|
|
235
|
+
extractedEntities: z.unknown().optional(),
|
|
236
|
+
extractedRelations: z.unknown().optional(),
|
|
237
|
+
pageNumber: z.number().int().optional(),
|
|
238
|
+
paragraphId: z.union([z.number().int(), z.string()]).optional(),
|
|
239
|
+
faithfulnessScore: z.union([z.string(), z.number()]).optional(),
|
|
240
|
+
verificationStatus: z.string().optional(),
|
|
241
|
+
});
|
|
242
|
+
// ── Research ontology publishing (Paper/Claim/Person/Topic/Project) ─────
|
|
243
|
+
const OntologyAuthorInputSchema = z.object({
|
|
244
|
+
name: z.string().min(1),
|
|
245
|
+
});
|
|
246
|
+
const OntologyProjectInputSchema = z.object({
|
|
247
|
+
name: z.string().min(1),
|
|
248
|
+
});
|
|
249
|
+
const OntologyPaperInputSchema = z.object({
|
|
250
|
+
title: z.string().min(1).describe('Paper title (stored as entity.name)'),
|
|
251
|
+
arxivId: z.string().optional().describe('arXiv ID without prefix (e.g. 2502.10855)'),
|
|
252
|
+
arxivUrl: z.string().optional().describe('arXiv URL (defaults to https://arxiv.org/abs/<id>)'),
|
|
253
|
+
publicationDate: z.string().optional().describe('YYYY-MM-DD or ISO datetime (stored as Date)'),
|
|
254
|
+
doi: z.string().optional(),
|
|
255
|
+
codeUrl: z.string().optional(),
|
|
256
|
+
semanticScholarUrl: z.string().optional(),
|
|
257
|
+
keyContribution: z.string().optional().describe('Short summary of the key contribution'),
|
|
258
|
+
venue: OntologyProjectInputSchema.optional().describe('Journal/publisher/venue (created as Project entity)'),
|
|
259
|
+
authors: z.array(OntologyAuthorInputSchema).optional().describe('Paper authors (created as Person entities)'),
|
|
260
|
+
topics: z.array(z.string()).optional().describe('High-level topics (created as Topic entities)'),
|
|
261
|
+
});
|
|
262
|
+
const OntologyClaimInputSchema = z.object({
|
|
263
|
+
text: z.string().min(1).describe('Atomic claim text (stored as entity.name; full text also stored in description)'),
|
|
264
|
+
topics: z.array(z.string()).optional().describe('Topic names this claim belongs to'),
|
|
265
|
+
sourceQuote: z.string().optional().describe('Optional quote snippet from the paper supporting this claim'),
|
|
266
|
+
});
|
|
267
|
+
function coerceIsoDatetime(input) {
|
|
268
|
+
const trimmed = input.trim();
|
|
269
|
+
if (!trimmed)
|
|
270
|
+
return trimmed;
|
|
271
|
+
// Accept full ISO values as-is.
|
|
272
|
+
if (trimmed.includes('T'))
|
|
273
|
+
return trimmed;
|
|
274
|
+
// Accept YYYY-MM-DD and convert to midnight UTC.
|
|
275
|
+
if (/^\\d{4}-\\d{2}-\\d{2}$/.test(trimmed))
|
|
276
|
+
return `${trimmed}T00:00:00.000Z`;
|
|
277
|
+
return trimmed;
|
|
278
|
+
}
|
|
279
|
+
function coerceDate(input) {
|
|
280
|
+
const trimmed = input.trim();
|
|
281
|
+
if (!trimmed)
|
|
282
|
+
return trimmed;
|
|
283
|
+
// Accept YYYY-MM-DD as-is.
|
|
284
|
+
if (/^\\d{4}-\\d{2}-\\d{2}$/.test(trimmed))
|
|
285
|
+
return trimmed;
|
|
286
|
+
// If an ISO datetime is provided, keep the date component.
|
|
287
|
+
const m = /^\\d{4}-\\d{2}-\\d{2}/.exec(trimmed);
|
|
288
|
+
if (m)
|
|
289
|
+
return m[0];
|
|
290
|
+
return trimmed;
|
|
291
|
+
}
|
|
292
|
+
function shortText(input, max = 120) {
|
|
293
|
+
const cleaned = input.replace(/\\s+/g, ' ').trim();
|
|
294
|
+
if (cleaned.length <= max)
|
|
295
|
+
return cleaned;
|
|
296
|
+
return `${cleaned.slice(0, max - 1)}…`;
|
|
297
|
+
}
|
|
298
|
+
function normalizeLabel(input) {
|
|
299
|
+
return input.replace(/\\s+/g, ' ').trim();
|
|
300
|
+
}
|
|
132
301
|
export function registerAdvancedTools(server, session) {
|
|
133
302
|
// ── generate_id ──────────────────────────────────────────────────────
|
|
134
303
|
server.tool('generate_id', 'Generate one or more unique Geo knowledge graph IDs (dashless UUID v4)', {
|
|
@@ -433,6 +602,479 @@ export function registerAdvancedTools(server, session) {
|
|
|
433
602
|
};
|
|
434
603
|
}
|
|
435
604
|
});
|
|
605
|
+
// ── create_research_paper_and_claims ─────────────────────────────────
|
|
606
|
+
server.tool('create_research_paper_and_claims', 'Create a Research Paper entity and multiple Research Claim entities using the canonical Geo research schema. Claim entities are always multi-typed with the canonical GeoBrowser Claim type so they show up in standard Claim views.', {
|
|
607
|
+
paper: ResearchPaperInputSchema.describe('Paper metadata'),
|
|
608
|
+
claims: z
|
|
609
|
+
.array(ResearchClaimInputSchema)
|
|
610
|
+
.min(1)
|
|
611
|
+
.max(200)
|
|
612
|
+
.describe('Claims extracted from the paper'),
|
|
613
|
+
createExtractedFromRelations: z
|
|
614
|
+
.boolean()
|
|
615
|
+
.optional()
|
|
616
|
+
.describe('If true, creates Extracted From relations from each claim to the paper (default true)'),
|
|
617
|
+
canonicalClaimTypeId: z
|
|
618
|
+
.string()
|
|
619
|
+
.optional()
|
|
620
|
+
.describe('Override canonical Claim type ID (default env GEO_CANONICAL_CLAIM_TYPE_ID or built-in)'),
|
|
621
|
+
paperName: z
|
|
622
|
+
.string()
|
|
623
|
+
.optional()
|
|
624
|
+
.describe('Optional override for the paper entity name (defaults to "Paper: <title> (arXiv:<id>)")'),
|
|
625
|
+
paperDescription: z
|
|
626
|
+
.string()
|
|
627
|
+
.optional()
|
|
628
|
+
.describe('Optional override for paper description'),
|
|
629
|
+
claimNamePrefix: z
|
|
630
|
+
.string()
|
|
631
|
+
.optional()
|
|
632
|
+
.describe('Prefix for claim entity names (default "Claim: ")'),
|
|
633
|
+
}, async ({ paper, claims, createExtractedFromRelations, canonicalClaimTypeId, paperName, paperDescription, claimNamePrefix, }) => {
|
|
634
|
+
try {
|
|
635
|
+
const canonicalClaimType = (canonicalClaimTypeId ?? process.env.GEO_CANONICAL_CLAIM_TYPE_ID ?? '').trim()
|
|
636
|
+
|| DEFAULT_CANONICAL_CLAIM_TYPE_ID;
|
|
637
|
+
const shouldCreateRelations = createExtractedFromRelations ?? true;
|
|
638
|
+
const now = new Date().toISOString();
|
|
639
|
+
const arxivId = paper.arxivId?.replace(/^arxiv:/i, '').trim() || undefined;
|
|
640
|
+
const derivedPdfUrl = arxivId ? `https://arxiv.org/pdf/${arxivId}` : undefined;
|
|
641
|
+
const derivedHtmlUrl = arxivId ? `https://arxiv.org/abs/${arxivId}` : undefined;
|
|
642
|
+
const authorsJson = paper.authorsJson
|
|
643
|
+
?? (paper.authors ? JSON.stringify(paper.authors) : undefined);
|
|
644
|
+
const topicsText = typeof paper.topics === 'string'
|
|
645
|
+
? paper.topics
|
|
646
|
+
: (Array.isArray(paper.topics) ? JSON.stringify(paper.topics) : undefined);
|
|
647
|
+
const paperEntityName = paperName
|
|
648
|
+
?? `Paper: ${paper.title}${arxivId ? ` (arXiv:${arxivId})` : ''}`;
|
|
649
|
+
const paperEntityDescription = paperDescription ?? 'Research paper ingested via Geo MCP research tools.';
|
|
650
|
+
const paperValues = [];
|
|
651
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.paperTitle, 'text', paper.title));
|
|
652
|
+
if (paper.abstract) {
|
|
653
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.abstract, 'text', paper.abstract));
|
|
654
|
+
}
|
|
655
|
+
if (arxivId) {
|
|
656
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.arxivId, 'text', arxivId));
|
|
657
|
+
}
|
|
658
|
+
if (paper.doi) {
|
|
659
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.doi, 'text', paper.doi));
|
|
660
|
+
}
|
|
661
|
+
const publicationDate = paper.publicationDate ? coerceIsoDatetime(paper.publicationDate) : undefined;
|
|
662
|
+
if (publicationDate) {
|
|
663
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.publicationDate, 'datetime', publicationDate));
|
|
664
|
+
}
|
|
665
|
+
const pdfUrl = paper.pdfUrl ?? derivedPdfUrl;
|
|
666
|
+
if (pdfUrl) {
|
|
667
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.pdfUrl, 'text', pdfUrl));
|
|
668
|
+
}
|
|
669
|
+
const htmlUrl = paper.htmlUrl ?? derivedHtmlUrl;
|
|
670
|
+
if (htmlUrl) {
|
|
671
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.htmlUrl, 'text', htmlUrl));
|
|
672
|
+
}
|
|
673
|
+
if (paper.arxivCategory) {
|
|
674
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.arxivCategory, 'text', paper.arxivCategory));
|
|
675
|
+
}
|
|
676
|
+
if (authorsJson) {
|
|
677
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.authorsJson, 'text', authorsJson));
|
|
678
|
+
}
|
|
679
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.claimCount, 'integer', claims.length));
|
|
680
|
+
if (topicsText) {
|
|
681
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.topics, 'text', topicsText));
|
|
682
|
+
}
|
|
683
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.processingStatus, 'text', 'draft'));
|
|
684
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.processedAt, 'datetime', now));
|
|
685
|
+
paperValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.source, 'text', paper.source ?? 'arxiv'));
|
|
686
|
+
const paperResult = Graph.createEntity({
|
|
687
|
+
name: paperEntityName,
|
|
688
|
+
description: paperEntityDescription,
|
|
689
|
+
types: [CANONICAL_RESEARCH_SCHEMA_IDS.types.researchPaper],
|
|
690
|
+
values: paperValues,
|
|
691
|
+
});
|
|
692
|
+
session.addOps(paperResult.ops, {
|
|
693
|
+
id: paperResult.id,
|
|
694
|
+
type: 'entity',
|
|
695
|
+
name: paperEntityName,
|
|
696
|
+
opsCount: paperResult.ops.length,
|
|
697
|
+
});
|
|
698
|
+
const claimIds = [];
|
|
699
|
+
const relationIds = [];
|
|
700
|
+
let opsAdded = paperResult.ops.length;
|
|
701
|
+
const prefix = claimNamePrefix ?? 'Claim: ';
|
|
702
|
+
for (let i = 0; i < claims.length; i++) {
|
|
703
|
+
const claim = claims[i];
|
|
704
|
+
const key = arxivId ? `arXiv:${arxivId}:${i + 1}` : `claim:${i + 1}`;
|
|
705
|
+
const claimEntityName = `${prefix}${key} ${shortText(claim.claimText, 120)}`;
|
|
706
|
+
const claimEntityDescription = shortText(claim.claimText, 280);
|
|
707
|
+
const claimValues = [];
|
|
708
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.claimText, 'text', claim.claimText));
|
|
709
|
+
if (claim.claimType) {
|
|
710
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.claimType, 'text', claim.claimType));
|
|
711
|
+
}
|
|
712
|
+
if (claim.section) {
|
|
713
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.section, 'text', claim.section));
|
|
714
|
+
}
|
|
715
|
+
if (claim.pageNumber !== undefined) {
|
|
716
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.pageNumber, 'integer', claim.pageNumber));
|
|
717
|
+
}
|
|
718
|
+
if (claim.paragraphId !== undefined) {
|
|
719
|
+
const n = typeof claim.paragraphId === 'string' ? Number(claim.paragraphId) : claim.paragraphId;
|
|
720
|
+
if (Number.isFinite(n)) {
|
|
721
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.paragraphId, 'integer', n));
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
if (claim.faithfulnessScore !== undefined) {
|
|
725
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.faithfulnessScore, 'text', String(claim.faithfulnessScore)));
|
|
726
|
+
}
|
|
727
|
+
if (claim.isAtomic !== undefined) {
|
|
728
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.isAtomic, 'boolean', claim.isAtomic));
|
|
729
|
+
}
|
|
730
|
+
if (claim.isDecontextualized !== undefined) {
|
|
731
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.isDecontextualized, 'boolean', claim.isDecontextualized));
|
|
732
|
+
}
|
|
733
|
+
if (claim.confidence !== undefined) {
|
|
734
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.confidence, 'text', String(claim.confidence)));
|
|
735
|
+
}
|
|
736
|
+
if (claim.verificationStatus) {
|
|
737
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.verificationStatus, 'text', claim.verificationStatus));
|
|
738
|
+
}
|
|
739
|
+
if (claim.sourceSentence) {
|
|
740
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.sourceSentence, 'text', claim.sourceSentence));
|
|
741
|
+
}
|
|
742
|
+
if (claim.extractedEntities !== undefined) {
|
|
743
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.extractedEntitiesJson, 'text', JSON.stringify(claim.extractedEntities)));
|
|
744
|
+
}
|
|
745
|
+
if (claim.extractedRelations !== undefined) {
|
|
746
|
+
claimValues.push(buildTypedValue(CANONICAL_RESEARCH_SCHEMA_IDS.properties.extractedRelationsJson, 'text', JSON.stringify(claim.extractedRelations)));
|
|
747
|
+
}
|
|
748
|
+
const claimResult = Graph.createEntity({
|
|
749
|
+
name: claimEntityName,
|
|
750
|
+
description: claimEntityDescription,
|
|
751
|
+
types: [
|
|
752
|
+
CANONICAL_RESEARCH_SCHEMA_IDS.types.researchClaim,
|
|
753
|
+
canonicalClaimType,
|
|
754
|
+
],
|
|
755
|
+
values: claimValues,
|
|
756
|
+
});
|
|
757
|
+
session.addOps(claimResult.ops, {
|
|
758
|
+
id: claimResult.id,
|
|
759
|
+
type: 'entity',
|
|
760
|
+
name: claimEntityName,
|
|
761
|
+
opsCount: claimResult.ops.length,
|
|
762
|
+
});
|
|
763
|
+
claimIds.push(claimResult.id);
|
|
764
|
+
opsAdded += claimResult.ops.length;
|
|
765
|
+
if (shouldCreateRelations) {
|
|
766
|
+
const rel = Graph.createRelation({
|
|
767
|
+
fromEntity: claimResult.id,
|
|
768
|
+
toEntity: paperResult.id,
|
|
769
|
+
type: CANONICAL_RESEARCH_SCHEMA_IDS.relations.extractedFrom,
|
|
770
|
+
});
|
|
771
|
+
session.addOps(rel.ops, {
|
|
772
|
+
id: rel.id,
|
|
773
|
+
type: 'relation',
|
|
774
|
+
name: `${claimResult.id} -> ${paperResult.id} (Extracted From)`,
|
|
775
|
+
opsCount: rel.ops.length,
|
|
776
|
+
});
|
|
777
|
+
relationIds.push(rel.id);
|
|
778
|
+
opsAdded += rel.ops.length;
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
return {
|
|
782
|
+
content: [
|
|
783
|
+
{
|
|
784
|
+
type: 'text',
|
|
785
|
+
text: JSON.stringify({
|
|
786
|
+
paper: {
|
|
787
|
+
id: paperResult.id,
|
|
788
|
+
name: paperEntityName,
|
|
789
|
+
arxivId,
|
|
790
|
+
},
|
|
791
|
+
claims: {
|
|
792
|
+
count: claimIds.length,
|
|
793
|
+
ids: claimIds,
|
|
794
|
+
},
|
|
795
|
+
relations: shouldCreateRelations ? { extractedFrom: relationIds } : { extractedFrom: [] },
|
|
796
|
+
canonicalClaimType,
|
|
797
|
+
opsAdded,
|
|
798
|
+
}, null, 2),
|
|
799
|
+
},
|
|
800
|
+
],
|
|
801
|
+
};
|
|
802
|
+
}
|
|
803
|
+
catch (error) {
|
|
804
|
+
return {
|
|
805
|
+
content: [
|
|
806
|
+
{
|
|
807
|
+
type: 'text',
|
|
808
|
+
text: JSON.stringify({
|
|
809
|
+
error: `Failed to create research entities: ${error instanceof Error ? error.message : String(error)}`,
|
|
810
|
+
}),
|
|
811
|
+
},
|
|
812
|
+
],
|
|
813
|
+
isError: true,
|
|
814
|
+
};
|
|
815
|
+
}
|
|
816
|
+
});
|
|
817
|
+
// ── create_research_ontology_paper_and_claims ───────────────────────
|
|
818
|
+
server.tool('create_research_ontology_paper_and_claims', 'Create a Paper entity and Claim entities using the GeoBrowser "Research ontology" (Paper/Claim/Person/Topic/Project). This path is designed for Knowledgebook/GeoBrowser UIs that expect claims to be typed as the canonical Claim type.', {
|
|
819
|
+
paper: OntologyPaperInputSchema.describe('Paper metadata (Paper title stored as entity.name)'),
|
|
820
|
+
claims: z
|
|
821
|
+
.array(OntologyClaimInputSchema)
|
|
822
|
+
.min(1)
|
|
823
|
+
.max(200)
|
|
824
|
+
.describe('Atomic claims to publish (Claim text stored as entity.name)'),
|
|
825
|
+
defaultVenueName: z
|
|
826
|
+
.string()
|
|
827
|
+
.optional()
|
|
828
|
+
.describe('Fallback Project name for the venue/publisher if paper.venue is omitted (default: "arXiv")'),
|
|
829
|
+
createTopics: z
|
|
830
|
+
.boolean()
|
|
831
|
+
.optional()
|
|
832
|
+
.describe('If true, creates Topic entities for any referenced topics (default true)'),
|
|
833
|
+
linkPaperToTopics: z
|
|
834
|
+
.boolean()
|
|
835
|
+
.optional()
|
|
836
|
+
.describe('If true, links paper -> topics via Paper.Related topics (default true)'),
|
|
837
|
+
linkClaimsToPaper: z
|
|
838
|
+
.boolean()
|
|
839
|
+
.optional()
|
|
840
|
+
.describe('If true, links claim -> paper via Claim.Sources (default true)'),
|
|
841
|
+
linkClaimsToTopics: z
|
|
842
|
+
.boolean()
|
|
843
|
+
.optional()
|
|
844
|
+
.describe('If true, links claim -> topics via Claim.Related topics (default true)'),
|
|
845
|
+
paperDescription: z
|
|
846
|
+
.string()
|
|
847
|
+
.optional()
|
|
848
|
+
.describe('Optional override for the paper description'),
|
|
849
|
+
claimDescriptionPrefix: z
|
|
850
|
+
.string()
|
|
851
|
+
.optional()
|
|
852
|
+
.describe('Optional prefix to include in each claim description'),
|
|
853
|
+
}, async ({ paper, claims, defaultVenueName, createTopics, linkPaperToTopics, linkClaimsToPaper, linkClaimsToTopics, paperDescription, claimDescriptionPrefix, }) => {
|
|
854
|
+
try {
|
|
855
|
+
const shouldCreateTopics = createTopics ?? true;
|
|
856
|
+
const shouldLinkPaperToTopics = linkPaperToTopics ?? true;
|
|
857
|
+
const shouldLinkClaimsToPaper = linkClaimsToPaper ?? true;
|
|
858
|
+
const shouldLinkClaimsToTopics = linkClaimsToTopics ?? true;
|
|
859
|
+
// Normalize/derive arXiv metadata.
|
|
860
|
+
const arxivId = paper.arxivId?.replace(/^arxiv:/i, '').trim()
|
|
861
|
+
|| (paper.arxivUrl ? (paper.arxivUrl.match(/arxiv\.org\/(?:abs|pdf)\/([^?#]+?)(?:\.pdf)?(?:$|[?#/])/i)?.[1] ?? '').trim() : '')
|
|
862
|
+
|| undefined;
|
|
863
|
+
const arxivUrl = (paper.arxivUrl ?? '').trim()
|
|
864
|
+
|| (arxivId ? `https://arxiv.org/abs/${arxivId}` : undefined);
|
|
865
|
+
const venueName = normalizeLabel(paper.venue?.name ?? defaultVenueName ?? (arxivId || arxivUrl ? 'arXiv' : ''));
|
|
866
|
+
// 1) Create Project (venue/publisher) if we have a name.
|
|
867
|
+
let venueProjectId = null;
|
|
868
|
+
if (venueName) {
|
|
869
|
+
const venueResult = Graph.createEntity({
|
|
870
|
+
name: venueName,
|
|
871
|
+
description: 'Research venue / publisher (Project).',
|
|
872
|
+
types: [RESEARCH_ONTOLOGY_IDS.types.project],
|
|
873
|
+
});
|
|
874
|
+
session.addOps(venueResult.ops, {
|
|
875
|
+
id: venueResult.id,
|
|
876
|
+
type: 'entity',
|
|
877
|
+
name: venueName,
|
|
878
|
+
opsCount: venueResult.ops.length,
|
|
879
|
+
});
|
|
880
|
+
venueProjectId = venueResult.id;
|
|
881
|
+
}
|
|
882
|
+
// 2) Create authors (Person entities).
|
|
883
|
+
const authorIds = [];
|
|
884
|
+
const authors = paper.authors ?? [];
|
|
885
|
+
for (const author of authors) {
|
|
886
|
+
const name = normalizeLabel(author.name);
|
|
887
|
+
if (!name)
|
|
888
|
+
continue;
|
|
889
|
+
const authorResult = Graph.createEntity({
|
|
890
|
+
name,
|
|
891
|
+
description: 'Research author (Person).',
|
|
892
|
+
types: [RESEARCH_ONTOLOGY_IDS.types.person],
|
|
893
|
+
});
|
|
894
|
+
session.addOps(authorResult.ops, {
|
|
895
|
+
id: authorResult.id,
|
|
896
|
+
type: 'entity',
|
|
897
|
+
name,
|
|
898
|
+
opsCount: authorResult.ops.length,
|
|
899
|
+
});
|
|
900
|
+
authorIds.push(authorResult.id);
|
|
901
|
+
}
|
|
902
|
+
// 3) Create topics (Topic entities) as needed.
|
|
903
|
+
const topicNameToId = new Map();
|
|
904
|
+
const topicKeyToName = new Map();
|
|
905
|
+
if (shouldCreateTopics) {
|
|
906
|
+
for (const raw of paper.topics ?? []) {
|
|
907
|
+
const name = normalizeLabel(raw);
|
|
908
|
+
if (!name)
|
|
909
|
+
continue;
|
|
910
|
+
topicKeyToName.set(name.toLowerCase(), name);
|
|
911
|
+
}
|
|
912
|
+
for (const claim of claims) {
|
|
913
|
+
for (const raw of claim.topics ?? []) {
|
|
914
|
+
const name = normalizeLabel(raw);
|
|
915
|
+
if (!name)
|
|
916
|
+
continue;
|
|
917
|
+
topicKeyToName.set(name.toLowerCase(), name);
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
for (const [key, name] of [...topicKeyToName.entries()].sort((a, b) => a[0].localeCompare(b[0]))) {
|
|
921
|
+
const topicResult = Graph.createEntity({
|
|
922
|
+
name,
|
|
923
|
+
description: 'Research topic (Topic).',
|
|
924
|
+
types: [RESEARCH_ONTOLOGY_IDS.types.topic],
|
|
925
|
+
});
|
|
926
|
+
session.addOps(topicResult.ops, {
|
|
927
|
+
id: topicResult.id,
|
|
928
|
+
type: 'entity',
|
|
929
|
+
name,
|
|
930
|
+
opsCount: topicResult.ops.length,
|
|
931
|
+
});
|
|
932
|
+
topicNameToId.set(key, topicResult.id);
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
const paperEntityName = normalizeLabel(paper.title);
|
|
936
|
+
const derivedDescriptionParts = [];
|
|
937
|
+
if (arxivId)
|
|
938
|
+
derivedDescriptionParts.push(`arXiv:${arxivId}`);
|
|
939
|
+
if (arxivUrl)
|
|
940
|
+
derivedDescriptionParts.push(arxivUrl);
|
|
941
|
+
const publicationDate = paper.publicationDate ? coerceDate(paper.publicationDate) : undefined;
|
|
942
|
+
if (publicationDate)
|
|
943
|
+
derivedDescriptionParts.push(`Published: ${publicationDate}`);
|
|
944
|
+
if (venueName)
|
|
945
|
+
derivedDescriptionParts.push(`Venue: ${venueName}`);
|
|
946
|
+
const derivedDescription = derivedDescriptionParts.join(' | ') || 'Research paper (Paper).';
|
|
947
|
+
// 4) Create Paper.
|
|
948
|
+
const paperValues = [];
|
|
949
|
+
if (arxivUrl) {
|
|
950
|
+
paperValues.push(buildTypedValue(RESEARCH_ONTOLOGY_IDS.properties.paperArxivUrl, 'text', arxivUrl));
|
|
951
|
+
}
|
|
952
|
+
if (publicationDate) {
|
|
953
|
+
paperValues.push(buildTypedValue(RESEARCH_ONTOLOGY_IDS.properties.paperPublicationDate, 'date', publicationDate));
|
|
954
|
+
}
|
|
955
|
+
if (paper.doi) {
|
|
956
|
+
paperValues.push(buildTypedValue(RESEARCH_ONTOLOGY_IDS.properties.paperDoi, 'text', paper.doi));
|
|
957
|
+
}
|
|
958
|
+
if (paper.codeUrl) {
|
|
959
|
+
paperValues.push(buildTypedValue(RESEARCH_ONTOLOGY_IDS.properties.paperCodeUrl, 'text', paper.codeUrl));
|
|
960
|
+
}
|
|
961
|
+
if (paper.semanticScholarUrl) {
|
|
962
|
+
paperValues.push(buildTypedValue(RESEARCH_ONTOLOGY_IDS.properties.paperSemanticScholarUrl, 'text', paper.semanticScholarUrl));
|
|
963
|
+
}
|
|
964
|
+
if (paper.keyContribution) {
|
|
965
|
+
paperValues.push(buildTypedValue(RESEARCH_ONTOLOGY_IDS.properties.paperKeyContribution, 'text', paper.keyContribution));
|
|
966
|
+
}
|
|
967
|
+
const paperRelations = {};
|
|
968
|
+
if (authorIds.length > 0) {
|
|
969
|
+
paperRelations[RESEARCH_ONTOLOGY_IDS.properties.paperAuthors] = authorIds.map((id) => ({ toEntity: id }));
|
|
970
|
+
}
|
|
971
|
+
if (venueProjectId) {
|
|
972
|
+
paperRelations[RESEARCH_ONTOLOGY_IDS.properties.paperVenue] = { toEntity: venueProjectId };
|
|
973
|
+
}
|
|
974
|
+
if (shouldLinkPaperToTopics && topicNameToId.size > 0) {
|
|
975
|
+
paperRelations[RESEARCH_ONTOLOGY_IDS.properties.paperRelatedTopics] = [...topicNameToId.values()].map((id) => ({ toEntity: id }));
|
|
976
|
+
}
|
|
977
|
+
const paperResult = Graph.createEntity({
|
|
978
|
+
name: paperEntityName,
|
|
979
|
+
description: paperDescription ?? derivedDescription,
|
|
980
|
+
types: [RESEARCH_ONTOLOGY_IDS.types.paper],
|
|
981
|
+
values: paperValues.length > 0 ? paperValues : undefined,
|
|
982
|
+
relations: Object.keys(paperRelations).length > 0 ? paperRelations : undefined,
|
|
983
|
+
});
|
|
984
|
+
session.addOps(paperResult.ops, {
|
|
985
|
+
id: paperResult.id,
|
|
986
|
+
type: 'entity',
|
|
987
|
+
name: paperEntityName,
|
|
988
|
+
opsCount: paperResult.ops.length,
|
|
989
|
+
});
|
|
990
|
+
// 5) Create Claim entities.
|
|
991
|
+
const claimIds = [];
|
|
992
|
+
let opsAdded = paperResult.ops.length;
|
|
993
|
+
for (const claim of claims) {
|
|
994
|
+
const claimText = normalizeLabel(claim.text);
|
|
995
|
+
if (!claimText)
|
|
996
|
+
continue;
|
|
997
|
+
const claimName = shortText(claimText, 240);
|
|
998
|
+
const topicIdsForClaim = [];
|
|
999
|
+
for (const raw of claim.topics ?? []) {
|
|
1000
|
+
const key = normalizeLabel(raw).toLowerCase();
|
|
1001
|
+
const id = topicNameToId.get(key);
|
|
1002
|
+
if (id)
|
|
1003
|
+
topicIdsForClaim.push(id);
|
|
1004
|
+
}
|
|
1005
|
+
const descParts = [];
|
|
1006
|
+
if (claimDescriptionPrefix)
|
|
1007
|
+
descParts.push(claimDescriptionPrefix.trim());
|
|
1008
|
+
descParts.push(claimText);
|
|
1009
|
+
if (claim.sourceQuote)
|
|
1010
|
+
descParts.push(`Quote: ${shortText(claim.sourceQuote, 800)}`);
|
|
1011
|
+
if (topicIdsForClaim.length > 0) {
|
|
1012
|
+
const names = (claim.topics ?? []).map(normalizeLabel).filter(Boolean);
|
|
1013
|
+
if (names.length > 0)
|
|
1014
|
+
descParts.push(`Topics: ${names.join(', ')}`);
|
|
1015
|
+
}
|
|
1016
|
+
descParts.push(`Source: ${paperEntityName}${arxivId ? ` (arXiv:${arxivId})` : ''}`);
|
|
1017
|
+
const claimDescription = descParts.filter(Boolean).join('\n\n');
|
|
1018
|
+
const claimRelations = {};
|
|
1019
|
+
if (shouldLinkClaimsToPaper) {
|
|
1020
|
+
claimRelations[RESEARCH_ONTOLOGY_IDS.properties.claimSources] = { toEntity: paperResult.id };
|
|
1021
|
+
}
|
|
1022
|
+
if (shouldLinkClaimsToTopics && topicIdsForClaim.length > 0) {
|
|
1023
|
+
claimRelations[RESEARCH_ONTOLOGY_IDS.properties.claimRelatedTopics] = topicIdsForClaim.map((id) => ({ toEntity: id }));
|
|
1024
|
+
}
|
|
1025
|
+
const claimResult = Graph.createEntity({
|
|
1026
|
+
name: claimName,
|
|
1027
|
+
description: claimDescription,
|
|
1028
|
+
types: [RESEARCH_ONTOLOGY_IDS.types.claim],
|
|
1029
|
+
relations: Object.keys(claimRelations).length > 0 ? claimRelations : undefined,
|
|
1030
|
+
});
|
|
1031
|
+
session.addOps(claimResult.ops, {
|
|
1032
|
+
id: claimResult.id,
|
|
1033
|
+
type: 'entity',
|
|
1034
|
+
name: claimName,
|
|
1035
|
+
opsCount: claimResult.ops.length,
|
|
1036
|
+
});
|
|
1037
|
+
claimIds.push(claimResult.id);
|
|
1038
|
+
opsAdded += claimResult.ops.length;
|
|
1039
|
+
}
|
|
1040
|
+
return {
|
|
1041
|
+
content: [
|
|
1042
|
+
{
|
|
1043
|
+
type: 'text',
|
|
1044
|
+
text: JSON.stringify({
|
|
1045
|
+
paper: {
|
|
1046
|
+
id: paperResult.id,
|
|
1047
|
+
name: paperEntityName,
|
|
1048
|
+
arxivId: arxivId ?? null,
|
|
1049
|
+
arxivUrl: arxivUrl ?? null,
|
|
1050
|
+
},
|
|
1051
|
+
venueProject: venueProjectId ? { id: venueProjectId, name: venueName } : null,
|
|
1052
|
+
authors: authorIds,
|
|
1053
|
+
topics: [...topicNameToId.entries()].map(([key, id]) => ({ key, id, name: topicKeyToName.get(key) ?? null })),
|
|
1054
|
+
claims: {
|
|
1055
|
+
count: claimIds.length,
|
|
1056
|
+
ids: claimIds,
|
|
1057
|
+
},
|
|
1058
|
+
opsAdded,
|
|
1059
|
+
}, null, 2),
|
|
1060
|
+
},
|
|
1061
|
+
],
|
|
1062
|
+
};
|
|
1063
|
+
}
|
|
1064
|
+
catch (error) {
|
|
1065
|
+
return {
|
|
1066
|
+
content: [
|
|
1067
|
+
{
|
|
1068
|
+
type: 'text',
|
|
1069
|
+
text: JSON.stringify({
|
|
1070
|
+
error: `Failed to create research ontology entities: ${error instanceof Error ? error.message : String(error)}`,
|
|
1071
|
+
}),
|
|
1072
|
+
},
|
|
1073
|
+
],
|
|
1074
|
+
isError: true,
|
|
1075
|
+
};
|
|
1076
|
+
}
|
|
1077
|
+
});
|
|
436
1078
|
// ── get_system_ids ───────────────────────────────────────────────────
|
|
437
1079
|
server.tool('get_system_ids', 'Get well-known system entity IDs from the Geo knowledge graph. Returns commonly used type, property, and data type IDs.', {
|
|
438
1080
|
category: z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced.js","sourceRoot":"","sources":["../../src/tools/advanced.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"advanced.js","sourceRoot":"","sources":["../../src/tools/advanced.ts"],"names":[],"mappings":"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"}
|