You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by ju...@apache.org on 2007/06/06 13:48:44 UTC

svn commit: r544815 - in /labs/juuso: main.m rdfs.m

Author: jukka
Date: Wed Jun  6 04:48:43 2007
New Revision: 544815

URL: http://svn.apache.org/viewvc?view=rev&rev=544815
Log:
juuso: Attempt to crack the recursive property definition problem...

Modified:
    labs/juuso/main.m
    labs/juuso/rdfs.m

Modified: labs/juuso/main.m
URL: http://svn.apache.org/viewvc/labs/juuso/main.m?view=diff&rev=544815&r1=544814&r2=544815
==============================================================================
--- labs/juuso/main.m (original)
+++ labs/juuso/main.m Wed Jun  6 04:48:43 2007
@@ -35,5 +35,5 @@
 main(!IO) :-
         G = graph.create([ triple(uri("A"), uri("P"), uri("B")),
                            triple(uri("P"), rdfs("range"), uri("C")) ]),
-        solutions((pred(X::out) is nondet :- rdfs.instance(G, uri("B"), X)), Xs),
+        solutions((pred(X::out) is nondet :- rdfs.instance(G, uri("P"), X)), Xs),
         io.write(Xs, !IO).

Modified: labs/juuso/rdfs.m
URL: http://svn.apache.org/viewvc/labs/juuso/rdfs.m?view=diff&rev=544815&r1=544814&r2=544815
==============================================================================
--- labs/juuso/rdfs.m (original)
+++ labs/juuso/rdfs.m Wed Jun  6 04:48:43 2007
@@ -33,6 +33,10 @@
 :- mode property(in, in, out, out) is nondet.
 :- mode property(in, out, out, out) is multi.
 
+:- pred subproperty(graph, uri, uri).
+:- mode subproperty(in, in, in) is semidet.
+:- mode subproperty(in, in, out) is nondet.
+
 :- pred instance(graph, uri, uri).
 :- mode instance(in, in, in) is semidet.
 :- mode instance(in, in, out) is nondet.
@@ -74,6 +78,17 @@
 property(G, S, P, O) :-
         contains(G, S, P, O).
 
+property(G, S, P, O) :-
+        contains(G, S, X, O),
+	subproperty(G, X, P).
+
+subproperty(G, P1, P2) :-
+	property(G, P1, rdfs("subPropertyOf"), P2).
+
+subproperty(G, P1, P2) :-
+	property(G, X, rdfs("subPropertyOf"), P2),
+	subproperty(G, P1, X).
+
 instance(G, R, C) :-
         property(G, R, rdf("type"), C).
 
@@ -270,10 +285,6 @@
 % related by another.
 
 builtin(rdfs("subPropertyOf"), rdf("type"), rdf("Property")).
-
-%property(G, S, P2, O) :-
-%        property(G, P1, rdfs("subPropertyOf"), P2),
-%        property(G, S, P1, O).
 
 % A triple of the form:
 %



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org