On Tue, Nov 3, 2015 at 11:24 AM, Dan Haywood <[email protected]> wrote:
> On 2 November 2015 at 23:27, Stephen Cameron <[email protected]> > wrote: > > > > > What relevance of this too Apache Isis? Well you nearly got it straight > > off, that the Isis meta-model is a model that maybe can be exported as > OWL. > > I don't think so as its more of logical model than a conceptual one. I am > > thinking the other way around, that a conceptual model in OWL, or > something > > else, could be the basis of the Isis meta-model. > > > > > > Also very interesting. I think this would be doable... further thoughts > below. > > > > > > > The thing that led me to Isis was that half of this picture is already > > done, the model to UI part, I thought maybe I could add the other half > > (person to model)? > > > Yes, perhaps... > > Now that we have view models as first-class citizens, I could imagine an > Isis application where every semantic resource could be surfaced as an view > model (@DomainObject(nature=EXTERNAL_ENTITY) is probably how I would model > it). > > Or, an alternative would be treat them as regular persisted entities via > DataNucleus, and use DN's Store API to know how to query a semantic web of > resources. However, that's one extra layer to worry about which may or may > not work. Sticking with Isis view models is probably easier. > > > > > > > > Also the meta-model in Isis is a OO model, which is > > nearly what you want perhaps? > > > > As you know, the way in which Isis builds up its metamodel is quite > flexible (the FacetFactory API). In Isis' default programming model > there is a "special" FacetFactory called > "PropertyOrCollectionIdentifyingFacetFactory" that is used to infer the > initial "know-what" structure of each domain class. I could imagine a > similar facet factory for the semantic web that queried the OWL metamodel > (?) to ask which triples exist for a particular resource. > > > > > > That is what I want to get a handle on via > > this course. > > > > > Good stuff; will hear back presently no doubt! > > Thx > Dan > > > Encouraging, I have browsed around in the meta-model code, but very casually! I am hoping that others might like to work through a design on this mailing list, hence my suggestion of doing the course, so we are all on the same page (mostly) at the start. Open-source CMS systems have gone down the semantic path a bit, such as semantic wikis. The idea of using a conceptual model as the interface to a database has a long history but never seems to make it as a mainstream thing (See for example Object-Role-Modeling). Microsoft has Entity Framework but that still seems a logical model to me, a tool to help programmers. But I believe DDD has this conceptual model idea at its core in terms of the Ubiquitous Language. That by being precise about the meaning of terms new insights are gained. That OWL is widely used might make it a good choice. What the user sees does not necessarily have to be lots of URIs, these are essentially just names within namespaces (same as class names within a package names), its just a means of classification. Cheers > > > Regards > > Steve > > > > > > > > > > > > On Tue, Nov 3, 2015 at 6:25 AM, Dan Haywood < > [email protected]> > > wrote: > > > > > Thanks for the precis, Cesar... very interesting. > > > > > > Clearly in Isis we have a lot of the information in our metamodel that > > > could be the input for a semantic web ontology; I'd appreciate > > > understanding how this information is "exported" such that an Isis app > > can > > > also be considered as a "semantic web app" (if that's even a term...) > > > > > > cheers > > > Dan > > > > > > > > > On 2 November 2015 at 15:59, Cesar Lugo <[email protected]> > > wrote: > > > > > > > Dan, I think this is an important and very interesting topic. I have > > some > > > > basic knowledge of the semantic web concepts, and I have done some > > > > significant prototyping using semantic web tools, just far from being > > an > > > > expert or knowledgeable person. As far as I k now, the semantic web > > > concept > > > > was developed by the father of the www, and it adds semantics to the > > web > > > > content, and to the web applications as well. This has also been > called > > > the > > > > Web 3.0, and the semantic web technologies go from adding semantics > to > > > the > > > > web pages, to build entire semantic applications. > > > > > > > > On the UI web pages side, it adds semantics embedded within the HTML > > with > > > > semantic extensions, so a browser would be able to know more > > information > > > > about the semantics of that page. For example, when you look at an > > > amazon's > > > > web page and find a book, you know that you are looking at a book, > you > > > know > > > > what a book is, you know it's about growing apples, and you know some > > > > numbers besides it are the different prices of the book, and the text > > > > besides it is an overview of the book's contents. The browser, > > currently > > > in > > > > web 2.0, does not know any of those semantics, but just the page > > content > > > in > > > > terms of things like fields, controls and links. The semantic web > lets > > > the > > > > browser infer all those semantics from the web page, buy using > > ontologies > > > > and extended dictionaries (they are currently creating ontologies > based > > > on > > > > Wikipedia content, but structured so the systems can understand and > > infer > > > > meaning, not just content). The idea is that having the browser know > > the > > > > semantics, it will help interact among other systems in a more > > semantical > > > > way, like, for example, if you are interested in growing apples, then > > you > > > > might also be interested in growing some kinds of organic food. > > > > > > > > Then, at the domain logic layer, you use ontologies (expressed in > RDFs) > > > to > > > > represent your domain, which allows you to re-use existing ontologies > > for > > > > common topics like a customer, a vendor, a company, the relationship > > > among > > > > people (like the FOAF friend of a friend ontology), a product, and > > more. > > > > Then, there is a language called SPARQL, similar to SQL, but works at > > the > > > > ontology level. All that and more lets you create your apps with > > semantic > > > > content all over the app, not only at the UI. Your application will > be > > > more > > > > knowledgeable about the semantics of the topics (domain objects) > within > > > it, > > > > so you can use knowledge management methods to define and manage your > > > > domain logic and your exposed content, and interact with other > systems > > > at a > > > > semantic level. > > > > > > > > Cesar. > > > > > > > > -----Original Message----- > > > > From: Dan Haywood [mailto:[email protected]] > > > > Sent: Monday, November 2, 2015 2:52 AM > > > > To: users > > > > Subject: Re: Course of Interest > > > > > > > > Shall be interested to hear your thoughts on this... not a subject I > > have > > > > any knowledge of. > > > > > > > > cheers > > > > Dan > > > > > > > > On 2 November 2015 at 02:40, Stephen Cameron < > > [email protected] > > > > > > > > wrote: > > > > > > > > > Hello Apache Isis Community, > > > > > > > > > > I am about to start an free online course on Semantic Web > > > > > Technologies. At the moment the connection to Isis is not clear, > but > > I > > > > > have ideas. I am doing this course to see if my ideas have any > > > > > relationship to reality, specifically in regard to conceptual > models. > > > > > > > > > > https://open.hpi.de/courses/semanticweb2015?locale=en > > > > > > > > > > Regards > > > > > Steve Cameron > > > > > > > > > > > > > > > > > --- > > > > This email has been checked for viruses by Avast antivirus software. > > > > https://www.avast.com/antivirus > > > > > > > > > > > > > >
