一键导入
fabric-ontology-owl
Engenharia de Ontologias OWL no Microsoft Fabric — import, export, design e integração com OneLake e Delta Lake.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Engenharia de Ontologias OWL no Microsoft Fabric — import, export, design e integração com OneLake e Delta Lake.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Índice de skills Python: FastAPI, pandas/polars, pytest, packaging, asyncio e CLIs. Use ao trabalhar com APIs REST, transformações de dados, testes, publicação de pacotes, código async ou ferramentas de linha de comando.
Use Databricks built-in AI Functions (ai_classify, ai_extract, ai_summarize, ai_mask, ai_translate, ai_fix_grammar, ai_gen, ai_analyze_sentiment, ai_similarity, ai_parse_document, ai_query, ai_forecast) to add AI capabilities directly to SQL and PySpark pipelines without managing model endpoints. Also covers document parsing and building custom RAG pipelines (parse → chunk → index → query).
Create Databricks AI/BI dashboards. Use when creating, updating, or deploying Lakeview dashboards. CRITICAL: You MUST test ALL SQL queries via execute_sql BEFORE deploying. Follow guidelines strictly.
Builds Python-based Databricks applications using Dash, Streamlit, Gradio, Flask, FastAPI, or Reflex. Handles OAuth authorization (app and user auth), app resources, SQL warehouse and Lakebase connectivity, model serving integration, foundation model APIs, LLM integration, and deployment. Use when building Python web apps, dashboards, ML demos, or REST APIs for Databricks, or when the user mentions Streamlit, Dash, Gradio, Flask, FastAPI, Reflex, or Databricks app.
Patterns and best practices for Lakebase Autoscaling (next-gen managed PostgreSQL). Use when creating or managing Lakebase Autoscaling projects, configuring autoscaling compute or scale-to-zero, working with database branching for dev/test workflows, implementing reverse ETL via synced tables, or connecting applications to Lakebase with OAuth credentials.
Patterns and best practices for Lakebase Provisioned (Databricks managed PostgreSQL) for OLTP workloads. Use when creating Lakebase instances, connecting applications or Databricks Apps to PostgreSQL, implementing reverse ETL via synced tables, storing agent or chat memory, or configuring OAuth authentication for Lakebase.
| name | fabric-ontology-owl |
| description | Engenharia de Ontologias OWL no Microsoft Fabric — import, export, design e integração com OneLake e Delta Lake. |
| updated_at | "2026-05-05T00:00:00.000Z" |
| source | internal |
Formato atual: OWL 2 (via rdflib / owlready2) Roadmap: SKOS, SPARQL endpoint, RDF shapes/SHACL (fases futuras)
Leia
kb/semantic-web/index.mdantes de iniciar qualquer tarefa de ontologia.
# Instalar dependências de ontologia
pip install -e ".[ontology]" # rdflib>=7.0, owlready2>=0.47
# Verificar instalação
python -c "import rdflib; print(rdflib.__version__)"
python -c "import owlready2; print(owlready2.__version__)"
Fabric Lakehouse necessário: ontology_lh com estrutura:
Files/ontologies/raw/ ← ontologias externas importadas
Files/ontologies/domain/ ← ontologias do domínio (T-Box)
Files/ontologies/instances/ ← instâncias geradas (A-Box)
Tables/ontology_triples/ ← Delta table de triples
from rdflib import Graph
def load_and_validate(path: str) -> dict:
g = Graph()
g.parse(path) # rdflib detecta o formato automaticamente
from rdflib.namespace import OWL, RDF
classes = sum(1 for _ in g.subjects(RDF.type, OWL.Class))
obj_props = sum(1 for _ in g.subjects(RDF.type, OWL.ObjectProperty))
data_props = sum(1 for _ in g.subjects(RDF.type, OWL.DatatypeProperty))
individuals = sum(1 for _ in g.subjects(RDF.type, OWL.NamedIndividual))
print(f"Triples: {len(g)}")
print(f"Classes: {classes} | ObjProp: {obj_props} | DataProp: {data_props} | Indivíduos: {individuals}")
return {"graph": g, "triple_count": len(g)}
def normalize_to_turtle(input_path: str, output_path: str) -> None:
"""Converte qualquer formato OWL/RDF para Turtle normalizado."""
g = Graph()
g.parse(input_path)
g.serialize(destination=output_path, format="turtle")
print(f"Normalizado: {output_path} ({len(g)} triples)")
Ferramenta: mcp__fabric_official__onelake_upload_file
Parâmetros:
workspace_id: <FABRIC_WORKSPACE_ID>
lakehouse_name: ontology_lh
destination_path: ontologies/raw/<nome_original>
ontologies/domain/<nome_normalizado>.ttl
Ver padrão completo em kb/semantic-web/patterns/owl-fabric-patterns.md → "Padrão 3".
Checklist do notebook:
%pip install rdflib==7.1.1 no início do notebookabfss:// path para ler do OneLake Files(subject, predicate, object, datatype, lang_tag, source_file)ontology_lh.ontology_triples com mode="append" e CLUSTER BY (predicate)SELECT COUNT(*) FROM ontology_lh.ontology_triples WHERE source_file = '<nome>'-- Verificar qual namespace/domínio exportar
SELECT DISTINCT
REGEXP_EXTRACT(subject, 'https?://[^#/]+(?:/[^#/]+)*') AS namespace,
COUNT(*) AS triple_count
FROM ontology_lh.ontology_triples
GROUP BY 1
ORDER BY 2 DESC;
Ver padrão em kb/semantic-web/patterns/owl-fabric-patterns.md → "Padrão 4".
| Destino | Formato Recomendado | Extensão |
|---|---|---|
| Repositório Git / review | turtle | .ttl |
| Protégé / Reasoner | xml (RDF/XML) | .owl |
| Pipeline / Spark ingestão | nt | .nt |
| API REST / Web | json-ld | .jsonld |
| Todos os formatos de uma vez | export_all_formats() | N/A |
Ferramenta: mcp__fabric_official__onelake_upload_file
Parâmetros:
destination_path: ontologies/export/<nome>_<YYYYMMDD>.<ext>
Antes de escrever qualquer OWL:
governance-auditor se alguma propriedade é PIITemplate: https://ontologia.empresa.com.br/<dominio>/
Exemplos:
https://ontologia.empresa.com.br/rh/
https://ontologia.empresa.com.br/financeiro/
https://ontologia.empresa.com.br/produto/
Usar o padrão em kb/semantic-web/patterns/owl-python-patterns.md → "Criar Ontologia do Zero".
Checklist mínimo para cada classe:
rdf:type owl:Classrdfs:label em pt e enrdfs:comment em pt (descrição de negócio)rdfs:subClassOf (se for subclasse)Checklist mínimo para cada propriedade:
rdf:type owl:ObjectProperty ou owl:DatatypePropertyrdfs:domain declaradordfs:range declaradordfs:label em ptfrom kb.semantic_web.patterns import validate_owl_structure # padrão em owl-python-patterns.md
report = validate_owl_structure("minha_ontologia.ttl")
print(f"Valid: {report['valid']}")
for issue in report['issues']:
print(f" {issue}")
from rdflib import Graph
from rdflib.namespace import OWL, RDF, RDFS
def ontology_report(path: str) -> str:
g = Graph()
g.parse(path)
classes = [(str(c), [str(l) for l in g.objects(c, RDFS.label)])
for c in g.subjects(RDF.type, OWL.Class)]
obj_props = [(str(p), str(next(g.objects(p, RDFS.domain), "?")),
str(next(g.objects(p, RDFS.range), "?")))
for p in g.subjects(RDF.type, OWL.ObjectProperty)]
lines = [f"# Relatório da Ontologia: {path}",
f"\nTotal de triples: {len(g)}",
f"\n## Classes ({len(classes)})"]
for uri, labels in sorted(classes):
name = uri.split("/")[-1].split("#")[-1]
lines.append(f"- {name}: {', '.join(labels) or '(sem label)'}")
lines.append(f"\n## Object Properties ({len(obj_props)})")
for uri, dom, rng in sorted(obj_props):
name = uri.split("/")[-1].split("#")[-1]
dom_name = dom.split("/")[-1].split("#")[-1]
rng_name = rng.split("/")[-1].split("#")[-1]
lines.append(f"- {name}: {dom_name} → {rng_name}")
return "\n".join(lines)
owl:Ontology com rdfs:label e owl:versionInfordfs:comment para descrever cada conceito em linguagem de negócio.ttl no Git — Turtle é diff-friendlyCLUSTER BY (predicate) na Delta table para performanceowl:Thing como range de ObjectProperty sem restrição adicionalowlready2 com reasoning em executores Spark — usar no driver ou fora do clusterrdfs:domain e rdfs:range — compromete o reasoning| Situação | Escalar Para |
|---|---|
| Executar script rdflib localmente | python-expert |
| Criar Spark notebook no Fabric | spark-expert |
| Propriedade detectada como PII | governance-auditor |
| Ontologia precisa alimentar Semantic Model BI | semantic-modeler |
| Formato de destino não listado nesta skill | Consultar roadmap em kb/semantic-web/index.md |