Files
fn_registry/python/functions/datascience/ops_to_rdf_triples.md
T
egutierrez 47fac22230 chore: auto-commit (799 archivos)
- .claude/CLAUDE.md
- .claude/commands/subagentes.md
- .claude/rules/INDEX.md
- .mcp.json
- bash/functions/cybersecurity/analyze_dns.md
- bash/functions/cybersecurity/audit_http_headers.md
- bash/functions/cybersecurity/audit_ssh_config.md
- bash/functions/cybersecurity/check_firewall.md
- bash/functions/cybersecurity/detect_suspicious_users.md
- bash/functions/cybersecurity/encrypt_file.md
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:28:20 +02:00

2.2 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
ops_to_rdf_triples function py datascience 1.0.0 pure def ops_to_rdf_triples(db_path: str, namespace: str = 'http://osint.local/') -> list[tuple[str, str, str]] Convierte entities y relations de operations.db a triples RDF (subject, predicate, object). Prefija IDs con namespace para formar URIs. Solo stdlib.
rdf
graph
osint
knowledge-graph
triples
operations
semantic-web
pendiente-usar
false
json
sqlite3
name desc
db_path path a operations.db (ej: 'apps/my_analysis/operations.db')
name desc
namespace prefijo URI para formar IRIs (defecto: 'http://osint.local/'). Ej: 'http://mi-empresa.com/osint/'
lista de tuplas (subject, predicate, object) en formato RDF. Subjects y objetos son URIs con namespace, predicados son literales. false
python/functions/datascience/ops_to_rdf_triples.py

Ejemplo

from datascience.ops_to_rdf_triples import ops_to_rdf_triples

triples = ops_to_rdf_triples("apps/my_analysis/operations.db")
for s, p, o in triples[:5]:
    print(f"{s} -- {p} --> {o}")

# Con namespace personalizado
triples_ns = ops_to_rdf_triples(
    "apps/my_analysis/operations.db",
    namespace="http://mi-empresa.com/osint/"
)

Notas

Funcion pura — solo abre la DB en lectura, no escribe nada.

Triples generados por entidad:

  • (ns+id, rdf:type, type_ref) — si type_ref no es None
  • (ns+id, name, literal) — si name no es None
  • (ns+id, status, literal) — si status no es None
  • (ns+id, domain, literal) — si domain no es None
  • (ns+id, key, str(value)) — por cada clave en el JSON de metadata

Triples generados por relacion:

  • (ns+from_entity, relation_name, ns+to_entity)

Los subjects de relaciones tipo URI reciben el prefijo de namespace. Los predicados literales (name, status, etc.) no llevan prefijo. Esta separacion sigue la convencion RDF de distinguir recursos de literales sin introducir dependencias externas (rdflib u otras).

Para exportar a Turtle (.ttl) o N-Triples, el notebook puede iterar la lista y formatear segun necesite.