4 ms·
Nowadays, ontology-management systems like Protégé and SPARQL can more or less solve all problems prolog can solve, while providing higher-level formalisms and
by sacado2 7y ago
Nowadays, ontology-management systems like Protégé and SPARQL can more or less solve all problems prolog can solve, while providing higher-level formalisms and with the guarantee your query will terminate.
- baq 7y agoi've never used prolog seriously despite having a few problems very well suited for declarative solutions - variants of job shop scheduling, rule based workflows, etc. most reasons for why prolog didn't take off in my job are non-technical - it looks weird, it's hard to debug, integration with python isn't obvious and one worry i had (never tested) was that while the idea is to tell the computer about the problem, the real art was placing cuts.
- tejtm 7y agoHmm programs terminating because Protege is guaranteed to slag your machine is a feature had overlooked.
- mmarx 7y agoFor most queries, that might be true. However, the termination guarantees of Description Logic (OWL) reasoning and SPARQL (more precisely: the specific time complexity bounds) immediately imply that Prolog is more expressive. Even if we don't consider such ridiculously long-running queries, there's still limits to what can be expressed in DLs and SPARQL: since OWL doesn't have any variables, you're restricted to tree-shaped queries (indeed, this is a major part of why OWL reasoning is decidable), and SPARQL doesn't allow you to express any constraints on the intermediate nodes in a property path expression. Neither of these restrictions exist in Prolog.
- ben-schaaf 7y agoDoesn't guaranteed termination just mean it isn't Turing complete and thus by definition can't solve all problems prolog can solve?
- sacado2 7y agoAbsolutely. But in practice, I can't think of a problem that coulnd't be solved with OWL (or some other formalism like answer set programming) and where prolog would be the best solution (rather than more "traditional" programming languages). There are certainly a few, but not enough IMO to draw a lot of attention to prolog.