[
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)