Demo..fuseki server #6
Replies: 5 comments
-
You will first need to create an OML project that adds at least core-vocabularies (OML standard library) as a dependency (in build.gradle). Then you can develop your Excel-to-OML generator and optionally invoke it from the Gradle script so it's orchestrated with the other build tasks. You need to generate from the Excel doc two artifacts: an OML vocabulary (metamodel) defining the terms, and an OML description (system model) using the terms. The generated vocabulary will be mostly syntactical. This is enough if you are only interested in running SPARQL queries against the assertions. But, if you also want to run the reasoner to generate logical entailments, to detect inconsistencies and simplify queries, you need to add DL semantics to the vocabulary by setting the DL flags on the terms and/or adding extra inference rules. For the generator itself, you can either develop a model-to-model transformation using the OML Java API, i.e., work at the abstract syntax level then ask the resulting resources to save to get the textual syntax (serialization). Or, you could develop a model-to-text transformation to generate the textual syntax directly. OML supports a custom textual grammar (.oml), a XML-based one (.omlxmi) and a JSON-based one (.omljson). |
Beta Was this translation helpful? Give feedback.
-
The only limitation of the Fuseki server is that it runs on a single machine, so it is technically bound by that machine's resources. However, practically, I did not run into this limitation yet, even on a large (millions of triples) dataset. For OML itself, if you worked at the abstract syntax level, i.e., OML data loaded in memory, you are bound by the size of memory of course. However, since OML ontologies declare their imports (of other ontologies) explicitly, when you load an OML ontology in memory, it will cause only its import closure (its dependent ontologies) to lazily load, not the entire dataset. So by fragmenting your dataset into multiple ontologies, and managing the import relationships between them, you can easily avoid running into this limitation. |
Beta Was this translation helpful? Give feedback.
-
Hi,
Thank you very much for the detailled explanation. I will try the approach
and share the link.
I think I posted in the wrong forum as this was more a question than issue.
Thanks for sharing this MBE framework. Very interesting as I am working on
open source autonomous systems and the goal will be to put the database
content accessible to the open source autopilot communities using this RDF
based repository.
…On Sun, Mar 5, 2023, 6:30 PM Maged Elaasar ***@***.***> wrote:
The only limitation of the Fuseki server is that it runs on a single
machine, it technically it is bound by that machine's resources/. However,
practically, I did not run into this limitation yet even on a large
(millions of triples) dataset.
For OML itself, if you worked at the abstract syntax level, i.e., OML data
loaded in memory, you are bound by the size of memory of course. However,
since OML ontologies declare their imports (of other ontologies)
explicitly, when you load an OML ontology in memory, it will cause only its
import closure (its dependent ontologies) to load, not the entire dataset.
So by fragmenting your dataset into multiple ontologies, and managing the
import relationships between them, you can easily avoid running into this
limitation.
—
Reply to this email directly, view it on GitHub
<https://github.com/melaasar/kepler16b/issues/1#issuecomment-1455167305>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A3SIULJR3M2XX4LDHJQQ35DW2TLUJANCNFSM6AAAAAAVPU27T4>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--> Hi, A little extra question about your answer:Ref: You wrote “. OML supports a custom textual grammar (.oml), a XML-based one (.omlxmi) and a JSON-based one (.omljson).”I was running some test excel to Neo4j test today using aura free cloud and noticed that I can generate a report about the metamodel automatically with a cypher command (see pictur1 and the same metamodel can be exported as JSON file ( see attached json file “record” and picture “table json”). This made me remember your OML support omljson comment.Do you think this neo4j Json export (see attached file) could be converted automatically to oml using Opencaesar? My code excel to neo4j is in VBA and as I am more a system engineer than developer, if I can re use the neo4j Json directly in Eclipse, that would be great. These picture are the metamodel that would corresponding to OML vocabulary right? The data can be exported the same way. My workflow would become: excel -> Neo4j -> Neo4j Json metamodel export ->omljson->Openceasar easier? Anyway thank you very much,Patirck Sent from Mail for Windows From: Maged ElaasarSent: Sunday, March 5, 2023 6:13 PMTo: melaasar/kepler16bCc: Patrick F; AuthorSubject: Re: [melaasar/kepler16b] Demo..fuseki server (Issue opencaesar/community#5) You need to generate from the Excel doc two artifacts: an OML vocabulary (metamodel) defining the terms, and an OML description (system model) using the terms. The generated vocabulary will be mostly syntactical. This is enough if you are only interested in running SPARQL queries against the assertions. But, if you also want to run the reasoner to generate logical entailments, to detect inconsistencies and simplify queries, you need to add DL semantics to the vocabulary by setting the DL flags on the terms and/or adding extra inference rules.You will first need to create an OML project that adds at least core-vocabularies (OML standard library) as a dependency (in build.gradle). Then you can develop your Excel-to-OML generator and optionally invoke it from the Gradle script so it's orchestrated with the other build tasks.For the generator itself, you can either develop a model-to-model transformation using the OML Java API, i.e., work at the abstract syntax level then ask the resulting resources to save to get the textual syntax (serialization). Or, you could develop a model-to-text transformation to generate the textual syntax directly. OML supports a custom textual grammar (.oml), a XML-based one (.omlxmi) and a JSON-based one (.omljson).—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
P.S.: I moved this thread to the community repo, since it's more of a general question on openCAESAR..
Btw. I did not get that Json export. Anyway, the fact that this is a JSON file does not automatically make it an OML file. Such JSON would have to conform to the OMLJSON schema. So, it could possibly be transformed into that with some JSON to JSON transformation.
I did not get those pictures.
Since Neo4J JSON to OML JSON is not free, I think an alternative workflow Excel -> OML should be simpler. |
Beta Was this translation helpful? Give feedback.
-
Hi,
Thank you for sharing.. very useful to learn how the Integration web, query, fuseki is done. I am interested to use it for modelling an open source autopilot system. Currently I am using excel that contains
I wrote a vba code that convert this data to a cypher script and the script is used to create the model in Neo4j as a graph database. Neo4j generate the ontological metamodel automcally after running the cypher script.
I would like to try to achieve the same with OML...I have a very large numbers of object and relationships. Is there a limitation using OML and this fuseki server? I am not an expert of opencaesar and curious to know if you think this would be feasible? I need to find out how to generate oml by script reading an excel input. Any advice welcome.
Thank you
Regards
Beta Was this translation helpful? Give feedback.
All reactions