[ 
https://issues.apache.org/jira/browse/ISIS-1266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15028980#comment-15028980
 ] 

Dan Haywood commented on ISIS-1266:
-----------------------------------

Pulling stuff together, Cesar also mailed me directly, with some useful use 
cases:


I will try to summarize the things I liked the most from the semantic framework 
I prototyped, from a framework “user” point of view:
·        Semantic core (not just in the UI): Of course, the explicit 
relationship definitions, with relationship properties (RDF tuples subject – 
relationship – objects). The fact that the entity objects don’t “have to care” 
about references to other entity objects, where relationships are defined 
completely outside the objects, helps a lot to modularize the applications. In 
many cases, I was able to write “parent” modules that combined other modules, 
and create relationships within the parent module that related objects from the 
different “child” modules. Module “product management” with products, product 
types, product hierarchies, ….. , Module “customer management” with customer, 
customer organizations, ….. , then “parent” module “commercial management” 
depending on the previous defining a relationship between product management 
module’s product, customer management module’s customer and a own price entity. 
Each module created its own UI, “parent” modules created incremental UI.

·        Declarative and Imperative: Explicit complex validation rules using 
pure SPARQL. Validation rules are available on both Entity objects and 
relationships via SPARQL. “This relationship is valid if this SPARQL else error 
message”. SPARQL available anywhere in the code as well.

·        Flexible: multiple subject in relationships:  Alert , alertAppliesTo, 
Product   then   Alert, alertAppliesTo, Customer, then  Alert, alertAppliesTo, 
CustomerOrder …..   So a SPARQL select statement using the alertAppliesTo 
relationship will result in a resultset when the object could be a Product, or 
a Customer, or anything where you want to create your Alert objects. Comments, 
flags, attachments could be some other examples.

·        Updatable SPARQL resultsets. Being able to creating an updatable 
viewmodel from just a SPARQL is just great.

·        When 1 to many relationships (as opposed to 0 to many), the UI auto 
created inline editing form (nested if more 1 to Many within). This way, you 
create the object and the subject in the same form, so both are created within 
the same transaction. This way the UI supports 1 to many invariants, in 
addition to 0 to many (no house might exist without a brick).

·        Of course, the generation of semantic enabled web forms (RDF within 
the HTML).

·        SPARQL born to be SQL and NoSQL friendly / optimized.

·        Resultsets with collections within. A resulting row could could 
contain a product list here then a customer list there. Then, using some kind 
of annotations or run-time variables, you could customize how each resulting 
“property” would be shown in the UI within the resultset, so product list 
within each row could be a drop down list, but the customer list within each 
row could be a coma separated list.




> Expose an Isis metamodel to RDF, SparQL, "semantic web"
> -------------------------------------------------------
>
>                 Key: ISIS-1266
>                 URL: https://issues.apache.org/jira/browse/ISIS-1266
>             Project: Isis
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: 1.10.0
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>            Priority: Minor
>             Fix For: 1.14.0
>
>
> There have been various discussions about RDF and semantic web etc on the 
> users mailing list.  This ticket is just as a placeholder to the fact that 
> there is obviously interest in some sort of integration here.
> http://markmail.org/message/uixaxnlsb3rncquo
> http://markmail.org/thread/vbuom7npt32r53gv
> From Cesar (private email to Dan):
> Interestingly, I found out that Apache provides a semantic approach in Java 
> (RDF – SPARQL) through Apache JENA.
> https://jena.apache.org/
>  
> A couple of short introductory videos:
>  
> RDF Ontology with Apache JENA
> https://www.youtube.com/watch?v=N_GpbwMHeMQ
>  
> SPARQL with Apache Jena
> https://www.youtube.com/watch?v=nUdHneViLp4
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to