When you are working on rules like this with Jena, what tools do you use to
test? Is there an IDE for interfacing with Jena and building ontologies?

Thanks,
Ken

On Tue, May 12, 2020 at 1:44 AM Lorenz Buehmann <
[email protected]> wrote:

> Hi,
>
> I think the rule would be basically
>
> [r1: (?x rdf:type ex:RosterEntry), (?x ex:hasSignature ?sig),
> regex(?sig, '(.*) (.*)', ?first, ?last)  -> (?x ex:hasFirstName
> ?first),  (?x ex:hasLastName ?last),  (?x rdf:type ex:Person) ) ]
>
> Note, it's untested and you have to define your prefix ex: in the rules
> file. You might also have to adapt the regex pattern to cover different
> white space chars.
>
> On 12.05.20 00:56, Kenneth Keefe wrote:
> > I am pretty new to using Jena and OWL. I have read many great tutorials
> > regarding RDF and OWL. The focus of those tutorials has largely been how
> to
> > structure the ontology and define restrictions on properties and such.
> > However, I have not been able to find good tutorials that explain how
> > inference is done and how I can define my own inference rules. I'm
> > wondering if I am simply not searching for the right thing.
> >
> > Regardless, here is a significant example that I think will really help
> me
> > get started with inference using Jena. I created a minimal example to
> > enable discussion. Here is a pastebin:  https://pastebin.com/ScTGcbcZ
> >
> > The ontology has two classes, RosterEntry and Person and three data
> > properties, Signature (associated with RosterEntry), and FirstName and
> > LastName (both associated with Person). The example also has two
> > RosterEntry individuals with signatures of "Bob Smith" and "Sally Jones."
> >
> > I would like to write a rule that causes Jena to infer the following new
> > facts:
> >
> > <owl:Individual>
> >>         <rdf:type
> >>             rdf:resource="http://example.com/ont/roster/Person"; />
> >>         <hasFirstName>Bob</hasFirstName>
> >         <hasLastName>Smith</hasLastName>
> >
> >     </owl:Individual>
> >
> >
> > <owl:Individual>
> >>         <rdf:type
> >>             rdf:resource="http://example.com/ont/roster/Person"; />
> >>         <hasFirstName>Sally</hasFirstName>
> >         <hasLastName>Jones</hasLastName>
> >
> >     </owl:Individual>
> >
> >
> > How do I do that? Full answers or nudges in the right direction are both
> > very welcome. Thank you!
> >
> > Ken
> >
>
>

-- 
-------
Ken Keefe
Senior Software Engineer
Information Trust Institute
University of Illinois at Urbana-Champaign
1308 W. Main St.
CSL 225
Urbana, Illinois 61801, USA
Phone: 217-244-3203
Web: https://www.perform.illinois.edu/~kjkeefe
Email: [email protected]

Reply via email to