mit einem Klick
neo4j-schema
// Core Neo4j schema reference with all labels, relationships, data types, and indexes. Use when exploring database structure, checking field types, or understanding the financial knowledge graph schema.
// Core Neo4j schema reference with all labels, relationships, data types, and indexes. Use when exploring database structure, checking field types, or understanding the financial knowledge graph schema.
Predict stock direction post 8-K earnings & refine using 10-Q/10-K outcomes
Predict stock direction after an 8-K earnings release from a prebuilt earnings context bundle
Post-event causal attribution — explains why a stock moved after 8-K earnings, compares against prediction, writes reusable lessons for future predictions. Production invocation via SDK embed (main session), not fork.
V1105_LONGDESC_START_MARKER. This skill tests v2.1.105's skill-description cap raise from 250 to 1536 characters. If this description appears truncated in the skill listing system-reminder at around character 250, the cap was not raised; if it appears truncated at around 1536, the cap was raised correctly per changelog. The test sentinel markers are placed at specific character offsets: V1105_OFFSET_100 is at char 100 approximately, V1105_OFFSET_300 is at char 300 approximately (old cap would truncate this), V1105_OFFSET_700 is at char 700 approximately, V1105_OFFSET_1000 is at char 1000, V1105_OFFSET_1200 is at char 1200, V1105_OFFSET_1400 is at char 1400, and V1105_END_MARKER is the last visible sentinel. This description also contains deliberately redundant filler to reach the target length without substantive content since the purpose is only to verify truncation behavior rather than to provide meaningful guidance. filler filler filler filler filler filler filler filler filler filler filler filler filler
Child skill for v2.1.107 nesting retest — writes marker and returns
v2.1.107 retest: parent skill invokes child skill (Skill→Skill nesting, sequential workflow continuation)
| name | neo4j-schema |
| description | Core Neo4j schema reference with all labels, relationships, data types, and indexes. Use when exploring database structure, checking field types, or understanding the financial knowledge graph schema. |
CALL db.stats.retrieve('GRAPH COUNTS').CALL apoc.meta.nodeTypeProperties and CALL apoc.meta.relTypeProperties.PRIMARY_FILER, INFLUENCES, REFERENCED_IN.inf as the alias breaks (inf is treated as infinity). Use r.isNaN().LIST OF FLOAT on PRIMARY_FILER; handle list-or-float.IN_CONTEXT relationship; exclude unless needed.period_type='instant' (2,776 rows).CALL db.labels() YIELD label RETURN label ORDER BY label
CALL db.relationshipTypes() YIELD relationshipType RETURN relationshipType ORDER BY relationshipType
CALL apoc.meta.schema()
| Label | Count | Key properties (type) |
|---|---|---|
| Report | 33,947 | id, accessionNo, formType, created (String); items (String JSON); market_session |
| Company | 796 | ticker, symbol, name (String); mkt_cap/shares_out/employees (String) |
| News | 186,206 | title/teaser/body (String); channels/tags/authors (String JSON); created/updated (String) |
| Transcript | 4,192 | id, conference_datetime, created/updated (String); fiscal_quarter/fiscal_year; quarter_key |
| QAExchange | 76,152 | exchanges, questioner/responders, sequence (String); embedding (float[]) |
| PreparedRemark | 4,058 | content (String) |
| Dividend | 4,282 | declaration_date, cash_amount, dividend_type (String) |
| Split | 33 | execution_date, split_from, split_to (String) |
| Label | Count | Key properties (type) |
|---|---|---|
| MarketIndex | 1 | name, ticker, etf (String) |
| Sector | 11 | name, etf (String) |
| Industry | 115 | name, etf (String) |
| Date | 946 | date, is_trading_day, market_open_*, market_close_*, pre_market_*, post_market_* (String) |
| Relationship | Count | Notes |
|---|---|---|
| PRIMARY_FILER | 32,942 | Report -> Company. Returns stored here (Double). |
| INFLUENCES | 864,234 | News/Transcript/Report -> Company/Sector/Industry/MarketIndex. Returns stored here (Double). |
| REFERENCED_IN | 1,075 | Report -> Company. Returns often populated (1,010/1,075). |
| HAS_PRICE | 551,563 | Date -> Company/Sector/Industry/MarketIndex. OHLCV on relationship. |
HAS_SECTION (Report -> ExtractedSectionContent), HAS_EXHIBIT, HAS_FINANCIAL_STATEMENT, HAS_FILING_TEXT, HAS_TRANSCRIPT, HAS_QA_EXCHANGE, HAS_PREPARED_REMARKS, HAS_FULL_TEXT, HAS_QA_SECTION, NEXT_EXCHANGE, IN_CATEGORY (Report -> AdminReport), HAS_SUB_REPORT.
BELONGS_TO, RELATED_TO (properties: relationship_type, source_ticker, target_ticker, bidirectional), DECLARED_DIVIDEND, HAS_DIVIDEND, DECLARED_SPLIT, HAS_SPLIT, NEXT (Date -> Date).
INFLUENCES returns depend on target label:
Rule: Use the Company-target INFLUENCES edge if you want both stock and benchmark returns on one relationship.
["Item 2.02: Results of Operations and Financial Condition", "Item 9.01: Financial Statements and Exhibits"].["News", "Guidance"].2023-01-04T13:48:33-05:00.WHERE r.daily_stock IS NOT NULL AND NOT isNaN(r.daily_stock).Report.id, News.id, Transcript.id, Company.id.abstract_ft (Abstract.label), concept_ft (Concept.label/qname), company_ft (Company.name/displayLabel),
exhibit_content_ft (ExhibitContent.content/exhibit_number), extracted_section_content_ft (ExtractedSectionContent.content/section_name),
fact_textblock_ft (Fact.value/qname), filing_text_content_ft (FilingTextContent.content/form_type),
financial_statement_content_ft (FinancialStatementContent.value/statement_type), full_transcript_ft (FullTranscriptText.content),
news_ft (News.title/body/teaser), prepared_remarks_ft (PreparedRemark.content), qa_exchange_ft (QAExchange.exchanges),
question_answer_ft (QuestionAnswer.content), search (Memory.name/type/observations).news_vector_index (News.embedding), qaexchange_vector_idx (QAExchange.embedding).Company.ticker. Company count is small; exact match scans are acceptable.Generic fulltext query:
CALL db.index.fulltext.queryNodes($index_name, $query)
YIELD node, score
RETURN labels(node), node.id, score
ORDER BY score DESC
LIMIT 20
Labels: AdminSection, FinancialStatement, Guidance, HyperCube, LineItems, Other, Memory, XBRLMapping, ExtractionPattern, ConceptMapping, GeoMapping, ProductMapping, ConceptPattern, GeoPattern, MetricRule, GeoRule, Extraction, Pattern, NewsExtraction, TranscriptExtraction, TestAbstract, TestFact, Framework, ConceptGroup, Benefit, Tutorial, LearningStep, ExampleApplication, Bloom_Perspective, Bloom_Scene, TestNode, TestContentNode_1754141732. Relationships: HAS_EXTRACTION, MAPS_TO_FACT, COULD_MAP_TO_REAL_FACT, POTENTIAL_XBRL_MATCH, TEST_REL, TEST_EDGE, REFERENCES, Bloom_HAS_SCENE.
CALL db.stats.retrieve('GRAPH COUNTS')
CALL apoc.meta.nodeTypeProperties({includeLabels: ['Report','Company','News','Transcript','Fact','Concept','XBRLNode']})
CALL apoc.meta.relTypeProperties({includeRels: ['PRIMARY_FILER','INFLUENCES','REFERENCED_IN','HAS_PRICE']})
MATCH (n:News)-[r:INFLUENCES]->(:Company)
WHERE r.daily_stock IS NULL AND r.daily_industry IS NOT NULL
RETURN count(r) AS news_anomaly_count
MATCH ()-[r:PRIMARY_FILER]->()
WHERE r.hourly_stock IS NOT NULL
RETURN apoc.meta.cypher.type(r.hourly_stock) as t, count(*) as c
For query patterns beyond schema discovery, see these specialized skills:
| Skill | Scope | Key Queries |
|---|---|---|
| neo4j-entity | Company, Sector, Industry, MarketIndex, prices, dividends, splits | Company lookups, price series, dividend/split history, market relationships |
| neo4j-report | Report (8-K/10-K/10-Q), sections, exhibits, financial statements | Filing searches, Item 2.02 earnings, press releases (EX-99.1), PRIMARY_FILER returns |
| neo4j-news | News articles, INFLUENCES returns, fulltext search | News impact analysis, return divergence, market movers |
| neo4j-vector-search | Semantic vector search across News and QAExchange | Similarity search, find-similar-news, analyst Q&A similarity |
| neo4j-transcript | Transcript, QAExchange, PreparedRemark | Earnings calls, Q&A searches, analyst questions |
| neo4j-xbrl | XBRLNode, Fact, Concept, Context, Period, Unit, Dimension | Financial metrics (EPS, Revenue), segment analysis, period types |
Usage: Load neo4j-schema + domain skill for targeted queries. Schema provides structure; domain skills provide patterns.
| Date | Gap | Affected | Mitigation |
|---|---|---|---|
| 2026-01-11 | Property is formType not form_type (camelCase) | Report queries | Use r.formType not r.form_type |
| 2026-01-11 | get_neo4j_schema shows incomplete relationship targets | Schema queries | Verify: MATCH ()-[r:TYPE]->(t) RETURN DISTINCT labels(t) |
Version 3.4 | 2026-01-11 | Added self-improvement protocol