Una risposta sintetica
- UML è un (grafico) linguaggio per la modellazione
- OWL è un linguaggio utilizzato per knowledge representation (KR) con una prospettiva semantica
Nella prima posto, lo scopo di OWL non è la modellazione. L'utilizzo di una tecnica KR è un'opzione nel campo dell'ingegneria del software. Dovrebbe essere distinto da qualsiasi processo di ingegneria del software. Entrambe le lingue hanno scopi diversi.
Naturalmente, è possibile che [utilizzi] OWL per descrivere la costruzione di [un sistema software]. Ma l'interesse di tale mossa sarebbe principalmente nel ragionamento automatico sul processo di costruzione del software e non sarebbe molto utile nel contesto di un singolo progetto. Questo sarebbe efficace solo se fatto per tutti i tuoi progetti in modo da avere un conseguente knowledge base (KB).
Una spiegazione dettagliata
Secondo il W3C wiki section about OWL:
Il W3C Web Ontology Language (OWL) è un linguaggio di Semantic Web progettato per rappresentare la conoscenza ricco e complesso di cose, gruppi di cose e le relazioni tra le cose. OWL è un linguaggio basato sulla logica computazionale in modo tale che la conoscenza espressa in OWL può essere sfruttata da programmi per computer, ad esempio, per verificare la coerenza di tale conoscenza o per fare la conoscenza implicita esplicita
Ci dovrebbe essere un dibattito su ciò che è un linguaggio di modellazione. Ad esempio, lo Wikipedia article on the topic considera un senso ampio che potrebbe coprire anche OWL. Considero qui con la modellazione solo l'attività di ingegneria del software (che è quella su cui ci si concentra nella domanda).
Potrebbe essere necessario modellare per definire le ontologie, proprio come se fosse necessario per lo sviluppo di un progetto software. Ma questa modellazione OWL non considererebbe gli elementi di ingegneria del software, ma piuttosto i dati di dominio del progetto. In altre parole, l'uso di UML in un processo di costruzione del software mira a configurare gli elementi del software.Con OWL, non ci si concentrerà su questi elementi, a meno che non si stia tentando un ragionamento automatico sulla costruzione del software.
Accanto a questo, esiste una relazione tra UML e OWL. Un note by Walter W. Change nella cornice del W3C discute la domanda. Vorrei riassumere la domanda considerando due relazioni distinte.
Usando UML per rappresentare la conoscenza OWL
specifica Un OMG chiamato ODM (per Ontology Definition Metamodel) fornisce un metamodello per la definizione di ontologie. Nella cornice di questa specifica, l'uso di un profilo UML è introdotto come un modo per colmare una lacuna tra le due lingue. Nella specifica ODM 1.1, sezione 8.4.2:
L'obiettivo di un profilo UML dalla prospettiva ODM è quello di realizzare un ponte tra le comunità UML e rappresentazione della conoscenza su una base semantica fondate, con un obiettivo più ampio del software correlato e degli approcci logici alla rappresentazione delle informazioni.
L'utilizzo del profilo UML è introdotto in an article. È possibile trovare tale profilo nello ODM 1.0 specification resources come documento non normativo. Secondo quanto qui considerato, questo profilo UML potrebbe essere uno strumento per modellare ontologie.
Utilizzando/tecnologie Web Semantico OWL per rappresentare UML
RDF è il formato base usato per scrivere ontologie OWL.
An early (2000) academic work fornisce un documento RDF semantico che modella gli elementi UML (in base alle specifiche OMG). Questo lavoro ha preceduto il draft works on the OWL W3C recommendation (2002).
Grazie per la vostra risposta - è stata un'informazione abbastanza utile! Ok, posso mescolarli. Tuttavia non è ancora chiaro, perché dovrei mescolare entrambe le lingue nel processo SE? C'è qualche tipo di beneficio? Penso che mescolandoli in "una zuppa" il risultato diventerà molto complesso ... – rzo
No. Puoi descrivere cose di alto livello in OWL e, laddove necessario, puoi passare a UML. –
Immagino che la tua domanda centrale sia la stessa di "Posso dire le parole di Goethe in francese" o "Posso dire le parole di Rousseau in tedesco". Goethe disse una volta. "Loro [i francesi] traducono ogni cosa nella loro lingua e da quel momento in poi ha il suo significato completamente diverso". –