opencaesar / oml-vision

A VS Code extension providing UI viewpoints for OML models
Other
4 stars 2 forks source link

Allow users to create new Component and and see Properties of component #30

Open pogi7 opened 6 months ago

pogi7 commented 6 months ago

Checklist before submitting a feature request

Is your feature request related to a problem? If yes, describe the problem

Incremental Reasoner from Webview (Tree, Diagram, or Table) and Property Sheet

Describe the desired feature

  1. SPARQL updates with graph statements non-inference
  2. SPARQL updates without graph statements for inference endpoint
  3. Create new component
  4. Can connect component to another component in contains
  5. Allow users to change properties from property view

Convert 1 to 2 with an algorithm (just remove graph statements with an algorithm)

Additional context

Verification with Kepler16b Components (tutorial2-tdb/sparql):

PREFIX base:        <http://example.com/tutorial2/vocabulary/base#>
PREFIX mission:     <http://example.com/tutorial2/vocabulary/mission#>
PREFIX vim4:        <http://bipm.org/jcgm/vim4#>
PREFIX components: <http://example.com/tutorial2/description/components#>

SELECT *
WHERE {
  GRAPH <http://example.com/tutorial2/description/components> 
  {
    ?sub a mission:Component .
  }
}

/tutorial2-tdb/update

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX base:        <http://example.com/tutorial2/vocabulary/base#>
PREFIX mission:     <http://example.com/tutorial2/vocabulary/mission#>
PREFIX components:  <http://example.com/tutorial2/description/components#> 
PREFIX vim4:        <http://bipm.org/jcgm/vim4#>

INSERT DATA {
  GRAPH <http://example.com/tutorial2/description/components>
  {
        components:test a mission:Component ; 
                rdf:type owl:NamedIndividual;
        base:hasIdentifier "testID" ;
        base:hasCanonicalName "testName" ;
        base:contains components:orbiter-launch-system .

  }
}

/tutorial2/update

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX base:        <http://example.com/tutorial2/vocabulary/base#>
PREFIX mission:     <http://example.com/tutorial2/vocabulary/mission#>
PREFIX components:  <http://example.com/tutorial2/description/components#> 
PREFIX vim4:        <http://bipm.org/jcgm/vim4#>

INSERT DATA {
        components:test a mission:Component ; 
                rdf:type owl:NamedIndividual;
        base:hasIdentifier "testID" ;
        base:hasCanonicalName "testName" ;
        base:contains components:orbiter-launch-system .

}

Use component.sparql

pogi7 commented 5 months ago

Figma prototype of design for adding OML components and relationships image